Skip to content

Commit 2b1b3aa

Browse files
committed
fix council findings: vibe always --deep, debate in post-mortem, auto-escalation
Council validation surfaced 3 shared findings across both judges: - /vibe now always uses --deep (3 judges) regardless of spec presence - /post-mortem now documents --debate support for feature parity - Added auto-escalation rule: preset perspective count auto-sets judge count - Documented spec-compliance graceful degradation when no spec present
1 parent 3977e50 commit 2b1b3aa

File tree

3 files changed

+29
-10
lines changed

3 files changed

+29
-10
lines changed

skills/council/SKILL.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,14 @@ Your job is to find problems. A PASS with caveats is less valuable than a specif
363363
364364
When `--preset` or `--perspectives` is used, judges receive the perspective-labeled prompt instead (see Agent Prompts section).
365365
366+
### Auto-Escalation Rule
367+
368+
**When `--preset` or `--perspectives` specifies more perspectives than the current judge count, automatically escalate judge count to match.** For example:
369+
- `/council --preset=security-audit validate X` → 3 perspectives → auto-escalate to 3 judges (equivalent to `--deep`)
370+
- `/council --perspectives="a,b,c,d" validate X` → 4 perspectives → auto-escalate to 4 judges (equivalent to `--count=4`)
371+
372+
This prevents silently dropping perspectives. The `--count` flag overrides auto-escalation (user explicitly chose a count).
373+
366374
### Custom Perspectives
367375
368376
Simple name-based:
@@ -420,6 +428,8 @@ code-review:
420428
error-paths: "Trace every error handling path. What's uncaught? What fails silently?"
421429
api-surface: "Review every public interface. Is the contract clear? Breaking changes?"
422430
spec-compliance: "Compare implementation against the spec/bead. What's missing? What diverges?"
431+
# Note: spec-compliance gracefully degrades to general correctness review when no spec
432+
# is present in context.spec. The judge reviews code on its own merits.
423433

424434
plan-review:
425435
missing-requirements: "What's not in the spec that should be? What questions haven't been asked?"

skills/post-mortem/SKILL.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Two steps:
2626
/post-mortem --deep recent # thorough council review
2727
/post-mortem --mixed epic-123 # cross-vendor (Claude + Codex)
2828
/post-mortem --explorers=2 epic-123 # deep investigation before judging
29+
/post-mortem --debate epic-123 # two-round adversarial review
2930
```
3031

3132
---
@@ -86,10 +87,17 @@ The plan/spec content is injected into the council packet context so the `plan-c
8687
```
8788
Single-agent structured review. Fast wrap-up without spawning.
8889

90+
**With debate mode:**
91+
```
92+
/post-mortem --debate epic-123
93+
```
94+
Enables adversarial two-round review for post-implementation validation. Use for high-stakes shipped work where missed findings have production consequences. See `/council` docs for full --debate details.
95+
8996
**Advanced options (passed through to council):**
9097
- `--mixed` — Cross-vendor (Claude + Codex) with retrospective perspectives
9198
- `--preset=<name>` — Override with different personas (e.g., `--preset=ops` for production readiness)
9299
- `--explorers=N` — Each judge spawns N explorers to investigate the implementation deeply before judging
100+
- `--debate` — Two-round adversarial review (judges critique each other's findings before final verdict)
93101

94102
### Step 4: Extract Learnings
95103

skills/vibe/SKILL.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,11 @@ If a spec is found, include it in the council packet's `context.spec` field:
121121

122122
The spec content is injected into the council packet context so the `spec-compliance` judge can compare implementation against it.
123123

124-
**Without spec — use default independent judges:**
124+
**Without spec — 3 independent judges (no perspectives):**
125125
```
126-
/council validate <target>
126+
/council --deep validate <target>
127127
```
128-
Falls back to council default behavior (independent judges, no perspectives).
128+
3 independent judges (no perspective labels). Vibe always uses `--deep` for consistency with /pre-mortem and /post-mortem.
129129

130130
**Council receives:**
131131
- Files to review
@@ -139,11 +139,11 @@ Falls back to council default behavior (independent judges, no perspectives).
139139
```
140140
Single-agent structured self-review. Fast, cheap, good for mid-implementation checks.
141141

142-
**With --deep (3 judges, no spec):**
142+
**With explicit --deep (redundant — vibe always uses --deep):**
143143
```
144144
/council --deep validate <target>
145145
```
146-
3 independent judges (no perspective labels).
146+
3 independent judges (no perspective labels). Same as default vibe behavior.
147147

148148
**With --mixed (cross-vendor):**
149149
```
@@ -216,11 +216,12 @@ Each judge reviews for:
216216

217217
| Judge | Verdict | Key Finding |
218218
|-------|---------|-------------|
219-
| Error-Paths | ... | ... (if spec found) |
220-
| API-Surface | ... | ... (if spec found) |
221-
| Spec-Compliance | ... | ... (if spec found) |
222-
| Judge 1 | ... | ... (if no spec — independent) |
223-
| Judge 2 | ... | ... (if no spec — independent) |
219+
| Error-Paths | ... | ... (with spec — code-review preset) |
220+
| API-Surface | ... | ... (with spec — code-review preset) |
221+
| Spec-Compliance | ... | ... (with spec — code-review preset) |
222+
| Judge 1 | ... | ... (no spec — 3 independent judges) |
223+
| Judge 2 | ... | ... (no spec — 3 independent judges) |
224+
| Judge 3 | ... | ... (no spec — 3 independent judges) |
224225

225226
## Shared Findings
226227
- ...

0 commit comments

Comments
 (0)