skills/github-wrapped/SKILL.md
Generate a verifiable GitHub Wrapped year-in-review as a single-file HTML (raw gh API JSON saved, Python-built dataset embedded), with a Bilibili-style narrative, smooth transitions, and mobile-friendly paged mode. Requires gh CLI to be authenticated.
npx skillsauth add acking-you/myclaude-skills github-wrappedInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill generates a GitHub “Year in Review / Wrapped” as a single self-contained HTML file with a Bilibili-style narrative (scroll/page scenes, cinematic transitions, share card). The non-negotiable requirement is verifiability: every number must be traceable to saved gh api raw responses committed alongside the report.
— and explain the limitation in-page.raw/ folder containing the original JSON (and the GraphQL queries used)..html: no runtime gh calls; embed a dataset into the HTML.YEAR (default: current year)USER (default: gh api user --jq .login)Asia/Shanghai for CN users)data/github-wrapped-$YEAR/
raw/ # verifiable gh API responses (JSON)
processed/ # dataset.json derived from raw/
frontend/standalone/
github-wrapped-$YEAR.html
gh api (always paginate)Pagination rules:
--paginate --slurp--paginateMinimum raw set (recommended filenames):
raw/user.json (profile, createdAt)raw/contributions.json (GraphQL contributionsCollection(from,to))raw/user_repos.json (REST repos list; stars/forks are snapshots)raw/starred_repos_pages.json (GraphQL starred repos ordered by STARRED_AT, includes topics/language)raw/prs_${YEAR}_pages.json (GraphQL Search: merged PRs in the year; additions/deletions)raw/contributed_repos_pages.json (GraphQL repositoriesContributedTo)raw/events_90d.json (optional; REST events; 90-day limit; only for best-effort easter eggs)Bundled templates (open only what you need):
scripts/collect_raw.shscripts/queries/*.graphqlreferences/data_sources.mdreferences/single_file_engineering.mdWrite a builder that reads only raw/*.json and outputs processed/dataset.json:
meta.dataProvenance.notes[].Template: scripts/build_dataset_template.py
Schema guidance: references/dataset_schema.md
For larger analysis recipes (stars-by-month scatter points, timezone-safe hour buckets, holiday detection, category heuristics), see cookbook/python/.
dataset.json into the HTML (no runtime fetch)Your HTML must contain a stable anchor:
<script id="dataset" type="application/json">{}</script>
Embed rules:
< as \u003c before writing into the HTML.Template: scripts/embed_dataset_into_html_template.py
Single-file cinematic reports get long fast. To stay correct and maintainable, ship in iterations:
dataset.json schema and render placeholders (show — for missing fields).data-mhide="paged" + bottom-sheet that moves DOM nodes).Keep this file (SKILL.md) high-level. Put long code samples and analysis recipes into cookbook/ and implementation notes into references/ to avoid prompt bloat.
paged (wheel/keys, plus touch swipe on mobile) and free (normal scroll).data-mhide="paged" and open them in a bottom-sheet that moves existing DOM nodes (avoid duplicate IDs).See references/single_file_engineering.md for deeper patterns.
The page is one file, but it’s effectively two products: desktop cinematic and mobile slide deck. Treat responsive work as surgically isolated changes to avoid regressions.
--maxw as a clamp()), and reduce --gutter slightly on short viewports (e.g. 768px height) instead of shrinking typography.aspect-ratio and draw in CSS pixels.@media (max-width: 620px) and (pointer: coarse) (width-only rules can accidentally affect small desktop windows).paged mode, avoid inner scrolling in scenes; hide heavy blocks with data-mhide="paged" and expose them via a bottom-sheet modal that moves the existing DOM node (so IDs and event listeners remain valid).For implementation patterns (bottom sheet node-moving, draggable HUD controls, canvas DPR sizing, and stacking-context pitfalls), see references/responsive_ui_patterns.md.
Design as a storyboard: each scene answers one question, then transitions.
Suggested pacing:
Interaction rules:
transform/opacity.stargazers_count/forks_count are current snapshots, not year-increment.See references/debug_checklist.md for the full checklist. Common root causes:
const, missing ))scripts/: reusable collection/build/embed templates (execute without loading into context)cookbook/: analysis recipes and larger Python snippets (open only what you need)references/: schema + storyboard + debugging notes (open only the specific file you need)development
Write precise technical implementation docs (developer or user) with clear structure, accurate flows, render-safe Mermaid diagrams, and audience-appropriate detail; avoid boilerplate; include a meaningful Code Index for developer docs.
documentation
Generate technical design documents with proper structure, diagrams, and implementation details. Default language is English unless user requests Chinese.
development
Write code-driven technical blog posts with data-flow narrative, rich Mermaid visuals, and citation-backed claims. Covers source code deep dives, architecture analysis, and doc-driven comparisons.
development
Structured web research with multi-source validation. Output reports with complete citation links. Focus on key results, verify information quality.