Askit build skill
Skill product-on-purpose/agent-skills-toolkit/skills/askit-build-skill
Toolkit and Standard for building, grading, and scaling cross-agent skill libraries (Claude Code + Codex) to a tiered Bronze/Silver/Gold quality bar.
npx -y skills add product-on-purpose/agent-skills-toolkit --skill askit-build-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
5.9 KB, as published. Nobody here has run it
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-authorsubagent (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: createskills/<name>/and copytemplates/SKILL.mdintoskills/<name>/SKILL.md. - Fill the frontmatter:
nameequal to the directory, and adescriptionthat states what AND when with concrete keywords (see references/authoring-guide.md for the bar). - Scaffold
references/if the skill needs depth. Samples inexamples/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-targetsin the plugin'slibrary.json(for example["claude", "codex"]), then runnode scripts/generators/gen-manifest.mjs <plugin-root> --write --target=all. To emit for one agent only, pass--target=claudeor--target=codex. The plugin'slibrary.jsonagent-targets(not a CLI flag) declares which targets it requires;gen-manifestwrites.claude-plugin/plugin.jsonand/or.codex-plugin/plugin.jsonfromlibrary.json. - Assess the new skill with
node scripts/evaluate.mjs skills/<name> --json(this is what theaskit-evaluateskill runs), report the result, and iterate until it passes with 0 errors.
improve mode
- Run
node scripts/evaluate.mjs <skill> --jsonand read the report. As in create mode, the rewrite work itself may be delegated toaskit-skill-authoror 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. That closes phase 1 (conformance).
improve mode, phase 2: the craft review (optional)
Phase 1 proves the skill obeys the rules. Phase 2 asks whether it is any good as a teacher. It is OPTIONAL, it is OFFERED not assumed, and it never edits meaning. Decision and contract: ADR 0037 (the builder craft pass), docs/internal/decisions/0037-builder-craft-pass-and-safe-judgment-partition.md.
- Check eligibility. Phase 2 is offered only when the deterministic gate is already clean. Pass the phase-1 gate result (
{ exitCode, errors, warns }) tophaseTwoEligible()fromscripts/lib/craft-review.mjs. If it returns ineligible, say why and go back to phase 1; the craft pass is never a way around a conformance failure. - Offer it, and stop. Tell the user what the craft review costs (one advisory subagent run, see
docs/reference/token-usage-estimates.md) and what it produces. Run it only on an explicit yes. - Dispatch the reviewer. Delegate to the
askit-reviewersubagent (the declared chain), briefed with references/skill-craft-rubric.md. It scores five dimensions - description and trigger quality, instruction clarity, example depth including golden and anti-example presence, reference structure, token economy - and returns findings in the rubric's contract. - Render a durable report. Write the findings through
toReviewAdvisory()to a JSON file, then render:node scripts/evaluate.mjs <skill> --report=review --advisory <file.json> --format=md --out <report.md>(use--format=htmlfor the shareable page). The craft review is an artifact, not chat output. It renders BESIDE the verdict and cannot change it. - Partition. Call
partitionCraftFindings(). SAFE is a closed allowlist of three mechanical categories (broken link, formatting, missing bookkeeping frontmatter field), each needing a bounded single-line fix. Everything else, including any category the allowlist does not name, is JUDGMENT. - Offer the SAFE subset only, item by item. Show each SAFE fix as the exact before and after. On explicit consent, call
applySafeFixes(<skill>, safe, { consent: true }). Withoutconsent: trueit writes nothing, and it refuses any finding that is not SAFE even if it is handed one. - Report the JUDGMENT findings, do not act on them. Present each with its recommended change and leave the files untouched. If the user asks for one, that is ordinary improve-mode work (step 2), consciously chosen.
- Re-run the gate (
node scripts/evaluate.mjs <skill> --json) to confirm it is still clean after the apply, and say so.
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, and delegates the optional phase-2 craft review to askit-reviewer (the same subagent askit-evaluate uses for its advisory review layer).