A skill for Claude Code / Codex CLI: auto-generate a shareable, redacted AI-Native Developer README.
🌐 中文版 README · English (you are here)
🎉 2026-05-08: Featured in Ruan Yifeng's Weekly for Tech Lovers #395 under "AI Related" — one of the most widely-read independent tech newsletters in the Chinese developer community. Thank you, Ruan! 🙏
↑ This is a real run on the author's own machine (149 days · 19.4B tokens · 23.8× cache leverage · 1503★).
Click the image for the full Markdown profile.
Readme.skill is not a program — it's an instruction set for an AI agent (i.e. SKILL.md). When you say a trigger phrase in Claude Code or Codex (e.g. "build my AI usage profile"), the AI follows the SKILL.md recipe:
- Read your local
~/.claude/, project.claude/planswhen configured, and~/.codex/stats files, SQLite, history JSONL - Call
ghto pull your GitHub public contribution calendar and top repos - Run read-only
git login your working directories to count local commits - Compute 10 dimensions (overview / AI-Native / collaboration style / projects / topics / rhythm / output × input / velocity / evolution / token economics)
- Anonymize and redact by default; write in the requested language to
output/profile_YYYYMMDD.mdoroutput/profile_YYYYMMDD_en.md
The whole flow is read-only and fully local (except gh) — safe to run, safe to share. Conversation text may be read for keyword and collaboration-style signal, but never copied verbatim into the report.
Inside Claude Code:
/plugin marketplace add study8677/Readme.skill
/plugin install readme-skill@study8677
Claude Code auto-discovers skills/readme-skill/SKILL.md and mounts it — no manual symlinking. Requires a Claude Code build with the plugin subsystem.
git clone https://github.com/study8677/Readme.skill.git
cd Readme.skill
# Claude Code
mkdir -p ~/.claude/skills/readme-skill
ln -sf "$(pwd)/skills/readme-skill/SKILL.md" ~/.claude/skills/readme-skill/SKILL.md
# Codex CLI
mkdir -p ~/.codex/skills/readme-skill
ln -sf "$(pwd)/skills/readme-skill/SKILL.md" ~/.codex/skills/readme-skill/SKILL.mdgit clone https://github.com/study8677/Readme.skill.git
# Claude Code
mkdir -p ~/.claude/skills/readme-skill
cp Readme.skill/skills/readme-skill/SKILL.md ~/.claude/skills/readme-skill/
# Codex CLI
mkdir -p ~/.codex/skills/readme-skill
cp Readme.skill/skills/readme-skill/SKILL.md ~/.codex/skills/readme-skill/# Claude Code
mkdir -p ~/.claude/skills/readme-skill && curl -fsSL https://raw.githubusercontent.com/study8677/Readme.skill/main/skills/readme-skill/SKILL.md -o ~/.claude/skills/readme-skill/SKILL.md
# Codex CLI
mkdir -p ~/.codex/skills/readme-skill && curl -fsSL https://raw.githubusercontent.com/study8677/Readme.skill/main/skills/readme-skill/SKILL.md -o ~/.codex/skills/readme-skill/SKILL.mdAfter installing, say one of these in Claude Code or Codex:
- "build my AI usage profile"
- "summarize my Claude / Codex history"
- "make me an AI-native README"
- "generate my AI profile" / "生成我的 AI 档案"
- "analyze my Claude usage"
The AI runs the full pipeline and writes to output/profile_<date>_en.md for English requests, or output/profile_<date>.md for Chinese/default requests.
- Default (shareable) — project names anonymized to "Project A/B/C", private repos become "Private Repo X"
- Private — say "private version / show real names / 私人版", and the AI keeps real names (still scrubs API keys / emails)
Two artifacts:
- Markdown profile — long-form narrative report, 10 dimensions; see
examples/profile_20260508_en.md(real data) orexamples/example_profile.md(structural reference) - SVG poster (v2.4 viral edition) — a 1080×1920 vertical poster with three viral pieces baked in:
- A. AI verdict quote (two-line big headline written from real data — not stat-piled)
- B. Identity badges (top 4 capsules: TWO-ENGINE / CACHE MASTER / SKILL BUILDER / POLYGLOT etc., auto-detected)
- C. 30-second install CTA (bottom: install commands + repo URL — anyone seeing it can generate their own)
- 6 hero numbers + Evolution timeline + Cache leverage rank + Top slash commands
- Auto-picks zh / en based on the language you asked in: 中文版 · English
- Technical terms (token / star / commit / model name / slash command) stay in English in both versions; only narrative is translated
- Personal philosophy (from GitHub bio)
- Overview (key numbers + velocity metrics)
- 🚀 Velocity & Leverage — how much faster / wider AI made you (v2.0)
- 🤖 AI-Native practice (multi-model orchestration, power features, prompt caching, reasoning effort)
- 🔧 AI infrastructure — what tooling you built for AI (v2.0)
- 🛠️ AI collaboration style (slash commands + session architecture)
- 📂 Projects & domains (anonymized table + dual-tool orchestration mode)
- 🧬 Evolution curve — the growth arc of your AI usage (v2.0)
- 💡 Topics & keywords
- ⏱️ Working rhythm (24h heatmap, longest streak, peak day)
- 💰 Output × input (GitHub-first; token tables demoted to reference)
- 📊 Data sources & privacy commitment
The SVG is the source; for WeChat / Twitter / Instagram you usually want PNG:
# Option 1: rsvg-convert (brew install librsvg)
rsvg-convert -h 1920 output/poster_*.svg > poster.png
# Option 2: open in browser, screenshot
open output/poster_*.svg
# Option 3: chromium headless
chromium --headless --screenshot=poster.png --window-size=1080,1920 output/poster_*.svgDesign principles (from the v2.4 brief): identity readable in 3 seconds + 6 evidence numbers · no emoji (cross-platform font substitution) · system-ui font fallback · every number must have evidence — degrade gracefully when missing.
| Source | Path | Use |
|---|---|---|
| Claude Code aggregated stats | ~/.claude/stats-cache.json |
sessions / messages / tokens / hour heatmap |
| Claude command history | ~/.claude/history.jsonl |
slash command frequency, project mapping |
| Claude projects | ~/.claude/projects/<encoded>/*.jsonl |
per-project session count + real cwd recovery |
| Claude plans | ~/.claude/plans/*.md + plansDirectory from settings |
plan count and titles (keyword corpus) |
| Claude skills | ~/.claude/skills/ |
self-built skill count |
| Codex primary store | ~/.codex/state_5.sqlite (read-only) |
full statistics from threads table |
| Codex commands | ~/.codex/history.jsonl |
prompt text sampling |
| GitHub | gh api graphql |
365-day contributions, top repos, languages |
| Local git | candidate dirs git log |
commits / additions / deletions |
Missing one of these? Fine — the skill ships graceful degradation: no Codex SQLite → skip Codex section, no
gh→ skip GitHub section, report still generates.
- All data collection is local — no network calls except
ghto GitHub itself - Conversation bodies (
message.content) may be read to enhance keyword / collaboration-style / session-architecture analysis, but raw text never enters the report - Default mode anonymizes project paths and private-repo names; OWASP-style regex scrubs API keys / tokens / webhooks / emails
- The skill never modifies anything under
~/.claudeor~/.codex(SQLite opened withmode=ro&immutable=1)
A skill is an instruction set for an AI agent — not code that does the agent's job for it.
SKILL.md is the only real deliverable. Any temptation to "just write a Python script that does it all in one go" is deliberately resisted — the goal is for the AI to read the data itself, weigh tradeoffs itself, and write the prose itself with care, instead of mechanically filling a template.