9e10e9dfee
First skill migrated from AILang's in-tree skills/. boss carries the autonomous orchestrator authority (god-mode: dispatches every other skill, decides done-state vs bounce-back), so it is the load-bearing pilot for the migration pattern. Profile schema gains three slots that boss needs: - `git.issue_tracker.url` — browsable issue list URL - `git.issue_tracker.list_cmd` — shell command listing open issues - `notifications.command` — script invoked on done-state / bounce-back; falls back to chat if empty AILang-specific bits dropped from the prose: - AILang/Gitea URL + tea CLI hardcoding → profile slots - `design/contracts/0004-feature-acceptance.md` cross-reference → project CLAUDE.md (not the plugin's concern) - "Boss" terminology → "orchestrator" (the plugin term; "Boss" was AILang vocabulary) - "Brummel-as-LLM" → "the orchestrator" - "milestone" → "cycle" (the profile's vocabulary slot) Universal substance preserved verbatim: Iron Law, the five process steps, the four bounce-back triggers + new-cycle rationale, notification protocol, done-state editorial rules, Common Rationalisations, Red Flags. No discipline-prose compression. design/out-of-scope claim retracted: boss DOES generalise, and its body now demonstrates how — the queue mechanic is a single shell-command slot, not a transport-coupled contract. skills/README.md flags boss as the landed pilot; the other seven skills follow once the pattern is approved.
77 lines
3.4 KiB
Markdown
77 lines
3.4 KiB
Markdown
# 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
|
|
|
|
This is the skeleton commit. The skill bodies and agent files
|
|
still need to be migrated from AILang's in-tree
|
|
`~/dev/ailang/skills/` and generalised against this plugin's
|
|
profile schema. That migration is iteration 1.
|