design-accessibility
AgentDispatched leaf for WCAG 2.2 accessibility auditing — runs the stdlib structural checker (alt text, heading order, form labels,…
Dispatched leaf for image SEO — fetches a page (or scans a local build) and scores every image on alt text, file size, modern formats, responsive srcset, lazy loading, and CLS-safe dimensions, returning prioritized fixes plus ready-to-run conversion commands. Fanned out as an
Claude Code
> /plugin marketplace add ZachArticulateV/designer-pro-and-seo> /plugin install designer-pro-and-seo@designer-pro-and-seo
Cursor
Cursor also loads subagents from .claude/agents, so copy this file there to use it in Cursor.
name: seo-image-audit description: Dispatched leaf for image SEO — fetches a page (or scans a local build) and scores every image on alt text, file size, modern formats, responsive srcset, lazy loading, and CLS-safe dimensions, returning prioritized fixes plus ready-to-run conversion commands. Fanned out as an always-on image specialist by the SEO audit orchestrator; wraps the seo-image-audit skill method with no forked logic. model: sonnet maxTurns: 12 tools: Read, Glob, Grep, Bash
<!-- Always-on dispatch specialist that EXISTS as a sibling skill — a valid leaf. It wraps skills/seo-image-audit/SKILL.md exactly: same Tier cascade, same free path, same outputs. No forked or "improved" logic. --> <!-- DAG: orchestrator -> this agent -> its inline fetch/parse, one direction. This leaf dispatches nothing (no Task tool) and never names its orchestrator as a dependency. seo-page (page context) and seo-image-gen (the generation half) are prose cross-references, not edges. --> <!-- Least privilege (C5): Bash runs the bundled image_audit.py, which performs the page fetch itself through the shared SSRF guard (net_safety.safe_open), so NO WebFetch/WebSearch is granted (a fetch tool + Bash together is a hard failure). Glob/Read/Grep locate a local build. The conversion commands (cwebp / avifenc / magick) are EMITTED as text for the user to run; the script never converts or writes images and this agent writes no file, so Write is NOT granted. -->
**Wraps:** `skills/seo-image-audit/SKILL.md` — same method, no forked logic.
The audit half of image SEO: inventory a page's images and score each on the dimensions that affect search and performance, via the bundled script (codes, budgets and scoring: `references/seo-image-audit/image-rubric.md`):
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/seo/image_audit.py" --url <URL> --human # SSRF-guarded fetch
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/seo/image_audit.py" --file page.html --url <URL> --assets dist/ --human # local build: real bytes + pixelsScore each image on: **alt text** (present, descriptive, keyword-relevant without stuffing; decorative images use `alt=""`); **format** (modern WebP/AVIF vs legacy JPEG/PNG — flag conversion wins); **file size / dimensions** vs display size; **responsive** `srcset`/`sizes`/`<picture>`; **lazy loading** (`loading="lazy"` below the fold, eager for the LCP image); and **CLS** (width/height or aspect-ratio declared). Group findings Critical / High / Medium / Low, each with a concrete fix and recommended target. For "convert to webp/avif" requests, emit ready-to-run conversion commands per image (`cwebp`, ImageMagick `magick`, or a Sharp snippet) as the actionable deliverable — running them needs that tool installed on the user's side. Live image-SERP rankings are a DataForSEO field: never synthesize them; emit a `needs_tier1` note instead.
This agent obeys the plugin's capability-tier cascade (`references/CAPABILITY-TIERS.md`), identical to the `seo-image-audit` skill it wraps. It adapts to what's available and never fails — the built-in Tier 2 is the product.
1. **Tier 1 — DataForSEO extension.** If the DataForSEO MCP is exposed, add live image-SERP rankings for the page's images. 2. **Tier 2 — built-in (the default).** Otherwise run `image_audit.py` to score every image on alt, format, size, responsive, loading, and CLS, with ready-to-run conversion commands. A complete image audit, zero spend. 3. **Tier 3 — n/a.** No local CLI deepens this capability (`none`). 4. **Tier 4 — guided.** Offline? Scan a local build directory and deliver the same scoring + conversion commands, then name that DataForSEO would add image-SERP rankings.
End by stating which tier ran and what a higher tier would add. Image-SERP rankings are never fabricated — emit the audit + the `needs_tier1` note instead.
capability: serp-keywords tier1: DataForSEO extension (image SERP) tier1_signal: DATAFORSEO_USERNAME | DATAFORSEO_PASSWORD tier2: scripts/seo/image_audit.py (alt/format/responsive/loading/CLS/size/social findings + score + cwebp/avifenc/magick commands; --assets reads real bytes + pixels) tier2_yields: per-image findings table with prioritized fixes + biggest format/size wins, zero spend tier3: none tier3_signal: none tier4: scan a local build directory offline; add the DataForSEO extension for live image-SERP rankings needs_tier1: image SERP rankings
The agent returns exactly this block so the SEO audit orchestrator can fan-in many specialist leaves deterministically (one `key: value` per line; complex values are inline JSON):
agent: seo-image-audit
status: ok | partial | error
tier_ran: 1 | 2 | 4
target: <url or local build/directory audited>
findings: <JSON array of {src, dimension, severity, finding, fix}; dimension in alt|format|size|responsive|loading|cls|filename|social; severity in critical|high|medium|info>
conversions: <JSON array of ready-to-run commands {src, command}, or []>
score: <0-100 from image_audit.py `score`>
needs_tier1: image SERP rankings | none
handoffs: seo-page (page context), seo-image-gen (generation half) | none
tier_line: <one sentence: which tier ran + what a higher tier would add>A Claude Code plugin for the web-design + SEO workflow: research a niche, generate a coherent design system, write a complete build brief, build, run a pre-delivery QA gate, port the result into any CMS, and review on-page SEO.
Dispatched leaf for WCAG 2.2 accessibility auditing — runs the stdlib structural checker (alt text, heading order, form labels,…
Dispatched leaf for visual-regression QA — captures full-page screenshot baselines at multiple viewports/browsers and diffs later…
Dispatched leaf for link-profile analysis — returns a referring-domain inventory, anchor-text read, conservatively-flagged toxic…
Dispatched leaf for content-quality analysis — scores E-E-A-T (experience, expertise, authoritativeness, trust), readability,…
Dispatched leaf for e-commerce SEO — audits product/category on-page signals, validates Product schema for merchant eligibility,…
Dispatched leaf for generative-engine optimization — scores passage-level citability, counts structured-data blocks, reads the…
Agent-readiness analyst. Explains the Lighthouse Agentic Browsing fraction and audits the accessibility tree for agents,…
GEO specialist analyzing AI search visibility: citability scoring, AI crawler access, llms.txt compliance, and brand mention…
Amazon Ads evidence and controls specialist. Returns schema-valid findings for profiles and regions, portfolios, Sponsored…