@softspark/ai-toolkit 2.7.1 → 2.7.2

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/CHANGELOG.md CHANGED
@@ -7,6 +7,18 @@ Versioning follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## v2.7.2 — Doc & Model-ID Consistency (2026-04-17)
11
+
12
+ ### Changed
13
+ - **Centralized Claude model IDs** — introduced `DEFAULT_CLAUDE_MODELS` dict in `scripts/_common.py` (single source of truth: `claude-opus-4-7`, `claude-sonnet-4-6`, `claude-haiku-4-5`). `scripts/generate_aider_conf.py` now imports the constant instead of hardcoding `claude-sonnet-4-6`. Next Anthropic model bump touches one file. Agent frontmatter aliases (`opus`/`sonnet`/`haiku`) stay version-free and are resolved at runtime.
14
+ - **`app/agents/ai-engineer.md`** now points to the `model-routing-patterns` skill as the single source of truth for current Claude IDs, cost tiers, and fallback chains instead of duplicating a tier table that would drift with every Anthropic release.
15
+
16
+ ### Fixed
17
+ - **`GEMINI.md` missed 5 skills from v2.7.0** — `generate:all` was not re-run before the v2.7.0 release tag, so `GEMINI.md` did not list `prompt-caching-patterns`, `json-mode-patterns`, `content-moderation-patterns`, `model-routing-patterns`, or `/mcp-builder`. Regenerated.
18
+ - **`manifest.json` stale skill counts** — `components.skills.description` and `modules.skills.description` still reported `94 skills (31 task + 31 hybrid + 32 knowledge)` instead of the current `99 skills (32 task + 31 hybrid + 36 knowledge)`. Fixed in 2 places.
19
+
20
+ ---
21
+
10
22
  ## v2.7.1 — Eject Output-Styles Fix (2026-04-17)
11
23
 
12
24
  ### Fixed
package/README.md CHANGED
@@ -10,10 +10,11 @@
10
10
 
11
11
  ---
12
12
 
13
- ## What's New in v2.7.1
13
+ ## What's New in v2.7.2
14
14
 
15
- - **`ai-toolkit eject` now copies `app/output-styles/*.md`** — pre-existing gap since output-styles were introduced: eject produced a standalone `.claude/` without any system-prompt styles, so `golden-rules`, `learning`, and `explanatory` silently dropped out after ejecting. Now eject writes `.claude/output-styles/` with all source `.md` files and reports the count in the summary line: `Ejected: N agents, N skills, N rules, N output style(s)`.
16
- - **2 new `tests/test_eject.bats` cases** covering output-styles: directory created + file count matches source + `golden-rules.md` baseline, and summary line reports correct count. Test count: 664 → 666.
15
+ - **Centralized Claude model IDs** in `scripts/_common.py` (`DEFAULT_CLAUDE_MODELS` dict). Next Anthropic model bump touches one file instead of hunting through generators.
16
+ - **`GEMINI.md` regenerated** to include 5 skills missed at v2.7.0 tag: `prompt-caching-patterns`, `json-mode-patterns`, `content-moderation-patterns`, `model-routing-patterns`, `/mcp-builder`.
17
+ - **`manifest.json` skill count corrected** — `94 skills (31/31/32)` → `99 skills (32/31/36)` in both component and module descriptions.
17
18
 
18
19
  See [CHANGELOG.md](CHANGELOG.md) for full history.
19
20
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ai-toolkit",
3
3
  "description": "Professional-grade Claude Code toolkit with persona presets, skill security auditor, expanded lifecycle hooks, experimental opt-in plugin packs, benchmark harvesting, and multi-tool support.",
4
- "version": "2.7.1",
4
+ "version": "2.7.2",
5
5
  "author": {
6
6
  "name": "SoftSpark",
7
7
  "url": "https://github.com/softspark"
@@ -64,6 +64,8 @@ AI/ML integration specialist for production systems, including RAG pipeline desi
64
64
  | Complex reasoning | Large | Claude Opus, GPT-4 |
65
65
  | Local/private | Open | Llama, Mistral |
66
66
 
67
+ For current Claude model IDs, cost tiers, and fallback chains see the `model-routing-patterns` skill — the single source of truth that gets bumped with each Anthropic release.
68
+
67
69
  ### Embedding Selection
68
70
  | Use Case | Model |
69
71
  |----------|-------|
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.7.1",
2
+ "version": "2.7.2",
3
3
  "components": {
4
4
  "agents": {
5
5
  "description": "44 specialized agents (orchestrator, backend, frontend, security, devops, etc.)",
@@ -9,7 +9,7 @@
9
9
  "tags": ["core", "agents"]
10
10
  },
11
11
  "skills": {
12
- "description": "94 skills (31 task + 31 hybrid + 32 knowledge)",
12
+ "description": "99 skills (32 task + 31 hybrid + 36 knowledge)",
13
13
  "path": "app/skills",
14
14
  "target": ".claude/skills",
15
15
  "type": "symlink",
@@ -90,7 +90,7 @@
90
90
  "default": true
91
91
  },
92
92
  "skills": {
93
- "description": "94 skills (task, hybrid, knowledge)",
93
+ "description": "99 skills (task, hybrid, knowledge)",
94
94
  "default": true
95
95
  },
96
96
  "rules-common": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softspark/ai-toolkit",
3
- "version": "2.7.1",
3
+ "version": "2.7.2",
4
4
  "description": "Professional-grade AI coding toolkit: 99 skills, 44 agents, multi-platform support (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Google Antigravity, Codex CLI, opencode), machine-enforced safety constitution, persona presets, skill security auditor, expanded lifecycle hooks, 11 plugin packs, and benchmark tooling.",
5
5
  "keywords": [
6
6
  "claude",
@@ -72,6 +72,19 @@ agents_dir: Path = app_dir / "agents"
72
72
  skills_dir: Path = app_dir / "skills"
73
73
 
74
74
 
75
+ # ---------------------------------------------------------------------------
76
+ # Default Claude model IDs (single source of truth — bump on Anthropic release)
77
+ # Consumed by generators that need to emit a concrete model string.
78
+ # Aliases like "opus"/"sonnet"/"haiku" in agent frontmatter are resolved by
79
+ # the client at runtime and do NOT need updating here.
80
+ # ---------------------------------------------------------------------------
81
+ DEFAULT_CLAUDE_MODELS: dict[str, str] = {
82
+ "opus": "claude-opus-4-7",
83
+ "sonnet": "claude-sonnet-4-6",
84
+ "haiku": "claude-haiku-4-5",
85
+ }
86
+
87
+
75
88
  # ---------------------------------------------------------------------------
76
89
  # Component filtering (for install/update)
77
90
  # ---------------------------------------------------------------------------
@@ -10,8 +10,11 @@ from pathlib import Path
10
10
 
11
11
  sys.path.insert(0, str(Path(__file__).resolve().parent))
12
12
 
13
+ from _common import DEFAULT_CLAUDE_MODELS
14
+
13
15
 
14
16
  def main() -> None:
17
+ default_model = DEFAULT_CLAUDE_MODELS["sonnet"]
15
18
  print("# Aider configuration generated by ai-toolkit")
16
19
  print("# Regenerate using: ai-toolkit install --local")
17
20
  print()
@@ -34,8 +37,8 @@ def main() -> None:
34
37
  print(' - "go: go vet"')
35
38
  print()
36
39
  print("# Model configuration")
37
- print("model: claude-sonnet-4-6")
38
- print("editor-model: claude-sonnet-4-6")
40
+ print(f"model: {default_model}")
41
+ print(f"editor-model: {default_model}")
39
42
  print()
40
43
  print("# Auto-commit message formatting (matches our conventional commits)")
41
44
  print(