What does skillsmith do?
Scaffolds spec-compliant Agent Skills from a one-line idea and lints SKILL.md files (name rules, description length and "when to use", compatibility limit, metadata map, body length, leaked secrets).
The zero-dependency CLI cli.js at the SkillSmith repo root does the work.
When to use
- The user wants a new skill for a task ("make a skill that…").
- The user wants to know if a skill folder or SKILL.md follows the standard, or wants it fixed.
Steps
- To validate, run
node <path-to-skillsmith>/cli.js validate <skill-dir>(several folders are allowed). Exit code 0 means valid. - Report every
errorand fix them in the user's SKILL.md: rename to lowercase-hyphen names, make the folder name matchname, keepdescriptionat 1024 characters or fewer and include "Use when …". Then re-run step 1. - To create a skill, make sure
GEMINI_API_KEYis set (never print it), then runnode <path-to-skillsmith>/cli.js new "<what it does and when to use it>" --out <skills-dir> --author "<name>". - Show the user the generated
SKILL.md, then run step 1 on the new folder. Edit as needed; the CLI never overwrites an existing SKILL.md.
Examples
node cli.js validate skills/commitcraft skills/skillsmithnode cli.js new "Summarise a CSV file and suggest charts. Use when the user shares a .csv" --out ./skills
Notes
- Unknown top-level fields produce a warning; custom data belongs under
metadata. - The spec recommends a body under 500 lines; move long docs to
references/.