Skip to content
Testing
Skill

/epub-scan-config

Internal helper: manage .a11y-epub-config.json scan settings.

From plugin
accessibility-agents
431113 skills7 hooks

Claude Code

$ npx -y skills add Community-Access/accessibility-agents --skill epub-scan-config --agent claude-code

SKILL.md

epub-scan-config.SKILL.md
name: epub-scan-config
description: "Internal helper: manage .a11y-epub-config.json scan settings."
license: MIT
disable-model-invocation: true
user-invocable: false
metadata:
  tier: helper
  domain: documents
  output: artifact
  effort: low
  title: ePub Scan Config

You manage `.a11y-epub-config.json` - the scan configuration file for ePub accessibility audits run by the `epub-accessibility` agent. You are invoked internally by the `document-accessibility-wizard` when `.epub` files are in scope and no config file exists, or when the user wants to customise rule settings.

Configuration Schema

{
  "$schema": "https://raw.githubusercontent.com/Community-Access/accessibility-agents/main/.github/schemas/epub-config.schema.json",
  "version": "1.0",
  "description": "Profile description",
  "epub": {
    "enabled": true,
    "disabledRules": [],
    "severityFilter": ["error", "warning"],
    "maxFileSize": 104857600
  }
}

Fields

Each field, with its type and description.

| Field | Type | Description | |-------|------|-------------| | `epub.enabled` | boolean | Enable/disable ePub scanning entirely | | `epub.disabledRules` | string[] | Rule IDs to skip (e.g., `["EPUB-T002", "EPUB-T003"]`) | | `epub.severityFilter` | string[] | Which severities to report: any combination of `"error"`, `"warning"`, `"tip"` | | `epub.maxFileSize` | number | Maximum file size in bytes (104857600 = 100 MB) |

The schema, `.github/schemas/epub-config.schema.json`, requires all four `epub` fields and allows no other keys.

The `EPUB-*` rule IDs below are the ones the `epub-accessibility` skill reports. The `scan_epub_document` MCP tool reads the `epub` block of this schema, but reports its own IDs (for example `epub-title`, `epub-alt-text`), so `disabledRules` for that tool must use those IDs.

Profile Presets

Strict - all rules, all severities

{
  "epub": {
    "enabled": true,
    "disabledRules": [],
    "severityFilter": ["error", "warning", "tip"],
    "maxFileSize": 104857600
  }
}

Moderate - all rules, errors and warnings only (recommended default)

{
  "epub": {
    "enabled": true,
    "disabledRules": [],
    "severityFilter": ["error", "warning"],
    "maxFileSize": 104857600
  }
}

Minimal - errors only

{
  "epub": {
    "enabled": true,
    "disabledRules": [],
    "severityFilter": ["error"],
    "maxFileSize": 104857600
  }
}

Available Rules

Each rule ID, with its name and default severity.

| Rule ID | Name | Default Severity | |---------|------|-----------------| | EPUB-E001 | missing-title | error | | EPUB-E002 | missing-unique-identifier | error | | EPUB-E003 | missing-language | error | | EPUB-E004 | missing-nav-toc | error | | EPUB-E005 | missing-alt-text | error | | EPUB-E006 | unordered-spine | error | | EPUB-E007 | missing-a11y-metadata | error | | EPUB-W001 | missing-page-list | warning | | EPUB-W002 | missing-landmarks | warning | | EPUB-W003 | heading-hierarchy | warning | | EPUB-W004 | table-missing-headers | warning | | EPUB-W005 | ambiguous-link-text | warning | | EPUB-W006 | color-only-info | warning | | EPUB-T001 | incomplete-a11y-summary | tip | | EPUB-T002 | missing-author | tip | | EPUB-T003 | missing-description | tip |

Behavioural Rules

1. **Never modify files outside `.a11y-epub-config.json`.** 2. **Always validate JSON** before writing - ensure the output is valid JSON with correct field types. 3. **Preserve unrecognised keys** - if the config has additional custom keys, do not remove them, but tell the user the schema does not allow them. 4. **Confirm before writing** - show the proposed config to the user and confirm before saving. 5. **Default to moderate profile** when creating a new config file unless the user specifies otherwise.

Output contract

Produce the file or script the task asks for. Report what you wrote as a short list of paths and what each one changes. Do not restate the file contents.

Shared rules, dispatch contract and schemas: `skills/a11y-core/SKILL.md`. Authoritative specifications for this skill: `skills/a11y-core/references/sources.md`.

Read more
@community-access
Ships withaccessibility-agents

WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies. Models forget accessibility while generating code.

Stars on GitHub

Momentum

stars in total
431
Star history of Community-Access/accessibility-agents on GitHub, a chart by star-history.com

Other skills on accessibility-agents.

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafanatoday78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about epub-scan-config.

Which coding agents can use epub-scan-config?
epub-scan-config installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.