From scaffold-skill
Write, update, validate, and package agent skills inside an existing or new repository. Use when the user asks to scaffold a skill in a repo, write a SKILL.md, add references/scripts/assets by hand, create project-local .agents/skills entries, optionally add skills.sh/Claude/Codex packaging, or validate skill files before use or publishing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/scaffold-skill:scaffold-skillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to write production-quality Agent Skills in the repository the user is working in. It is knowledge-only: read the instructions and references, inspect the repo, then create or edit the skill files in context.
agents/openai.yamlreferences/distribution-targets.mdreferences/in-repo-scaffolding.mdreferences/portable-skill-format.mdreferences/production-examples.mdreferences/quality-gates.mdreferences/repo-architecture.mdreferences/verification-process.mdscripts/validate_skill_repo.pyscripts/verify_reference_facts.pyUse this skill to write production-quality Agent Skills in the repository the user is working in. It is knowledge-only: read the instructions and references, inspect the repo, then create or edit the skill files in context.
Hard rule: This skill does not run a generator.
<skill-root>/scripts/verify_reference_facts.py is for maintaining scaffold-skill itself against local agentskills and Vercel skills checkouts. It is not part of the normal workflow for scaffolding skills in user repos.
When updating scaffold-skill's own references or making claims about packaging behavior, directory paths, frontmatter constraints, plugin manifest fields, or install commands, verify against current source when available:
python3 <skill-root>/scripts/verify_reference_facts.py
The verifier auto-discovers sibling checkouts when possible. If auto-discovery fails, pass local paths explicitly with --agentskills <path>, --vercel-skills <path>, and repeatable --production-repo <path>. If sources are unavailable, say what could not be verified, then use the bundled references as a fallback. Do not invent undocumented client-specific behavior.
README.md, plugin directories, package metadata, and .agents/skills/. Use the current repo's conventions when they are clear. Never overwrite existing files unless the user explicitly asks.references/portable-skill-format.md for SKILL.md and resource rules.references/in-repo-scaffolding.md for placement and safe file creation in user repos.references/repo-architecture.md for repository layouts.references/distribution-targets.md only when the user wants publishing or plugin packaging.references/quality-gates.md before finalizing descriptions, scripts, references, or evals.references/production-examples.md when choosing between layouts or metadata patterns.references/verification-process.md only when maintaining scaffold-skill references..agents/skills/<name>/SKILL.md. For a repo that ships skills, this is usually skills/<name>/SKILL.md plus optional references/, scripts/, assets/, and agents/openai.yaml.<skill-root>/scripts/... paths because agents may be running from the target repo, not from this skill directory.python3 <skill-root>/scripts/validate_skill_repo.py <repo-root> --strict-frontmatter
For a single skill directory, passing the skill directory path also works:
python3 <skill-root>/scripts/validate_skill_repo.py <repo-root>/.agents/skills/<name> --strict-frontmatter
python3 <skill-root>/scripts/validate_skill_repo.py <repo-root>/skills/<name> --strict-frontmatter
Only pass packaging targets that were actually created:
python3 <skill-root>/scripts/validate_skill_repo.py <repo-root> --targets vercel --strict-frontmatter
python3 <skill-root>/scripts/validate_skill_repo.py <repo-root> --targets claude --strict-frontmatter
python3 <skill-root>/scripts/validate_skill_repo.py <repo-root> --targets codex --strict-frontmatter
Never run --targets vercel,claude,codex for in-repo-only work unless all those manifests exist; the validator correctly exits 1 when requested target manifests are missing.
If Vercel packaging was added and the CLI is available, smoke-test discovery and install:
npx skills add <repo-root> --list
npx skills add <repo-root> -y
npx skills add is the documented install command. The CLI also accepts install as an alias for add. experimental_install only restores from skills-lock.json.
README.md (see references/distribution-targets.md).SKILL.md frontmatter strict: name, description, and only spec fields such as license, compatibility, metadata, or allowed-tools when needed.disable-model-invocation into a portable/public skill unless the user intentionally accepts client-specific validation failures. For Codex, prefer skills/<skill>/agents/openai.yaml with policy.allow_implicit_invocation: false for explicit-only skills.description; a body section titled “When to use” is too late for automatic activation.SKILL.md lean and procedural. If the file approaches 500 lines or mixes unrelated variants, split details into references/ and say exactly when to read each reference.--help, noninteractive flags, structured stdout, useful stderr, and idempotent/dry-run behavior in bundled scripts.[TODO: ...] values.README.md with an ## Install section whose first command is npx skills add owner/repo (no --skill flag when the repo has one skill). Verify against vercel/skills when local source is available.Before final response, confirm:
SKILL.md with matching lowercase kebab-case name.scripts/, references/, assets/, and agents/openai.yaml paths exist.skills.sh.json references real skill names if created..claude-plugin/plugin.json skill paths resolve if created..codex-plugin/plugin.json and .agents/plugins/marketplace.json are internally consistent if created.README.md with ## Install and a working npx skills add owner/repo one-liner (smoke-tested with --list or -y when the CLI is available).npx claudepluginhub backnotprop/scaffold-skill --plugin scaffold-skillCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.