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.
@@ -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
+ ```