Skillforge
Skill zakelfassi/skills-driven-development/plugins/skdd-claude/skills/skillforge
Agents that learn by doing — and remember how they did it. A methodology for AI agents to create, evolve, and share reusable skills.
npx -y skills add zakelfassi/skills-driven-development --skill skillforgeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create or update a reusable agent skill. Use when you notice a repeated pattern, when a workflow should be persisted for future sessions, or when asked to forge/create/scaffold a new skill.
SKILL.md
3.2 KB, as published. Nobody here has run it
SkillForge
Create well-formed, spec-compliant skills from observed patterns.
When to Forge
✅ Forge when:
- You've done the same sequence 2-3 times in a session
- A project convention isn't documented anywhere
- You solved a hard problem with a reusable solution
- Someone asks you to create a skill
❌ Don't forge when:
- It's a one-time task
- An existing skill already covers it (update instead)
- The "skill" is just a single command (use a script alias)
Steps
1. Name the pattern
- What problem does this skill solve?
- What triggers it? (be specific — the
descriptionfield is the discovery surface) - What are the inputs and outputs?
2. Choose a name
kebab-case, 1-64 characters- Verb-led when possible:
deploy-preview,scaffold-component,triage-bug - One responsibility per skill
3. Create the skill directory
mkdir -p .claude/skills/<skill-name>
(Or .codex/skills/, .cursor/skills/, .github/skills/, etc. — match the harness. In Claude Code this plugin targets .claude/skills/.)
4. Write SKILL.md
Use this skeleton:
---
name: <skill-name>
description: <what it does>. Use when <triggers>.
metadata:
forged-by: <agent-id>
forged-from: <session-or-context>
forged-reason: "<why this was created>"
status: active
---
# <Skill Name>
## Inputs
- ...
## Steps
1. ...
2. ...
## Conventions
- Project-specific patterns that apply
## Edge Cases
- Known gotchas or special handling
5. Add scripts (optional)
If the skill involves file generation or automation:
.claude/skills/<skill-name>/
├── SKILL.md
├── scripts/
│ └── run.sh # Executable automation
└── references/
└── conventions.md # Detailed reference (keeps SKILL.md lean)
6. Register the skill
Update .skills-registry.md at the project root (same level as .claude/). Create it if it doesn't exist:
| <skill-name> | local | <today> | 1 | <description> |
If the project uses the machine-readable registry (.skills-registry.json), update it too — the skdd CLI handles both formats automatically.
Updating an Existing Skill
When you use a skill and encounter something it doesn't cover:
- Add the new edge case or step to the existing SKILL.md
- If the skill is getting too long (>200 lines), split it
- Update
last-usedand incrementusage-countin the registry
Quality Checklist
Before committing a new skill:
-
nameis kebab-case, ≤64 chars -
descriptionincludes what it does AND when to use it (plus trigger language like "Use when …") -
namematches the parent directory name - Steps are numbered and actionable
- No hardcoded paths, secrets, or environment-specific values
- SKILL.md is under 200 lines (move details to
references/) - Registered in
.skills-registry.md