From all-skills
Integrates Allium behavioral specs with Claude Code's agent-loop for spec-driven development. Use when attaching formal specs to epics, propagating tests, or checking spec/code divergence after CI.
How this skill is triggered — by the user, by Claude, or both
Slash command
/all-skills:alliumThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Opinionated integration between [juxt/allium](https://github.com/juxt/allium) and the `/core:agent-loop` workflow. Allium captures observable behavior in `.allium` files using `entity`, `rule`, and `config` blocks — implementation-agnostic, co-located with code.
Opinionated integration between juxt/allium and the /core:agent-loop workflow. Allium captures observable behavior in .allium files using entity, rule, and config blocks — implementation-agnostic, co-located with code.
Upstream Allium Claude plugin must be installed separately:
/plugin install allium@juxt
The CLI (allium-tools binary) installs via mise — see references/installation.md.
Recommended convention for projects adopting this skill: specs live at docs/specs/<epic-slug>.allium with shared specs in docs/specs/shared/. A project-root allium.config.json declares specPaths: ["docs/specs"] so the CLI and LSP resolve them. Copy templates/allium.config.json into the project root to bootstrap this layout.
See references/agent-loop-integration.md for the complete 6-tier breakdown. Summary:
| Tier | Allium action |
|---|---|
| Epic Author | Run /allium:elicit or copy a template from templates/; set spec: field in epic markdown |
| Team Leader | If refactor label and no spec: run /allium:distill for baseline |
| Worker | If spec attached: run /allium:propagate to seed failing tests BEFORE implementing |
| Validator | After CI passes: run /allium:weed; divergences route to fix-agent same as CI failures |
entity Order {
status: pending | confirmed | shipped | delivered | cancelled
tracking_number: String when status = shipped | delivered
transitions status {
pending -> confirmed
confirmed -> shipped
terminal: delivered, cancelled
}
invariant NonNegativeTotal { this.total >= 0 }
}
rule ShipOrder {
when: ShipOrder(order, tracking)
requires: order.status = confirmed
ensures:
order.status = shipped
order.tracking_number = tracking
}
Key constructs:
entity — domain object with typed fields, conditional attributes (when), state transitions, and invariantsrule — behavioral rule with when (trigger), requires (preconditions), ensures (postconditions)config — project-level settings (thresholds, retry counts, timeout values)use — import another spec: use "./shared/oauth.allium" as oauthCopy-pasteable specs in templates/:
oauth-pkce-flow.allium — OAuth2 PKCE flow matching the agent-loop epic-authoring examplecircuit-breaker.allium — infrastructure contract with entity + config + rulerunex-workflow.allium — spec for a Runex workflow stepepic-with-spec.md — VantageEx epic showing the spec: field in useSee references/epic-spec-template.md for a guided walkthrough.
All claims about spec content must derive from reading actual .allium files with Read tool. Never assert that a spec covers a behavior without verifying the ensures or invariant blocks. See /core:anti-fabrication.
references/installation.md — mise backend details and upstream plugin installreferences/agent-loop-integration.md — 6-tier integration procedurereferences/epic-spec-template.md — template walkthroughreferences/distilling-legacy-code.md — /allium:distill procedure for existing modulesnpx claudepluginhub vinnie357/claude-skills --plugin qaProvides syntax and structure for authoring and reading .allium files, a formal language specifying domain-level software behavior for integration test generation.
Guides GitHub Spec-Kit CLI integration for 7-phase constitution-based spec-driven feature development, managing .specify/specs/ directories with phases: Constitution, Specify, Clarify, Plan, Tasks, Analyze, Implement.