Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when writing the alt text (alt attribute) for an image in HTML, Markdown, or a CMS: no 'image of' prefix, one concise functional description, an empty alt for purely decorative images, and the link destination for a linked image. Do NOT use for writing visible captions or figure legends, for long-form image descriptions of complex infographics, or for generating or editing the image itself.
.claude/skills/alt-text-writing/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 33 |
| Model | Lift | Δ tokens | Δ turns | Cases | Verified |
|---|---|---|---|---|---|
| gemini-3.6-flashbest | +39% | +100% | 0% | 23 | 54d ago |
| gemini-3.5-flash | pending re-run | — | |||
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | — | — |
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-02 | ✗→✓ | ▲ Improved | — | — |
| case-01 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✗→✓ | ▲ Improved | — | — |
Enforces the WAI/WebAIM alt-text conventions on every alt value you produce: no redundant prefix, one concise description of content or function, an empty alt for decorative images, and the destination for a linked image. Apply when writing an image's alt attribute; not to visible captions, extended long descriptions, or generating the image.
"Icon of", or "An image showing". A screen reader already announces the element as an image, so the prefix is heard twice. Start with the subject.
fewer. Convey the image's purpose or content, not an exhaustive inventory of every colour, pose, and background object. Describe why the image is there, then stop.
information the surrounding text lacks — dividers, spacers, ornamental flourishes, a purely aesthetic backdrop — the alt is empty: alt="". That tells the screen reader to skip it. Never describe a decorative image.
link or a control, the alt says where the link goes or what the control does — "Home", "Search", "Close" — not the picture. A logo that links to the front page has alt="Home" (or the site name), never alt="company logo".
image, do not repeat it in the alt. Give it an empty alt, or add only what the caption leaves out (the chart type, a specific value).
the alt gives the takeaway or the key data ("Signups doubled after the March launch"), never "a bar chart" or "a screenshot of a dashboard".
cleanly before the next element. (An empty alt="" has nothing to punctuate.)
The base's default on top; the conforming alt below.
A content photo in an article:
BEFORE alt="Image of a cat sleeping on a windowsill in the warm afternoon
sun, curled up in a tight ball with its tail over its nose"
AFTER alt="A tabby cat sleeps curled up on a sunny windowsill."A purely decorative divider:
BEFORE alt="decorative swirl graphic dividing the two sections"
AFTER alt=""A magnifying-glass icon that is the search button:
BEFORE alt="magnifying glass icon"
AFTER alt="Search"A chart whose caption already describes it:
CAPTION Figure 2. Revenue by quarter.
BEFORE alt="A bar chart showing revenue by quarter"
AFTER alt="" (the caption already conveys it; or add what it omits:
alt="Q4 revenue is the tallest bar, roughly double Q1.")An informative chart with no caption:
BEFORE alt="Line graph of website traffic over twelve months"
AFTER alt="Website traffic climbed steadily all year, doubling by December."destination, e.g. the article's title, not the thumbnail's picture.
a description of the lettering's appearance.
text or a linked long description; the alt is not the place for a paragraph.
gets alt="".
it conveys ("Paid", "Offline"), not the shape or colour of the mark.
carries meaning, add a real text alternative in the HTML instead of relying on the background.
alt="". Don't describe an image that carries no information.alt="".alt="".| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +39 percentage points is the difference between those two pass rates over the 23 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.5-flash | verified | 7/10/2026 | +23% |
Other measured skills in the registry, with their headline benchmark lift.