Skip to content

Skills and Runner Commands

AI-DLC is a family of commands. Alongside the /aidlc orchestrator you get a set of typeable one-word runner commands: one per scope, one per stage, and one for setup. They are convenience doors onto slices the orchestrator already exposes, so you can reach the whole framework from /aidlc alone, or skip the flags and type the door you want.

Harness note. This chapter uses Claude Code's surfaces — skills under .claude/skills/, typed with a leading / from the picker. Kiro ships the same runner set under .kiro/skills/ (also /-typed); Codex ships them to .agents/skills/ and types them with $ ($aidlc-bugfix). The runner set and what each does are identical across harnesses — only the directory and prefix differ. See Running on other harnesses.


Many skills, one engine

Every command this implementation ships is a skill under .claude/skills/. They all drive the same deterministic engine — they differ only in what they bake in before they start:

  • /aidlc — the full orchestrator. No flags baked in; it detects your scope (or you describe what you want), then drives every stage in your scope to completion. This is the one you reach for most.
  • Scope-runners/aidlc-bugfix, /aidlc-feature, /aidlc-mvp, /aidlc-security-patch. Same full workflow, with a scope fixed and scope detection skipped.
  • Stage-runners/aidlc-domain-design, /aidlc-code-generation, and 27 more. Run one stage in isolation, never touching your main workflow. Plugin-owned stages use their bare plugin-prefixed command name, such as /test-pro-integration.
  • /aidlc-init - create the first intent (run the whole Initialization phase) in one step; opt-in packaging over the engine's auto-create.
  • Session skills/aidlc-session-cost, /aidlc-replay, /aidlc-outcomes-pack. Read-only views over a workflow; covered in Session Management.
  • /aidlc-knowledge — the DocumentKB: index the team's own documents (PDFs, Word files, Markdown, plain text) into a per-space catalog agents can cite. Standalone like the session skills, but read-write: it changes the catalog and emits document audit events (never workflow state). Same surface as /aidlc knowledge <verb>; see CLI Commands for the verbs.

Everything a runner does is reachable from /aidlc with a flag. The runners are packaging — typing /aidlc-bugfix and seeing it in your / menu is good ergonomics, nothing more. Delete every runner and the shortcuts go; the capability stays, reachable through /aidlc flags.


Scope-runners — a named door per problem class

A scope-runner drives the full workflow with one scope locked in. Use it when you already know what kind of work you're doing and want to skip scope detection.

/aidlc-bugfix          Fix a specific bug — minimal depth, streamlined path
/aidlc-feature         Build a new feature — standard depth, all stages
/aidlc-mvp             Ship the core — skips late operations stages
/aidlc-security-patch  CVE / vulnerability response

Each is identical to passing --scope to the orchestrator:

/aidlc-bugfix          ==  /aidlc --scope bugfix
/aidlc-express         ==  /aidlc --scope express
/aidlc-feature         ==  /aidlc --scope feature

You can pass a description and flags straight through, exactly as you would to /aidlc:

/aidlc-bugfix The profile API returns 500 when display_name is null
/aidlc-feature --status

Five core scopes ship a runner — the high-traffic ones marked runner: true in their scope files. The framework defines 11 scopes total (see Scopes, Depth, and Test Strategy); every other one — enterprise, poc, infra, refactor, classic, workshop — is always reachable through the orchestrator. Plugin-owned scopes can also set runner: true; their runner uses the bare plugin-prefixed scope name, such as /test-pro-validation.

/aidlc --scope enterprise
/aidlc --scope poc

Once a workflow has started, its scope is fixed in aidlc-state.md, so re-running the same runner resumes the workflow rather than restarting it. To run under a different scope, use /aidlc --scope <name>.


Stage-runners — run one stage, leave your workflow alone

A stage-runner runs a single stage in isolation. It uses the stage's configured agents and reviewer, records a synthetic completion, and stops without workflow learnings or an approval gate. It never advances your main workflow's Current Stage; the tool itself enforces that isolation.

/aidlc-domain-design
/aidlc-code-generation
/aidlc-requirements-analysis
/aidlc-reverse-engineering

Each one packages /aidlc --stage <slug> --single:

/aidlc-code-generation    ==  /aidlc --stage code-generation --single

When you'd use one

  • Apply one piece of methodology without committing to a workflow. You want a requirements analysis on a problem, but you're not ready to drive a whole lifecycle. Run /aidlc-requirements-analysis, get the artifact, stop.
  • You're the orchestrator. You're sequencing the work by hand and want the framework to run just the stage in front of you — the human drives, the framework supplies one stage of methodology.
  • Re-run a stage in isolation while your main workflow sits parked at a different point — the single-stage run can't disturb it.

Why it's safe

The --single invariant is tool-enforced. next --single records the isolated start before work begins; report --single can only close that same synthetic attempt and refuses a direct completion with no start. Neither operation writes your main workflow's Current Stage. If a runner ever tried to advance the main pointer, the engine returns an error instead.

The three bootstrap initialization stages ship no stage-runner - creating half an intent has no standalone meaning. Instead the whole initialization phase is packaged as one command:

/aidlc-init [--scope <name>] [description]   create the first intent (== running /aidlc on a fresh workspace)

The runner families at a glance

Family Examples What it does Orchestrator equivalent
Orchestrator /aidlc Full workflow, scope detected
Scope-runner /aidlc-bugfix, /aidlc-express, /aidlc-feature, /aidlc-mvp, /aidlc-security-patch Full workflow, scope fixed, no detection /aidlc --scope <name>
Stage-runner /aidlc-domain-design, /aidlc-code-generation, … (29 total) One stage in isolation, never advances your workflow /aidlc --stage <slug> --single
Init wrapper /aidlc-init Create the first intent (run Initialization) /aidlc on a fresh workspace
Session views /aidlc-session-cost, /aidlc-replay, /aidlc-outcomes-pack Read-only workflow reports see Session Management
Document knowledge /aidlc-knowledge Index and read the team's own documents (per-space DocumentKB) /aidlc knowledge <verb>

There's one stage-runner for every runnable stage in the lifecycle. To see the full set, list your skills directory:

ls .claude/skills/

Author your own runner — write a stage file

Here's the part that matters if you're customizing the framework: you don't write runners by hand. They're generated from the compiled stage graph and your scope files.

To add a stage-runner, add a stage. Write the stage file, recompile the graph, and regenerate:

aidlc engine gen runners

The generator reads the compiled stage list (the one source of truth) and emits a runner shell per runnable stage. Your new stage's /aidlc-<your-stage> command appears automatically — no runner file to author, no boilerplate to copy. Scope-runners work the same way for scopes whose frontmatter declares runner: true; scopes --all emits runners for every scope file.

aidlc engine gen runner-scopes      # generate scope-runners

Because the runner set is derived rather than hand-maintained, it can't drift from the stages and scopes it covers. Two checks fail CI the moment the on-disk set diverges from the source of truth:

aidlc engine gen runners --check             # stage-runner drift
aidlc engine gen runner-scopes --check       # scope-runner drift

A stage added to the graph without a regenerated runner — or an orphan runner for a stage that's gone — fails loudly with a diff. Adding a stage file and regenerating is the whole authoring path; the runner follows as a consequence the generator maintains for you.

For the mechanics of writing a stage file, see Customization and Phases and Stages. For the engine, the directive contract, and how a runner shell drives next/report under the hood, see the reference chapter on the Skill System.


Quick reference

# Full workflow
/aidlc                              detect scope, run everything
/aidlc --scope enterprise           any of the 11 scopes

# Scope-runners (the 5 high-traffic doors)
/aidlc-bugfix · /aidlc-express · /aidlc-feature · /aidlc-mvp · /aidlc-security-patch

# One stage, isolated (never advances your workflow)
/aidlc-code-generation              == /aidlc --stage code-generation --single

# Create the first intent (Initialization phase)
/aidlc-init [--scope <name>]        == /aidlc on a fresh workspace

# Add your own: write a stage/scope file, then
aidlc engine gen runners
aidlc engine gen runner-scopes

See also: CLI Commands · Scopes, Depth, and Test Strategy · Customization