ai-consultants 2.10.1 → 2.10.3

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.md CHANGED
@@ -6,7 +6,7 @@ AI Consultants is a multi-model AI deliberation system that queries up to 15 AI
6
6
 
7
7
  **Self-Exclusion**: The invoking agent is automatically excluded from the panel to prevent self-consultation. Claude Code won't query Claude, Codex CLI won't query Codex, etc.
8
8
 
9
- **Version**: 2.10.1
9
+ **Version**: 2.10.3
10
10
 
11
11
  ## Distribution
12
12
 
@@ -63,6 +63,12 @@ ai-consultants/
63
63
  ├── references/
64
64
  │ ├── configuration.md # Full configuration reference
65
65
  │ └── details.md # Presets, strategies, best practices
66
+ ├── docs/
67
+ │ ├── releases/ # Release notes (one per version)
68
+ │ ├── SETUP.md # Installation guide
69
+ │ ├── COST_RATES.md # Model pricing
70
+ │ ├── SMART_ROUTING.md # Affinity matrix
71
+ │ └── JSON_SCHEMA.md # Output schema
66
72
  └── templates/
67
73
  └── synthesis_prompt.md # Synthesis prompt
68
74
  ```
@@ -452,11 +458,11 @@ All consultants now use premium models by default:
452
458
  | Cursor | composer-1.5 |
453
459
  | DeepSeek | deepseek-reasoner |
454
460
  | GLM | glm-5 |
455
- | Grok | grok-4-1-fast-reasoning |
461
+ | Grok | grok-4.20-0309-reasoning |
456
462
  | Qwen3 | qwen3.5-plus |
457
463
  | Kimi | kimi-code/kimi-for-coding |
458
464
  | Aider | gpt-5.3-codex |
459
- | MiniMax | MiniMax-M2.5 |
465
+ | MiniMax | MiniMax-M2.7 |
460
466
  | Kilo | auto |
461
467
  | Ollama | qwen2.5-coder:32b |
462
468
 
@@ -667,7 +673,7 @@ for f in scripts/*.sh scripts/lib/*.sh; do bash -n "$f" && echo "OK: $f"; done
667
673
  | `KIMI_MODEL` | kimi-code/kimi-for-coding | Kimi model (v2.9) |
668
674
  | `ENABLE_MINIMAX` | false | Enable MiniMax consultant (v2.10) |
669
675
  | `MINIMAX_API_KEY` | - | MiniMax API key (v2.10) |
670
- | `MINIMAX_MODEL` | MiniMax-M2.5 | MiniMax model (v2.10) |
676
+ | `MINIMAX_MODEL` | MiniMax-M2.7 | MiniMax model (v2.10) |
671
677
 
672
678
  ## External Dependencies
673
679
 
@@ -722,8 +728,88 @@ For detailed information, see:
722
728
  - Use `.env.example` as template for environment configuration
723
729
  - Run `./scripts/doctor.sh` to verify configuration
724
730
 
731
+ ## Release Process
732
+
733
+ Every version bump **must** include a release note in `docs/releases/v<VERSION>.md`. Use the template below.
734
+
735
+ ### Steps
736
+
737
+ 1. Update version in all files: `package.json`, `SKILL.md` (frontmatter + title), `README.md` (title + badge), `CLAUDE.md` (`**Version**`), `docs/cost_rates.json`, `docs/COST_RATES.md` (title)
738
+ 2. Add changelog entry in CLAUDE.md under `## Changelog`
739
+ 3. Create `docs/releases/v<VERSION>.md` using the template below
740
+ 4. Commit, push, and optionally create a GitHub release pointing to the release note
741
+
742
+ ### Release Note Template
743
+
744
+ ```markdown
745
+ # Release v<VERSION>
746
+
747
+ **Date:** <YYYY-MM-DD>
748
+ **Type:** <Major | Minor | Patch> — <one-line summary>
749
+ **Previous:** v<PREVIOUS_VERSION>
750
+
751
+ ## Highlights
752
+
753
+ - <3-5 bullet points with the most impactful changes>
754
+
755
+ ## What's New
756
+
757
+ ### <Feature/Area 1>
758
+
759
+ <Description of what changed and why. Include tables for multi-item changes.>
760
+
761
+ ### <Feature/Area 2>
762
+
763
+ <Description.>
764
+
765
+ ## Breaking Changes
766
+
767
+ <List breaking changes, or "None" if backwards-compatible.>
768
+
769
+ ## Upgrade Guide
770
+
771
+ \`\`\`bash
772
+ # If installed via git clone
773
+ cd ~/.claude/skills/ai-consultants && git pull
774
+
775
+ # If installed via curl | bash
776
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
777
+ \`\`\`
778
+
779
+ <Note any configuration changes required, or "No configuration changes required.">
780
+
781
+ ## Commits
782
+
783
+ - \`<hash>\` <commit message>
784
+
785
+ ## Contributors
786
+
787
+ - <list>
788
+ ```
789
+
790
+ ### Guidelines
791
+
792
+ - **Audience**: Developers who use the skill. Write for someone who hasn't seen the commits.
793
+ - **Highlights first**: Lead with impact, not implementation. "Debate rounds no longer crash on Linux" > "Added `|| true` to `((count++))` in debate_round.sh".
794
+ - **Breaking changes prominent**: If any exist, they go in a dedicated section — never buried in a bullet list.
795
+ - **Quantify when possible**: Token savings percentages, issue counts, file counts.
796
+ - **Upgrade guide always present**: Even if the answer is "just pull", make it explicit.
797
+ - **No internal jargon**: Avoid referencing issue tracker IDs or internal codenames without context.
798
+
725
799
  ## Changelog
726
800
 
801
+ ### v2.10.3
802
+ - Grok premium model upgraded to `grok-4.20-0309-reasoning` (replaces `grok-4-1-fast-reasoning`)
803
+ - GLM API endpoint migrated from `open.bigmodel.cn` to `api.z.ai/api/coding/paas/v4`
804
+ - Removed non-functional MiniMax highspeed models (`MiniMax-M2.7-highspeed`, `MiniMax-M2.5-highspeed`)
805
+ - Removed legacy `grok-beta` from cost catalog
806
+ - Fixed GLM URL fallback in `common.sh` and `configure.sh` (were still using old endpoint)
807
+ - Fixed duplicate `minimax-m2.5` entry with conflicting rates in `cost_rates.json`
808
+
809
+ ### v2.10.2
810
+ - MiniMax M2.7 upgrade: premium/standard now use MiniMax-M2.7, economy uses MiniMax-M2.5
811
+ - Model tiers: premium (MiniMax-M2.7), standard (MiniMax-M2.7), economy (MiniMax-M2.5)
812
+
727
813
  ### v2.10.1
728
814
  - Slash command quality improvements: file context handling, result presentation templates, error recovery guidance
729
815
  - debate_round.sh hardening: Amp/Kimi/MiniMax case entries, `((count++)) || true` fixes, `*` default case, stderr to `.err` files, ROUND_NUMBER validation
@@ -734,7 +820,7 @@ For detailed information, see:
734
820
  - MiniMax M2.5 API support via OpenAI-compatible endpoint
735
821
  - New consultant: MiniMax with "The Pragmatic Optimizer" persona (ID: 21)
736
822
  - New environment variables: `ENABLE_MINIMAX`, `MINIMAX_API_KEY`, `MINIMAX_MODEL`, `MINIMAX_API_URL`
737
- - Model tiers: premium (MiniMax-M2.5), standard (MiniMax-M2.1), economy (MiniMax-M2.5-highspeed)
823
+ - Model tiers: premium (MiniMax-M2.5), standard (MiniMax-M2.1), economy (MiniMax-M2.5)
738
824
  - npx distribution: `npx ai-consultants "question"` (zero dependencies)
739
825
  - New `bin/ai-consultants` wrapper with symlink resolution and subcommand routing
740
826
  - Now supports 15 consultants total
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # AI Consultants v2.10.1
1
+ # AI Consultants v2.10.3
2
2
 
3
3
  > Query multiple AI models simultaneously for expert opinions on coding questions. Get diverse perspectives, automatic synthesis, confidence-weighted recommendations, and multi-agent debate.
4
4
 
5
- [![Version](https://img.shields.io/badge/version-2.10.1-blue.svg)](https://github.com/matteoscurati/ai-consultants)
5
+ [![Version](https://img.shields.io/badge/version-2.10.3-blue.svg)](https://github.com/matteoscurati/ai-consultants)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
  [![Claude Code Skill](https://img.shields.io/badge/Claude%20Code-Skill-orange.svg)](https://docs.anthropic.com/en/docs/claude-code/skills)
8
8
  [![GitHub stars](https://img.shields.io/github/stars/matteoscurati/ai-consultants?style=social)](https://github.com/matteoscurati/ai-consultants)
@@ -421,9 +421,9 @@ INVOKING_AGENT=codex ./scripts/consult_all.sh "Question" # Codex excluded
421
421
  |------------|---------------|---------|-------|
422
422
  | **Qwen3** | qwen3.5-plus | The Analyst | Data-driven analysis |
423
423
  | **GLM** | glm-5 | The Methodologist | Structured approaches |
424
- | **Grok** | grok-4-1-fast-reasoning | The Provocateur | Challenge conventions |
424
+ | **Grok** | grok-4.20-0309-reasoning | The Provocateur | Challenge conventions |
425
425
  | **DeepSeek** | deepseek-reasoner | The Code Specialist | Algorithms, code generation |
426
- | **MiniMax** | MiniMax-M2.5 | The Pragmatic Optimizer | Performance, efficiency, pragmatism |
426
+ | **MiniMax** | MiniMax-M2.7 | The Pragmatic Optimizer | Performance, efficiency, pragmatism |
427
427
 
428
428
  ### Local Consultants
429
429
 
@@ -478,10 +478,10 @@ Choose the right balance of quality, speed, and cost with model quality tiers.
478
478
  | Cursor | composer-1.5 | composer-1.5 | gemini-2.0-flash |
479
479
  | DeepSeek | deepseek-reasoner | deepseek-v3.2 | deepseek-chat |
480
480
  | GLM | glm-5 | glm-5 | glm-4-flash |
481
- | Grok | grok-4-1-fast-reasoning | grok-3 | grok-3-mini |
481
+ | Grok | grok-4.20-0309-reasoning | grok-3 | grok-3-mini |
482
482
  | Qwen3 | qwen3.5-plus | qwen3.5-plus | qwen3-32b |
483
483
  | Aider | gpt-5.3-codex | gpt-5.3 | gpt-4o-mini |
484
- | MiniMax | MiniMax-M2.5 | MiniMax-M2.1 | MiniMax-M2.5-highspeed |
484
+ | MiniMax | MiniMax-M2.7 | MiniMax-M2.7 | MiniMax-M2.5 |
485
485
  | Ollama | qwen2.5-coder:32b | llama3.3 | llama3.2 |
486
486
 
487
487
  ### Usage
package/SKILL.md CHANGED
@@ -5,10 +5,10 @@ license: MIT
5
5
  compatibility: Requires bash, jq, and at least 2 AI CLI tools (gemini, codex, vibe, etc.). macOS and Linux.
6
6
  metadata:
7
7
  author: matteoscurati
8
- version: 2.10.1
8
+ version: 2.10.3
9
9
  ---
10
10
 
11
- # AI Consultants v2.10.1 - AI Expert Panel
11
+ # AI Consultants v2.10.3 - AI Expert Panel
12
12
 
13
13
  Simultaneously consult multiple AIs as "consultants" for coding questions. Each consultant has a **configurable persona** that influences their response style.
14
14
 
@@ -1,4 +1,4 @@
1
- # Cost Rates - AI Consultants v2.10.1
1
+ # Cost Rates - AI Consultants v2.10.3
2
2
 
3
3
  This page documents the per-token rates used by the cost tracking system.
4
4
 
@@ -36,14 +36,13 @@ Since v2.5, models are organized into three tiers. Use `apply_model_tier()` or `
36
36
  | deepseek-chat | Economy | $0.001 | DeepSeek |
37
37
  | glm-5 | Premium/Standard | $0.002 | GLM |
38
38
  | glm-4-flash | Economy | $0.0005 | GLM |
39
- | grok-4-1-fast-reasoning | Premium | $0.005 | Grok |
39
+ | grok-4.20-0309-reasoning | Premium | $0.005 | Grok |
40
40
  | grok-3 | Standard | $0.003 | Grok |
41
41
  | grok-3-mini | Economy | $0.001 | Grok |
42
42
  | qwen3.5-plus | Premium/Standard | $0.002 | Qwen3 |
43
43
  | qwen3-32b | Economy | $0.0005 | Qwen3 |
44
- | MiniMax-M2.5 | Premium | $0.002 | MiniMax |
45
- | MiniMax-M2.1 | Standard | $0.0015 | MiniMax |
46
- | MiniMax-M2.5-highspeed | Economy | $0.001 | MiniMax |
44
+ | MiniMax-M2.7 | Premium/Standard | $0.002 | MiniMax |
45
+ | MiniMax-M2.5 | Economy | $0.0015 | MiniMax |
47
46
  | kimi-code/kimi-for-coding | Premium/Standard | $0.002 | Kimi |
48
47
  | auto | All | $0.002 | Kilo (internal routing) |
49
48
  | default | - | $0.005 | Fallback |
@@ -70,14 +69,13 @@ Since v2.5, models are organized into three tiers. Use `apply_model_tier()` or `
70
69
  | deepseek-chat | Economy | $0.003 | DeepSeek |
71
70
  | glm-5 | Premium/Standard | $0.006 | GLM |
72
71
  | glm-4-flash | Economy | $0.0015 | GLM |
73
- | grok-4-1-fast-reasoning | Premium | $0.015 | Grok |
72
+ | grok-4.20-0309-reasoning | Premium | $0.015 | Grok |
74
73
  | grok-3 | Standard | $0.009 | Grok |
75
74
  | grok-3-mini | Economy | $0.003 | Grok |
76
75
  | qwen3.5-plus | Premium/Standard | $0.006 | Qwen3 |
77
76
  | qwen3-32b | Economy | $0.0015 | Qwen3 |
78
- | MiniMax-M2.5 | Premium | $0.006 | MiniMax |
79
- | MiniMax-M2.1 | Standard | $0.004 | MiniMax |
80
- | MiniMax-M2.5-highspeed | Economy | $0.003 | MiniMax |
77
+ | MiniMax-M2.7 | Premium/Standard | $0.006 | MiniMax |
78
+ | MiniMax-M2.5 | Economy | $0.004 | MiniMax |
81
79
  | kimi-code/kimi-for-coding | Premium/Standard | $0.006 | Kimi |
82
80
  | auto | All | $0.006 | Kilo |
83
81
  | default | - | $0.015 | Fallback |
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.10.1",
2
+ "version": "2.10.3",
3
3
  "updated": "2026-03-04",
4
4
  "models": {
5
5
  "_comment_premium": "Premium tier models - March 2026",
@@ -9,10 +9,10 @@
9
9
  "mistral-large-3": {"input": 2.00, "output": 6.00},
10
10
  "deepseek-reasoner": {"input": 0.55, "output": 2.19},
11
11
  "glm-5": {"input": 0.50, "output": 2.00},
12
- "grok-4-1-fast-reasoning": {"input": 5.00, "output": 15.00},
12
+ "grok-4.20-0309-reasoning": {"input": 5.00, "output": 15.00},
13
13
  "qwen3.5-plus": {"input": 1.60, "output": 6.40},
14
14
  "composer-1.5": {"input": 0.005, "output": 0.015},
15
- "minimax-m2.5": {"input": 0.50, "output": 2.00},
15
+ "minimax-m2.7": {"input": 0.50, "output": 2.00},
16
16
  "kimi-code/kimi-for-coding": {"input": 0.50, "output": 2.00},
17
17
  "amp": {"input": 0.005, "output": 0.015},
18
18
 
@@ -23,7 +23,6 @@
23
23
  "mistral-medium-latest": {"input": 0.0027, "output": 0.0081},
24
24
  "deepseek-v3.2": {"input": 0.27, "output": 1.10},
25
25
  "grok-3": {"input": 3.00, "output": 9.00},
26
- "minimax-m2.1": {"input": 0.30, "output": 1.50},
27
26
 
28
27
  "_comment_economy": "Economy tier models",
29
28
  "haiku-4.5": {"input": 0.001, "output": 0.005},
@@ -34,7 +33,7 @@
34
33
  "glm-4-flash": {"input": 0.001, "output": 0.003},
35
34
  "grok-3-mini": {"input": 1.00, "output": 3.00},
36
35
  "qwen3-32b": {"input": 0.40, "output": 1.60},
37
- "minimax-m2.5-highspeed": {"input": 0.20, "output": 1.00},
36
+ "minimax-m2.5": {"input": 0.30, "output": 1.50},
38
37
 
39
38
  "_comment_legacy": "Legacy models for backwards compatibility",
40
39
  "claude-opus-4-5-20251124": {"input": 5.00, "output": 25.00},
@@ -63,9 +62,9 @@
63
62
  "qwen-turbo": {"input": 0.0008, "output": 0.002},
64
63
  "glm-4": {"input": 0.003, "output": 0.009},
65
64
  "glm-3-turbo": {"input": 0.001, "output": 0.003},
66
- "grok-beta": {"input": 0.005, "output": 0.015},
67
65
  "grok-2": {"input": 0.01, "output": 0.03},
68
- "deepseek-coder": {"input": 0.001, "output": 0.002}
66
+ "deepseek-coder": {"input": 0.001, "output": 0.002},
67
+ "minimax-m2.1": {"input": 0.30, "output": 1.50}
69
68
  },
70
69
  "consultant_fallbacks": {
71
70
  "_comment": "Premium defaults - Updated March 2026",
@@ -75,14 +74,14 @@
75
74
  "mistral": "mistral-large-3",
76
75
  "deepseek": "deepseek-reasoner",
77
76
  "glm": "glm-5",
78
- "grok": "grok-4-1-fast-reasoning",
77
+ "grok": "grok-4.20-0309-reasoning",
79
78
  "qwen3": "qwen3.5-plus",
80
79
  "aider": "gpt-5.3-codex",
81
80
  "kilo": "auto",
82
81
  "cursor": "composer-1.5",
83
82
  "amp": "amp",
84
83
  "kimi": "kimi-code/kimi-for-coding",
85
- "minimax": "minimax-m2.5",
84
+ "minimax": "minimax-m2.7",
86
85
  "ollama": "qwen2.5-coder:32b"
87
86
  },
88
87
  "model_tiers": {
@@ -94,14 +93,14 @@
94
93
  "mistral": "mistral-large-3",
95
94
  "deepseek": "deepseek-reasoner",
96
95
  "glm": "glm-5",
97
- "grok": "grok-4-1-fast-reasoning",
96
+ "grok": "grok-4.20-0309-reasoning",
98
97
  "qwen3": "qwen3.5-plus",
99
98
  "aider": "gpt-5.3-codex",
100
99
  "kilo": "auto",
101
100
  "cursor": "composer-1.5",
102
101
  "amp": "amp",
103
102
  "kimi": "kimi-code/kimi-for-coding",
104
- "minimax": "minimax-m2.5",
103
+ "minimax": "minimax-m2.7",
105
104
  "ollama": "qwen2.5-coder:32b"
106
105
  },
107
106
  "standard": {
@@ -118,7 +117,7 @@
118
117
  "cursor": "composer-1.5",
119
118
  "amp": "amp",
120
119
  "kimi": "kimi-code/kimi-for-coding",
121
- "minimax": "minimax-m2.1",
120
+ "minimax": "minimax-m2.7",
122
121
  "ollama": "llama3.3"
123
122
  },
124
123
  "economy": {
@@ -135,7 +134,7 @@
135
134
  "cursor": "gemini-2.0-flash",
136
135
  "amp": "amp",
137
136
  "kimi": "kimi-code/kimi-for-coding",
138
- "minimax": "minimax-m2.5-highspeed",
137
+ "minimax": "minimax-m2.5",
139
138
  "ollama": "llama3.2"
140
139
  }
141
140
  },
@@ -0,0 +1,84 @@
1
+ # Release v2.10.1
2
+
3
+ **Date:** 2026-03-15
4
+ **Type:** Patch — quality improvements, bug fixes, documentation
5
+ **Previous:** v2.10.0
6
+
7
+ ## Highlights
8
+
9
+ - Slash commands now guide Claude through file reading, result presentation, and error recovery
10
+ - `debate_round.sh` hardened against 9 classes of silent failures
11
+ - Token usage reduced ~17% on typical invocations via progressive disclosure
12
+
13
+ ## What's New
14
+
15
+ ### Slash Command Quality (P0-P2)
16
+
17
+ The `/ai-consultants:consult` and `/ai-consultants:debate` commands were fully rewritten to solve three runtime problems identified by skill evaluation:
18
+
19
+ - **File context handling**: When users pass file paths (e.g., `/consult "Review this" src/auth.ts`), Claude now reads each file with the Read tool and inlines the contents into the query before calling the script. This fixes the broken `$ARGUMENTS` single-string quoting issue.
20
+ - **Result presentation**: Claude now reads `report.md` and `synthesis.json` from the output directory and presents structured results (consensus, summary table, recommendation, agreements, disagreements, risks, next steps).
21
+ - **Error recovery**: Actionable guidance for exit code 1 (→ `doctor.sh`), exit code 124 (→ `--preset fast`), partial failures, and empty output.
22
+
23
+ ### debate_round.sh Hardening
24
+
25
+ Nine issues fixed, including 4 critical:
26
+
27
+ | Severity | Fix | Impact |
28
+ |----------|-----|--------|
29
+ | CRITICAL | `((count++)) \|\| true` (4 instances) | Script no longer aborts on bash 4+/5+ (Linux) |
30
+ | CRITICAL | `*` default case in consultant routing | Future consultants no longer silently ignored |
31
+ | CRITICAL | Amp, Kimi, MiniMax case entries added | All 15 consultants can now participate in debate |
32
+ | HIGH | Subshell stderr → per-consultant `.err` files | Query failures now produce diagnostic logs |
33
+ | HIGH | `$my_response` JSON validation + fallback | Corrupt responses no longer break debate prompts |
34
+ | MEDIUM | Wait loop logs which consultant failed | Users see which consultant failed, not just count |
35
+ | MEDIUM | ROUND_NUMBER integer validation | Non-integer input rejected with clear error |
36
+ | MEDIUM | Config source warning instead of silent suppression | `config.sh` load failures now visible |
37
+ | LOW | Temp file cleanup on jq failure | No more orphaned files in `/tmp` |
38
+
39
+ ### Token Efficiency
40
+
41
+ | File | Before | After | Savings |
42
+ |------|--------|-------|---------|
43
+ | SKILL.md | ~2138 tokens | ~1773 tokens | -17% |
44
+ | help.md (x3) | ~1084 tokens | ~251 tokens | -77% |
45
+
46
+ Content moved to `references/details.md` for on-demand loading. Presets, strategies, bash usage, and best practices are no longer loaded on every invocation.
47
+
48
+ ### Documentation Audit
49
+
50
+ 18 issues fixed across 11 files:
51
+
52
+ - **Consultant completeness**: Kimi added to README.md, SETUP.md, JSON_SCHEMA.md, SMART_ROUTING.md, COST_RATES.md, schema.json. MiniMax added where missing.
53
+ - **Version consistency**: Headers updated from v2.8 to v2.10 in JSON_SCHEMA.md and SMART_ROUTING.md
54
+ - **Stale defaults fixed**: OLLAMA_MODEL (`llama3.2` → `qwen2.5-coder:32b`), QWEN3_USE_API (`true` → `false`), DEBATE_CONFIDENCE_SPREAD_THRESHOLD (`2` → `3`)
55
+ - **Path corrections**: `lib/debate_round.sh` → `debate_round.sh` in CLAUDE.md
56
+ - **Consultant count**: `13` → `15` throughout SETUP.md
57
+ - **Self-exclusion**: Claude's consult.md description no longer lists itself
58
+
59
+ ## Breaking Changes
60
+
61
+ None. All changes are backwards-compatible.
62
+
63
+ ## Upgrade Guide
64
+
65
+ ```bash
66
+ # If installed via git clone
67
+ cd ~/.claude/skills/ai-consultants && git pull
68
+
69
+ # If installed via curl | bash
70
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
71
+ ```
72
+
73
+ No configuration changes required.
74
+
75
+ ## Commits
76
+
77
+ - `d1c2829` feat: slash command quality improvements and debate_round.sh hardening
78
+ - `827c203` docs: token efficiency optimization and comprehensive documentation audit
79
+ - `0a3b057` chore: bump version to 2.10.1
80
+
81
+ ## Contributors
82
+
83
+ - @matteoscurati
84
+ - Claude Opus 4.6 (1M context)
@@ -0,0 +1,40 @@
1
+ # Release v2.10.2
2
+
3
+ **Date:** 2026-03-19
4
+ **Type:** Patch — MiniMax M2.7 model upgrade
5
+ **Previous:** v2.10.1
6
+
7
+ ## Highlights
8
+
9
+ - MiniMax upgraded from M2.5 to M2.7 (released 2026-03-18)
10
+ - Premium and standard tiers now use MiniMax-M2.7
11
+ - Economy tier uses MiniMax-M2.5 (previous default)
12
+ ## What's New
13
+
14
+ ### MiniMax M2.7 Model Upgrade
15
+
16
+ MiniMax released M2.7 on March 18, 2026. This patch updates all MiniMax tier assignments:
17
+
18
+ | Tier | Before (v2.10.1) | After (v2.10.2) |
19
+ |------|-------------------|------------------|
20
+ | Premium | MiniMax-M2.5 | MiniMax-M2.7 |
21
+ | Standard | MiniMax-M2.1 | MiniMax-M2.7 |
22
+ | Economy | MiniMax-M2.5-highspeed | MiniMax-M2.5 |
23
+
24
+ Default model (`MINIMAX_MODEL`) is now `MiniMax-M2.7`.
25
+
26
+ ## Breaking Changes
27
+
28
+ None.
29
+
30
+ ## Upgrade Guide
31
+
32
+ ```bash
33
+ # If installed via git clone
34
+ cd ~/.claude/skills/ai-consultants && git pull
35
+
36
+ # If installed via curl | bash
37
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
38
+ ```
39
+
40
+ No configuration changes required. Existing `MINIMAX_MODEL` overrides continue to work.
@@ -0,0 +1,63 @@
1
+ # Release v2.10.3
2
+
3
+ **Date:** 2026-03-21
4
+ **Type:** Patch — Model updates, API migration, cleanup
5
+ **Previous:** v2.10.2
6
+
7
+ ## Highlights
8
+
9
+ - Grok premium model upgraded to `grok-4.20-0309-reasoning`
10
+ - GLM API migrated from `open.bigmodel.cn` to `api.z.ai/api/coding/paas/v4`
11
+ - Removed non-functional MiniMax highspeed models
12
+ - Fixed stale GLM URL fallbacks in `common.sh` and `configure.sh`
13
+
14
+ ## What's New
15
+
16
+ ### Grok Model Upgrade
17
+
18
+ Grok premium model updated from `grok-4-1-fast-reasoning` to `grok-4.20-0309-reasoning`. Standard (`grok-3`) and economy (`grok-3-mini`) tiers remain unchanged.
19
+
20
+ | Tier | Before (v2.10.2) | After (v2.10.3) |
21
+ |------|-------------------|------------------|
22
+ | Premium | grok-4-1-fast-reasoning | grok-4.20-0309-reasoning |
23
+ | Standard | grok-3 | grok-3 |
24
+ | Economy | grok-3-mini | grok-3-mini |
25
+
26
+ ### GLM API Migration
27
+
28
+ Zhipu AI migrated their API from `open.bigmodel.cn` to `api.z.ai`. The default endpoint is now `https://api.z.ai/api/coding/paas/v4/chat/completions`. Updated in:
29
+
30
+ - `config.sh` (default)
31
+ - `common.sh` (fallback in `get_api_url()`)
32
+ - `configure.sh` (wizard URL array)
33
+ - `.env.example` (example config)
34
+
35
+ ### Removed Non-Functional Models
36
+
37
+ Removed models not supported by the current MiniMax token plan:
38
+
39
+ - `MiniMax-M2.7-highspeed`
40
+ - `MiniMax-M2.5-highspeed`
41
+ - `grok-beta` (legacy, no longer recognized by xAI API)
42
+
43
+ ### Bug Fixes
44
+
45
+ - Fixed stale GLM URL fallback in `get_api_url()` (`common.sh`) — would have routed to old endpoint if `GLM_API_URL` env var was unset
46
+ - Fixed stale GLM URL in configure wizard (`configure.sh`) — would have written old endpoint to `.env`
47
+ - Fixed duplicate `minimax-m2.5` entry in `cost_rates.json` with conflicting input rates ($0.30 vs $0.50)
48
+
49
+ ## Breaking Changes
50
+
51
+ None.
52
+
53
+ ## Upgrade Guide
54
+
55
+ ```bash
56
+ # If installed via git clone
57
+ cd ~/.claude/skills/ai-consultants && git pull
58
+
59
+ # If installed via curl | bash
60
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
61
+ ```
62
+
63
+ No configuration changes required. Existing `GROK_MODEL` and `GLM_API_URL` overrides continue to work.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-consultants",
3
- "version": "2.10.1",
3
+ "version": "2.10.3",
4
4
  "description": "Multi-model AI deliberation system - query up to 15 AI consultants for coding problems",
5
5
  "bin": {
6
6
  "ai-consultants": "bin/ai-consultants"
@@ -81,9 +81,9 @@ AMP_MODEL=amp
81
81
  KIMI_MODEL=kimi-code/kimi-for-coding
82
82
  QWEN3_MODEL=qwen3.5-plus
83
83
  GLM_MODEL=glm-5
84
- GROK_MODEL=grok-4-1-fast-reasoning
84
+ GROK_MODEL=grok-4.20-0309-reasoning
85
85
  DEEPSEEK_MODEL=deepseek-reasoner
86
- MINIMAX_MODEL=MiniMax-M2.5
86
+ MINIMAX_MODEL=MiniMax-M2.7
87
87
  OLLAMA_MODEL=qwen2.5-coder:32b
88
88
  ```
89
89
 
package/scripts/config.sh CHANGED
@@ -119,7 +119,7 @@ QWEN3_FORMAT="${QWEN3_FORMAT:-qwen}"
119
119
 
120
120
  GLM_MODEL="${GLM_MODEL:-glm-5}"
121
121
  GLM_TIMEOUT_SECONDS="${GLM_TIMEOUT:-180}"
122
- GLM_API_URL="${GLM_API_URL:-https://open.bigmodel.cn/api/paas/v4/chat/completions}"
122
+ GLM_API_URL="${GLM_API_URL:-https://api.z.ai/api/coding/paas/v4/chat/completions}"
123
123
  GLM_FORMAT="${GLM_FORMAT:-openai}"
124
124
  # API key: Set GLM_API_KEY environment variable
125
125
 
@@ -127,7 +127,7 @@ GLM_FORMAT="${GLM_FORMAT:-openai}"
127
127
  # GROK CONFIGURATION - The Provocateur (API-based)
128
128
  # =============================================================================
129
129
 
130
- GROK_MODEL="${GROK_MODEL:-grok-4-1-fast-reasoning}"
130
+ GROK_MODEL="${GROK_MODEL:-grok-4.20-0309-reasoning}"
131
131
  GROK_TIMEOUT_SECONDS="${GROK_TIMEOUT:-180}"
132
132
  GROK_API_URL="${GROK_API_URL:-https://api.x.ai/v1/chat/completions}"
133
133
  GROK_FORMAT="${GROK_FORMAT:-openai}"
@@ -147,7 +147,7 @@ DEEPSEEK_FORMAT="${DEEPSEEK_FORMAT:-openai}"
147
147
  # MINIMAX CONFIGURATION - The Pragmatic Optimizer (API-based, v2.10)
148
148
  # =============================================================================
149
149
 
150
- MINIMAX_MODEL="${MINIMAX_MODEL:-MiniMax-M2.5}"
150
+ MINIMAX_MODEL="${MINIMAX_MODEL:-MiniMax-M2.7}"
151
151
  MINIMAX_TIMEOUT_SECONDS="${MINIMAX_TIMEOUT:-180}"
152
152
  MINIMAX_API_URL="${MINIMAX_API_URL:-https://api.minimax.io/v1/chat/completions}"
153
153
  MINIMAX_FORMAT="${MINIMAX_FORMAT:-openai}"
@@ -532,13 +532,13 @@ get_model_for_tier() {
532
532
  cursor) echo "composer-1.5" ;;
533
533
  deepseek) echo "deepseek-reasoner" ;;
534
534
  glm) echo "glm-5" ;;
535
- grok) echo "grok-4-1-fast-reasoning" ;;
535
+ grok) echo "grok-4.20-0309-reasoning" ;;
536
536
  qwen3) echo "qwen3.5-plus" ;;
537
537
  aider) echo "gpt-5.3-codex" ;;
538
538
  amp) echo "amp" ;;
539
539
  ollama) echo "qwen2.5-coder:32b" ;;
540
540
  kimi) echo "kimi-code/kimi-for-coding" ;;
541
- minimax) echo "MiniMax-M2.5" ;;
541
+ minimax) echo "MiniMax-M2.7" ;;
542
542
  kilo) echo "auto" ;;
543
543
  *) echo "" ;;
544
544
  esac
@@ -558,7 +558,7 @@ get_model_for_tier() {
558
558
  amp) echo "amp" ;; # Same model (no tiers)
559
559
  ollama) echo "llama3.3" ;;
560
560
  kimi) echo "kimi-code/kimi-for-coding" ;;
561
- minimax) echo "MiniMax-M2.1" ;;
561
+ minimax) echo "MiniMax-M2.7" ;;
562
562
  kilo) echo "auto" ;;
563
563
  *) echo "" ;;
564
564
  esac
@@ -578,7 +578,7 @@ get_model_for_tier() {
578
578
  amp) echo "amp" ;; # Same model (no tiers)
579
579
  ollama) echo "llama3.2" ;;
580
580
  kimi) echo "kimi-code/kimi-for-coding" ;;
581
- minimax) echo "MiniMax-M2.5-highspeed" ;;
581
+ minimax) echo "MiniMax-M2.5" ;;
582
582
  kilo) echo "auto" ;;
583
583
  *) echo "" ;;
584
584
  esac
@@ -47,8 +47,8 @@ CLI_AGENT_PERSONAS=("The Architect" "The Pragmatist" "The Devil's Advocate" "The
47
47
  # API Agents: name|key_var|api_url|model|persona
48
48
  API_AGENT_NAMES=("Qwen3" "GLM" "Grok" "DeepSeek")
49
49
  API_AGENT_KEY_VARS=("QWEN3_API_KEY" "GLM_API_KEY" "GROK_API_KEY" "DEEPSEEK_API_KEY")
50
- API_AGENT_URLS=("https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" "https://open.bigmodel.cn/api/paas/v4/chat/completions" "https://api.x.ai/v1/chat/completions" "https://api.deepseek.com/v1/chat/completions")
51
- API_AGENT_MODELS=("qwen-max" "glm-4" "grok-4-1-fast-reasoning" "deepseek-reasoner")
50
+ API_AGENT_URLS=("https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" "https://api.z.ai/api/coding/paas/v4/chat/completions" "https://api.x.ai/v1/chat/completions" "https://api.deepseek.com/v1/chat/completions")
51
+ API_AGENT_MODELS=("qwen-max" "glm-4" "grok-4.20-0309-reasoning" "deepseek-reasoner")
52
52
  API_AGENT_PERSONAS=("The Analyst" "The Methodologist" "The Provocateur" "The Code Specialist")
53
53
 
54
54
  # State arrays (parallel to CLI_AGENT_NAMES)
@@ -771,7 +771,7 @@ QWEN3_TIMEOUT=180
771
771
  GLM_MODEL=glm-4
772
772
  GLM_TIMEOUT=180
773
773
 
774
- GROK_MODEL=grok-4-1-fast-reasoning
774
+ GROK_MODEL=grok-4.20-0309-reasoning
775
775
  GROK_TIMEOUT=180
776
776
 
777
777
  DEEPSEEK_MODEL=deepseek-reasoner
@@ -354,7 +354,7 @@ get_api_url() {
354
354
  CLAUDE) echo "${CLAUDE_API_URL:-https://api.anthropic.com/v1/messages}" ;;
355
355
  MISTRAL) echo "${MISTRAL_API_URL:-https://api.mistral.ai/v1/chat/completions}" ;;
356
356
  QWEN3) echo "${QWEN3_API_URL:-https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation}" ;;
357
- GLM) echo "${GLM_API_URL:-https://open.bigmodel.cn/api/paas/v4/chat/completions}" ;;
357
+ GLM) echo "${GLM_API_URL:-https://api.z.ai/api/coding/paas/v4/chat/completions}" ;;
358
358
  GROK) echo "${GROK_API_URL:-https://api.x.ai/v1/chat/completions}" ;;
359
359
  DEEPSEEK) echo "${DEEPSEEK_API_URL:-https://api.deepseek.com/v1/chat/completions}" ;;
360
360
  MINIMAX) echo "${MINIMAX_API_URL:-https://api.minimax.io/v1/chat/completions}" ;;
@@ -149,7 +149,7 @@ get_input_cost_per_1k() {
149
149
  glm-4) echo "0.003" ;;
150
150
  glm-3-turbo) echo "0.001" ;;
151
151
  # Grok models (xAI)
152
- grok-4-1-fast-reasoning) echo "0.005" ;;
152
+ grok-4.20-0309-reasoning) echo "0.005" ;;
153
153
  grok-2) echo "0.01" ;;
154
154
  # Default
155
155
  *) echo "0.005" ;;
@@ -196,7 +196,7 @@ get_output_cost_per_1k() {
196
196
  glm-4) echo "0.009" ;;
197
197
  glm-3-turbo) echo "0.003" ;;
198
198
  # Grok models (xAI)
199
- grok-4-1-fast-reasoning) echo "0.015" ;;
199
+ grok-4.20-0309-reasoning) echo "0.015" ;;
200
200
  grok-2) echo "0.03" ;;
201
201
  # Default
202
202
  *) echo "0.015" ;;
@@ -493,7 +493,7 @@ get_economic_model() {
493
493
  grok) echo "grok-3-mini" ;;
494
494
  deepseek) echo "deepseek-chat" ;;
495
495
 
496
- minimax) echo "MiniMax-M2.5-highspeed" ;;
496
+ minimax) echo "MiniMax-M2.5" ;;
497
497
  *) echo "" ;;
498
498
  esac
499
499
  }
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # Environment variables:
7
7
  # GROK_API_KEY - API key for xAI (required)
8
- # GROK_MODEL - Model to use (default: grok-4-1-fast-reasoning)
8
+ # GROK_MODEL - Model to use (default: grok-4.20-0309-reasoning)
9
9
  # GROK_TIMEOUT - Timeout in seconds (default: 180)
10
10
  # ENABLE_PERSONA - Enable "The Provocateur" persona (default: true)
11
11
 
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # Environment variables:
7
7
  # MINIMAX_API_KEY - API key for MiniMax (required)
8
- # MINIMAX_MODEL - Model to use (default: MiniMax-M2.5)
8
+ # MINIMAX_MODEL - Model to use (default: MiniMax-M2.7)
9
9
  # MINIMAX_TIMEOUT - Timeout in seconds (default: 180)
10
10
  # ENABLE_PERSONA - Enable "The Pragmatic Optimizer" persona (default: true)
11
11