Accessibility
affaan-m/ECC
Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels, accessibility traits and hints, focus management, contrast, target…
Design accessible, source-backed SVG editorial figures and optionally rasterize reviewed assets for a blog or CMS.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace blog-figure-svg --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/productivity/publishing-skills/skills/blog-figure-svg .claude/skills/blog-figure-svg && rm -rf skills-srcUse ~/.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/
Install the "blog-figure-svg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svg into .claude/skills/blog-figure-svg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blog-figure-svg", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svgType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace blog-figure-svg --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/productivity/publishing-skills/skills/blog-figure-svg .agents/skills/blog-figure-svg && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "blog-figure-svg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svg into .agents/skills/blog-figure-svg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blog-figure-svg", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace blog-figure-svg --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/productivity/publishing-skills/skills/blog-figure-svg .cursor/skills/blog-figure-svg && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "blog-figure-svg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svg into .cursor/skills/blog-figure-svg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blog-figure-svg", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jeremylongshore/tons-of-skills-marketplace.git --path plugins/productivity/publishing-skills/skills/blog-figure-svg--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace blog-figure-svg --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/productivity/publishing-skills/skills/blog-figure-svg .gemini/skills/blog-figure-svg && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "blog-figure-svg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svg into .gemini/skills/blog-figure-svg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blog-figure-svg", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jeremylongshore/tons-of-skills-marketplace blog-figure-svgInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/productivity/publishing-skills/skills/blog-figure-svg .github/skills/blog-figure-svg && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "blog-figure-svg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svg into .github/skills/blog-figure-svg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blog-figure-svg", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jeremylongshore/tons-of-skills-marketplace blog-figure-svg --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/productivity/publishing-skills/skills/blog-figure-svg .opencode/skills/blog-figure-svg && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "blog-figure-svg" agent skill from https://github.com/jeremylongshore/tons-of-skills-marketplace/tree/main/plugins/productivity/publishing-skills/skills/blog-figure-svg into .opencode/skills/blog-figure-svg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "blog-figure-svg", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
blog-figure-svgDesign accessible, source-backed SVG editorial figures and optionally rasterize reviewed assets for a blog or CMS.
Blog Figure SVG is an agent skill from jeremylongshore/tons-of-skills-marketplace. Design accessible, source-backed SVG editorial figures and optionally rasterize reviewed assets for a blog or CMS. Use when a post needs a flow, comparison, taxonomy, terminal mock, or feature card. Trigger with "add a figure to this post" or "make an SVG diagram".
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Claude Code; file creation is local by default, while brand changes, data claims, uploads, overwrites, and publication require owner approval
The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT-0.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBash(command:*)Bash(magick:*)Bash(identify:*)Bash(rsvg-convert:*)Bash(inkscape:*)Bash(python3:*)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3magickFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
w3.orgAlso links to:
developer.mozilla.orgcheatsheetseries.owasp.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Designed for Claude Code; file creation is local by default, while brand changes, data claims, uploads, overwrites, and publication require owner approval
From compatibility in the SKILL.md frontmatter.
Blog Figure SVG loads about 2k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 808 words of instructions outside code blocks.
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.
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.
The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT-0 licence (© jeremylongshore). 808 words, ~2,049 tokens.
.claude/skills/blog-figure-svg/SKILL.md (or your agent's skills folder).Create lightweight editorial artwork whose visual claims are traceable to the approved article or source data. Supported shapes are process flows, comparison bars, taxonomies, terminal mocks, and 1600x840 feature cards.
The editable SVG is the source of truth. PNG rasterization is optional, and CMS upload remains a separate approved action.
tmp/blog-drafts/rsvg-convert, Inkscape, or CairoSVGpngquant or oxipng for lossless or reviewed lossy compressionUse Read to inspect the approved article and brand tokens. Use Write or Edit for local SVG, caption, and receipt files. The scoped Bash commands may only detect or invoke the named local renderers and Python validator; never interpolate untrusted titles, SVG fragments, filenames, or shell arguments.
flow for ordered steps, compare for sourced numeric values, taxonomy for categories, terminal for verified command output, or feature for a title card.viewBox. Use text elements rather than embedded fonts, preserve readable contrast, and keep labels legible at the target display width.<title> and <desc>, then connect them with role="img" and aria-labelledby. Decorative shapes should not add noise to the accessibility tree.foreignObject, or unreviewed embedded data.Every figure starts with this security and accessibility shape:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 900"
role="img" aria-labelledby="figure-title figure-desc">
<title id="figure-title">Approved figure title</title>
<desc id="figure-desc">Concise explanation of the relationships shown.</desc>
<rect width="1600" height="900" fill="#ffffff"/>
<!-- Reviewed, static vector elements only. -->
</svg>For comparison charts, label values directly and start quantitative axes at zero unless an explicit analytical reason is disclosed in the caption. For terminal mocks, reproduce only sanitized output; never include secrets, tokens, home paths, customer data, or misleading commands.
Detect tools without installing anything:
command -v magick
command -v rsvg-convert
command -v inkscape
python3 -c 'import cairosvg; print(cairosvg.__version__)'Example with trusted local paths:
magick -density 192 -background white figure.svg -resize 1600x figure.png
identify figure.pngDo not run package installers automatically. If no renderer exists, deliver the validated SVG and provide installation options for the owner to choose.
Local SVG creation, validation, and rasterization require no authentication and must not make network requests. CMS authentication is deliberately out of scope for this skill; pass the reviewed asset to the publishing workflow, which owns the target-specific secret and upload controls.
Require approval before inventing or altering brand tokens, changing sourced values, overwriting assets, installing software, uploading to a CMS, or publishing. A figure must not imply causation, scale, performance, price, or endorsement beyond its cited evidence.
Produce:
.svg path and SHA-256 digest.png path, dimensions, MIME type, and byte size| Condition | Response |
|---|---|
| Source data conflicts | Stop the chart, list the conflicting values and dates, and request an authoritative source. |
| SVG parser rejects the file | Do not rasterize or upload; repair the XML and rerun validation. |
| Active content is detected | Remove scripts, handlers, remote resources, and foreignObject; regenerate from safe primitives. |
| Labels clip or contrast fails | Adjust layout or palette, then inspect again at target width. |
| Rasterizer is unavailable | Return the validated SVG and an explicit unexecuted renderer recommendation. |
| Output path already exists | Use a new versioned filename or obtain overwrite approval. |
Create a source-backed process figure:
request: flow "Webhook delivery lifecycle"
steps: receive -> authenticate -> enqueue -> process -> acknowledge
source: approved article section "Delivery lifecycle"
outputs: webhook-delivery-lifecycle.svg, webhook-delivery-lifecycle.png
validation: XML clean; active content absent; 1600x900; alt text presentRefuse an unsupported comparison:
request: compare three vendors by reliability
result: blocked
reason: the article provides no comparable reliability measurement or source
next: supply an authoritative dataset or use a nonquantitative taxonomyscript, event attributes, javascript:, remote references, and foreignObject; expect none.Attach the figure receipt to the article review, then let the publishing workflow perform the separately approved upload and rendered-page verification.
© jeremylongshore, MIT-0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/productivity/publishing-skills/skills/blog-figure-svg of jeremylongshore/tons-of-skills-marketplace.
Open the folder on GitHubat commit cfae287
Blog Figure SVG 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Blog Figure SVG this skilljeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2k | Automated safety check: Pass | MIT-0 | |
| Accessibilityaffaan-m/ECC | 277k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Figurevectorize-io/hindsight | 48k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Accessibilityaffaan-m/ECC | 276k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Accessibilityaffaan-m/ECC | 276k | — | ~1k | Automated safety check: Pass | MIT | |
| Accessibilityelastic/kibana | 21k | — | ~338 | Automated safety check: Pass | Custom licence |
affaan-m/ECC
Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels, accessibility traits and hints, focus management, contrast, target…
vectorize-io/hindsight
Draw an animated figure (boxes, arrows, moving data) as one self-contained SVG for a GitHub README, PR, issue or blog post.
affaan-m/ECC
WCAG 2.2 レベル AA 標準を用いてインクルーシブなデジタルプロダクトを設計・実装・監査します。Web 用のセマンティック ARIA および Web・ネイティブプラットフォーム(iOS/Android)のアクセシビリティトレイトを生成するために使用します。
affaan-m/ECC
使用 WCAG 2.2 Level AA 标准设计、实施和审计包容性数字产品。运用此技能为 Web 生成语义 ARIA,并为 Web 和原生平台(iOS/Android)生成无障碍特性。
elastic/kibana
Accessibility guidance for Kibana. An agent skill from elastic/kibana.
asgeirtj/system_prompts_leaks
Present multiple design options as a vertical stack of anchored turns
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.
jeremylongshore/tons-of-skills-marketplace
Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.
jeremylongshore/tons-of-skills-marketplace
Execute proactive auto-loading: automatically detects and loads agents.md files.
jeremylongshore/tons-of-skills-marketplace
Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.
jeremylongshore/tons-of-skills-marketplace
Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.
jeremylongshore/tons-of-skills-marketplace
Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Design accessible, source-backed SVG editorial figures and optionally rasterize reviewed assets for a blog or CMS. Blog Figure SVG is an agent skill from jeremylongshore/tons-of-skills-marketplace. Design accessible, source-backed SVG editorial figures and optionally rasterize reviewed assets for a blog or CMS.
Blog Figure SVG fits situations like: A post needs a flow; with add a figure to this post; make an SVG diagram.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a claude-code`. Or copy the skill folder (plugins/productivity/publishing-skills/skills/blog-figure-svg in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/blog-figure-svg in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a codex`. Or copy the skill folder (plugins/productivity/publishing-skills/skills/blog-figure-svg in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/blog-figure-svg in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill blog-figure-svg -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/blog-figure-svg, .gemini/skills/blog-figure-svg, .github/skills/blog-figure-svg and .opencode/skills/blog-figure-svg in your project.
Going by SKILL.md and its folder, Blog Figure SVG needs the command-line tools its instructions call (python3 and magick). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(command:*), Bash(magick:*), Bash(identify:*), Bash(rsvg-convert:*), Bash(inkscape:*), Bash(python3:*). Compatibility (from SKILL.md): Designed for Claude Code; file creation is local by default, while brand changes, data claims, uploads, overwrites, and publication require owner approval.
SKILL.md names 3 domains. In commands or code: w3.org; the agent is likely to contact it when it follows the instructions. As links in the text: developer.mozilla.org and cheatsheetseries.owasp.org. This is read from the text; nothing was executed.
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.
Blog Figure SVG is published under the MIT-0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Blog Figure SVG: Accessibility (affaan-m/ECC, 277k stars), Figure (vectorize-io/hindsight, 48k stars), Accessibility (affaan-m/ECC, 276k stars) and Accessibility (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.
Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.