Sync Skills README
Update the root README.md "Available Skills" table with all skills currently in the skills/ directory. This command scans skills, reads their metadata, categorizes them, and regenerates the table.
Workflow
1. Scan Skills Directory
Use Bash to list all skill directories:
ls -1 skills/
For each skill directory found, proceed to step 2.
2. Extract Skill Metadata
For each skill, read the SKILL.md frontmatter to extract:
name: field (skill identifier)
description: field (what the skill does)
Use the Read tool to read skills/[skill-name]/SKILL.md and extract the YAML frontmatter between the --- markers.
Example:
---
name: codex
description: Use when the user asks to run Codex CLI for code analysis...
---
Extract both fields for table generation.
3. Categorize Skills
Assign each skill to a category based on its purpose. Use this mapping:
| Category |
Emoji |
Keywords in name/description |
| AI Tools |
🤖 |
codex, gemini, perplexity, ai, llm, model |
| Meta |
🔮 |
command-creator, plugin-forge, plugin, command |
| Documentation |
📝 |
docs, documentation, handoff, requirements, diagram, mermaid, draw, excalidraw, marp, slide, c4-architecture |
| Development |
🛠️ |
session, handoff, entropy, development, workflow, database, dependency |
| Design & Frontend |
🎨 |
design, frontend, ui, openapi, typescript, system |
| Utilities |
🔧 |
domain, meme, web-to-markdown, utility, tool, datadog |
| Planning |
🎯 |
plan, planning, spec, forge, gepetto, requirements, clarity, game-changing, features |
| Professional |
👔 |
professional, communication, career, soft-skill, feedback, conversation |
| Testing |
🧪 |
test, testing, qa, quality |
| Git |
📦 |
commit, git, branch, pr, pull-request |
Categorization logic:
- Check the skill name and description (case-insensitive)
- Match against keywords in the table above
- Assign to the first matching category
- If no match, default to "Utilities" (🔧)
4. Generate Compact Table
Create a markdown table with this exact format:
## 📚 Available Skills
| Category | Skill | Description |
|----------|-------|-------------|
| 🤖 AI Tools | [codex](skills/codex/README.md) | Advanced code analysis with GPT-5.2 |
| 🤖 AI Tools | [gemini](skills/gemini/README.md) | Large-scale review (200k+ context) |
...
Table structure:
- Column 1: Category emoji + name (e.g., "🤖 AI Tools")
- Column 2: Skill name as markdown link to its README
- Column 3: Short description (max ~50 chars, extracted from SKILL.md description field)
Sorting:
- Group by category (AI Tools first, then Meta, Documentation, Design & Frontend, Development, Planning, Professional, Testing, Git, Utilities last)
- Within each category, sort skills alphabetically by name
Description shortening:
- If description is longer than 50 characters, create a shortened version
- Keep it concise and action-oriented
- Examples:
- "Use when the user asks to run Codex CLI for code analysis, refactoring, or automated editing" → "Advanced code analysis with GPT-5.2"
- "Create comprehensive API handoff documentation for frontend developers after backend implementation" → "API handoff docs for frontend"
5. Update README.md
Use the Edit tool to replace the "Available Skills" section in the root README.md.
Find and replace:
- Locate the section starting with
## 📚 Available Skills
- Find the end of the table (marked by the next
--- separator or next ## heading)
- Replace everything between those markers with the newly generated table
Important:
- Preserve the
--- separator after the table
- Do NOT modify other sections (Quick Navigation, Installation, etc.)
- Only replace the table content, keep the section heading
6. Report Results
After updating README.md, report to the user:
✅ README.md updated successfully
📊 Summary:
- Total skills: [count]
- Categories: [list of categories with counts]
- Skills added/updated: [list if any changes detected]
The Available Skills table in README.md now reflects all skills in the skills/ directory.
Error Handling
If a skill directory doesn't have SKILL.md:
- Skip that skill
- Warn the user: "⚠️ Skipped [skill-name]: No SKILL.md found"
If SKILL.md doesn't have required frontmatter:
- Skip that skill
- Warn: "⚠️ Skipped [skill-name]: Missing name or description in frontmatter"
If README.md section not found:
- Error and stop: "❌ Could not find '## 📚 Available Skills' section in README.md"
Tools to Use
- Bash - List skills directory
- Read - Read SKILL.md files for metadata extraction
- Edit - Update README.md with new table
- DO NOT use Grep - Read files directly for accurate frontmatter parsing
Success Criteria
- All valid skills from skills/ directory appear in the table
- Skills are correctly categorized with appropriate emojis
- Table maintains compact format (3 columns)
- Descriptions are concise and readable
- README.md is updated without breaking other sections
1---2name: sync-skills-readme3description: Update the root README.md "Available Skills" table with all skills currently in the skills/ directory. This command scans skills, reads their metadata, categorizes them, and regenerates the table.4---56# Sync Skills README78Update the root README.md "Available Skills" table with all skills currently in the `skills/` directory. This command scans skills, reads their metadata, categorizes them, and regenerates the table.910## Workflow1112### 1. Scan Skills Directory1314Use Bash to list all skill directories:1516```bash17ls -1 skills/18```1920For each skill directory found, proceed to step 2.2122### 2. Extract Skill Metadata2324For each skill, read the SKILL.md frontmatter to extract:25- `name:` field (skill identifier)26- `description:` field (what the skill does)2728Use the Read tool to read `skills/[skill-name]/SKILL.md` and extract the YAML frontmatter between the `---` markers.2930**Example:**31```yaml32---33name: codex34description: Use when the user asks to run Codex CLI for code analysis...35---36```3738Extract both fields for table generation.3940### 3. Categorize Skills4142Assign each skill to a category based on its purpose. Use this mapping:4344| Category | Emoji | Keywords in name/description |45|----------|-------|------------------------------|46| AI Tools | 🤖 | codex, gemini, perplexity, ai, llm, model |47| Meta | 🔮 | command-creator, plugin-forge, plugin, command |48| Documentation | 📝 | docs, documentation, handoff, requirements, diagram, mermaid, draw, excalidraw, marp, slide, c4-architecture |49| Development | 🛠️ | session, handoff, entropy, development, workflow, database, dependency |50| Design & Frontend | 🎨 | design, frontend, ui, openapi, typescript, system |51| Utilities | 🔧 | domain, meme, web-to-markdown, utility, tool, datadog |52| Planning | 🎯 | plan, planning, spec, forge, gepetto, requirements, clarity, game-changing, features |53| Professional | 👔 | professional, communication, career, soft-skill, feedback, conversation |54| Testing | 🧪 | test, testing, qa, quality |55| Git | 📦 | commit, git, branch, pr, pull-request |5657**Categorization logic:**581. Check the skill name and description (case-insensitive)592. Match against keywords in the table above603. Assign to the first matching category614. If no match, default to "Utilities" (🔧)6263### 4. Generate Compact Table6465Create a markdown table with this exact format:6667```markdown68## 📚 Available Skills6970| Category | Skill | Description |71|----------|-------|-------------|72| 🤖 AI Tools | [codex](skills/codex/README.md) | Advanced code analysis with GPT-5.2 |73| 🤖 AI Tools | [gemini](skills/gemini/README.md) | Large-scale review (200k+ context) |74...75```7677**Table structure:**78- Column 1: Category emoji + name (e.g., "🤖 AI Tools")79- Column 2: Skill name as markdown link to its README80- Column 3: Short description (max ~50 chars, extracted from SKILL.md description field)8182**Sorting:**83- Group by category (AI Tools first, then Meta, Documentation, Design & Frontend, Development, Planning, Professional, Testing, Git, Utilities last)84- Within each category, sort skills alphabetically by name8586**Description shortening:**87- If description is longer than 50 characters, create a shortened version88- Keep it concise and action-oriented89- Examples:90 - "Use when the user asks to run Codex CLI for code analysis, refactoring, or automated editing" → "Advanced code analysis with GPT-5.2"91 - "Create comprehensive API handoff documentation for frontend developers after backend implementation" → "API handoff docs for frontend"9293### 5. Update README.md9495Use the Edit tool to replace the "Available Skills" section in the root README.md.9697**Find and replace:**981. Locate the section starting with `## 📚 Available Skills`992. Find the end of the table (marked by the next `---` separator or next `##` heading)1003. Replace everything between those markers with the newly generated table101102**Important:**103- Preserve the `---` separator after the table104- Do NOT modify other sections (Quick Navigation, Installation, etc.)105- Only replace the table content, keep the section heading106107### 6. Report Results108109After updating README.md, report to the user:110111```112✅ README.md updated successfully113114📊 Summary:115- Total skills: [count]116- Categories: [list of categories with counts]117- Skills added/updated: [list if any changes detected]118119The Available Skills table in README.md now reflects all skills in the skills/ directory.120```121122## Error Handling123124**If a skill directory doesn't have SKILL.md:**125- Skip that skill126- Warn the user: "⚠️ Skipped [skill-name]: No SKILL.md found"127128**If SKILL.md doesn't have required frontmatter:**129- Skip that skill130- Warn: "⚠️ Skipped [skill-name]: Missing name or description in frontmatter"131132**If README.md section not found:**133- Error and stop: "❌ Could not find '## 📚 Available Skills' section in README.md"134135## Tools to Use136137- **Bash** - List skills directory138- **Read** - Read SKILL.md files for metadata extraction139- **Edit** - Update README.md with new table140- **DO NOT use Grep** - Read files directly for accurate frontmatter parsing141142## Success Criteria143144- All valid skills from skills/ directory appear in the table145- Skills are correctly categorized with appropriate emojis146- Table maintains compact format (3 columns)147- Descriptions are concise and readable148- README.md is updated without breaking other sections