readme-banner
Design a memorable hero banner for a repository README as one self-contained SVG, with the wordmark converted to font outlines so it renders identically on…
Skill by rm0nroe
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/rm0nroe-readme-banner
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/readme-banner
What's inside
- Skill name
readme-banner- Description
- Design a memorable hero banner for a repository README as one self-contained SVG, with the wordmark converted to font outlines so it renders identically on GitHub, in dark and light themes, on every machine. Use whenever the user wants a README banner, header image, hero, or logo strip for a repo, is preparing to open-source or publish a repository, says "add a banner to the readme", or complains an existing README banner looks generic. Prefer this over general image or social-banner skills for anything that lives at the top of a README.
- License
- MIT
- Instructions
- 93 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Agent Skills spec issues
- files: referenced but missing: assets/banner.svg
Files (2)
- SKILL.md
- wordmark.py · scripts/
SKILL.md (first lines)
# README Banner Produces `assets/banner.svg` (plus the font's license file) and wires it into the top of `README.md`. First drafts of README banners tend to land on the same thing: a dark card with monospace text and feature chips. It says "developer tool" and nobody remembers it. The banners that work turn the project's *name* into a picture. Most of this skill is about getting there on the first try. ## Workflow ### 1. Collect real facts Read the README, repo description, and main entry points. Note what the project literally does, its commands or surfaces, and any **real** numbers: counts from a run, file totals, supported platforms. Banner annotations use only these. A made-up "10x faster" erodes trust in an open-source repo, while a real measured number reads as confident. ### 2. Concept from the project's identity, not its feature list (the step that matters) Ask what the project's name means or evokes, what it does, or what world its names come from, then draw that. The product idea should live inside the picture instead of being listed beside it. Write three distinct concepts in one line each and pick the strongest. Reject any concept that comes down to "dark card + monospace + feature chips" or "gradient + logo + tagline". Those are the defaults every repo already has. If a concept could swap in another project's name without changing anything, it is not a concept yet. If design or art-direction skills are installed, they can push the concept further. The output stays a vector SVG either way. ### 3. Palette and type - **Background:** paint your own, never transparent, so one file reads on both GitHub themes; a transparent banner loses its dark text on dark mode or its light text on light mode. Dark is the easy default, and a light design works too if it sits on its own edged card. Swapping files per theme with `<picture>` is possible but doubles the maintenance. - **Colors:** three to five, derived from the concept rather than a stock gradient. - **Wordmark face:** any font whose license allows embedding it as outlines. SIL OFL 1.1 fonts are the simplest case, and Google Fonts hosts many; download the font file and its license together: ```bash curl -sSfLO https://raw.githubusercontent.com/google/fonts/main/ofl/<family>/<File>.ttf curl -sSfLO https://raw.githubusercontent.com/google/fonts/main/ofl/<family>/OFL.txt ``` Check the license before outlining a system or commercial font. Outlining a short wordmark is common practice, but a public repo is better off not leaving the question open. - **Secondary text** (eyebrow, tagline, labels) can stay as `<text>` with a system stack like `'Helvetica Neue', Helvetica, 'Segoe UI', sans-serif`. Small text falls back gracefully; a wordmark does not. ### 4. Wordmark to outlines ```bash uv run <skill-dir>/scripts/wordmark.py <Font>.ttf "<NAME>" \ --width 760 --x 92 --baseline 200 --fill "#EDE6DA" ``` This prints one `<g transform="translate(..) scale(..)"><path/></g>` to paste in. Metrics go to stderr; use `top y` to place eyebrow lines above the mark. The scale is derived from `--width`, so changing fonts never needs hand-tuned numbers. `--tracking` adds letter spacing in font units, and `--fill` takes a color or a gradient reference. Why outlines: GitHub renders README SVGs as images with no access to web fonts, and viewers miss local fonts. A `<text>` wordmark in a font stack falls back to some other face, which changes its width. `textLength` doesn't save it because librsvg ignores it. If `uv` panics with `system-configuration ... NULL object` inside a sandbox, rerun outside the sandbox. It is uv's proxy lookup, not the script. ### 5. Compose the SVG Use a wide canvas; `viewBox="0 0 1600 520"` (about 3:1) suits most READMEs. Guidelines, each with the reason it exists: - `role="img"`, an `aria-label`, `<title>`, and a `<desc>` that states the concept, for screen readers. - A comment naming the font and its license file, so the license travels with the art. - No external references (`@import`, linked fonts, images or `href`s to other files or URLs): GitHub serves README SVGs as images and drops them. That one is a hard rule. - Prefer plain geometry (`rect`, `line`, `path`, `circle`, `pattern`, `clipPath`, `mask`, gradients). Filters and embedded raster images do render, but filters vary between renderers and raster bloats the file and its diffs, so check them on GitHub if you use them. - Reuse one wordmark path under two `clipPath`s for split or cut effects instead of drawing it twice. - Keep it small and diffable. - Size every container from the text it holds (a card or capsule from its label, a plate from its longest row), never by eye. Fixed sizes are where overflows come from. - For repeated elements (one card or slot per item), generate the SVG with a script rather than writing it by hand. Whether to commit the script is the repo's call; committing it makes later edits reproducible. ### 6. Render and actually look (iterate here) ```bash rsvg-convert -w 1600 assets/banner.svg -o "$TMPDIR/banner.png" rsvg-convert -w 420 assets/banner.svg -o "$TMPDIR/banner-phone.png" ``` Read both PNGs. Judge honestly: - Does the wordmark sit inside the canvas, with nothing overflowing or clipped by accident? - Does the concept read at phone width? - Would a stranger remember it? Fix and re-render until the answers are yes. rsvg is stricter than browsers, so passing here is a good proxy for GitHub. **Theme from the project's own culture.** If the project's names come from somewhere, ask whether the banner should carry it. If it should, commit to it: faint nods often don't read, while the source's palette and a few recognizable motifs do. Avoid logos, title text and copied art, which belong to their owners. **When the user is unsure, show variants side by side.** Put them on one comparison page (each SVG as a base64 `<img>` so ids can't collide) with the current favorite on top for reference. Make the variants genuinely different: different concept, typeface and palette, as if from different designers. Save each favorite outside the repo before the next round, and delete them once the chosen banner is committed: the commit is the record. ### 7. Wire it in Add it near the top of `README.md`, usually first: ```html <p align="center"> <img src="assets/banner.svg" alt="<Name>: <one-line description>" width="100%"> </p> ``` Commit `assets/banner.svg`, the font's license file, and the README together, following the repo's own commit conventions. The commit body is a good place for the concept rationale, so the design can be recovered later. The outlines are the artifact, so the font file itself isn't needed in the repo. Confirm with the user before committing or pushing. ## Done when - The banner renders cleanly in rsvg at full and phone width. - Only real facts appear on it, and the wordmark is outlines, not `<text>`. - The license file sits beside it, and the README shows it at the top.
From rm0nroe/loadout, MIT.
More from rm0nroe/loadout
- 0.570score
write
rm0nroe
Drafts Slack messages, emails, GitHub PR titles and descriptions, PR review comments and replies, and git commit messages, release notes, incident…
SkillAFreshness: AClaude Code +9 - 0.570score
clip
rm0nroe
macOS only.
SkillAFreshness: AClaude Code +9 - 0.570score
relay
rm0nroe
Write a message addressed to a specific person or team who was NOT part of this conversation, which the user will hand off, paste, forward, or read aloud to…
SkillAFreshness: AClaude Code +9 - 0.565score
exec-recap
rm0nroe
Summarizes what shipped in a version range, date range or commit range as a plain-language TLDR for a non-technical executive who has never seen the project.
SkillAFreshness: AClaude Code +9 - 0.565score
docs-prune
rm0nroe
Analyze a repo's documentation corpus and prune/exclude stale docs so knowledge-graph and vault tooling (graphify, Obsidian sync) index only live, high-signal…
SkillAFreshness: AClaude Code +9 - 0.565score
break-it-down
rm0nroe
Rewrites the last assistant reply as a plain, short, direct explanation: no metaphors.
SkillAFreshness: AClaude Code +9 - 0.565score
simplify
rm0nroe
Rewrites the last assistant reply into a short everyday analog (one metaphor, numbered roles, mix-up named, one-sentence rule).
SkillAFreshness: AClaude Code +9 - 0.561score
roundtable
rm0nroe
Run a multi-perspective roundtable on a decision: 4 parallel background agents argue it against the actual code with file:line evidence, then their positions…
SkillAFreshness: AClaude Code +9 - 0.557score
checkpoint-save
rm0nroe
Saves session progress to a state file, naming it automatically from the session's work.
SkillAFreshness: AClaude Code +9 - 0.553score
checkpoint-load
rm0nroe
Instantly loads a specific session checkpoint.
SkillAFreshness: AClaude Code +9 - 0.553score
checkpoint-list
rm0nroe
Lists all saved checkpoints for the current project.
SkillAFreshness: AClaude Code +9 - 0.539score
slop-radar
rm0nroe
Use when the user asks to audit, critique, or detect AI slop, vibe-coded sameness, generic template aesthetics, or unmotivated frontend design choices in a…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 3, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/rm0nroe/loadout
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from rm0nroe
- 0.597score
Catalyst Edge Research
rm0nroe
Source-linked market intelligence for AI agents researching public-company tickers.
ConnectorAFreshness: ALocalRead-only↓ 47/wkClaude Code +5 - 0.570score
clip
rm0nroe
macOS only.
SkillAFreshness: AClaude Code +9 - 0.570score
relay
rm0nroe
Write a message addressed to a specific person or team who was NOT part of this conversation, which the user will hand off, paste, forward, or read aloud to…
SkillAFreshness: AClaude Code +9 - 0.570score
write
rm0nroe
Drafts Slack messages, emails, GitHub PR titles and descriptions, PR review comments and replies, and git commit messages, release notes, incident…
SkillAFreshness: AClaude Code +9 - 0.565score
docs-prune
rm0nroe
Analyze a repo's documentation corpus and prune/exclude stale docs so knowledge-graph and vault tooling (graphify, Obsidian sync) index only live, high-signal…
SkillAFreshness: AClaude Code +9 - 0.565score
break-it-down
rm0nroe
Rewrites the last assistant reply as a plain, short, direct explanation: no metaphors.
SkillAFreshness: AClaude Code +9
Cite this page
readme-banner skill. Agent Mart. https://agentmart.dev/skills/rm0nroe-readme-banner (last updated 2026-10-24)