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,164 @@
1
+ ---
2
+ name: llm-cli-council:setup
3
+ description: Detect and configure available LLM CLIs for the council
4
+ invocable: true
5
+ ---
6
+
7
+ # LLM CLI Council Setup
8
+
9
+ This command detects available LLM CLI tools and configures the council.
10
+
11
+ ## Execution Steps
12
+
13
+ ### Step 1: Detect Available CLIs
14
+
15
+ Run detection for each provider in parallel:
16
+
17
+ ```bash
18
+ # Claude
19
+ which claude && claude --version 2>/dev/null || echo "not-found"
20
+
21
+ # Copilot
22
+ which copilot && copilot --version 2>/dev/null || echo "not-found"
23
+
24
+ # Codex
25
+ which codex && codex --version 2>/dev/null || echo "not-found"
26
+
27
+ # Gemini
28
+ which gemini && gemini --version 2>/dev/null || echo "not-found"
29
+
30
+ # Ollama
31
+ which ollama && ollama list 2>/dev/null || echo "not-found"
32
+ ```
33
+
34
+ ### Step 2: Build Configuration
35
+
36
+ For each detected CLI, record:
37
+ - `available`: boolean - whether CLI is found
38
+ - `path`: string - full path to CLI
39
+ - `version`: string - version if detectable
40
+ - `authenticated`: boolean - whether auth check passed
41
+
42
+ ### Step 3: Write Configuration
43
+
44
+ Before writing config, initialize path variables:
45
+
46
+ ```bash
47
+ # Source platform utilities
48
+ source "${CLAUDE_PLUGIN_ROOT}/lib/platform-utils.sh"
49
+
50
+ # Path resolution
51
+ COUNCIL_CONFIG_DIR="${CLAUDE_COUNCIL_CONFIG_DIR:-${CLAUDE_CONFIG_DIR:-${XDG_CONFIG_HOME:-$HOME/.config}/claude}/council}"
52
+ COUNCIL_CONFIG_FILE="${CLAUDE_COUNCIL_CONFIG_FILE:-$COUNCIL_CONFIG_DIR/config.json}"
53
+ COUNCIL_LOG_DIR="${CLAUDE_COUNCIL_LOG_DIR:-$COUNCIL_CONFIG_DIR/logs}"
54
+
55
+ # Ensure directories exist
56
+ ensure_dir "$COUNCIL_CONFIG_DIR"
57
+ ensure_dir "$COUNCIL_LOG_DIR"
58
+ ```
59
+
60
+ Write results to `$COUNCIL_CONFIG_FILE`:
61
+
62
+ ```json
63
+ {
64
+ "version": "1.0.0",
65
+ "lastSetup": "<ISO timestamp>",
66
+ "providers": {
67
+ "claude": {
68
+ "available": true,
69
+ "path": "/path/to/claude",
70
+ "version": "x.y.z",
71
+ "authenticated": true
72
+ }
73
+ // ... other providers
74
+ },
75
+ "defaultMode": "quick",
76
+ "availableCount": 5
77
+ }
78
+ ```
79
+
80
+ ### Step 4: Display Status Table
81
+
82
+ Present results in a clear table format:
83
+
84
+ ```
85
+ LLM CLI COUNCIL - SETUP COMPLETE
86
+ ═══════════════════════════════════════════════════════
87
+
88
+ Provider Status Path Version
89
+ ─────────────────────────────────────────────────────────
90
+ Claude READY /usr/local/bin/claude 1.0.0
91
+ Copilot READY /usr/local/bin/copilot 2.1.0
92
+ Codex READY /usr/local/bin/codex 1.5.0
93
+ Gemini READY /usr/local/bin/gemini 0.8.0
94
+ Ollama READY /usr/local/bin/ollama 0.1.30
95
+
96
+ ═══════════════════════════════════════════════════════
97
+ Total: 5/5 providers available
98
+
99
+ Council Modes Available:
100
+ • quick - 2 providers (fast feedback)
101
+ • full - 5 providers (comprehensive)
102
+ • privacy - Ollama only (local execution)
103
+
104
+ Configuration saved to: $COUNCIL_CONFIG_FILE
105
+ Run /llm-cli-council:status to view current configuration.
106
+ ```
107
+
108
+ ### Step 5: Install Global Rules
109
+
110
+ For proactive delegation checking to work, copy the plugin rules to Claude's global rules directory:
111
+
112
+ ```bash
113
+ # Define target directory
114
+ RULES_TARGET_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/rules/delegator"
115
+
116
+ # Create directory if needed
117
+ ensure_dir "$RULES_TARGET_DIR"
118
+
119
+ # Copy rules from plugin to global location
120
+ cp -r "${CLAUDE_PLUGIN_ROOT}/rules/"* "$RULES_TARGET_DIR/"
121
+
122
+ # Confirm installation
123
+ echo "✓ Global delegation rules installed to: $RULES_TARGET_DIR"
124
+ ```
125
+
126
+ This enables Claude to automatically check for delegation triggers on every message without needing to invoke a skill.
127
+
128
+ **What gets installed:**
129
+ - `orchestration.md` - Multi-LLM coordination rules
130
+ - `triggers.md` - When to delegate automatically
131
+ - `delegation-format.md` - How to format delegation prompts
132
+ - `model-selection.md` - Which expert for which task
133
+
134
+ ### Step 6: Handle Missing Providers
135
+
136
+ If a provider is not found or not authenticated:
137
+
138
+ ```
139
+ Provider Status Issue Fix
140
+ ─────────────────────────────────────────────────────────
141
+ Gemini NOT FOUND CLI not installed brew install gemini-cli
142
+ Copilot AUTH ERROR Not logged in copilot auth login
143
+ ```
144
+
145
+ ## Error Handling
146
+
147
+ - **No providers found**: Display error with installation instructions for each CLI
148
+ - **Only 1 provider**: Warn that council requires minimum 2 for quorum, but setup can continue
149
+ - **Auth failures**: Log warning but mark provider as available (may work for some commands)
150
+
151
+ ## Post-Setup
152
+
153
+ After successful setup:
154
+ 1. Council configuration is stored persistently
155
+ 2. Global delegation rules are active (proactive behavior)
156
+ 3. Commands can auto-detect mode based on available providers
157
+ 4. Run `/llm-cli-council:review-plan` to test the council
158
+
159
+ ## Re-running Setup
160
+
161
+ Running setup again will:
162
+ 1. Re-detect all providers (catches new installations)
163
+ 2. Update configuration with current status
164
+ 3. Preserve any custom settings from previous config
@@ -0,0 +1,220 @@
1
+ ---
2
+ name: llm-cli-council:status
3
+ description: Show council configuration and provider availability status
4
+ invocable: true
5
+ ---
6
+
7
+ # LLM CLI Council - Status
8
+
9
+ This command displays the current council configuration and checks provider availability.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /llm-cli-council:status [--check]
15
+ ```
16
+
17
+ ### Arguments
18
+
19
+ | Argument | Description |
20
+ |----------|-------------|
21
+ | `--check` | Re-check provider availability (live test) |
22
+
23
+ ---
24
+
25
+ ## Execution Flow
26
+
27
+ ### Step 1: Load Configuration
28
+
29
+ Read `$COUNCIL_CONFIG_FILE`.
30
+
31
+ If not found:
32
+ ```
33
+ Council not configured.
34
+ Run /llm-cli-council:setup to detect and configure providers.
35
+ ```
36
+
37
+ ### Step 2: Display Status
38
+
39
+ ```
40
+ LLM CLI COUNCIL STATUS
41
+ ═══════════════════════════════════════════════════════
42
+
43
+ Configuration: $COUNCIL_CONFIG_FILE
44
+ Last Setup: 2024-01-15T10:30:00Z
45
+ Version: 1.0.0
46
+
47
+ PROVIDERS
48
+ ─────────────────────────────────────────────────────────
49
+ Provider Status Version Last Used
50
+ ─────────────────────────────────────────────────────────
51
+ Claude READY 1.0.5 2024-01-15
52
+ Copilot READY 2.1.0 2024-01-14
53
+ Codex READY 1.5.2 2024-01-15
54
+ Gemini READY 0.8.1 2024-01-10
55
+ Ollama READY 0.1.30 2024-01-12
56
+
57
+ Total: 5/5 providers available
58
+
59
+ MODES AVAILABLE
60
+ ─────────────────────────────────────────────────────────
61
+ • quick - 2 providers (Claude, Codex for plans; Codex, Copilot for code)
62
+ • full - 5 providers (all available)
63
+ • privacy - 1 provider (Ollama only)
64
+
65
+ PREFERENCES
66
+ ─────────────────────────────────────────────────────────
67
+ Default Mode: quick
68
+ Auto-Suggest: enabled
69
+ Privacy Required For: api, secret, password
70
+
71
+ ═══════════════════════════════════════════════════════
72
+ ```
73
+
74
+ ### Step 3: Live Check (if --check)
75
+
76
+ When `--check` is specified, actively test each provider:
77
+
78
+ ```bash
79
+ # Test each provider with simple prompt
80
+ claude --version
81
+ copilot --version
82
+ codex --version
83
+ gemini --version
84
+ ollama list
85
+ ```
86
+
87
+ Display results:
88
+
89
+ ```
90
+ LIVE CHECK RESULTS
91
+ ─────────────────────────────────────────────────────────
92
+ Provider Check Result
93
+ ─────────────────────────────────────────────────────────
94
+ Claude Version OK (1.0.5)
95
+ Copilot Version OK (2.1.0)
96
+ Codex Version OK (1.5.2)
97
+ Gemini Version FAIL (auth required)
98
+ Ollama Model List OK (3 models available)
99
+
100
+ Issues Found:
101
+ • Gemini: Authentication required
102
+ Fix: gemini auth login
103
+
104
+ Would you like to re-run setup? [y/N]
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Status Indicators
110
+
111
+ | Status | Meaning |
112
+ |--------|---------|
113
+ | READY | Provider available and authenticated |
114
+ | AUTH ERROR | CLI found but authentication failed |
115
+ | NOT FOUND | CLI not installed |
116
+ | TIMEOUT | CLI found but not responding |
117
+ | UNKNOWN | Unable to determine status |
118
+
119
+ ---
120
+
121
+ ## Troubleshooting Output
122
+
123
+ When issues detected:
124
+
125
+ ```
126
+ TROUBLESHOOTING
127
+ ─────────────────────────────────────────────────────────
128
+
129
+ Provider Issues:
130
+
131
+ 1. Gemini - AUTH ERROR
132
+ The Gemini CLI requires authentication.
133
+ Fix: Run `gemini auth login`
134
+
135
+ 2. Ollama - NO MODELS
136
+ Ollama is installed but no models are available.
137
+ Fix: Run `ollama pull gpt-oss:20b`
138
+
139
+ Quick Fixes:
140
+ • Re-run setup: /llm-cli-council:setup
141
+ • Check individual CLI: which <cli-name>
142
+ • Manual auth: <cli-name> auth login
143
+ ```
144
+
145
+ ---
146
+
147
+ ## Configuration Details
148
+
149
+ ### Show Full Config (if requested)
150
+
151
+ ```
152
+ FULL CONFIGURATION
153
+ ─────────────────────────────────────────────────────────
154
+
155
+ providers:
156
+ claude:
157
+ available: true
158
+ path: /usr/local/bin/claude
159
+ version: x.y.z
160
+ authenticated: true
161
+ invocation: claude -p --print "{prompt}"
162
+
163
+ codex:
164
+ available: true
165
+ path: /usr/local/bin/codex
166
+ version: x.y.z
167
+ authenticated: true
168
+ invocation: codex exec "{prompt}"
169
+
170
+ # ... etc
171
+
172
+ taskRouting:
173
+ plan-review:
174
+ preferred: [claude, codex]
175
+ fallback: [gemini]
176
+
177
+ code-review:
178
+ preferred: [codex, copilot]
179
+ fallback: [claude]
180
+
181
+ defaults:
182
+ mode: quick
183
+ minQuorum: 2
184
+ timeoutMs: 120000
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Output Formats
190
+
191
+ ### Default (Human-readable)
192
+
193
+ Formatted table with colors (if terminal supports).
194
+
195
+ ### JSON (--json flag)
196
+
197
+ ```json
198
+ {
199
+ "configured": true,
200
+ "configPath": "$COUNCIL_CONFIG_FILE",
201
+ "lastSetup": "2024-01-15T10:30:00Z",
202
+ "providers": {
203
+ "claude": {"available": true, "version": "x.y.z"},
204
+ "codex": {"available": true, "version": "x.y.z"}
205
+ },
206
+ "availableCount": 5,
207
+ "modes": ["quick", "full", "privacy"]
208
+ }
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Common Issues
214
+
215
+ | Issue | Solution |
216
+ |-------|----------|
217
+ | Config not found | Run `/llm-cli-council:setup` |
218
+ | All providers unavailable | Check CLI installations, network |
219
+ | Auth errors | Run auth command for specific CLI |
220
+ | Privacy mode unavailable | Install Ollama: `brew install ollama` |
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: llm-cli-council:uninstall
3
+ description: Remove council configuration and optionally the skill files
4
+ invocable: true
5
+ ---
6
+
7
+ # LLM CLI Council - Uninstall
8
+
9
+ This command removes the council configuration and provides options for complete cleanup.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /llm-cli-council:uninstall [--full]
15
+ ```
16
+
17
+ ### Arguments
18
+
19
+ | Argument | Description |
20
+ |----------|-------------|
21
+ | `--full` | Also remove skill files (complete uninstall) |
22
+
23
+ ---
24
+
25
+ ## Execution Flow
26
+
27
+ ### Step 1: Confirm Uninstall
28
+
29
+ ```
30
+ LLM CLI Council Uninstall
31
+ ═══════════════════════════════════════════════════════
32
+
33
+ This will remove:
34
+ • Configuration: $COUNCIL_CONFIG_FILE
35
+ • Logs (if any): $COUNCIL_LOG_DIR
36
+ • Global delegation rules: ~/.claude/rules/delegator/
37
+
38
+ The plugin files will remain (use 'claude /plugin uninstall' to remove).
39
+
40
+ Proceed with uninstall? [y/N]
41
+ ```
42
+
43
+ ### Step 2: Remove Configuration
44
+
45
+ ```bash
46
+ rm -f $COUNCIL_CONFIG_FILE
47
+ rm -rf $COUNCIL_LOG_DIR
48
+ ```
49
+
50
+ ### Step 3: Remove Global Rules
51
+
52
+ Remove the delegation rules from Claude's global rules directory:
53
+
54
+ ```bash
55
+ # Define rules directory
56
+ RULES_TARGET_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/rules/delegator"
57
+
58
+ # Remove rules if they exist
59
+ if [ -d "$RULES_TARGET_DIR" ]; then
60
+ rm -rf "$RULES_TARGET_DIR"
61
+ echo "✓ Removed global delegation rules from: $RULES_TARGET_DIR"
62
+ else
63
+ echo "• No global rules found (already removed or never installed)"
64
+ fi
65
+ ```
66
+
67
+ This removes the proactive delegation checking behavior. After uninstall, Claude will no longer automatically check for delegation triggers.
68
+
69
+ ### Step 4: Full Uninstall (if --full)
70
+
71
+ ```
72
+ Full uninstall requested.
73
+
74
+ Note: For plugin-based installations, use:
75
+ claude /plugin uninstall llm-cli-council
76
+
77
+ This command only removes configuration and rules, not the plugin itself.
78
+ ```
79
+
80
+ ### Step 5: Confirm Completion
81
+
82
+ ```
83
+ LLM CLI Council - Uninstalled
84
+ ═══════════════════════════════════════════════════════
85
+
86
+ Removed:
87
+ ✓ Configuration file
88
+ ✓ Log directory
89
+ ✓ Global delegation rules
90
+
91
+ The plugin files remain installed. To completely remove:
92
+ claude /plugin uninstall llm-cli-council
93
+
94
+ The underlying CLI tools (claude, codex, copilot, etc.)
95
+ were NOT modified. They remain available for direct use.
96
+
97
+ To reinstall:
98
+ /llm-cli-council:setup
99
+ ```
100
+
101
+ ---
102
+
103
+ ## What Gets Removed
104
+
105
+ ### Standard Uninstall
106
+
107
+ | Item | Path | Description |
108
+ |------|------|-------------|
109
+ | Config | `$COUNCIL_CONFIG_FILE` | Provider settings, preferences |
110
+ | Logs | `$COUNCIL_LOG_DIR` | Review history (if logging enabled) |
111
+ | Rules | `~/.claude/rules/delegator/` | Global delegation rules |
112
+
113
+ **Note:** Plugin files remain. Use `claude /plugin uninstall llm-cli-council` to remove.
114
+
115
+ ---
116
+
117
+ ## What Is NOT Removed
118
+
119
+ The uninstall does NOT affect:
120
+
121
+ - Individual CLI tools (claude, codex, copilot, gemini, ollama)
122
+ - CLI authentication/credentials
123
+ - Other Claude Code skills
124
+ - Global Claude Code configuration
125
+
126
+ ---
127
+
128
+ ## Re-installation
129
+
130
+ After uninstalling, to reinstall:
131
+
132
+ ### If skill files remain (standard uninstall):
133
+ ```
134
+ /llm-cli-council:setup
135
+ ```
136
+
137
+ ### If skill files removed (--full uninstall):
138
+ 1. Re-download/copy skill files to `$SKILLS_DIR/llm-cli-council/`
139
+ 2. Run `/llm-cli-council:setup`
140
+
141
+ ---
142
+
143
+ ## Error Handling
144
+
145
+ ### Config Not Found
146
+ ```
147
+ No council configuration found.
148
+ Nothing to uninstall.
149
+
150
+ If you want to remove skill files:
151
+ rm -rf $SKILLS_DIR/llm-cli-council/
152
+ ```
153
+
154
+ ### Permission Error
155
+ ```
156
+ Error: Permission denied removing configuration.
157
+ Manual cleanup required:
158
+ rm $COUNCIL_CONFIG_FILE
159
+ rm -rf $COUNCIL_LOG_DIR
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Dry Run
165
+
166
+ To see what would be removed without actually removing:
167
+
168
+ ```
169
+ /llm-cli-council:uninstall --dry-run
170
+
171
+ Would remove:
172
+ • $COUNCIL_CONFIG_FILE (exists, 2.1KB)
173
+ • $COUNCIL_LOG_DIR (exists, 15 files)
174
+
175
+ Add --full to also remove:
176
+ • $SKILLS_DIR/llm-cli-council/ (exists, 12 files)
177
+
178
+ No changes made (dry run).
179
+ ```