| name | askit-build-skill |
| description | Creates and improves agentskills.io skills to the Advanced Skill Library Standard. Use when you need to author a new SKILL.md, scaffold a skill directory, or raise an existing skill's conformance and description quality. |
| chain | ["askit-skill-author"] |
| metadata | {"version":"0.1.1","tier":"universal","audience":"beginner"} |
askit-build-skill
Purpose
Author conformant skills. Two modes: create scaffolds a new skill that passes Bronze on first run; improve raises an existing skill toward the quality bar. Authoring depth is in references/authoring-guide.md.
When to use
When the user asks to create, scaffold, write, or improve a skill.
create mode
- Brief interview: ask for the skill name (kebab-case), what it does, when to use it, and a few trigger keywords. Skip the interview if these inputs are already provided in context.
- Delegate the drafting to the
askit-skill-author subagent (the declared chain) when running in a harness that can dispatch it; otherwise perform the steps below inline. Either way the procedure is the same: create skills/<name>/ and copy templates/SKILL.md into skills/<name>/SKILL.md.
- Fill the frontmatter:
name equal to the directory, and a description that states what AND when with concrete keywords (see references/authoring-guide.md for the bar).
- Scaffold
references/ if the skill needs depth. Samples in examples/ are optional at Bronze - add them only if useful. Do not assume the surrounding plugin anatomy exists - this skill works a la carte.
- Emit native manifests for the declared targets: set
agent-targets in the plugin's library.json (for example ["claude", "codex"]), then run node scripts/generators/gen-manifest.mjs <plugin-root> --write --target=all. To emit for one agent only, pass --target=claude or --target=codex. The plugin's library.json agent-targets (not a CLI flag) declares which targets it requires; gen-manifest writes .claude-plugin/plugin.json and/or .codex-plugin/plugin.json from library.json.
- Assess the new skill with
node scripts/evaluate.mjs skills/<name> --json (this is what the askit-evaluate skill runs), report the result, and iterate until it passes with 0 errors.
improve mode
- Run
node scripts/evaluate.mjs <skill> --json and read the report. As in create mode, the rewrite work itself may be delegated to askit-skill-author or done inline; the steps below are the procedure either way.
- For each finding: a samples warn -> add representative examples; a low description score (U5) -> rewrite the description to clear the bar; an over-budget warning (U7) -> move depth into
references/. For any other finding, read its message and apply the fix it states.
- Re-run evaluate to confirm the findings are resolved.
Scope
Emits for Claude and Codex: library.json.agent-targets declares which targets the plugin requires, and gen-manifest.mjs --target=all|claude|codex generates the matching native manifests. This skill delegates authoring to the askit-skill-author subagent (permitted in agents/_chain-permitted.yaml), which in turn delegates assessment to askit-evaluator.