llm-cli-council 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +61 -0
- package/LICENSE +21 -0
- package/README.md +495 -0
- package/bin/install.js +299 -0
- package/config/providers.json +124 -0
- package/lib/platform-utils.sh +353 -0
- package/package.json +46 -0
- package/prompts/chairman-synthesis.md +153 -0
- package/prompts/code-review.md +134 -0
- package/prompts/plan-review.md +106 -0
- package/rules/council-orchestration.md +205 -0
- package/rules/synthesis-strategy.md +246 -0
- package/rules/triggers.md +182 -0
- package/skills/llm-cli-council.md +122 -0
- package/skills/review-code.md +225 -0
- package/skills/review-plan.md +191 -0
- package/skills/setup.md +164 -0
- package/skills/status.md +220 -0
- package/skills/uninstall.md +179 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Plan Review Prompt Template
|
|
2
|
+
|
|
3
|
+
This template is sent to each council provider for independent plan review.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prompt Template
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
TASK: Review the following implementation plan for completeness, clarity, and technical soundness.
|
|
11
|
+
|
|
12
|
+
EXPECTED OUTCOME: Provide a structured review with:
|
|
13
|
+
- Assessment of plan quality (1-10 scale)
|
|
14
|
+
- Identified issues or gaps
|
|
15
|
+
- Specific recommendations
|
|
16
|
+
- Final verdict: APPROVE or REQUEST CHANGES
|
|
17
|
+
|
|
18
|
+
CONTEXT:
|
|
19
|
+
- This is a plan review, not implementation
|
|
20
|
+
- Focus on whether the plan is executable as written
|
|
21
|
+
- Consider: clarity, completeness, technical feasibility, risk management
|
|
22
|
+
|
|
23
|
+
PLAN CONTENT:
|
|
24
|
+
---
|
|
25
|
+
{PLAN_CONTENT}
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
CONSTRAINTS:
|
|
29
|
+
- You are one voice in a council of reviewers
|
|
30
|
+
- Keep your review focused and specific
|
|
31
|
+
- Do not implement or modify - only review
|
|
32
|
+
|
|
33
|
+
MUST DO:
|
|
34
|
+
1. Rate the plan on a 1-10 scale with brief justification
|
|
35
|
+
2. List any missing information or unclear sections
|
|
36
|
+
3. Identify potential risks not addressed
|
|
37
|
+
4. Provide 3-5 specific, actionable recommendations
|
|
38
|
+
5. Give a clear APPROVE or REQUEST CHANGES verdict
|
|
39
|
+
|
|
40
|
+
MUST NOT DO:
|
|
41
|
+
- Provide generic advice ("add more detail")
|
|
42
|
+
- Suggest complete rewrites
|
|
43
|
+
- Overlap with implementation concerns
|
|
44
|
+
- Be overly verbose
|
|
45
|
+
|
|
46
|
+
OUTPUT FORMAT:
|
|
47
|
+
RATING: [1-10] - [one-line justification]
|
|
48
|
+
|
|
49
|
+
GAPS:
|
|
50
|
+
• [Gap 1]
|
|
51
|
+
• [Gap 2]
|
|
52
|
+
|
|
53
|
+
RISKS:
|
|
54
|
+
• [Risk 1] - [Mitigation suggestion]
|
|
55
|
+
|
|
56
|
+
RECOMMENDATIONS:
|
|
57
|
+
1. [Specific recommendation]
|
|
58
|
+
2. [Specific recommendation]
|
|
59
|
+
3. [Specific recommendation]
|
|
60
|
+
|
|
61
|
+
VERDICT: [APPROVE / REQUEST CHANGES]
|
|
62
|
+
CONFIDENCE: [HIGH / MEDIUM / LOW]
|
|
63
|
+
REASONING: [1-2 sentences explaining verdict]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Variable Substitution
|
|
69
|
+
|
|
70
|
+
| Variable | Source |
|
|
71
|
+
|----------|--------|
|
|
72
|
+
| `{PLAN_CONTENT}` | Contents of plan file or inline plan text |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Provider-Specific Adjustments
|
|
77
|
+
|
|
78
|
+
### Claude
|
|
79
|
+
No adjustments - template works as-is.
|
|
80
|
+
|
|
81
|
+
### Codex
|
|
82
|
+
Add prefix: "You are reviewing code-related implementation plans. Focus on technical feasibility."
|
|
83
|
+
|
|
84
|
+
### Copilot
|
|
85
|
+
Add prefix: "Review this plan from a GitHub/development workflow perspective."
|
|
86
|
+
|
|
87
|
+
### Gemini
|
|
88
|
+
Add prefix: "Provide a comprehensive review considering multiple perspectives."
|
|
89
|
+
|
|
90
|
+
### Ollama
|
|
91
|
+
Simplify prompt slightly for smaller models - remove "council" context.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Response Parsing
|
|
96
|
+
|
|
97
|
+
Expected response sections to parse:
|
|
98
|
+
1. `RATING:` line with number and justification
|
|
99
|
+
2. `GAPS:` bullet list
|
|
100
|
+
3. `RISKS:` bullet list with mitigations
|
|
101
|
+
4. `RECOMMENDATIONS:` numbered list
|
|
102
|
+
5. `VERDICT:` APPROVE or REQUEST CHANGES
|
|
103
|
+
6. `CONFIDENCE:` HIGH, MEDIUM, or LOW
|
|
104
|
+
7. `REASONING:` explanation
|
|
105
|
+
|
|
106
|
+
If a section is missing, mark as "NOT PROVIDED" in synthesis.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Council Orchestration Rules
|
|
2
|
+
|
|
3
|
+
These rules govern how to coordinate multiple LLM providers as a council.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
### 1. Independence First
|
|
10
|
+
Each provider reviews independently without knowledge of other reviews.
|
|
11
|
+
- Never share one provider's output with another during review
|
|
12
|
+
- Prevents groupthink and ensures diverse perspectives
|
|
13
|
+
- Cross-contamination invalidates the council's value
|
|
14
|
+
|
|
15
|
+
### 2. Parallel Execution
|
|
16
|
+
Always execute provider calls in parallel when possible.
|
|
17
|
+
- Reduces total wait time significantly
|
|
18
|
+
- Use background processes or async patterns
|
|
19
|
+
- Handle timeouts per-provider, not globally
|
|
20
|
+
|
|
21
|
+
### 3. Graceful Degradation
|
|
22
|
+
Council continues even if some providers fail.
|
|
23
|
+
- Minimum quorum: 2 providers for meaningful synthesis
|
|
24
|
+
- 1 provider: Warn user, present with disclaimer
|
|
25
|
+
- 0 providers: Error with troubleshooting guidance
|
|
26
|
+
|
|
27
|
+
### 4. Chairman Authority
|
|
28
|
+
Claude (as Chairman) has final synthesis authority.
|
|
29
|
+
- Resolves all conflicts decisively
|
|
30
|
+
- Never leaves decision to user
|
|
31
|
+
- Provides clear reasoning for resolutions
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Provider Selection Algorithm
|
|
36
|
+
|
|
37
|
+
### Quick Mode (Default)
|
|
38
|
+
```
|
|
39
|
+
1. Load task routing from providers.json
|
|
40
|
+
2. Filter to available providers only
|
|
41
|
+
3. Sort by routing priority (lower = better)
|
|
42
|
+
4. Select top 2
|
|
43
|
+
5. If < 2 available, use all available
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Full Mode
|
|
47
|
+
```
|
|
48
|
+
1. Get all available providers from config
|
|
49
|
+
2. Execute all in parallel
|
|
50
|
+
3. Require minimum 2 responses for synthesis
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Privacy Mode
|
|
54
|
+
```
|
|
55
|
+
1. Check if Ollama is available
|
|
56
|
+
2. If yes, use only Ollama
|
|
57
|
+
3. If no, error with installation instructions
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Execution Patterns
|
|
63
|
+
|
|
64
|
+
### Parallel CLI Execution (Bash)
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Source platform utilities
|
|
68
|
+
source "${SKILL_DIR}/lib/platform-utils.sh"
|
|
69
|
+
|
|
70
|
+
# Create temp files for responses (cross-platform)
|
|
71
|
+
RESP_CLAUDE=$(make_temp_file "council_claude")
|
|
72
|
+
RESP_CODEX=$(make_temp_file "council_codex")
|
|
73
|
+
|
|
74
|
+
# Execute in parallel
|
|
75
|
+
claude -p --print "$PROMPT" > "$RESP_CLAUDE" 2>&1 &
|
|
76
|
+
PID_CLAUDE=$!
|
|
77
|
+
|
|
78
|
+
codex exec "$PROMPT" > "$RESP_CODEX" 2>&1 &
|
|
79
|
+
PID_CODEX=$!
|
|
80
|
+
|
|
81
|
+
# Wait with timeout (cross-platform)
|
|
82
|
+
wait_for_pid "$PID_CLAUDE" 120 || kill "$PID_CLAUDE" 2>/dev/null
|
|
83
|
+
wait_for_pid "$PID_CODEX" 120 || kill "$PID_CODEX" 2>/dev/null
|
|
84
|
+
|
|
85
|
+
# Collect results
|
|
86
|
+
CLAUDE_RESPONSE=$(cat "$RESP_CLAUDE")
|
|
87
|
+
CODEX_RESPONSE=$(cat "$RESP_CODEX")
|
|
88
|
+
|
|
89
|
+
# Cleanup
|
|
90
|
+
rm "$RESP_CLAUDE" "$RESP_CODEX"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Timeout Handling
|
|
94
|
+
|
|
95
|
+
Per-provider timeouts from `providers.json`:
|
|
96
|
+
- Claude: 120s
|
|
97
|
+
- Codex: 120s
|
|
98
|
+
- Copilot: 90s
|
|
99
|
+
- Gemini: 90s
|
|
100
|
+
- Ollama: 180s (local execution can be slower)
|
|
101
|
+
|
|
102
|
+
On timeout:
|
|
103
|
+
1. Kill the process
|
|
104
|
+
2. Log which provider timed out
|
|
105
|
+
3. Continue with remaining responses
|
|
106
|
+
4. Include timeout info in synthesis
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Response Collection
|
|
111
|
+
|
|
112
|
+
### Expected Response Structure
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
RATING: [1-10] - [justification]
|
|
116
|
+
GAPS: [bullet list]
|
|
117
|
+
RISKS: [bullet list]
|
|
118
|
+
RECOMMENDATIONS: [numbered list]
|
|
119
|
+
VERDICT: [APPROVE/REQUEST CHANGES]
|
|
120
|
+
CONFIDENCE: [HIGH/MEDIUM/LOW]
|
|
121
|
+
REASONING: [explanation]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Parsing Rules
|
|
125
|
+
|
|
126
|
+
1. **Strict sections**: Look for exact headers
|
|
127
|
+
2. **Flexible content**: Accept variations in formatting
|
|
128
|
+
3. **Missing sections**: Mark as "NOT PROVIDED"
|
|
129
|
+
4. **Malformed response**: Include raw response in synthesis with warning
|
|
130
|
+
|
|
131
|
+
### Response Validation
|
|
132
|
+
|
|
133
|
+
Valid response must have:
|
|
134
|
+
- [ ] VERDICT present (APPROVE or REQUEST CHANGES)
|
|
135
|
+
- [ ] At least one RECOMMENDATION
|
|
136
|
+
- [ ] Parseable structure
|
|
137
|
+
|
|
138
|
+
Invalid responses:
|
|
139
|
+
- Include in synthesis with "[MALFORMED RESPONSE]" tag
|
|
140
|
+
- Still count toward quorum
|
|
141
|
+
- Chairman can extract useful content manually
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Error Recovery
|
|
146
|
+
|
|
147
|
+
### Provider Auth Failure
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
Provider [name] auth error: [error message]
|
|
151
|
+
Continuing with remaining providers.
|
|
152
|
+
Fix: Run `[auth command]` to re-authenticate.
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Network Timeout
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
Provider [name] timed out after [X]s.
|
|
159
|
+
Continuing with remaining providers.
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### All Providers Fail
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Council Review Failed
|
|
166
|
+
═══════════════════════════════════════════════════════
|
|
167
|
+
|
|
168
|
+
All providers failed to respond:
|
|
169
|
+
• Claude: [error]
|
|
170
|
+
• Codex: [error]
|
|
171
|
+
|
|
172
|
+
Troubleshooting:
|
|
173
|
+
1. Check network connectivity
|
|
174
|
+
2. Verify provider auth: /llm-cli-council:status
|
|
175
|
+
3. Try privacy mode: --mode=privacy
|
|
176
|
+
|
|
177
|
+
Would you like to proceed without council review?
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Logging
|
|
183
|
+
|
|
184
|
+
For debugging, log:
|
|
185
|
+
1. Selected providers and selection reasoning
|
|
186
|
+
2. CLI commands executed (without full prompt for privacy)
|
|
187
|
+
3. Response times per provider
|
|
188
|
+
4. Parse success/failure per provider
|
|
189
|
+
5. Final synthesis trigger
|
|
190
|
+
|
|
191
|
+
Log location: `~/.claude/logs/council/` (if logging enabled)
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Security Considerations
|
|
196
|
+
|
|
197
|
+
### Prompt Content
|
|
198
|
+
- Plan content is sent to external providers
|
|
199
|
+
- For sensitive plans, use `--mode=privacy` (Ollama only)
|
|
200
|
+
- Never log full prompt content
|
|
201
|
+
|
|
202
|
+
### API Keys
|
|
203
|
+
- Each CLI manages its own authentication
|
|
204
|
+
- Council doesn't store or transmit API keys
|
|
205
|
+
- Auth status checked at setup time only
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# Synthesis Strategy Rules
|
|
2
|
+
|
|
3
|
+
These rules govern how Claude (as Chairman) synthesizes multiple provider reviews into unified guidance.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Anti-Paralysis Mandate
|
|
8
|
+
|
|
9
|
+
The council exists to **clarify**, not **confuse**. Every synthesis must:
|
|
10
|
+
|
|
11
|
+
1. **Resolve conflicts** - Never present contradictions without resolution
|
|
12
|
+
2. **Prioritize clearly** - Numbered list, most important first
|
|
13
|
+
3. **Limit scope** - Maximum 5 recommendations
|
|
14
|
+
4. **Decide definitively** - Clear APPROVE or REQUEST CHANGES, never "maybe"
|
|
15
|
+
5. **Explain reasoning** - Users should understand WHY
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Categorization Framework
|
|
20
|
+
|
|
21
|
+
### CONSENSUS
|
|
22
|
+
Points where 2+ providers agree (explicitly or implicitly).
|
|
23
|
+
|
|
24
|
+
Identification:
|
|
25
|
+
- Same issue mentioned by multiple providers
|
|
26
|
+
- Same recommendation (even if worded differently)
|
|
27
|
+
- Same verdict
|
|
28
|
+
|
|
29
|
+
Handling:
|
|
30
|
+
- Present as established fact
|
|
31
|
+
- High confidence in these points
|
|
32
|
+
- List provider count: "All 3 agree" or "2 of 3 agree"
|
|
33
|
+
|
|
34
|
+
### CONCERNS
|
|
35
|
+
Points raised by at least one provider that merit attention.
|
|
36
|
+
|
|
37
|
+
Identification:
|
|
38
|
+
- Valid technical concern
|
|
39
|
+
- Risk or gap not addressed elsewhere
|
|
40
|
+
- Reasonable recommendation
|
|
41
|
+
|
|
42
|
+
Handling:
|
|
43
|
+
- Present with attribution: "Raised by: [Provider]"
|
|
44
|
+
- Include Chairman assessment of validity/priority
|
|
45
|
+
- Don't dismiss single-provider concerns automatically
|
|
46
|
+
|
|
47
|
+
### DISSENT
|
|
48
|
+
Where providers explicitly disagree.
|
|
49
|
+
|
|
50
|
+
Identification:
|
|
51
|
+
- Opposite verdicts (APPROVE vs REQUEST CHANGES)
|
|
52
|
+
- Contradictory recommendations
|
|
53
|
+
- Different assessments of same issue
|
|
54
|
+
|
|
55
|
+
Handling:
|
|
56
|
+
- Present both positions clearly
|
|
57
|
+
- Chairman MUST resolve with reasoning
|
|
58
|
+
- Never leave user to decide between contradictions
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Conflict Resolution
|
|
63
|
+
|
|
64
|
+
### Verdict Disagreement
|
|
65
|
+
|
|
66
|
+
**Majority Rule (2+ providers agree):**
|
|
67
|
+
```
|
|
68
|
+
PROVIDER VERDICTS:
|
|
69
|
+
Claude: APPROVE (HIGH)
|
|
70
|
+
Codex: REQUEST CHANGES (MEDIUM)
|
|
71
|
+
Gemini: APPROVE (HIGH)
|
|
72
|
+
|
|
73
|
+
FINAL VERDICT: APPROVE
|
|
74
|
+
Reasoning: 2 of 3 providers approve with high confidence.
|
|
75
|
+
Codex's concerns are valid but addressed in recommendations.
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Tie (equal split):**
|
|
79
|
+
Apply task-type weighting:
|
|
80
|
+
- Code plans: Codex, Copilot weighted higher
|
|
81
|
+
- Architecture plans: Claude weighted higher
|
|
82
|
+
- General plans: Equal weight, Chairman decides
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
PROVIDER VERDICTS:
|
|
86
|
+
Claude: APPROVE (HIGH)
|
|
87
|
+
Codex: REQUEST CHANGES (HIGH)
|
|
88
|
+
|
|
89
|
+
FINAL VERDICT: REQUEST CHANGES
|
|
90
|
+
Reasoning: For code-heavy plans, Codex's concerns carry more weight.
|
|
91
|
+
The testing gap they identified is significant.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Recommendation Conflict
|
|
95
|
+
|
|
96
|
+
When providers recommend opposite actions:
|
|
97
|
+
|
|
98
|
+
1. **Evaluate merit** - Which recommendation is better reasoned?
|
|
99
|
+
2. **Consider context** - Which fits the project better?
|
|
100
|
+
3. **Pick one** - Present the chosen recommendation
|
|
101
|
+
4. **Explain** - Brief note on why this over the alternative
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
DISSENTING VIEWS:
|
|
105
|
+
• Deployment: Claude recommends blue-green, Codex recommends canary
|
|
106
|
+
Resolution: Blue-green deployment. Simpler for current team size,
|
|
107
|
+
and the plan doesn't require gradual rollout capabilities.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Weighting by Task Type
|
|
113
|
+
|
|
114
|
+
### Plan Review Weights
|
|
115
|
+
|
|
116
|
+
| Provider | Architecture | Code-heavy | General |
|
|
117
|
+
|----------|--------------|------------|---------|
|
|
118
|
+
| Claude | 1.5x | 1.0x | 1.0x |
|
|
119
|
+
| Codex | 1.2x | 1.5x | 1.0x |
|
|
120
|
+
| Copilot | 0.8x | 1.3x | 1.0x |
|
|
121
|
+
| Gemini | 1.0x | 0.8x | 1.2x |
|
|
122
|
+
| Ollama | 0.8x | 0.8x | 0.8x |
|
|
123
|
+
|
|
124
|
+
Apply weighting to:
|
|
125
|
+
- Verdict tie-breaking
|
|
126
|
+
- Recommendation prioritization (weighted votes)
|
|
127
|
+
- Confidence assessment
|
|
128
|
+
|
|
129
|
+
### Code Review Weights
|
|
130
|
+
|
|
131
|
+
| Provider | Security | Performance | Style |
|
|
132
|
+
|----------|----------|-------------|-------|
|
|
133
|
+
| Claude | 1.2x | 1.0x | 1.0x |
|
|
134
|
+
| Codex | 1.3x | 1.3x | 1.2x |
|
|
135
|
+
| Copilot | 1.0x | 1.2x | 1.5x |
|
|
136
|
+
| Gemini | 1.0x | 0.8x | 0.8x |
|
|
137
|
+
| Ollama | 0.8x | 0.8x | 0.8x |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Recommendation Prioritization
|
|
142
|
+
|
|
143
|
+
### Priority Factors
|
|
144
|
+
|
|
145
|
+
1. **Consensus weight** - More providers = higher priority
|
|
146
|
+
2. **Severity** - Blockers before nice-to-haves
|
|
147
|
+
3. **Effort** - Quick wins before large efforts (when equal severity)
|
|
148
|
+
4. **Provider expertise** - Weight by task type
|
|
149
|
+
|
|
150
|
+
### Priority Algorithm
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
For each unique recommendation:
|
|
154
|
+
score = 0
|
|
155
|
+
|
|
156
|
+
# Consensus bonus
|
|
157
|
+
score += (provider_count - 1) * 2
|
|
158
|
+
|
|
159
|
+
# Severity (from recommendation wording)
|
|
160
|
+
if "must" or "critical" or "blocker": score += 3
|
|
161
|
+
if "should" or "important": score += 2
|
|
162
|
+
if "could" or "consider": score += 1
|
|
163
|
+
|
|
164
|
+
# Expertise weight
|
|
165
|
+
score *= task_weight[provider][task_type]
|
|
166
|
+
|
|
167
|
+
Sort by score descending
|
|
168
|
+
Take top 5
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Effort Estimation
|
|
172
|
+
|
|
173
|
+
Standardize provider effort estimates to:
|
|
174
|
+
- **Quick**: < 1 hour of work
|
|
175
|
+
- **Short**: 1-4 hours
|
|
176
|
+
- **Medium**: 1-2 days
|
|
177
|
+
- **Large**: 3+ days
|
|
178
|
+
|
|
179
|
+
If providers disagree on effort, use highest estimate (conservative).
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Output Structure
|
|
184
|
+
|
|
185
|
+
### Required Sections
|
|
186
|
+
|
|
187
|
+
1. **Header** - Mode, providers consulted
|
|
188
|
+
2. **CONSENSUS** - Points all/most agree on
|
|
189
|
+
3. **CONCERNS** - Valid points from any provider
|
|
190
|
+
4. **DISSENT** - Conflicts with resolution
|
|
191
|
+
5. **RECOMMENDATIONS** - Max 5, prioritized
|
|
192
|
+
6. **VERDICTS** - Each provider's verdict
|
|
193
|
+
7. **FINAL VERDICT** - Chairman's decision
|
|
194
|
+
|
|
195
|
+
### Optional Sections
|
|
196
|
+
|
|
197
|
+
- **WARNINGS** - If quorum not met or responses malformed
|
|
198
|
+
- **NOTES** - Additional context Chairman deems relevant
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Quality Gates
|
|
203
|
+
|
|
204
|
+
Before presenting synthesis, verify:
|
|
205
|
+
|
|
206
|
+
- [ ] No more than 5 recommendations
|
|
207
|
+
- [ ] All dissent has resolution (no "user should decide")
|
|
208
|
+
- [ ] Final verdict is binary (APPROVE or REQUEST CHANGES)
|
|
209
|
+
- [ ] Reasoning references specific provider input
|
|
210
|
+
- [ ] No raw provider output passed through unchanged
|
|
211
|
+
- [ ] Effort estimates are standardized
|
|
212
|
+
|
|
213
|
+
If any gate fails, fix before presenting.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Edge Cases
|
|
218
|
+
|
|
219
|
+
### Single Provider Response
|
|
220
|
+
```
|
|
221
|
+
NOTE: Only [Provider] responded. This lacks council diversity.
|
|
222
|
+
|
|
223
|
+
[Present provider's review directly with minimal synthesis]
|
|
224
|
+
|
|
225
|
+
Consider: Run with --mode=full for comprehensive feedback.
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### All Approve, No Recommendations
|
|
229
|
+
```
|
|
230
|
+
UNANIMOUS APPROVAL
|
|
231
|
+
|
|
232
|
+
All providers approve this plan without significant concerns.
|
|
233
|
+
|
|
234
|
+
Minor suggestions (for consideration, not required):
|
|
235
|
+
[List any minor points mentioned]
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### All Request Changes
|
|
239
|
+
```
|
|
240
|
+
STRONG CONSENSUS: Changes Required
|
|
241
|
+
|
|
242
|
+
All providers identified issues requiring attention.
|
|
243
|
+
Critical items are prioritized below.
|
|
244
|
+
|
|
245
|
+
[Prioritized recommendations - may exceed 5 for critical issues]
|
|
246
|
+
```
|