anuna-dev
A Claude Code skill that turns the agent into a disciplined Unified Specification-Driven Development (USDD) practitioner.
License: Apache 2.0 Protocol: CC BY 4.0 PROTO-001 Claude Code
anuna-dev is a Claude Code skill. Once
installed, Claude stops improvising code and instead runs the USDD loop —
Vision → Specification → Plan → Code → Feedback — where every requirement,
constraint, and decision is a traceable, wikilinked artefact before a line of
implementation is written.
The binding rules come from PROTO-001: USDD Agent Protocol (bundled at
references/usdd-agent-protocol.md,
CC BY 4.0): naming conventions (SPEC/REQ/NFR/CON/ADR/TEST/OBS/BUG), mandatory
wikilinks, constitutional principles, LangSec input handling,
requirement-targeted test decomposition, adversarial review, and
convergence-based completion.
Features
- Spec-first workflow — artefacts (SPEC, REQ, NFR, CON, ADR, TEST) are authored, cross-linked, and reviewed before code exists.
- Adversarial review built in — no artefact is validated by the session that produced it; reviews start from a clean context tasked with finding defects.
- Traceability by construction — every artefact is wikilinked, so impact analysis and orphan/dead-link detection are mechanical, not manual.
- Convergence, not checkboxes — a phase is done when the protocol's convergence signals hold (adversary exhaustion, stable review), not when a task list is ticked.
- Wired into the Anuna toolchain — orchestrates the CLIs below rather than reinventing them.
| Tool | Role | Source |
|---|---|---|
| zetl | Wikilink spec vault: backlinks, dead-link CI gates, defeasible reasoning over embedded SPL | Rust CLI |
| hence | Multi-agent plan coordination: SPL plans, task claims/completions, abductive queries, agent spawning | Racket/Rust CLI |
| ar-crawl | Agent-first web crawler for spec research and evidence gathering | Racket CLI |
| riff | Multi-framework Socratic ideation before specification (optional) | Skill |
Requirements
- Claude Code (or another agent that loads
~/.claude/skills;--codextargets~/.agents/skills). bash,curl, andgit.- The orchestrated CLIs —
zetl,hence,ar-crawl— are optional. Install them yourself, or pass--with-toolsto let the installer fetch any that are missing.
Installation
One-liner (skill + toolchain check):
curl -fsSL https://codeberg.org/anuna/anuna-dev-skill/raw/branch/main/install.sh | bash
With the CLI tools auto-installed and the riff skill included:
curl -fsSL https://codeberg.org/anuna/anuna-dev-skill/raw/branch/main/install.sh | bash -s -- --with-tools --with-riff
From a local clone:
git clone https://codeberg.org/anuna/anuna-dev-skill.git
cd anuna-dev-skill
./install.sh [--project] [--codex] [--with-tools] [--with-riff]
| Flag | Effect |
|---|---|
--project |
install into ./.claude/skills/anuna-dev instead of ~/.claude/skills/anuna-dev |
--codex |
also install into ~/.agents/skills/anuna-dev |
--with-tools |
install any missing CLI tools (zetl, hence, ar-crawl) |
--with-riff |
clone the riff ideation skill alongside |
SKILL_DIR=... |
explicit install path |
Usage
Invoke the skill explicitly in Claude Code:
/anuna-dev write a spec for passwordless login
/anuna-dev translate IMPL-014 into a hence plan and start working it
/anuna-dev audit the vault for dead links and orphaned requirements
It also activates on natural mentions of USDD, spec-driven development, or SPEC/REQ/ADR artefact work — e.g. "let's spec this out before we build it."
Skip it for general coding questions and one-off edits with no specification dimension; the skill is for work that earns a spec.
How it works
The skill drives the USDD loop, using the toolchain at each phase:
| Phase | What happens | Tools |
|---|---|---|
| 0 · Ideation (optional) | Socratic exploration of the problem space before committing to a shape | riff |
| 1 · Vision → Specification | Author SPEC/REQ/NFR/CON/ADR artefacts from intent; apply Phase 1 quality gates (unambiguous, verifiable, atomic) | zetl, ar-crawl |
| 2 · Specification → Plan | Turn the spec into an SPL plan of claimable tasks; place each capability at the right rung of the Simplicity Ladder | hence, zetl |
| 3 · Plan → Code | Work the plan: tests derived from REQs, observed to fail first (Red), then implemented (Green) | hence |
| 4 · Feedback & Evolution | Observe behaviour, file OBS/BUG artefacts, feed changes back into the spec | zetl |
A phase completes on convergence — stable adversarial review and adversary
exhaustion — not on a checked box. See
SKILL.md for the full phase playbook and
references/ for the CLI references the agent reads.
Project layout
anuna-dev-skill/
├── SKILL.md # skill definition: phase playbook + tool bindings
├── install.sh # installer (skill + optional toolchain)
├── references/
│ ├── usdd-agent-protocol.md # PROTO-001 v1.11.0 (binding protocol)
│ ├── zetl.md # zetl CLI reference for agents
│ ├── hence.md # hence CLI + SPL reference for agents
│ └── ar-crawl.md # ar-crawl CLI reference for agents
├── README.md
└── LICENSE # Apache 2.0 (protocol doc: CC BY 4.0)
Support
Open an issue on the Codeberg tracker for bugs, questions, or protocol clarifications.
Contributing
Contributions are welcome. Please open an issue to discuss substantial changes before sending a pull request. Practise what the skill preaches — if a change alters behaviour, describe the intent and the affected artefacts, and keep the bundled protocol and its version references in sync.
License
Apache 2.0 — see LICENSE. The bundled USDD Agent Protocol
(references/usdd-agent-protocol.md) is © Anuna Research, licensed
CC BY 4.0.
Project status
Actively maintained by Anuna Research. Tracks the USDD Agent Protocol; the README badge reflects the bundled PROTO-001 version.