Sixth skill via the boss pattern. planner is the spec→executable- plan transformation; plan-recon is its read-only file-mapper. Vocabulary substitutions: - AILang → "this project" - milestone → cycle - Boss → orchestrator - ailang-plan-recon → plan-recon - "the architect's Lockstep invariants table" → "the project's CLAUDE.md lockstep-invariant pairs" (the lockstep pairs are project-specific; the plugin only carries the pattern that the orchestrator may declare them) AILang-specific bits dropped or generalized: - `docs/specs/<milestone>.md` / `docs/plans/NNNN-<iteration>.md` → `paths.spec_dir` / `paths.plan_dir` - `cargo test --workspace -p <crate>` → "the project's test command from commands.test, scoped to this test" + generic template - `cargo check`, `cargo expand` → "the project's type-checker / compiler" and "the project's macro-expansion tool" with Rust/TypeScript examples in parentheses - Rust code-snippet template in Step 3 → language-neutral placeholder with `(exact source code here)` annotations - Specific past-iter references (loop-recur.1, loop-recur.2, loop-recur.tidy, remove-mut-var-assign.1, form_a.md, iter-revert Concern 2, iter effect-doc-honesty Task 2, iter loop-recur.3 Concern) → generic "recurring defect family in this project's history" (the discipline survives; the AILang iter codes that wouldn't parse for a plugin reader go away) - `error[E0061]` Rust-specific compiler error code → "hard compile error" (universal) Universal substance preserved verbatim: - Iron Law (3 lines) - Six-step process (read spec → map structure → write tasks → header → self-review → hand off) - Step 5 self-review checklist — all 8 calibrated checks (spec coverage, placeholder scan, type consistency, step granularity, no commit steps, pin/replacement substring contiguity, compile-gate vs deferred-caller ordering, verification-command filter strings must resolve) - All 6 Common Rationalisations rows - All 6 Red Flags bullets - plan-recon's nine-step process incl. compile-driven enumeration (Step 5) and spec-named-path existence table (Step 6) - plan-recon's output format including all five sections (Files, Compile-driven site set, Non-compile-checked sites, Spec-named-path existence table, Anchors not yet present) - plan-recon's 8 Common Rationalisations rows and 9 Red Flags bullets Calibrated discipline kept (per memory feedback_dont_strip_ repeated_discipline.md): the three plan-defect families flagged by user memory (pin/replacement soft-wrap, compile-gate vs deferred caller, verification filter must resolve) all stay verbatim — they are project-history scaffolding, just de-AILang'd in the references.
skills
A self-contained set of development-cycle skills and agents for
Claude Code. Originally distilled from the AILang project's
in-tree skills/ directory and generalised so it can carry the
same discipline across any project.
The plugin is mechanics: pipeline shape, hard-gates, TDD,
RED-first bug fixing, agent-template, working-tree-as-quarantine,
status protocol. It does not know your project's paths,
build commands, vocabulary, or domain-specific contracts. Those
live in a small per-project profile file
(.claude/dev-cycle-profile.yml) plus the project's CLAUDE.md.
What's in the box
Eight skills, each with the agents it primarily dispatches:
| Skill | Trigger | Output | Mandatory? |
|---|---|---|---|
brainstorm |
New cycle starting | spec under the configured spec dir | Hard-gate before plan |
planner |
New iteration within an open cycle | plan under the configured plan dir | Hard-gate before implement |
implement |
Plan exists | code + tests, uncommitted in working tree | Standard iteration path |
audit |
Cycle closing OR baseline drift suspected | drift report + regression report | Mandatory at cycle close |
debug |
Bug observed | RED test in working tree + cause analysis | Mandatory RED-first for any bug |
fieldtest |
Orchestrator-dispatched post-audit, surface-touching cycle | example fixtures + friction spec | Optional |
docwriter |
API surface stable across N cycles | rustdoc / docstring sweep | Optional |
boss |
User types /boss |
autonomous-orchestrator session — dispatches the other skills until done-state or bounce-back | User-invoked, never auto-dispatched |
Vocabulary is configurable. AILang calls a cycle a milestone and a sub-cycle an iteration; your project may call them release and sprint, or epic and story, or whatever fits.
The two-layer split
This repo (the plugin) carries everything that is universal:
- Pipeline form:
design → plan → execute → review → close - Hard-gates between phases
- TDD as an independent inner-loop discipline
- RED-first bug fixes
- Agent template (frontmatter / Iron Law / standing reading / process / status / output / rationalisations / red flags)
- Status protocol:
DONE / DONE_WITH_CONCERNS / PARTIAL / BLOCKED / NEEDS_CONTEXT - Working-tree-as-quarantine and only-orchestrator-commits
- main HEAD sacrosanct
- No nested subagent dispatch (Claude Code platform constraint)
- No orphan agents
Your project carries a small profile that fills the slots:
- Paths: spec dir, plan dir, design ledger, code roots, bench dir
- Commands: build, test, lint, regression scripts
- Vocabulary: cycle name, sub-cycle name, ledger-entry name
- Naming: counter prefix vs date prefix vs flat, slug shape
- Standing reading list: concrete files, per role
- Git: issue tracker kind, close marker, main-protection policy
- Pipeline customisations: which phases are mandatory, when optional ones fire
See docs/profile-schema.md for the full schema and
templates/project-profile.yml for a copy-and-fill starting point.
Install
See INSTALL.md. In short: clone, run install.sh, then drop
a dev-cycle-profile.yml into each project that should use the
plugin.
Status
Migration from AILang's in-tree ~/dev/ailang/skills/ is in
progress. The boss skill is the landed pilot; the remaining
seven skills follow. See docs/migration.md for the per-skill
and per-agent migration checklists and the expected final
layout.