ai-consultants 2.10.1

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.
Files changed (62) hide show
  1. package/.claude/commands/ai-consultants:consult.md +94 -0
  2. package/.claude/commands/ai-consultants:debate.md +103 -0
  3. package/.claude/commands/ai-consultants:help.md +30 -0
  4. package/CLAUDE.md +839 -0
  5. package/LICENSE +21 -0
  6. package/README.md +758 -0
  7. package/SKILL.md +156 -0
  8. package/bin/ai-consultants +96 -0
  9. package/docs/COST_RATES.md +172 -0
  10. package/docs/JSON_SCHEMA.md +305 -0
  11. package/docs/SETUP.md +879 -0
  12. package/docs/SMART_ROUTING.md +219 -0
  13. package/docs/cost_rates.json +143 -0
  14. package/package.json +47 -0
  15. package/references/configuration.md +141 -0
  16. package/references/details.md +60 -0
  17. package/scripts/build_context.sh +562 -0
  18. package/scripts/classify_question.sh +148 -0
  19. package/scripts/config.sh +753 -0
  20. package/scripts/configure.sh +1093 -0
  21. package/scripts/consult_all.sh +934 -0
  22. package/scripts/debate_round.sh +421 -0
  23. package/scripts/doctor.sh +642 -0
  24. package/scripts/followup.sh +197 -0
  25. package/scripts/install.sh +319 -0
  26. package/scripts/lib/api.sh +640 -0
  27. package/scripts/lib/api_query.sh +228 -0
  28. package/scripts/lib/cache.sh +338 -0
  29. package/scripts/lib/chunking.sh +880 -0
  30. package/scripts/lib/code_optimizer.sh +671 -0
  31. package/scripts/lib/common.sh +1088 -0
  32. package/scripts/lib/costs.sh +674 -0
  33. package/scripts/lib/personas.sh +372 -0
  34. package/scripts/lib/progress.sh +251 -0
  35. package/scripts/lib/reflection.sh +447 -0
  36. package/scripts/lib/routing.sh +566 -0
  37. package/scripts/lib/schema.json +165 -0
  38. package/scripts/lib/session.sh +327 -0
  39. package/scripts/lib/symbol_map.sh +445 -0
  40. package/scripts/lib/voting.sh +495 -0
  41. package/scripts/peer_review.sh +460 -0
  42. package/scripts/preflight_check.sh +452 -0
  43. package/scripts/query_aider.sh +83 -0
  44. package/scripts/query_amp.sh +67 -0
  45. package/scripts/query_claude.sh +99 -0
  46. package/scripts/query_codex.sh +92 -0
  47. package/scripts/query_cursor.sh +72 -0
  48. package/scripts/query_deepseek.sh +17 -0
  49. package/scripts/query_gemini.sh +85 -0
  50. package/scripts/query_glm.sh +17 -0
  51. package/scripts/query_grok.sh +17 -0
  52. package/scripts/query_kilo.sh +140 -0
  53. package/scripts/query_kimi.sh +67 -0
  54. package/scripts/query_minimax.sh +17 -0
  55. package/scripts/query_mistral.sh +97 -0
  56. package/scripts/query_ollama.sh +328 -0
  57. package/scripts/query_qwen3.sh +93 -0
  58. package/scripts/setup_wizard.sh +367 -0
  59. package/scripts/skillport-install.sh +196 -0
  60. package/scripts/synthesize.sh +332 -0
  61. package/templates/consultation_report.md +323 -0
  62. package/templates/synthesis_prompt.md +120 -0
@@ -0,0 +1,219 @@
1
+ # Smart Routing - AI Consultants v2.10
2
+
3
+ The Smart Routing system automatically selects the most suitable consultants based on the question category.
4
+
5
+ ## Enabling
6
+
7
+ ```bash
8
+ # Enable classification (required)
9
+ ENABLE_CLASSIFICATION=true
10
+
11
+ # Enable smart routing
12
+ ENABLE_SMART_ROUTING=true
13
+
14
+ # Minimum affinity to include a consultant (1-10)
15
+ MIN_AFFINITY=7
16
+ ```
17
+
18
+ ## Affinity Matrix
19
+
20
+ Consultant-category affinity scores (scale 1-10):
21
+
22
+ | Category | Gemini | Codex | Mistral | Kilo | Cursor | Aider | Amp | Kimi | Claude | Qwen3 | GLM | Grok | DeepSeek | MiniMax | Ollama |
23
+ |----------|--------|-------|---------|------|--------|-------|-----|------|--------|-------|-----|------|----------|---------|--------|
24
+ | **CODE_REVIEW** | 7 | **10** | 8 | 9 | 8 | 9 | 7 | 7 | 8 | 7 | 7 | 6 | 8 | 6 | 6 |
25
+ | **BUG_DEBUG** | 7 | **10** | 9 | 8 | 8 | 9 | 7 | 6 | 7 | 7 | 6 | 6 | 8 | 5 | 6 |
26
+ | **ARCHITECTURE** | **10** | 6 | 8 | 9 | 7 | 6 | **10** | 8 | 9 | 7 | 7 | 7 | 6 | 6 | 5 |
27
+ | **ALGORITHM** | 9 | 8 | 7 | 8 | 7 | 7 | 7 | 6 | 8 | 8 | 8 | 7 | **10** | 6 | 6 |
28
+ | **SECURITY** | 9 | 9 | **10** | 8 | 8 | 7 | 8 | 5 | 9 | 7 | 7 | 8 | 7 | 5 | 5 |
29
+ | **QUICK_SYNTAX** | **10** | 8 | 5 | 6 | 7 | 7 | 5 | 5 | 7 | 7 | 6 | 5 | 7 | 5 | 6 |
30
+ | **DATABASE** | 8 | 9 | 7 | 7 | 7 | 7 | 7 | 6 | 7 | 8 | 7 | 6 | 8 | 5 | 5 |
31
+ | **API_DESIGN** | **10** | 9 | 7 | 8 | 8 | 6 | 9 | 6 | 8 | 7 | 7 | 7 | 6 | 6 | 5 |
32
+ | **TESTING** | 7 | **10** | 9 | 7 | 8 | 9 | 7 | 5 | 7 | 7 | 7 | 6 | 7 | 6 | 5 |
33
+ | **GENERAL** | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 7 | 9 | 8 | 7 | 8 | 8 | 6 | 7 |
34
+
35
+ **Legend:**
36
+ - **10**: Perfect match
37
+ - 7-9: Good match
38
+ - 5-6: Medium match
39
+ - 1-4: Poor match
40
+
41
+ ## Routing Modes
42
+
43
+ The system automatically determines how many consultants to involve:
44
+
45
+ | Mode | Consultants | Categories | Rationale |
46
+ |------|-------------|------------|-----------|
47
+ | **full** | All enabled | SECURITY, GENERAL | All for complete perspectives |
48
+ | **selective** | Top 5 by affinity | CODE_REVIEW, BUG_DEBUG, ARCHITECTURE, ALGORITHM, DATABASE, API_DESIGN, TESTING | Best matches for the category |
49
+ | **single** | 1 | QUICK_SYNTAX | Only the best for quick answers |
50
+
51
+ ### Selection Logic
52
+
53
+ ```
54
+ SECURITY → full (all) # Too important to exclude anyone
55
+ QUICK_SYNTAX → single (1) # A quick answer is sufficient
56
+ CODE_REVIEW → selective (5) # Top 5 by affinity
57
+ BUG_DEBUG → selective (5)
58
+ ARCHITECTURE → selective (5)
59
+ * → full (all) # Default: all enabled
60
+ ```
61
+
62
+ ## Cost-Aware Routing (v2.3+)
63
+
64
+ When `ENABLE_COST_AWARE_ROUTING=true`, the system routes queries to cheaper models based on complexity:
65
+
66
+ ```bash
67
+ ENABLE_COST_AWARE_ROUTING=true
68
+ COMPLEXITY_THRESHOLD_SIMPLE=3 # Score 1-3 = use economy models
69
+ COMPLEXITY_THRESHOLD_MEDIUM=6 # Score 4-6 = use standard models
70
+ # Score 7-10 = use premium models
71
+ ```
72
+
73
+ See [COST_RATES.md](COST_RATES.md) for model pricing by tier.
74
+
75
+ ## Timeout per Category
76
+
77
+ Timeouts optimized based on category complexity:
78
+
79
+ | Category | Timeout | Rationale |
80
+ |----------|---------|-----------|
81
+ | QUICK_SYNTAX | 60s | Short answers |
82
+ | DATABASE | 120s | Medium-complexity queries |
83
+ | TESTING | 120s | Test case generation |
84
+ | CODE_REVIEW | 180s | Detailed analysis |
85
+ | BUG_DEBUG | 180s | Investigation |
86
+ | ALGORITHM | 180s | Reasoning |
87
+ | API_DESIGN | 180s | Detailed design |
88
+ | GENERAL | 180s | Default |
89
+ | ARCHITECTURE | 240s | Complex design |
90
+ | SECURITY | 240s | In-depth analysis |
91
+
92
+ ## Supported Categories
93
+
94
+ ### CODE_REVIEW
95
+ - Code quality review
96
+ - Best practices
97
+ - Code style
98
+
99
+ **Keywords:** review, quality, refactor, clean code
100
+
101
+ ### BUG_DEBUG
102
+ - Debugging
103
+ - Error fixing
104
+ - Troubleshooting
105
+
106
+ **Keywords:** bug, error, crash, fix, debug, problem
107
+
108
+ ### ARCHITECTURE
109
+ - System design
110
+ - Design patterns
111
+ - Scalability
112
+
113
+ **Keywords:** architect, design, pattern, microservic, scalabil, structur
114
+
115
+ ### ALGORITHM
116
+ - Algorithms
117
+ - Data structures
118
+ - Complexity
119
+
120
+ **Keywords:** algorithm, complexity, O(n), recursive, sort, search, structur
121
+
122
+ ### SECURITY
123
+ - Vulnerabilities
124
+ - Authentication
125
+ - Authorization
126
+
127
+ **Keywords:** security, vulnerabil, injection, XSS, auth
128
+
129
+ ### QUICK_SYNTAX
130
+ - Quick syntax
131
+ - Fast how-tos
132
+ - Snippets
133
+
134
+ **Keywords:** how to, syntax, example, snippet
135
+
136
+ ### DATABASE
137
+ - SQL queries
138
+ - Schema design
139
+ - DB optimization
140
+
141
+ **Keywords:** SQL, database, query, schema, index, join
142
+
143
+ ### API_DESIGN
144
+ - REST API
145
+ - GraphQL
146
+ - Endpoint design
147
+
148
+ **Keywords:** API, REST, endpoint, GraphQL, HTTP
149
+
150
+ ### TESTING
151
+ - Unit test
152
+ - Integration test
153
+ - Test strategy
154
+
155
+ **Keywords:** test, unit, integration, mock, coverage
156
+
157
+ ### GENERAL
158
+ - Default for everything else
159
+
160
+ ## Classification Modes
161
+
162
+ ### Pattern-based (default)
163
+
164
+ ```bash
165
+ CLASSIFICATION_MODE=pattern
166
+ ```
167
+
168
+ - Fast, no API call
169
+ - Regex matching on keywords
170
+ - Good accuracy for clear questions
171
+
172
+ ### LLM-based
173
+
174
+ ```bash
175
+ CLASSIFICATION_MODE=llm
176
+ ```
177
+
178
+ - More accurate
179
+ - Requires Claude CLI
180
+ - Falls back to pattern if Claude is unavailable
181
+
182
+ ## Usage Example
183
+
184
+ ```bash
185
+ # Consultation with smart routing
186
+ ENABLE_SMART_ROUTING=true \
187
+ ./scripts/consult_all.sh "How can I improve the security of my API?"
188
+
189
+ # Output:
190
+ # [INFO] Category: SECURITY
191
+ # [INFO] Routing mode: full (all enabled consultants)
192
+ # [INFO] Timeout: 240s
193
+ ```
194
+
195
+ ## API Functions
196
+
197
+ Functions are exported from `scripts/lib/routing.sh`:
198
+
199
+ ```bash
200
+ source scripts/lib/routing.sh
201
+
202
+ # Get affinity
203
+ get_affinity "SECURITY" "Mistral" # → 10
204
+
205
+ # Select consultants
206
+ select_consultants "SECURITY" 7 # → All enabled consultants
207
+
208
+ # Check recommendation
209
+ is_recommended "SECURITY" "Kilo" 7 && echo "Recommended"
210
+
211
+ # Get timeout
212
+ get_category_timeout "ARCHITECTURE" # → 240
213
+
214
+ # Get routing mode
215
+ get_routing_mode "QUICK_SYNTAX" # → single
216
+
217
+ # Cost-aware selection (v2.3)
218
+ select_consultants_cost_aware "QUICK_SYNTAX" 7 # → Economy model selection
219
+ ```
@@ -0,0 +1,143 @@
1
+ {
2
+ "version": "2.10.1",
3
+ "updated": "2026-03-04",
4
+ "models": {
5
+ "_comment_premium": "Premium tier models - March 2026",
6
+ "opus-4.6": {"input": 5.00, "output": 25.00},
7
+ "gemini-3.1-pro-preview": {"input": 1.25, "output": 5.00},
8
+ "gpt-5.3-codex": {"input": 3.00, "output": 12.00},
9
+ "mistral-large-3": {"input": 2.00, "output": 6.00},
10
+ "deepseek-reasoner": {"input": 0.55, "output": 2.19},
11
+ "glm-5": {"input": 0.50, "output": 2.00},
12
+ "grok-4-1-fast-reasoning": {"input": 5.00, "output": 15.00},
13
+ "qwen3.5-plus": {"input": 1.60, "output": 6.40},
14
+ "composer-1.5": {"input": 0.005, "output": 0.015},
15
+ "minimax-m2.5": {"input": 0.50, "output": 2.00},
16
+ "kimi-code/kimi-for-coding": {"input": 0.50, "output": 2.00},
17
+ "amp": {"input": 0.005, "output": 0.015},
18
+
19
+ "_comment_standard": "Standard tier models",
20
+ "sonnet-4.6": {"input": 3.00, "output": 15.00},
21
+ "gemini-3-flash-preview": {"input": 0.075, "output": 0.30},
22
+ "gpt-5.3": {"input": 2.50, "output": 10.00},
23
+ "mistral-medium-latest": {"input": 0.0027, "output": 0.0081},
24
+ "deepseek-v3.2": {"input": 0.27, "output": 1.10},
25
+ "grok-3": {"input": 3.00, "output": 9.00},
26
+ "minimax-m2.1": {"input": 0.30, "output": 1.50},
27
+
28
+ "_comment_economy": "Economy tier models",
29
+ "haiku-4.5": {"input": 0.001, "output": 0.005},
30
+ "gemini-2.0-flash": {"input": 0.0001, "output": 0.0004},
31
+ "gpt-4o-mini": {"input": 0.00015, "output": 0.0006},
32
+ "devstral-small-2": {"input": 0.001, "output": 0.003},
33
+ "deepseek-chat": {"input": 0.001, "output": 0.002},
34
+ "glm-4-flash": {"input": 0.001, "output": 0.003},
35
+ "grok-3-mini": {"input": 1.00, "output": 3.00},
36
+ "qwen3-32b": {"input": 0.40, "output": 1.60},
37
+ "minimax-m2.5-highspeed": {"input": 0.20, "output": 1.00},
38
+
39
+ "_comment_legacy": "Legacy models for backwards compatibility",
40
+ "claude-opus-4-5-20251124": {"input": 5.00, "output": 25.00},
41
+ "claude-sonnet-4-5-20251124": {"input": 3.00, "output": 15.00},
42
+ "claude-3-5-haiku-20241022": {"input": 0.001, "output": 0.005},
43
+ "gpt-5.2-codex": {"input": 3.00, "output": 12.00},
44
+ "gpt-5.2": {"input": 2.50, "output": 10.00},
45
+ "gpt-4": {"input": 0.03, "output": 0.06},
46
+ "gpt-4-turbo": {"input": 0.01, "output": 0.03},
47
+ "gpt-4o": {"input": 0.005, "output": 0.015},
48
+ "o1": {"input": 0.015, "output": 0.06},
49
+ "o3": {"input": 0.015, "output": 0.06},
50
+ "claude-3-opus": {"input": 0.015, "output": 0.075},
51
+ "claude-3-sonnet": {"input": 0.003, "output": 0.015},
52
+ "claude-3-haiku": {"input": 0.00025, "output": 0.00125},
53
+ "mistral-large": {"input": 0.004, "output": 0.012},
54
+ "mistral-medium": {"input": 0.0027, "output": 0.0081},
55
+ "mistral-small": {"input": 0.001, "output": 0.003},
56
+ "glm-4.7": {"input": 0.50, "output": 2.00},
57
+ "qwen3-max": {"input": 1.60, "output": 6.40},
58
+ "qwen3-235b-a22b": {"input": 0.80, "output": 3.20},
59
+ "kilo": {"input": 0.002, "output": 0.006},
60
+ "cursor": {"input": 0.005, "output": 0.015},
61
+ "qwen-max": {"input": 0.004, "output": 0.012},
62
+ "qwen-plus": {"input": 0.002, "output": 0.006},
63
+ "qwen-turbo": {"input": 0.0008, "output": 0.002},
64
+ "glm-4": {"input": 0.003, "output": 0.009},
65
+ "glm-3-turbo": {"input": 0.001, "output": 0.003},
66
+ "grok-beta": {"input": 0.005, "output": 0.015},
67
+ "grok-2": {"input": 0.01, "output": 0.03},
68
+ "deepseek-coder": {"input": 0.001, "output": 0.002}
69
+ },
70
+ "consultant_fallbacks": {
71
+ "_comment": "Premium defaults - Updated March 2026",
72
+ "claude": "opus-4.6",
73
+ "gemini": "gemini-3.1-pro-preview",
74
+ "codex": "gpt-5.3-codex",
75
+ "mistral": "mistral-large-3",
76
+ "deepseek": "deepseek-reasoner",
77
+ "glm": "glm-5",
78
+ "grok": "grok-4-1-fast-reasoning",
79
+ "qwen3": "qwen3.5-plus",
80
+ "aider": "gpt-5.3-codex",
81
+ "kilo": "auto",
82
+ "cursor": "composer-1.5",
83
+ "amp": "amp",
84
+ "kimi": "kimi-code/kimi-for-coding",
85
+ "minimax": "minimax-m2.5",
86
+ "ollama": "qwen2.5-coder:32b"
87
+ },
88
+ "model_tiers": {
89
+ "_comment": "Model tiers for apply_model_tier() function",
90
+ "premium": {
91
+ "claude": "opus-4.6",
92
+ "gemini": "gemini-3.1-pro-preview",
93
+ "codex": "gpt-5.3-codex",
94
+ "mistral": "mistral-large-3",
95
+ "deepseek": "deepseek-reasoner",
96
+ "glm": "glm-5",
97
+ "grok": "grok-4-1-fast-reasoning",
98
+ "qwen3": "qwen3.5-plus",
99
+ "aider": "gpt-5.3-codex",
100
+ "kilo": "auto",
101
+ "cursor": "composer-1.5",
102
+ "amp": "amp",
103
+ "kimi": "kimi-code/kimi-for-coding",
104
+ "minimax": "minimax-m2.5",
105
+ "ollama": "qwen2.5-coder:32b"
106
+ },
107
+ "standard": {
108
+ "claude": "sonnet-4.6",
109
+ "gemini": "gemini-3-flash-preview",
110
+ "codex": "gpt-5.3",
111
+ "mistral": "mistral-medium-latest",
112
+ "deepseek": "deepseek-v3.2",
113
+ "glm": "glm-5",
114
+ "grok": "grok-3",
115
+ "qwen3": "qwen3.5-plus",
116
+ "aider": "gpt-5.3",
117
+ "kilo": "auto",
118
+ "cursor": "composer-1.5",
119
+ "amp": "amp",
120
+ "kimi": "kimi-code/kimi-for-coding",
121
+ "minimax": "minimax-m2.1",
122
+ "ollama": "llama3.3"
123
+ },
124
+ "economy": {
125
+ "claude": "haiku-4.5",
126
+ "gemini": "gemini-2.0-flash",
127
+ "codex": "gpt-4o-mini",
128
+ "mistral": "devstral-small-2",
129
+ "deepseek": "deepseek-chat",
130
+ "glm": "glm-4-flash",
131
+ "grok": "grok-3-mini",
132
+ "qwen3": "qwen3-32b",
133
+ "aider": "gpt-4o-mini",
134
+ "kilo": "auto",
135
+ "cursor": "gemini-2.0-flash",
136
+ "amp": "amp",
137
+ "kimi": "kimi-code/kimi-for-coding",
138
+ "minimax": "minimax-m2.5-highspeed",
139
+ "ollama": "llama3.2"
140
+ }
141
+ },
142
+ "default_rate": {"input": 0.005, "output": 0.015}
143
+ }
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "ai-consultants",
3
+ "version": "2.10.1",
4
+ "description": "Multi-model AI deliberation system - query up to 15 AI consultants for coding problems",
5
+ "bin": {
6
+ "ai-consultants": "bin/ai-consultants"
7
+ },
8
+ "files": [
9
+ "bin/",
10
+ "scripts/",
11
+ "!scripts/test_functions.sh",
12
+ "templates/",
13
+ ".claude/commands/",
14
+ "SKILL.md",
15
+ "CLAUDE.md",
16
+ "docs/",
17
+ "references/"
18
+ ],
19
+ "keywords": [
20
+ "ai",
21
+ "consultants",
22
+ "multi-model",
23
+ "claude",
24
+ "gemini",
25
+ "codex",
26
+ "cli",
27
+ "deliberation",
28
+ "coding"
29
+ ],
30
+ "author": "Matteo Scurati",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/matteoscurati/ai-consultants.git"
35
+ },
36
+ "homepage": "https://github.com/matteoscurati/ai-consultants#readme",
37
+ "bugs": {
38
+ "url": "https://github.com/matteoscurati/ai-consultants/issues"
39
+ },
40
+ "os": [
41
+ "darwin",
42
+ "linux"
43
+ ],
44
+ "engines": {
45
+ "node": ">=14"
46
+ }
47
+ }
@@ -0,0 +1,141 @@
1
+ # AI Consultants - Full Configuration Reference
2
+
3
+ All configuration is done via environment variables. Set them in your shell, `.env` file, or inline before the command.
4
+
5
+ ## Defaults
6
+
7
+ ```bash
8
+ DEFAULT_PRESET=balanced # Preset when --preset not given
9
+ DEFAULT_STRATEGY=majority # Strategy when --strategy not given
10
+ ```
11
+
12
+ ## Core Features
13
+
14
+ ```bash
15
+ ENABLE_DEBATE=true # Multi-agent debate
16
+ ENABLE_SYNTHESIS=true # Automatic synthesis
17
+ ENABLE_PEER_REVIEW=false # Anonymous peer review
18
+ ENABLE_PANIC_MODE=auto # Auto-rigor for uncertainty
19
+ ENABLE_SMART_ROUTING=false # Category-based consultant selection
20
+ ENABLE_COST_TRACKING=true # Track API usage costs
21
+ ```
22
+
23
+ ## CLI/API Mode Switching (v2.6+)
24
+
25
+ Five consultants support switching between CLI and API mode. When API mode is enabled, the CLI is not used.
26
+
27
+ ```bash
28
+ GEMINI_USE_API=false # Use Google AI API instead of gemini CLI
29
+ CODEX_USE_API=false # Use OpenAI API instead of codex CLI
30
+ CLAUDE_USE_API=false # Use Anthropic API instead of claude CLI
31
+ MISTRAL_USE_API=false # Use Mistral API instead of vibe CLI
32
+ QWEN3_USE_API=false # Use qwen CLI (default) or DashScope API
33
+ ```
34
+
35
+ ### API Keys
36
+
37
+ | Agent | API Key Variable | Notes |
38
+ |-------|------------------|-------|
39
+ | Gemini | `GEMINI_API_KEY` | Google AI API key |
40
+ | Codex | `OPENAI_API_KEY` | OpenAI API key |
41
+ | Claude | `ANTHROPIC_API_KEY` | Anthropic API key |
42
+ | Mistral | `MISTRAL_API_KEY` | Mistral API key |
43
+ | Qwen3 | `QWEN3_API_KEY` | DashScope API key |
44
+
45
+ ## Consultant Toggles and Models
46
+
47
+ ```bash
48
+ # Consultants enabled by default
49
+ ENABLE_GEMINI=true
50
+ ENABLE_CODEX=true
51
+ ENABLE_MISTRAL=true
52
+ ENABLE_KILO=true
53
+ ENABLE_CURSOR=true
54
+ ENABLE_AIDER=true
55
+
56
+ # Opt-in consultants
57
+ ENABLE_AMP=false # Amp CLI - The Systems Thinker
58
+ ENABLE_KIMI=false # Kimi CLI - The Eastern Sage
59
+ ENABLE_QWEN3=false # Qwen CLI/API - The Analyst
60
+ ENABLE_CLAUDE=false # Claude CLI - The Synthesizer
61
+ ENABLE_OLLAMA=false # Ollama - The Local Expert
62
+ ENABLE_MINIMAX=false # MiniMax API - The Pragmatic Optimizer
63
+
64
+ # API-only consultants
65
+ ENABLE_GLM=false
66
+ ENABLE_GROK=false
67
+ ENABLE_DEEPSEEK=false
68
+ ```
69
+
70
+ ### Model Overrides
71
+
72
+ ```bash
73
+ GEMINI_MODEL=gemini-3.1-pro-preview
74
+ CODEX_MODEL=gpt-5.3-codex
75
+ CLAUDE_MODEL=opus-4.6
76
+ MISTRAL_MODEL=mistral-large-3
77
+ KILO_MODEL=auto
78
+ CURSOR_MODEL=composer-1.5
79
+ AIDER_MODEL=gpt-5.3-codex
80
+ AMP_MODEL=amp
81
+ KIMI_MODEL=kimi-code/kimi-for-coding
82
+ QWEN3_MODEL=qwen3.5-plus
83
+ GLM_MODEL=glm-5
84
+ GROK_MODEL=grok-4-1-fast-reasoning
85
+ DEEPSEEK_MODEL=deepseek-reasoner
86
+ MINIMAX_MODEL=MiniMax-M2.5
87
+ OLLAMA_MODEL=qwen2.5-coder:32b
88
+ ```
89
+
90
+ ## Model Quality Tiers (v2.5)
91
+
92
+ ```bash
93
+ # Set all consultants to a tier programmatically
94
+ source scripts/config.sh
95
+ apply_model_tier "premium" # Latest flagship models
96
+ apply_model_tier "standard" # Good quality at reasonable cost
97
+ apply_model_tier "economy" # Optimized for speed and low cost
98
+ ```
99
+
100
+ ## Ollama (Local Models)
101
+
102
+ ```bash
103
+ ENABLE_OLLAMA=true
104
+ OLLAMA_MODEL=qwen2.5-coder:32b
105
+ OLLAMA_HOST=http://localhost:11434
106
+ OLLAMA_TIMEOUT=300
107
+ ```
108
+
109
+ ## Budget Management (v2.4)
110
+
111
+ ```bash
112
+ ENABLE_BUDGET_LIMIT=false
113
+ MAX_SESSION_COST=1.00 # Maximum cost in USD
114
+ BUDGET_ACTION=warn # warn or stop
115
+ ```
116
+
117
+ ## Caching and Optimization (v2.3)
118
+
119
+ ```bash
120
+ ENABLE_SEMANTIC_CACHE=true # Cache responses by query fingerprint
121
+ CACHE_TTL_HOURS=24 # Cache expiration
122
+ ENABLE_RESPONSE_LIMITS=false # Limit output tokens by category
123
+ ENABLE_COST_AWARE_ROUTING=false # Route simple queries to cheaper models
124
+ ENABLE_DEBATE_OPTIMIZATION=false # Skip debate if all agree
125
+ ENABLE_COMPACT_REPORT=true # Summaries only in reports
126
+ ```
127
+
128
+ ## Timeouts and Retries
129
+
130
+ ```bash
131
+ MAX_RETRIES=2
132
+ RETRY_DELAY_SECONDS=5
133
+ GEMINI_TIMEOUT=240
134
+ CODEX_TIMEOUT=180
135
+ MISTRAL_TIMEOUT=180
136
+ KILO_TIMEOUT=180
137
+ CURSOR_TIMEOUT=180
138
+ AMP_TIMEOUT=180
139
+ KIMI_TIMEOUT=180
140
+ OLLAMA_TIMEOUT=300 # Longer for local inference
141
+ ```
@@ -0,0 +1,60 @@
1
+ # AI Consultants - Reference Details
2
+
3
+ Read this file when the user asks about presets, strategies, bash usage, best practices, or known limitations.
4
+
5
+ ## Configuration Presets
6
+
7
+ | Preset | Consultants | Use Case |
8
+ |--------|-------------|----------|
9
+ | `minimal` | 2 (Gemini + Codex) | Quick questions |
10
+ | `balanced` | 4 (+Mistral +Kilo) | Standard use |
11
+ | `thorough` | 5 (+Cursor) | Comprehensive |
12
+ | `high-stakes` | All + debate | Critical decisions |
13
+ | `local` | Ollama only | Full privacy |
14
+ | `security` | Security-focused | +Debate |
15
+ | `cost-capped` | Budget-friendly | Low cost |
16
+
17
+ ## Synthesis Strategies
18
+
19
+ | Strategy | Description |
20
+ |----------|-------------|
21
+ | `majority` | Most common answer wins (default) |
22
+ | `risk_averse` | Weight conservative responses |
23
+ | `security_first` | Prioritize security |
24
+ | `cost_capped` | Prefer cheaper solutions |
25
+ | `compare_only` | No recommendation |
26
+
27
+ ## Bash Usage
28
+
29
+ ```bash
30
+ cd ~/.claude/skills/ai-consultants
31
+
32
+ # With preset
33
+ ./scripts/consult_all.sh --preset balanced "Best approach for caching?"
34
+
35
+ # With strategy
36
+ ./scripts/consult_all.sh --strategy risk_averse "Security question"
37
+
38
+ # With local model
39
+ ./scripts/consult_all.sh --preset local "Private question"
40
+ ```
41
+
42
+ ## Best Practices
43
+
44
+ ### Security
45
+
46
+ - **Never** include credentials in queries
47
+ - Use `--preset local` for sensitive code
48
+
49
+ ### Effective Queries
50
+
51
+ - Be specific about the question
52
+ - Include constraints (performance, etc.)
53
+ - Use debate for controversial decisions
54
+
55
+ ## Known Limitations
56
+
57
+ - Minimum 2 consultants required
58
+ - Smart Routing off by default
59
+ - Synthesis requires Claude CLI (fallback available)
60
+ - Estimated costs (heuristic token counting)