Use this skill to create or update a repository README and its visual header/footer
with local animated SVG assets. Zero external services: no capsule-render, no shields
generators, no URL banners. Animation is SMIL only (<animate>, <animateTransform>)
so it works inside <img> on GitHub without scripts or network requests.
repo-community-files.repo-metadata-health.repo-social-preview.SKILL.md — this filescripts/generate_assets.py — deterministic generation of assets/header.svg + assets/footer.svgscripts/extract_context.py — auto-detect name/desc/stack/colors/username from git remotescripts/validate_svg.py — validate SVG against skill rules (SMIL, mask, morphing)references/svg-animation.md — full SVG animation spec + header/footer templatesreferences/svg-presets.md — the four presetsreferences/color-tokens.md — detected values (USERNAME/PROJECT_NAME/COLD/WARM)references/canonical-patterns.md — canonical references and gaps| Script | Purpose | Call |
|---|---|---|
generate_assets.py |
Deterministic assets/header.svg + assets/footer.svg (presets: --preset default\|minimal\|dark-first\|monochrome) |
python3 scripts/generate_assets.py --name X --desc Y --user Z --cold #HEX --warm #HEX [--preset default] |
extract_context.py |
Auto-detect generation context from git remote | python3 scripts/extract_context.py [--path DIR] [--gh-repo owner/repo] [--text] |
validate_svg.py |
Validate SVG rules (SMIL, mask, d-path morphing) | python3 scripts/validate_svg.py assets/ |
Reports are JSON; exit codes 0/1 (CI-friendly).
https://<user>.github.io/<repo>/ + homepage in About.**🌐 Versions:** [English](README.md) · [Русский](README.ru.md) · [Website](…).Rules:
README.md is always English (GitHub international standard).README.<lang>.md is a localized mirror: propagate English changes 1:1 (headings, numbers, statuses).By default each repo gets assets/header.svg (start of README) and assets/footer.svg
(end of README), required in both language versions.
Principle: zero external services. Animation is SMIL only.
Key techniques: “background wave” effect (a black wave in <mask> cuts color → page
background shows through), d-path morphing across 4 frames (crest Q+T, identical
command sequence in every frame), 30% wave desync, a highlight pass once ~16s, a
twinkling speck in the footer.
references/svg-animation.mdreferences/color-tokens.mdreferences/svg-presets.mdPreset choice: default (animated gradient) by default; minimal (static gradient, no
waves) for docs/stable tools; dark-first (deep dark backdrop, GitHub dark theme);
monochrome (b/w, no SMIL) for books/print/specs. Ask the user, else take default.
By script (deterministic, then validate):
python3 scripts/generate_assets.py \
--name "Project Name" --desc "Short description" --user "username" \
--cold "#0ABAB5" --warm "#F64A8A"
python3 scripts/validate_svg.py assets/ # expect: all passed
Manually (when the script is unavailable): read references/svg-animation.md, substitute
COLD, WARM, PROJECT_NAME, PROJECT_DESC, FONTCOLOR, USERNAME into the templates,
create assets/, add the links (see “Insert into README.md” in the reference).
USERNAME when it is not obvious..svg without an explicit request.<script>, no base64, SMIL only; mask with a white <rect> covering the canvas.repo-metadata-health or repo-community-files.Run the documented command against the user’s actual input. Report the command, exit status, files changed or produced, and relevant stdout/stderr. Separate blocked or pre-existing failures from failures introduced by the current work. Do not call the result complete when the script was only described or when an artifact was not reopened and checked.