Create skill
Skill Bennyoooo/skillmaxxing/skill-maxing-plugin/skills/create-skill
Create a new reusable agent skill — either explicitly ("turn this workflow into a skill") or by reflecting on a just-completed task that you might do again. Synthesizes SKILL.md, scripts, and a real eval scaffold, then stages it for review before committing. Use when the user asks to make/save/capture a skill, or after finishing a non-trivial workflow worth reusing.From its SKILL.md
npx -y skills add Bennyoooo/skillmaxxing --skill create-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 21 stars21 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.
- runs commandsInstructs the agent to run 4 commands, including `scripts/discover.sh "<capability>" --json` and 3 more.
SKILL.md
3.3 KB, 705 tokens by cl100k_base, as published. Nobody here has run it
create-skill
Crystallize a workflow into a durable, tested skill. The CLI is model-agnostic: you synthesize the content (name, body, scripts, real eval tasks); the CLI stages, smoke-tests, and commits it atomically.
Two entry points
- Explicit — the user says "turn X into a skill."
- Reflection — after completing a non-trivial task, consider whether it is reusable. Fire this sparingly (review fatigue is real): only when the work was non-trivial (several steps, a fixed bug, a discovered workflow) AND plausibly recurs. When in doubt, don't interrupt.
Step 0 — Prefer update over create
Before creating, search for an existing skill that already covers this:
scripts/discover.sh "<capability>" --json
If a close match exists, update or optimize it instead of making a near-duplicate. The skillify step also runs this check and will refuse with a suggestion unless you pass --new.
Step 1 — Synthesize a draft
Write a draft JSON file. The eval scaffold MUST contain real, scorable tasks (not a stub) — pick a scorer per task: exact/normalized/code-exec/success-signal for deterministic outputs, agent-judge (with a rubric) for prose/judgment skills.
{
"name": "release-notes",
"description": "Draft release notes from a git log range.",
"body": "# release-notes\n\n...instructions...\n",
"tools": ["Bash"],
"scripts": [{ "path": "scripts/changelog.sh", "content": "#!/usr/bin/env bash\n..." }],
"eval": {
"skill": "release-notes",
"tasks": [
{ "id": "happy", "input": "v1.0..v1.1", "scorer": "agent-judge", "rubric": "Groups changes by type; no raw SHAs; user-facing tone." }
]
},
"smokeTest": ["bash", "scripts/changelog.sh", "--help"]
}
Step 2 — Stage (with the human approval gate)
scripts/skillify.sh --draft draft.json # stage; smoke test skipped unless authorized
scripts/skillify.sh --draft draft.json --allow-exec # stage AND run the smoke test in the sandbox
Only pass --allow-exec after the user has reviewed the generated scripts — a freshly synthesized skill is trusted: false, and running its code is a deliberate, user-authorized step. Show the staged SKILL.md and scripts to the user and get explicit approval before committing.
Step 3 — Commit
scripts/skillify.sh --commit <name> [--global] [--agent <name>]
This installs the skill (trusted: false) and clears the draft. Staged drafts persist across sessions — resume with --list-drafts then --commit.
Safety
- The smoke-test/exec gate is yours to honor: never pass
--allow-execwithout fresh user authorization for the specific scripts. - Do not commit a skill whose smoke test failed; fix the draft and re-stage.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.