Skip to content

Commit cad046a

Browse files
author
ddx-checkpoint
committed
fix: track ddx skill copies for release
1 parent 79d61e1 commit cad046a

44 files changed

Lines changed: 6858 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/ddx/SKILL.md

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
---
2+
name: ddx
3+
description: Operates the DDx toolkit for document-driven development. Covers beads (work items), the queue, executions, agents, harnesses, personas, reviews, spec-id. Use when the user says "do work", "drain the queue", "run the next bead", "execute a bead", "review this", "review with fresh eyes", "fold in this guidance", "review again", "break this down into specs and beads", "make this testable", "check against spec", "what's on the queue", "what's ready", "what's blocking the queue", "create a bead", "file this as work", "run an agent", "dispatch", "use a persona", "how am I doing", "ddx doctor", or mentions any ddx CLI command.
4+
---
5+
6+
# DDx
7+
8+
DDx (Document-Driven Development eXperience) is a CLI platform for
9+
document-driven development. It ships a bead tracker (portable work
10+
items with acceptance criteria), a task-execution boundary (DDx
11+
forwards raw passthrough constraints for harness, provider, model,
12+
and profile while power travels as `MinPower`/`MaxPower` bounds;
13+
Fizeau owns concrete routing, provider/model discovery, aliases,
14+
fuzzy matching, catalog lookups, and transcript/session rendering), a
15+
persona system (bindable AI personalities), a library registry
16+
(plugins with prompts, templates, personas), and git-aware
17+
synchronization. This skill makes any skills-compatible coding agent
18+
(Claude Code, OpenAI Codex, Gemini CLI, etc.) understand and operate
19+
the DDx surface correctly.
20+
21+
## How this skill works
22+
23+
The skill body you're reading is an **overview** plus an **intent
24+
router**. The real domain guidance lives in `reference/*.md` files.
25+
26+
**Directive: before responding to any DDx-related request, read the
27+
matching reference file from the router table below. The router is
28+
not optional — your answer must be grounded in the reference file's
29+
guidance, not this overview alone.**
30+
31+
## Vocabulary
32+
33+
Single source of truth for DDx terms. Every reference file uses these
34+
exact definitions.
35+
36+
- **Bead** — a portable work item (task, bug, epic, chore) with
37+
metadata, dependencies, and acceptance criteria. `ddx bead create`.
38+
- **Queue** — the set of active beads. The *execution-ready queue* is
39+
`status=open` work whose dependencies are closed and which is not parked by
40+
cooldown, supersession, or execution-eligibility policy. `ddx bead ready`,
41+
`ddx bead status`.
42+
- **Lifecycle status** — the persisted bead state: `proposed`, `open`,
43+
`in_progress`, `blocked`, `closed`, or `cancelled`.
44+
- **Ready** — a bead whose dependencies are all closed and which is
45+
eligible to be picked up next. `ddx bead ready`.
46+
- **Blocked**`status=blocked` work paused by a hard external recheckable
47+
blocker. Ordinary dependency waits are derived queue state, not blocked
48+
status. `ddx bead blocked`.
49+
- **Proposed** — work awaiting operator decision before autonomous execution.
50+
Proposed beads are not worker-eligible until accepted, rewritten, split,
51+
blocked externally, cancelled, or otherwise resolved.
52+
- **Claim** — mark a bead as in-progress by an agent (concurrent-write
53+
protection). `ddx bead update <id> --claim`.
54+
- **Close** — mark a bead as done, with evidence (session, commit
55+
SHA). `ddx bead close <id>`. Beads only close on execution outcomes
56+
`success` or `already_satisfied`.
57+
- **Run** — one task invocation atom. `ddx run` calls Fizeau `Execute`
58+
once with prompt/config, `MinPower`/`MaxPower` bounds, and optional
59+
raw passthrough constraints.
60+
- **Try** — one bead attempt in an isolated worktree. `ddx try <id>` wraps
61+
`ddx run` with bead prompt resolution, evidence capture, and merge/preserve
62+
finalization.
63+
- **Work** — drain the bead queue. `ddx work` picks ready beads and invokes
64+
`ddx try`; it owns queue iteration and retry policy.
65+
- **Execution** — a generic DDx execution run (FEAT-010). Includes execution
66+
definitions, execution records, and execution evidence under `.ddx/runs/<id>/`.
67+
- **Agent** — an AI coding agent (Claude, Codex, Gemini, etc.)
68+
invoked via a harness. Not a subagent (harness-specific — see
69+
below).
70+
- **Harness** — a Fizeau routing concept. DDx may pass `--harness` as
71+
an operator-supplied constraint, but DDx does not validate, rank, fallback, or
72+
branch on harness names.
73+
- **Persona** — a Markdown file (YAML frontmatter + body) that
74+
defines an AI personality. DDx injects the body as a system-prompt
75+
addendum to `ddx run`. `ddx persona list/show/bind`.
76+
- **Role** — an abstract function (e.g., `code-reviewer`,
77+
`test-engineer`) a workflow can reference. Projects bind roles to
78+
personas.
79+
- **Binding** — a project-specific `role: persona` map in
80+
`.ddx/config.yaml` under `persona_bindings`.
81+
- **Power bounds**`MinPower` and optional `MaxPower` integers passed to the
82+
upstream execution service. DDx may raise `MinPower` on eligible retries;
83+
Fizeau owns concrete route selection within those bounds.
84+
- **Plugin** — a self-contained extension installed to
85+
`.ddx/plugins/<name>/`. The default `ddx` plugin (personas,
86+
prompts, patterns, templates) is auto-installed by `ddx init`.
87+
`ddx install <name>`.
88+
- **Skill** — an agentskills.io-standard directory (SKILL.md +
89+
optional `reference/`, `evals/`, `scripts/`). This `ddx` skill is
90+
the one DDx ships. Plugins can ship additional skills.
91+
- **Subagent** — a harness-local concept for running a prompt in an
92+
isolated context (Claude Code's `.claude/agents/` + `context:
93+
fork`; Codex's `agents/`; others differ). DDx does not specify subagent
94+
orchestration; that remains harness business.
95+
- **Update** — refresh plugin/toolkit content to a newer version.
96+
`ddx update [<plugin>]`.
97+
- **Upgrade** — replace the DDx binary with a newer release.
98+
`ddx upgrade`.
99+
- **Review** — two distinct concepts. **Bead review**
100+
(`ddx bead review <id>`) grades a completed bead against its
101+
acceptance criteria. **Comparison/adversarial review** is a workflow skill
102+
composition over `ddx run`, not a core quorum flag. See `reference/review.md`.
103+
- **Governing artifact** — the document that authorizes a bead's
104+
work: a FEAT-\*, SD-\*, TD-\*, or ADR-\* under `docs/`. Referenced
105+
via `spec-id`.
106+
- **Spec-id** — the `spec-id: <ID>` custom field on a bead pointing
107+
at its governing artifact.
108+
109+
## Intent router
110+
111+
Before responding, read the matching file.
112+
113+
| User says / asks about | Read this file |
114+
|---|---|
115+
| "what should I work on next", "what's blocking the queue", "review with fresh eyes", "fold in this guidance", "review again", "break this down into specs and beads", "make this testable", broad queue orientation or planning | `reference/interactive.md` |
116+
| write/plan work, "create a bead", "file this as work", bead metadata, acceptance criteria, dependencies | `reference/beads.md` |
117+
| `ddx work`, `ddx try <id>`, "execute bead `<id>`", "drain the queue", "run the next bead", "start the worker", "start N workers and watch", "monitor the drain", verify-and-close | `reference/work.md` |
118+
| "review this", "check against spec", bead review, quorum review, code review, adversarial check | `reference/review.md` |
119+
| "assess bead readiness", "score a bead", "triage a failed attempt", "refine a bead", bead authoring lint | `bead-lifecycle/` |
120+
| "run an agent", "dispatch", harness/provider/model passthrough, power, effort, "use a persona", role bindings | `reference/agents.md` |
121+
| "what's on the queue", "what's ready", "how am I doing", health check, "ddx doctor", sync status | `reference/status.md` |
122+
123+
If the intent spans multiple files (e.g., "create a bead and then
124+
run it"), read beads.md first, then work.md. If no match, ask the
125+
user which concept they mean rather than guessing.
126+
127+
## Top-level policy reminders
128+
129+
These apply across all DDx operations. Do not restate them in every
130+
reference file; do not violate them.
131+
132+
- **Never edit `.ddx/beads.jsonl` directly.** All tracker changes go
133+
through `ddx bead create/update/close/dep`. Direct edits corrupt
134+
bead history and cannot be audited.
135+
- **Tracker changes are commit-worthy.** After `ddx bead create`,
136+
`update`, `dep add/remove`, or `close`, commit the resulting
137+
`.ddx/beads.jsonl` change — either as a tracker-only commit or
138+
folded into the same commit as related implementation changes.
139+
- **Preserve bead-attempt commit history.** Branches containing
140+
`ddx try` / `ddx work` execution commits carry an audit trail. **Never
141+
squash, rebase, filter, or amend** these commits. Use only
142+
`git merge --ff-only` or `git merge --no-ff` when merging.
143+
`gh pr merge --squash` and `--rebase` are forbidden on these
144+
branches.
145+
- **Work in worktrees for parallel agents.** Use `wt switch -c
146+
<branch>` (worktrunk) or equivalent to give each concurrent agent
147+
its own isolated checkout. `ddx try` does this automatically;
148+
manual parallel work should too.
149+
- **Power-first execution dispatch.** Default to `ddx run`/`ddx try`/`ddx work`
150+
with power bounds. `--harness`, `--provider`, and `--model` are passthrough
151+
constraints only; DDx must not use them for routing policy.
152+
153+
## Links out
154+
155+
- Full CLI reference: `ddx --help`, `ddx <subcommand> --help`.
156+
- Governing feature specs: see `FEAT-*` documents under your
157+
project's `docs/` tree — especially the CLI, beads, agent-service,
158+
executions, and skills features.
159+
- Personas README: shipped by the default `ddx` plugin at
160+
`.ddx/plugins/ddx/personas/README.md`.
161+
- Open standard this skill conforms to:
162+
[agentskills.io](https://agentskills.io).
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
---
2+
name: adversarial-review
3+
description: Run an adversarial review of a plan, spec, bead, or PR by dispatching to multiple harnesses with adversarial framing and aggregating findings. Use when you want pressure-testing against a single-model blindspot, high-stakes review, or multi-round critique before committing to a direction.
4+
---
5+
6+
# Adversarial Review
7+
8+
A workflow skill for pressure-testing a target (plan, spec, bead, code change,
9+
or PR) by dispatching adversarial review prompts to multiple harnesses and
10+
aggregating the findings. Replaces ad-hoc inline quorum invocations with a
11+
structured, repeatable workflow.
12+
13+
## When to use
14+
15+
- **Plans and specs** before breaking into beads — catch ambiguity and missing
16+
constraints early.
17+
- **High-stakes beads** — migrations, auth, API contracts, security surface.
18+
- **Controversial changes** — one model's opinion is not enough; different model
19+
families catch different failure modes.
20+
- **Multi-round refinement** — run 2–3 rounds; use findings to revise; re-run
21+
until BLOCKING count drops to zero.
22+
23+
Single-harness bead review (`ddx bead review <id>`) is fine for routine work.
24+
Reserve adversarial-review for the cases that justify the cost.
25+
26+
## Workflow
27+
28+
### 1. Prepare the target
29+
30+
Gather the content to review into a single prompt file. Include:
31+
32+
- The artifact being reviewed (plan text, spec section, bead description + AC,
33+
or diff / PR summary).
34+
- The question you want pressure-tested ("Is this design complete?", "What are
35+
the failure modes?", "What does this spec leave undefined?").
36+
- Any governing artifacts the reviewer should check against (FEAT-\* IDs,
37+
CONTRACT-\* IDs, ADR links).
38+
39+
Write the prompt to a file, e.g. `review-target.md`:
40+
41+
```markdown
42+
## Target
43+
44+
<paste plan, spec excerpt, or diff>
45+
46+
## Governing artifacts
47+
48+
- FEAT-010: docs/helix/01-frame/features/FEAT-010-task-execution.md
49+
- (add others)
50+
51+
## Review question
52+
53+
Find BLOCKING issues: ambiguities, missing constraints, design gaps,
54+
internal contradictions, or anything that would cause implementation
55+
rework. Be adversarial — your job is to find problems, not validate.
56+
```
57+
58+
### 2. Dispatch to multiple harnesses
59+
60+
Run each harness in parallel using `ddx run --harness <name>`.
61+
Use `--min-power 10` (or `--harness` for explicit control). Route to
62+
harnesses from different model families for maximum coverage.
63+
64+
```bash
65+
# Two-harness adversarial dispatch (parallel)
66+
ddx run --harness codex --min-power 10 \
67+
--prompt review-target.md \
68+
> findings-codex.md &
69+
70+
ddx run --harness claude --min-power 10 \
71+
--prompt review-target.md \
72+
> findings-claude.md &
73+
74+
wait
75+
```
76+
77+
For three harnesses:
78+
79+
```bash
80+
ddx run --harness codex --min-power 10 --prompt review-target.md > findings-codex.md &
81+
ddx run --harness claude --min-power 10 --prompt review-target.md > findings-claude.md &
82+
ddx run --harness gemini --min-power 10 --prompt review-target.md > findings-gemini.md &
83+
wait
84+
```
85+
86+
### 3. Require structured output
87+
88+
Each harness must produce findings in this format. Include this contract
89+
in the prompt:
90+
91+
```markdown
92+
## Output contract
93+
94+
Produce findings as:
95+
96+
### Findings
97+
98+
| Severity | Area | Finding |
99+
|---|---|---|
100+
| BLOCKING | <area> | <specific issue> |
101+
| WARNING | <area> | <specific issue> |
102+
| NOTE | <area> | <observation> |
103+
104+
### Verdict: APPROVE | REQUEST_CHANGES | BLOCK
105+
106+
### Summary
107+
<2–4 sentences>
108+
```
109+
110+
A finding with no evidence is invalid. Cite the specific line, section,
111+
or gap that caused the finding. "Looks fine" is not a finding.
112+
113+
### 4. Aggregate
114+
115+
Read all findings files and collate:
116+
117+
1. **BLOCKING** items from any harness → escalate immediately. One BLOCKING
118+
is enough to stop.
119+
2. **WARNING** items with ≥2 harnesses in agreement → treat as BLOCKING.
120+
3. **WARNING** items unique to one harness → review manually, weigh cost.
121+
4. **NOTE** items → log; address in a follow-up pass or ignore.
122+
123+
Surface disagreements explicitly. If harness A says BLOCKING and harness B
124+
says NOTE for the same area, show both verdicts — do not silently collapse
125+
to the weaker one.
126+
127+
```bash
128+
# Combine findings for review
129+
cat findings-codex.md findings-claude.md > findings-combined.md
130+
```
131+
132+
### 5. Iterate until clean
133+
134+
Revise the target based on BLOCKING findings. Re-run the adversarial review
135+
against the revised version. Typical well-scoped plans converge in 2–3
136+
rounds. Stop when:
137+
138+
- No harness returns a BLOCKING verdict, AND
139+
- All WARNINGs have been explicitly accepted or addressed.
140+
141+
Record the round count and final verdict in the bead evidence:
142+
143+
```bash
144+
ddx bead evidence add <id> --type review --body findings-combined.md
145+
```
146+
147+
## Adversarial framing
148+
149+
The adversarial framing instruction to include in every review prompt:
150+
151+
> You are a critic, not a validator. Your job is to find every way this
152+
> could fail, every constraint it leaves undefined, every assumption it
153+
> bakes in without stating, every interface it leaves ambiguous. A BLOCKING
154+
> finding is anything that would cause implementation rework, a migration
155+
> hazard, or a spec gap that agents will interpret differently. Do not
156+
> balance criticism with praise — a useful adversarial review is entirely
157+
> about what is wrong.
158+
159+
## Personas
160+
161+
Bind a `specification-enforcer` persona for the strictest checks:
162+
163+
```bash
164+
ddx run --harness codex \
165+
--persona specification-enforcer \
166+
--prompt review-target.md
167+
```
168+
169+
The `specification-enforcer` persona refuses drift from governing artifacts
170+
and surfaces spec gaps others miss.
171+
172+
## Anti-patterns
173+
174+
- **Single-harness adversarial review.** The point is cross-model coverage.
175+
One harness is bead review, not adversarial review.
176+
- **No structured output contract.** Free-form critique is unaggregateable.
177+
Always include the findings table + verdict contract in the prompt.
178+
- **Collapsing disagreements.** If harnesses disagree, show both verdicts.
179+
Hiding disagreement defeats the purpose.
180+
- **Running adversarial review on routine beads.** Reserve for high-stakes
181+
or controversial work. Routine beads use `ddx bead review`.
182+
- **Stopping after one round.** One round finds problems. Iteration verifies
183+
that the revision actually resolves them.
184+
185+
## CLI reference
186+
187+
```bash
188+
# Parallel adversarial dispatch
189+
ddx run --harness codex --min-power 10 --prompt review-target.md > findings-codex.md &
190+
ddx run --harness claude --min-power 10 --prompt review-target.md > findings-claude.md &
191+
wait
192+
193+
# With persona
194+
ddx run --harness codex --persona specification-enforcer \
195+
--prompt review-target.md > findings-codex.md
196+
197+
# Store findings as evidence
198+
ddx bead evidence add <id> --type review --body findings-combined.md
199+
200+
# Bead review (routine, single-harness — not this skill)
201+
ddx bead review <id>
202+
ddx bead review <id> --execute --harness claude
203+
```

0 commit comments

Comments
 (0)