mirror of
https://github.com/alirezarezvani/claude-skills.git
synced 2026-10-07 02:58:13 +00:00
Sprint 3 closure for v2.8.0. Brings the 2 new top-level domains (business-operations + commercial) to release-ready by extending the cross-platform sync infrastructure, the docs generator, and the MkDocs nav to recognize them. ## Cross-platform sync (codex / gemini / hermes) - scripts/sync-codex-skills.py — SKILL_DOMAINS extended with business-operations + commercial. Regenerated .codex/skills/ symlinks for 15 new skills + .codex/skills-index.json with full descriptions. - scripts/sync-gemini-skills.py — DOMAIN_MAP extended with all 5 v2.7.0+ v2.8.0 top-level domains (productivity, marketing-top-level, research, business-operations, commercial). +30 items synced. - scripts/sync-hermes-skills.py — DOMAIN_DIRS extended with business-operations + commercial. ## Docs generation (Pass 2 command/agent discovery) scripts/generate-docs.py extended with: - DOMAINS dict extended with business-operations (sort=13) and commercial (sort=14) entries. - Pass 2 for agent discovery — walks <domain>/agents/<agent>.md (v2.8.0 pattern), in addition to <domain>/<plugin>/agents/<agent>.md (legacy pattern). - Pass 2 for command discovery — walks <domain>/commands/<cmd>.md (v2.8.0 pattern) AND <domain>/<skill>/commands/<cmd>.md (v2.7.0 pattern). Previously, only root-level commands/*.md were discovered; 35 commands were orphaned (v2.7.0 capture/pulse/landing/etc. + all v2.8.0 commands). Result: 311 skill pages + 75 agent pages + 69 command pages = 455 total. Up from 311 + 73 + 34 = 418. ## MkDocs nav mkdocs.yml updated with: - Business Operations section (7 sub-skill nav entries) - Commercial section (8 sub-skill nav entries) - 2 new orchestrator agents added to Agents nav - 17 new v2.8.0 slash commands added to Commands nav MkDocs build succeeds (non-strict) in ~17s. Strict mode flags 3 pre- existing broken links in older content (cs-aeo, grill-with-docs) — out of scope for v2.8.0. ## CHANGELOG.md v2.8.0 entry rewritten from "Sprint 1 only" to the full Sprint 1 + 2 + 3 view. All 13 sub-skills documented with canon attribution. Stats updated: - 313 -> 328 skills (+15) - 12 -> 14 top-level domains - 60 -> 77 slash commands (+17) - 402 -> 441 Python tools (+39) - 542 -> 581 reference docs (+39) - 46 -> 48 cs-* agents (+2) - 57 -> 59 marketplace plugins (+2) - 34 -> 69 documented commands in MkDocs (+35) ## Root CLAUDE.md Updated Current Scope + Current Version to reflect v2.8.0 (released) status. Sprint 1 "in-flight" -> "complete". Counts updated to 328 skills / 441 tools / 77 commands. ## Per-skill audit (scripts/audit_skills.py) Ran across 329 total skills. All 13 v2.8.0 sub-skills audited with skill_review_checklist_runner.py: 1 score 5/6, 7 score 4/6, 4 score 3/6, 1 score 2/6 (knowledge-ops). Dominant failure mode: rule #2 "SKILL.md under 100 lines" — known tension with our deliberate Forcing-question library depth (mandatory per user direction). Tracked as ADVISORY for skills that deliberately expose extended grill discipline. ## Plugin manifest validation scripts/check_plugin_json.py --all passes (exit 0) for all 47 plugin manifests including the 2 new ones. The PR #690 validator recognizes the source extension field per CLAUDE.md. https://claude.ai/code/session_015bBb4HzWCf5HH5QK2TGtnW
146 lines
5.5 KiB
Markdown
146 lines
5.5 KiB
Markdown
---
|
|
title: "/cs-write-a-skill — Slash Command for AI Coding Agents"
|
|
description: "/cs:write-a-skill <name-or-description> — Author a new agent skill with Matt Pocock's 3-phase workflow (Gather → Draft → Review). Runs 6. Slash command for Claude Code, Codex CLI, Gemini CLI."
|
|
---
|
|
|
|
# /cs-write-a-skill
|
|
|
|
<div class="page-meta" markdown>
|
|
<span class="meta-badge">:material-console: Slash Command</span>
|
|
<span class="meta-badge">:material-github: <a href="https://github.com/alirezarezvani/2-claude-skills/tree/main/engineering/write-a-skill/commands/cs-write-a-skill.md">Source</a></span>
|
|
</div>
|
|
|
|
|
|
**Command:** `/cs:write-a-skill <name-or-description>`
|
|
|
|
The skill-author persona pressure-tests any new-skill commit. Six forcing questions before any merge, matching Matt Pocock's review checklist.
|
|
|
|
## When to Run
|
|
|
|
- Starting a new skill from scratch
|
|
- Deriving a skill from an upstream (MIT-licensed) source
|
|
- Auditing an existing skill against current standards
|
|
- Reviewing a new-skill PR before merge
|
|
|
|
## The Six Skill-Author Questions
|
|
|
|
### 1. What's the description, and does it pass Matt's 4-rule test?
|
|
**The description is the only thing your agent sees when deciding to load this skill.**
|
|
- Max 1024 chars
|
|
- Third person (no I / you / we)
|
|
- First sentence: what it does (action verb)
|
|
- Second sentence: "Use when [specific triggers]"
|
|
- Run `skill_description_validator.py`
|
|
|
|
### 2. Is SKILL.md under 100 lines?
|
|
**Over 100 lines = over-conditioning + reference soup downstream.**
|
|
- If yes: great, ship it
|
|
- If no: split workflows into `references/<topic>.md`; replace inline content with 1-2 line pointers
|
|
- Wrapper-derived skills (preserving upstream content) get a documented exception
|
|
|
|
### 3. Are there time-sensitive claims?
|
|
**Dates rot. "As of October 2024" becomes wrong by next year.**
|
|
- Remove: "as of YYYY", "in YYYY", "released YYYY", "updated YYYY"
|
|
- Replace with: pattern description that doesn't depend on date
|
|
- Example: not "ISO 42001 published December 2023"; use "ISO 42001 (the first AI management-system standard)"
|
|
|
|
### 4. Is terminology consistent?
|
|
**Synonym drift confuses agents + readers.**
|
|
- Pick one: agent OR bot, skill OR tool, user OR developer
|
|
- Use the chosen term throughout
|
|
- Document the choice in a glossary if multiple stakeholders involved
|
|
|
|
### 5. Are there at least 2 concrete examples (good + bad if possible)?
|
|
**Without examples, agents construct from scratch and hallucinate.**
|
|
- At least 1 code block
|
|
- Ideally good/bad contrast (Matt's pattern)
|
|
- Examples must be runnable or copy-pasteable
|
|
|
|
### 6. Are references one level deep + no circular refs?
|
|
**Deep nesting = agent gives up resolving the chain.**
|
|
- Flat `references/<topic>.md` layout
|
|
- No `references/category/subtopic.md`
|
|
- No A→B→A cycles
|
|
- Run `skill_structure_validator.py`
|
|
|
|
## Workflow
|
|
|
|
```bash
|
|
# 1. Description gate
|
|
python ../skills/write-a-skill/scripts/skill_description_validator.py path/to/SKILL.md
|
|
|
|
# 2. Structure gate
|
|
python ../skills/write-a-skill/scripts/skill_structure_validator.py path/to/skill-folder/
|
|
|
|
# 3. Combined review (Matt's 6-item checklist)
|
|
python ../skills/write-a-skill/scripts/skill_review_checklist_runner.py path/to/skill-folder/
|
|
|
|
# 4. Karpathy code-quality gate (if scripts/ exist)
|
|
python ../../karpathy-coder/skills/karpathy-coder/scripts/complexity_checker.py path/to/skill-folder/scripts/
|
|
python ../../karpathy-coder/skills/karpathy-coder/scripts/assumption_linter.py path/to/skill-folder/scripts/
|
|
|
|
# 5. Attribution check (if derived)
|
|
grep -r "derived_from\|original_author" path/to/skill-folder/
|
|
```
|
|
|
|
## Output Format
|
|
|
|
```markdown
|
|
# Skill Author Review: <skill-name>
|
|
**Date:** YYYY-MM-DD
|
|
|
|
## The Decision Being Made
|
|
[gather | draft | review | validate | derive | audit]
|
|
|
|
## Description Validation
|
|
- Length: N chars (limit 1024): pass/fail
|
|
- Third person: pass/fail
|
|
- "Use when" trigger: pass/fail
|
|
- Action verb in first sentence: pass/fail
|
|
|
|
## Structure Validation
|
|
- SKILL.md present + ≤100 lines: pass/fail (N lines)
|
|
- References one level deep: pass/fail
|
|
- No circular refs: pass/fail
|
|
- scripts/ folder: present/absent (optional)
|
|
|
|
## Review Checklist (Matt's 6 items)
|
|
- [x|/] 1. Description includes triggers
|
|
- [x|/] 2. SKILL.md under 100 lines
|
|
- [x|/] 3. No time-sensitive info
|
|
- [x|/] 4. Consistent terminology
|
|
- [x|/] 5. Concrete examples included
|
|
- [x|/] 6. References one level deep
|
|
|
|
## Karpathy Code Gate (if applicable)
|
|
- complexity_checker: PASS / WARN (with findings)
|
|
- assumption_linter: CLEAN / NOISY
|
|
|
|
## Attribution (if derived skill)
|
|
- Upstream link: present/missing
|
|
- License compatibility: yes/no
|
|
- Author credit: present/missing
|
|
|
|
## Verdict
|
|
🟢 SHIP | 🟡 WARN-WITH-JUSTIFICATION | 🔴 BLOCK
|
|
|
|
## Top 3 Actions (if not green)
|
|
[3 concrete fixes with file:line references]
|
|
```
|
|
|
|
## Routing
|
|
|
|
- `/cs:karpathy-check` — for code-quality concerns in scripts/
|
|
- `/cs:tdd` — for testing discipline (different from skill quality gates)
|
|
- `/cs:decide` — to log the verdict
|
|
|
|
## Related
|
|
|
|
- Agent: [`cs-skill-author`](https://github.com/alirezarezvani/claude-skills/tree/main/engineering/write-a-skill/agents/cs-skill-author.md)
|
|
- Skill: [`write-a-skill`](https://github.com/alirezarezvani/claude-skills/tree/main/engineering/write-a-skill/skills/write-a-skill/SKILL.md)
|
|
- Adjacent: [`engineering/karpathy-coder`](https://github.com/alirezarezvani/claude-skills/tree/main/engineering/karpathy-coder), [`engineering/autoresearch-agent`](https://github.com/alirezarezvani/claude-skills/tree/main/engineering/autoresearch-agent)
|
|
|
|
---
|
|
|
|
**Version:** 1.0.0
|
|
**Derived:** Matt Pocock's write-a-skill (MIT) + this repo's wrapper
|