tend-a11y

tend-a11y is a skill for Claude Code from robcsaszar/tend. It costs 138 tokens per session (1,739 once invoked), scanned A, original, MIT.

A code-review skill that finds and minimally fixes the most important accessibility, user-experience, or writing issue in a website's interface markup. Accessibility means making interfaces usable with assistive technology, such as screen readers.

In plain words
What is it for?
Use it to inspect and improve Svelte or other template files, including labels, alternative text, semantic HTML, loading and error messages, and wording tone.
Why use it?
It helps prevent interface problems such as missing image descriptions, unlabeled form fields, or status changes that users cannot hear. It limits each run to one high-priority issue, making the change easy to review.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Part of the robcsaszar-tend plugin — 7 skills shipped together

Good fit Use it to inspect and improve Svelte or other template files, including labels, alternative text, semantic HTML, loading and error messages, and wording tone.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/robcsaszar/tend/tend-a11y
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add robcsaszar/tend --skill tend-a11y
Clone the repo
git clone --depth 1 https://github.com/robcsaszar/tend

Made for: Claude Code.

Or install robcsaszar-tend, the plugin that ships this one along with the rest of its 7 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for tend-a11y

README.md
[![agentmods](https://agentmods.dev/badge/skills/robcsaszar/tend/tend-a11y.svg)](https://agentmods.dev/skills/robcsaszar/tend/tend-a11y)
Your own site
<a href="https://agentmods.dev/skills/robcsaszar/tend/tend-a11y"><img src="https://agentmods.dev/badge/skills/robcsaszar/tend/tend-a11y.svg" alt="Measured on agentmods" height="20"></a>
Per session 138 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,739 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00138 $0.01739
Opus 5 $0.00069 $0.00870
Sonnet 5 $0.00028 $0.00348
Haiku 4.5 $0.00014 $0.00174

Measured 7d ago against content hash e5fac41a8b3c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

tend-a11y scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/tend-a11y/SKILL.md · 83 lines

How it starts

The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Tend A11y — the herald

Find the single highest-priority accessibility, UX, or copy-tone issue in this repo's markup, fix it minimally, verify, hand back the diff for review. One issue per run.

0. Load config

  • Read .claude/tend/config.yaml. Use skills.a11y (off-limits globs, notes). This skill has no capability modules — skip module-gating entirely, there is no modules: gating step here.
  • No config? Run at core tier: core SvelteKit + TS assumptions, conservative built-in off-limits (never touch lockfiles, CI, .env, config). Emit once: "run tend-onboard to sharpen." Continue.

1. Triage

MANDATORY READ references/scan-core.md.

  • Establish the off-limits set: config's skills.a11y.off-limits plus the built-in rails (never touch lockfiles, CI config, .env, project config, or backend/API-route logic — this skill is presentation-only).
  • Establish entry points: this repo's markup files — .svelte components, +page.svelte / +layout.svelte routes, or whatever template files the stack actually uses. Check skills.a11y.notes for a named component-library directory (e.g. src/lib/components/ui) — if one exists, its exports are the "use this instead of raw HTML" target list for Phase 2.
  • Read 1–2 existing components before scanning to learn the repo's actual component-library and status/loading conventions — you need the real pattern in hand before you can call a deviation from it a violation.

Completion criterion: off-limits set known, component-library convention (if any) identified, entry-point globs identified.

2. Scan — priority order, stop at the first real hit

Ordered highest-value (most silent-to-users) first — stop at the first real, evidence-backed hit:

  1. Raw interactive HTML where a component-library equivalent exists — a raw <button>/<a>/<input> alongside a Button/Link/Input export elsewhere in the repo.
  2. Icon-only or icon-primary interactive elements missing an accessible name — no aria-label, no visually-hidden text, no title fallback.
  3. <img> without alt — a missing attribute is the violation; an intentionally empty alt="" on a decorative image is not.
  4. Form inputs without an associated label — no label for=, aria-label, or component-library label prop. Audit the rendered count, not just the template: inputs generated inside a loop ({#each} or equivalent) produce N anonymous controls at runtime.
  5. role="button" (or a bare onclick on a non-interactive element) missing the paired keyboard handleronkeydown for Enter + Space. Native <button> gets this for free; this only fires on the raw-element escape hatch.
  6. Async success/error/loading feedback rendered as a plain, unannounced element — no role="alert"/role="status", no aria-live, and no existing component-library banner/toast primitive already used elsewhere in the repo.
  7. A destructive action (delete/remove/reset) with no confirmation step before it takes effect.
  8. Copy-tone violations, checked against the config-driven allow/deny list (skills.a11y.notes, or a project tone doc it points to). If no repo-specific list exists, fall back to generic defaults: an imperative softener like "Please" prefacing a validation/error instruction ("Please enter a name" vs. "Enter a name"), or a needless exclamation mark in routine confirmation/instructional copy. Scan both rendered markup text and string literals inside <script> blocks — copy assigned to a variable, passed to a toast/alert call, or set via .textContent/.innerText lives in script blocks, not just markup, and a markup-only grep will miss the real validation strings.

Read the full file on GitHub · 83 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 83 lines · 138 tokens per session scan A e5fac41a8b3c

Subscribe to this mod's changes

tend-a11y is a skill published in the GitHub repository robcsaszar/tend (0 stars, last pushed 4d ago), licensed MIT. It adds 138 tokens to every session and 1,739 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

frontend-review

Frontend Code Review (Angular & React): Expert review of frontend code focusing on Angular, React, component architecture, state management, performance, accessibility, and UI patterns. Use whenever the user wants a review of frontend code, component design, state management, or mentions Angular, React, TypeScript…

camilooscargbaptista/cto-toolkit · 100 tokens

scroll-craft

Build premium scroll-driven landing pages for service, product, food, and drink brands. Plan the visitor journey, page grammar, emotional peak, and bespoke signature move. Create dimensional heroes with independent visual planes, restrained motion, and separate mobile composition. Use supplied photos and footage or…

nateherkai/scroll-craft · 177 tokens

accessibility

Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".

addyosmani/web-quality-skills · 51 tokens

recipe-front-design

Execute from repository evidence through applicable UI Spec and optional ADR decisions to complete frontend Design Doc approval.

shinpr/claude-code-workflows · 22 tokens

ring:validating-ux-completeness

Validating that UX specifications are complete before technical design: a read-only checklist over wireframes, states, responsive behavior, accessibility, and component-library alignment, emitting a DESIGN VALIDATED / NEEDS REVISION verdict to design-validation.md. Standalone utility — run after a product-designer…

LerianStudio/ring · 113 tokens

ring:checking-frontend-quality

Checking frontend quality against changed UI via ring:qa-frontend in accessibility, visual, e2e, or performance mode and aggregating pass/fail verdicts. Use when a frontend change needs standalone a11y, visual-snapshot, Playwright e2e, or Lighthouse/Core-Web-Vitals validation outside the dev cycle. Skip for…

LerianStudio/ring · 102 tokens