skill-scaffold
Use when you want to scaffold a new clauDNA skill directory with correct structure, valid frontmatter, and a starter body that passes validation.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-13
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- name
- skill-scaffold
- description
- Use when you want to scaffold a new clauDNA skill directory with correct structure, valid frontmatter, and a starter body that passes validation.
- allowed-tools
- [ "Bash(python3 scripts/validate-skills.py)", "Bash(ls *)", "Bash(mkdir *)", "Read", "Write", "Glob" ]
- argument-hint
- [skill-name]
- user-invocable
- true
- requires-context
- repo-clone
- disable-model-invocation
- true
03 SKILL.md 正文
Skill Scaffold — Interactive Skill Wizard
Scaffold a new skill directory with valid SKILL.md frontmatter and body skeleton. Generates boilerplate that passes validate-skills.py out of the box so contributors can focus on writing the procedure.
Procedure
Step 1: Gather Inputs
If the user provided a skill name as an argument, use it. Otherwise prompt for the following:
- Skill name — must be
kebab-case(lowercase letters, digits, hyphens only). This becomes both the directory name and thename:frontmatter field. - One-line description — must start with "Use when" and be 20-500 characters. This becomes the
description:frontmatter field. - Tool requirements — which tools does the skill need? Common patterns:
- Read-only analysis:
Read, Grep, Glob - Code modification:
Read, Write, Edit, Grep, Glob, Bash(git status *), Bash(git diff *), Bash(git add *), Bash(git commit *) - GitHub interaction:
Bash(gh pr view *), Bash(gh issue view *), Bash(git status *), Bash(git diff *), Read, Grep, Glob - Full orchestration:
Read, Write, Edit, Grep, Glob, Bash(git status *), Bash(git diff *), Bash(gh pr view *), Agent - Grant the exact commands or read-only subcommands the skill runs; a whole-family wildcard (
Bash(git *),Bash(python3 *)) or a build/test tool is rejected by validation - None (uses only defaults): omit the field
- Read-only analysis:
- Argument hint — does the skill accept arguments? If yes, what format? (e.g.
[--flag] [positional]) - Uses subagents? — will the skill delegate to Agent/subagents for parallel work?
- External CLI dependencies — does it need tools beyond git/curl/jq? (e.g.
gh>=2.0,vercel,neon)
Step 2: Validate Inputs
Before creating anything:
- Confirm
skills/<name>/does not already exist. If it does, stop and tell the user:Error: skills/<name>/ already exists. Choose a different name or edit the existing skill. - Confirm the name matches
^[a-z][a-z0-9-]*$(starts with letter, kebab-case). - Confirm description starts with "Use when" and is 20-500 characters.
Step 3: Create Skill Directory and SKILL.md
Create skills/<name>/SKILL.md with the following structure:
---
name: <name>
user-invocable: true
description: "<description>"
[argument-hint: "<hint>"] # only if provided
[allowed-tools:] # only if tools were specified
[ - <tool>]
[requires:] # only if external CLI deps declared
[ - cli: "<tool>"]
[ reason: "<why>"]
---
# <Title Case Name>
<One-line restatement of what the skill does.>
## Procedure
### Step 1: <First Action>
1. <Placeholder — describe what to do>
2. <Placeholder — describe what to check>
### Step 2: <Second Action>
1. <Placeholder — describe what to do>
2. <Placeholder — describe what to check>
### Step 3: Verify & Report
1. Confirm the output is correct
2. Present results to the user
If subagents indicated, also create skills/<name>/subagent-prompts.md:
# Subagent Prompts — <name>
Reference material for subagent prompts used by this skill.
## Scout Agent
<Prompt template for scout/research subagent>
## Worker Agent
<Prompt template for implementation subagent>
Step 4: Run Validator
Run:
python3 scripts/validate-skills.py
If the new skill fails validation, read the error, fix the generated file, and re-run until it passes.
Step 5: Present Result
Print a summary:
Skill Scaffolded
═══════════════════════════════════════════════════════
Created:
skills/<name>/SKILL.md (frontmatter + skeleton)
[skills/<name>/subagent-prompts.md] (if subagents)
Next steps:
1. Edit the procedure steps in skills/<name>/SKILL.md
2. Test locally: claude --plugin-dir /path/to/clauDNA
3. Run validator: python3 scripts/validate-skills.py
4. Submit PR referencing any tracking issue
═══════════════════════════════════════════════════════
Rules
- Never overwrite an existing skill directory. If
skills/<name>/exists, refuse and explain. - Generated output must pass validation on first run. If it doesn't, that's a bug in the scaffold — fix it before presenting to the user.
- Follow SKILL_CONTRACT.md exactly. The scaffold is the happy path for contributors — if it produces invalid output, trust erodes.
- Kebab-case only. Reject camelCase, PascalCase, snake_case, or names with spaces.
- Description must start with "Use when". This is a SKILL_CONTRACT convention. Enforce it at input time, not after generation.
04 同仓库更多 Skills
example-review
Use when you want to review pull requests with detailed, actionable feedback on code quality, correctness, and maintainability.
bad-skill
Too short
worktree
Use when starting feature work that needs isolation from the current workspace, or when running multiple Claude sessions in parallel on different branches — creates and manages git worktrees. For fetching latest main into every existing worktree and branch across your sibling repos, use /claudna:sync-branches instead.
weigh-development-paths
Use when at a development junction with multiple viable approaches — architecture choices, refactoring strategies, where to put new code, or which pattern to follow. Triggers on 'which approach', 'how should I', 'Option A vs B', or any point where the next step isn't obvious and the wrong choice creates rework.
verify-completion
Use when about to claim work is complete, fixed, or passing -- requires running verification commands and confirming output before making any success claims.
vercel
Use for Vercel operations — deploy to production or preview (or roll back), view, filter, or debug deployment logs, or check project status (deployments, domains, env vars, config). Replaces /vercel-deploy, /vercel-logs, /vercel-status.