awesome-content-graphics

awesome-content-graphics is a skill for Claude Code from khasky/awesome-agent-skills. It costs 222 tokens per session (17,625 once invoked), scanned A, original, MIT.

A local graphics maker that creates multiple self-contained HTML and CSS designs and renders them as PNG images. It uses supplied facts, brand choices, reference images, or an approved design.

In plain words
What is it for?
Use it to create social post graphics, render design variants locally, and produce images for content campaigns or repurposed posts.
Why use it?
It provides post graphics without sending the user's content to an image-generation service or requiring an external API. Multiple variations let the user choose the final composition.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the awesome-agent-skills plugin — 42 skills shipped together

Good fit Use it to create social post graphics, render design variants locally, and produce images for content campaigns or repurposed posts.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/khasky/awesome-agent-skills/awesome-content-graphics
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 khasky/awesome-agent-skills --skill awesome-content-graphics
Clone the repo
git clone --depth 1 https://github.com/khasky/awesome-agent-skills

Made for: Claude Code.

Or install awesome-agent-skills, the plugin that ships this one along with the rest of its 42 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 awesome-content-graphics

README.md
[![agentmods](https://agentmods.dev/badge/skills/khasky/awesome-agent-skills/awesome-content-graphics/github.svg)](https://agentmods.dev/skills/khasky/awesome-agent-skills/awesome-content-graphics)
Your own site
<a href="https://agentmods.dev/skills/khasky/awesome-agent-skills/awesome-content-graphics"><img src="https://agentmods.dev/badge/skills/khasky/awesome-agent-skills/awesome-content-graphics/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for awesome-content-graphics

Your own site · 80×15
<a href="https://agentmods.dev/skills/khasky/awesome-agent-skills/awesome-content-graphics"><img src="https://agentmods.dev/badge/skills/khasky/awesome-agent-skills/awesome-content-graphics.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 222 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 17,625 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. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Excessive Agency · line 91
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
How audits are shown
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.00222 $0.17625
Opus 5 $0.00111 $0.08812
Sonnet 5 $0.00044 $0.03525
Haiku 4.5 $0.00022 $0.01762

Measured today against content hash 659fd42fbe71, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

awesome-content-graphics 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 today.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/build-set.mjs, scripts/cdp.mjs, scripts/fetch-assets.mjs, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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/awesome-content-graphics/SKILL.md · 467 lines

How it starts

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

Content Graphics

The image a post ships with, made on the machine that is already running. A self-contained HTML file styled with CSS, screenshotted through browser automation, and nothing else: no image-generation service, no API key, no upload of the user's content anywhere.

This is one stage lifted out of the content pipeline so every skill that needs a picture calls it instead of carrying its own copy of the rules. awesome-content-campaign calls it when the media library cannot cover a media-required post; awesome-content-repurpose calls it when the run has no image; a user calls it directly when they want a graphic and no campaign around it.

Core principle: the run produces a set, and every choice inside it belongs to the user. The headline is chosen as text before anything is drawn. What happens to the renders afterwards depends on who called: a post needs one of them picked, a person asked for graphics needs all of them delivered. A skill that renders one graphic and decides it is the answer has taken two decisions it was not given, and correcting either costs a whole round trip.

Second principle: the facts are the boundary. The composition may not assert a relationship the caller's sources do not carry. An image is a claim surface like any other sentence, and a wordless claim is still read as evidence.

Third principle: a set is a spread of combinations inside one family. Twenty variations on one composition are one variant rendered twenty times, and a gallery of them gives the user nothing to decide. The family is four type-led kinds — a bare statement, a canvas with one tinted glyph, a number lockup at display scale, a data figure carrying its real values — and the spread comes from moving the palette, the background recipe, the figure, the face, the type effect and the anchor underneath them, counted by the signature rule in references/style-catalog.md. The kinds have shares: bare statements are capped at 15 percent of a set and data figures never fall under a third. The dense end of the old catalog (drawn code windows, spec tables, section posters, cut-paper headlines) is out, and it is not re-derived per run.

Bundled files (load on demand):

  • references/style-catalog.md — read first. The four kinds a set is built from and the share each takes, the five axes underneath them (density, palette and background, typography, subject, atmosphere), the palette rule that gives each variant its own harmonised scheme, the glyph-tinting rule, the typesetting rules, the scale gate and the fill gate that keep a canvas from reading as decoration or as a placeholder, the archetypes that were removed and the shelf that is only built on request, the combination rule that spreads a set, the device library, and what is not renderable offline.
  • references/palettes.json — a pool of 43 schemes (27 dark, 16 light) already proved against the colour rule: accent and muted neutral at 3:1 or better on their ground, foreground at 4.5:1, accent and muted separable under protan and tritan simulation. A no-reference set draws its schemes from here and validates nothing per run; scripts/palettes.mjs --check proves a brand colour or a reference palette the same way, and --generate rebuilds the pool.
  • scripts/build-set.mjs (Node 18+, no dependencies) — turns set.json, one row per variant, into the self-contained src/<id>.html pages through the templates in scripts/templates/: the four kinds, three data-figure patterns, the ground recipes, the type effects, the anchors, fonts and icons inlined from the asset cache. A variant is a row, not a page written by hand.
  • scripts/render-set.mjs (Node 22+, no npm dependencies; needs any Chromium-family browser on the machine, found through scripts/cdp.mjs) — one browser for the whole set: the geometry gate on every page, a screenshot for every page that passes, the set-level duplicate sweep (layout skeleton and perceptual distance), the kind and icon quotas, the contact sheets and the gallery, and report.json with every number. Exit 0 or one line per finding.
  • scripts/fetch-assets.mjs — the free-licence faces (Google Fonts, per weight, latin subset) and the drawn icons (Lucide) into a cache shared across runs, with their licences recorded beside them. A second run costs nothing.
  • references/visual-language.md — the nine data-figure patterns every composition is built from, the geometry check that measures the hard rules on every page before its screenshot, the craft that keeps a set from looking like one image recoloured, and the rendering mechanics every canvas shares. Read it before writing the first line of markup, not after the first contact sheet comes back grey.

Read the full file on GitHub · 467 lines

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. today Changed · +22 lines 659fd42fbe71
  2. 3d ago Changed · +123 lines · +21 tokens per session d191b5d8a134
  3. 4d ago Changed · +18 lines 04d60e417ade
  4. 6d ago Changed · -56 tokens per session a71eba070de2
  5. 7d ago First seen · 304 lines · 257 tokens per session scan A 9aa47aa547ec

Subscribe to this mod's changes

awesome-content-graphics is a skill published in the GitHub repository khasky/awesome-agent-skills (8 stars, last pushed today), licensed MIT. It adds 222 tokens to every session and 17,625 once invoked, about $0.0011 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-09-04.

Related

Other skills, from other repositories

9router-video

Generate videos via 9Router /v1/videos/generations using xAI Grok Imagine (grok-imagine-video). Async job flow - submit, poll requestid until done, download MP4. Use when the user wants to create, generate, or render a video, text-to-video (txt2vid), or image-to-video.

decolua/9router · 74 tokens

9router-image

Generate images via 9Router /v1/images/generations using OpenAI / Gemini Imagen / DALL-E / FLUX / MiniMax / SDWebUI / ComfyUI / Codex models. Use when the user wants to create, generate, draw, or render an image, picture, or text-to-image (txt2img).

decolua/9router · 74 tokens

9router-tts

Text-to-speech via 9Router /v1/audio/speech using OpenAI / ElevenLabs / Deepgram / Edge TTS / Google TTS / Hyperbolic / Inworld voices. Use when the user wants to convert text to speech, generate audio, voiceover, narrate, or read text aloud.

decolua/9router · 70 tokens

brainstorming

A brainstorming workflow for turning an idea into an agreed design before implementation. It requires exploring the project, asking clarifying questions, comparing options, documenting the design, and getting user approval.

jnMetaCode/superpowers-zh · 40 tokens

video-gen

A tool for generating or editing AI videos from text, images, reference videos, or audio, using HappyHorse, SeeDance, and PixVerse models.

marswaveai/skills · 79 tokens

listenhub-voice

An end-to-end audio generator that turns text or an image into a finished audio track. It can include sound effects, several speaking voices, or a voice copied from a reference recording.

marswaveai/skills · 108 tokens