Agent skill

Text Quality Reviewer

by Community-Access in Community-Access/accessibility-agents

Catch weak alt text, aria-labels and button names, and template leftovers.

MITAuto-check passedFrontend & Design

Install Text Quality Reviewer

skills CLI
$ npx skills add Community-Access/accessibility-agents --skill text-quality-reviewer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Community-Access/accessibility-agents text-quality-reviewer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Community-Access/accessibility-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/text-quality-reviewer .claude/skills/text-quality-reviewer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
text-quality-reviewer
GitHub stars
423
Token cost
~1.3k tokens
SKILL.md length
458 words
Files
4 (incl. references)
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

Catch weak alt text, aria-labels and button names, and template leftovers.

  • Tasks that involve Accessibility
  • SKILL.md covers Your Scope, WCAG Success Criteria, Fixing Strategies and Framework-Specific Patterns, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Text Quality Reviewer is an agent skill from Community-Access/accessibility-agents. Catch weak alt text, aria-labels and button names, and template leftovers.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/detection-rules.md` and `references/validation-checklist.md`).

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: Accessibility review agents for Claude Code, GitHub Copilot, and Claude Desktop. Eleven specialists that enforce WCAG 2.2 AA compliance so AI coding tools stop generating… The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/text-quality-reviewer”

What it can do on your machine

Read from SKILL.md and the folder at commit decf6ba. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript, html and vue).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Text Quality Reviewer loads about 1.3k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 24 tokens; SKILL.md has 458 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~24
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Community-Access/accessibility-agents at commit decf6ba, republished under its MIT licence (© Community-Access). 458 words, ~1,297 tokens.

Download SKILL.mdSave it as .claude/skills/text-quality-reviewer/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
text-quality-reviewer
description
Catch weak alt text, aria-labels and button names, and template leftovers.
license
MIT
disable-model-invocation
true
metadata.tier
specialist
metadata.domain
web
metadata.output
findings
metadata.effort
medium
metadata.title
Text Quality Reviewer

You are the non-visual text quality reviewer. Screen reader users depend entirely on alt text, aria-labels, and button names to understand interactive content and images. When those strings contain template variables like {0}, code syntax like property.alttext, or placeholder text like "TODO" -- the experience is not just degraded, it is broken. You ensure that every non-visual text string on a page communicates meaningful, human-readable content.

Your Scope

You own the quality of all text strings that serve as accessible names or descriptions:

  • alt attributes on <img>, <area>, and <input type="image">
  • aria-label attributes on any element
  • Text content referenced by aria-labelledby and aria-describedby
  • title attributes used as accessible names
  • <button> and <a> visible text content (when used as the accessible name)
  • placeholder attributes (when no visible label exists)
  • <caption>, <figcaption>, and <legend> text content
  • <label> text content for form controls

You do NOT own:

  • Whether alt text is structurally present (that is alt-text-headings)
  • Whether ARIA attributes are syntactically valid (that is aria-specialist)
  • Whether link text is ambiguous like "click here" (that is link-checker)
  • Whether form labels are programmatically associated (that is forms-specialist)

You own what those strings SAY -- whether the text content is meaningful, human-readable, and free of defects.

WCAG Success Criteria

1.1.1 Non-text Content (Level A)

All non-text content has a text alternative that serves the equivalent purpose. Template variables, code syntax, and placeholder text do not serve any equivalent purpose.

4.1.2 Name, Role, Value (Level A)

The accessible name of user interface components must be determinable by assistive technology. Names containing unresolved variables or code syntax are not determinable.

Show full SKILL.md (198 more words)Show less
2.5.3 Label in Name (Level A)

The accessible name must contain the visible text. If the visible text is meaningful but the aria-label contains code or placeholder text, this criterion fails.

2.4.6 Headings and Labels (Level AA)

Headings and labels must describe topic or purpose. Generic, placeholder, or corrupted text does not describe anything.

Fixing Strategies

Strategy 1: Replace with Descriptive Text

The simplest and most effective fix. Replace the defective text with a meaningful, human-readable description.

Strategy 2: Fix Template Binding

If the template variable is intentional but not resolving, fix the data binding:

jsx
{/* Before: alt text shows literal {product.image_alt} */}
<img src={product.image} alt="{product.image_alt}" />

{/* After: Template binding actually resolves */}
<img src={product.image} alt={product.image_alt} />
Strategy 3: Add Server-Side Default

When dynamic content may be empty, provide a meaningful fallback:

jsx
<img src={product.image} alt={product.image_alt || `Photo of ${product.name}`} />
Strategy 4: Mark Decorative When Appropriate

If the image is truly decorative and needs no alt text:

html
<img src="divider.svg" alt="" role="presentation">

Framework-Specific Patterns

React/JSX
jsx
{/* FLAGGED: Curly braces inside quotes - common React mistake */}
<img src={src} alt="{alt}" />     {/* Literal string "{alt}" */}
<img src={src} alt="item.alt" />  {/* Literal string "item.alt" */}

{/* FIXED: Proper JSX binding */}
<img src={src} alt={alt} />
<img src={src} alt={item.alt} />

{/* FLAGGED: Fallback to generic text */}
<img src={src} alt={alt || "image"} />

{/* FIXED: Meaningful fallback */}
<img src={src} alt={alt || `Photo of ${name}`} />
Vue
vue
<!-- FLAGGED: v-bind not used, literal string -->
<img :src="item.src" alt="item.alt">

<!-- FIXED: Proper binding -->
<img :src="item.src" :alt="item.alt">
Angular
html
<!-- FLAGGED: Interpolation not used -->
<img [src]="item.src" alt="{{item.alt}}">

<!-- FIXED: Property binding -->
<img [src]="item.src" [alt]="item.alt">
Django/Jinja/EJS
html
<!-- FLAGGED: Template tag not processed -->
<img src="/photo.jpg" alt="<%= photo.description %>">

<!-- Pattern to watch for: escaped output in attributes -->
<img src="/photo.jpg" alt="{{ photo.description }}">

How to Report Issues

Reference files

Read one only when the task reaches it. Do not read them all up front.

  • references/detection-rules.md - Detection Rules
  • references/validation-checklist.md - Validation Checklist, Structured Output for Sub-Agent Use

Output contract

Return only JSON matching skills/a11y-core/schemas/findings.schema.json. No prose, no summary, no restated instructions. One object, one array of findings.

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

© Community-Access, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/text-quality-reviewer of Community-Access/accessibility-agents.

  • SKILL.md
  • agents/openai.yaml
  • references/detection-rules.md
  • references/validation-checklist.md

Open the folder on GitHubat commit decf6ba

Compare with similar skills

Text Quality Reviewer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Text Quality Reviewer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Text Quality Reviewer this skillCommunity-Access/accessibility-agents423—~1.3kAutomated safety check: PassMIT
Web Interface Guidelines Reviewervercel-labs/openreview1.7k97 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence
Accessibility Fixeribelick/ui-skills9.6k4 repos~1.2kAutomated safety check: PassMIT
Wcag Audit PatternsvmDeshpande/ai-agent-automation17811 repos~610Automated safety check: PassApache-2.0

Similar skills

  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 97 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.6k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Wcag Audit Patterns

    vmDeshpande/ai-agent-automation

    Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.

    178 GitHub starsUsed in 11 repos~610 tokens
    Frontend & DesignAuto-check passed
  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.6k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed

More from Community-Access/accessibility-agents

All 108 skills in this repo
  • A11y Core

    Community-Access/accessibility-agents

    Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules.

    423 GitHub stars~1.2k tokensUpdated 17 days ago
    Auto-check passed
  • Kb Web Scanning

    Community-Access/accessibility-agents

    Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

    423 GitHub stars~1.2k tokensUpdated 17 days ago
    Auto-check passed
  • Accessibility Lead

    Community-Access/accessibility-agents

    Web UI accessibility lead. An agent skill from Community-Access/accessibility-agents.

    423 GitHub stars~932 tokensUpdated 17 days ago
    Auto-check passed
  • Alt Text Headings

    Community-Access/accessibility-agents

    Alt text, SVGs, figures, charts, heading order, page titles and landmarks.

    423 GitHub stars~1.5k tokensUpdated 17 days ago
    Auto-check passed
  • Aria Specialist

    Community-Access/accessibility-agents

    ARIA roles, states and properties for custom widgets and dynamic content.

    423 GitHub stars~1.6k tokensUpdated 17 days ago
    Auto-check passed
  • Cognitive Accessibility

    Community-Access/accessibility-agents

    Plain language, WCAG 2.2 cognitive criteria, COGA guidance and auth UX.

    423 GitHub stars~1.4k tokensUpdated 17 days ago
    Auto-check passed

Questions about Text Quality Reviewer

What does Text Quality Reviewer do?

Catch weak alt text, aria-labels and button names, and template leftovers. Text Quality Reviewer is an agent skill from Community-Access/accessibility-agents. Catch weak alt text, aria-labels and button names, and template leftovers.

When should I use Text Quality Reviewer?

Text Quality Reviewer fits situations like: tasks that involve Accessibility.

How do I install Text Quality Reviewer in Claude Code?

Run `npx skills add Community-Access/accessibility-agents --skill text-quality-reviewer -a claude-code`. Or copy the skill folder (skills/text-quality-reviewer in Community-Access/accessibility-agents) into .claude/skills/text-quality-reviewer in your project. Claude Code loads it when a task matches its description.

How do I install Text Quality Reviewer in Codex?

Run `npx skills add Community-Access/accessibility-agents --skill text-quality-reviewer -a codex`. Or copy the skill folder (skills/text-quality-reviewer in Community-Access/accessibility-agents) into .agents/skills/text-quality-reviewer in your project. Codex loads it when a task matches its description.

Can I use Text Quality Reviewer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Community-Access/accessibility-agents --skill text-quality-reviewer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/text-quality-reviewer, .gemini/skills/text-quality-reviewer, .github/skills/text-quality-reviewer and .opencode/skills/text-quality-reviewer in your project.

What does Text Quality Reviewer need to run?

SKILL.md names no scripts, command-line tools or credentials: Text Quality Reviewer is instructions for the agent only.

Does Text Quality Reviewer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Text Quality Reviewer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Text Quality Reviewer use?

Text Quality Reviewer is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Text Quality Reviewer use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.

What are the alternatives to Text Quality Reviewer?

Skills that share tags, products or a category with Text Quality Reviewer: Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars), Web Animation Design (baptisteArno/typebot.io, 11k stars) and Accessibility Fixer (ibelick/ui-skills, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Text Quality Reviewer?

Community-Access (a GitHub organization) maintains it in Community-Access/accessibility-agents, which has 423 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on September 23, 2026.

Source: Community-Access/accessibility-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.