# Askit Build Command

> Creates and improves Claude slash commands (commands/<name>.md) that map to a skill, to the Advanced Skill Library Standard. Use when you need to give a skill an explicit /command entry point or raise an existing command's conformance.

- Skill: `product-on-purpose/askit-build-command` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add product-on-purpose/askit-build-command`
- Raw SKILL.md: https://api.skillmd.com/api/skills/product-on-purpose/askit-build-command/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: product-on-purpose (https://skillmd.com/u/product-on-purpose)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/product-on-purpose/askit-build-command

---


# askit-build-command

## Purpose
Author conformant commands. Two modes: `create` scaffolds a new `commands/<name>.md` that maps to an existing skill; `improve` raises an existing command toward the quality bar. On Codex a command is realized as its backing skill (Standard sec 3.2 parity), so this skill emits no Codex artifact. Follows the shared [builder pattern](../../docs/reference/builder-pattern.md). Authoring depth is in [references/authoring-commands.md](references/authoring-commands.md).

## When to use
When the user asks to create, scaffold, or improve a slash command for a skill.

## create mode
1. Brief interview: the command name (kebab-case, becomes `/name`), the skill (or workflow) it maps to, optional args, and a description: the LABEL a caller sees beside the slash command, stating what invoking it does. It is not a trigger surface, so do not ask for use-when phrasing (Standard sec 3.2). Skip if provided in context.
2. Copy `templates/command.md` into `commands/<name>.md`.
3. Fill the frontmatter: `description` (the caller-facing label: what invoking it does, non-empty; Standard sec 3.2 - NOT the sec 8.1 skill bar, which does not apply to commands); `maps-to` equal to the backing skill or workflow name; optional `argument-hint`/`allowed-tools`/`model`; `metadata.version`. The filename is the command name (no `name` key). Write a body that invokes the backing skill, passing `$ARGUMENTS`.
4. Verify the `maps-to` target exists (a skill in `skills/` or a workflow in `_workflows/`).
5. Register the command in `library.json` `components.commands` as `{ name, path, version, tier, status }`.
6. Assess with `node scripts/evaluate.mjs . --json` and iterate until 0 errors (S3 components index + S7 command-contract must be clean).

## improve mode
1. Run `node scripts/evaluate.mjs . --json` and read the report.
2. For each finding: an S3 error -> declare/undeclare the command in `components.commands` to match disk; an S7 error -> add the missing `maps-to`, fix a `maps-to` that does not resolve, or add a missing `description`. For any other finding, read its message and apply the fix it states.
3. Re-run evaluate to confirm.

## Scope
Claude-native: a command is `commands/<name>.md`. Codex realizes a command as its backing skill (Standard sec 3.2), so there is no Codex artifact to generate; the backing skill is the invocable form on Codex. A command MUST map to exactly one skill or workflow.

