@softspark/ai-toolkit 1.6.1 → 1.7.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.
- package/CHANGELOG.md +15 -0
- package/README.md +17 -4
- package/app/.claude-plugin/plugin.json +1 -1
- package/app/ARCHITECTURE.md +3 -0
- package/bin/ai-toolkit.js +2 -0
- package/kb/{planning/offline-slm-profile-plan.md → history/completed/offline-slm-profile-plan-20260411.md} +7 -5
- package/kb/reference/architecture-overview.md +1 -0
- package/kb/reference/skills-catalog.md +15 -0
- package/llms-full.txt +2790 -2772
- package/llms.txt +1 -1
- package/manifest.json +5 -4
- package/package.json +1 -1
- package/scripts/compile_slm.py +1043 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v1.7.0 — Offline-First SLM Compilation (2026-04-11)
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **`compile-slm` command** — compiles full toolkit (20K+ tokens) into a minimal system prompt for Small Language Models (2K-16K tokens). Supports 4 compression levels (ultra-light, light, standard, extended), 4 output formats (raw, ollama, json-string, aider), persona-aware scoring, and language-aware rule filtering. `scripts/compile_slm.py`
|
|
14
|
+
- **`offline-slm` profile** — `manifest.json` profile for offline/air-gapped installs
|
|
15
|
+
- **Post-compilation validator** — checks constitution presence, budget compliance, guard hooks, output sanity
|
|
16
|
+
- **Integration guides** — step-by-step setup for Ollama, LM Studio, Aider, Continue.dev printed after compilation
|
|
17
|
+
- **61 tests** for compile-slm (token counter, parser, compression, packer, emitter, formats, CLI, determinism, budget compliance, validator, guides)
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- **Skill counts** — synced stale count 91 → 92 across README.md (3 locations) and manifest.json
|
|
21
|
+
- **KB frontmatter validation** — `kb/history/` excluded from category-dir match (archived plans keep original category)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
10
25
|
## v1.6.1 — IDE Rule Format Compliance Audit (2026-04-10)
|
|
11
26
|
|
|
12
27
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# ai-toolkit
|
|
2
2
|
|
|
3
|
-
> Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety,
|
|
3
|
+
> Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety, 92 skills, 44 agents, expanded lifecycle hooks, persona presets, experimental opt-in plugin packs, and benchmark tooling — works with Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, and Google Antigravity, ready in 60 seconds.
|
|
4
4
|
|
|
5
5
|
[](https://github.com/softspark/ai-toolkit/actions/workflows/ci.yml)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](app/skills/)
|
|
8
8
|
[](app/agents/)
|
|
9
|
-
[](tests/)
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -21,7 +21,7 @@ ai-toolkit install
|
|
|
21
21
|
npx @softspark/ai-toolkit install
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
**That's it.** Claude Code picks up
|
|
24
|
+
**That's it.** Claude Code picks up 92 skills, 44 agents, quality hooks, and the safety constitution automatically.
|
|
25
25
|
|
|
26
26
|
### Update
|
|
27
27
|
|
|
@@ -110,6 +110,19 @@ ai-toolkit eject /path/to # export to custom directory
|
|
|
110
110
|
|
|
111
111
|
Replaces all symlinks with real files, inlines rules into CLAUDE.md, copies constitution and architecture. After eject you can `npm uninstall -g @softspark/ai-toolkit`.
|
|
112
112
|
|
|
113
|
+
### Compile for Local Models (Ollama, LM Studio, Aider)
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
ai-toolkit compile-slm # auto-detect model, default budget
|
|
117
|
+
ai-toolkit compile-slm --model-size 8b # 2K token budget for 8B models
|
|
118
|
+
ai-toolkit compile-slm --model-size 32b --lang python # 8K budget + Python rules
|
|
119
|
+
ai-toolkit compile-slm --persona backend-lead # boost backend-relevant skills
|
|
120
|
+
ai-toolkit compile-slm --format ollama # Ollama Modelfile SYSTEM block
|
|
121
|
+
ai-toolkit compile-slm --dry-run # preview what gets included
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Compiles the full toolkit (20K+ tokens) into a minimal system prompt that fits SLM context windows. Preserves safety constitution, compresses skills, and packs by value density. Supports 4 output formats: `raw`, `ollama`, `json-string`, `aider`.
|
|
125
|
+
|
|
113
126
|
---
|
|
114
127
|
|
|
115
128
|
## Platform Support
|
|
@@ -159,7 +172,7 @@ ai-toolkit/
|
|
|
159
172
|
│ │ ├── backend-specialist.md
|
|
160
173
|
│ │ ├── security-architect.md
|
|
161
174
|
│ │ └── ... (41 more)
|
|
162
|
-
│ ├── skills/ #
|
|
175
|
+
│ ├── skills/ # 92 skills (task / hybrid / knowledge)
|
|
163
176
|
│ │ ├── commit/ # /commit slash command
|
|
164
177
|
│ │ ├── review/ # /review slash command
|
|
165
178
|
│ │ ├── clean-code/ # knowledge skill (auto-loaded)
|
|
@@ -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": "1.
|
|
4
|
+
"version": "1.7.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SoftSpark",
|
|
7
7
|
"url": "https://github.com/softspark"
|
package/app/ARCHITECTURE.md
CHANGED
|
@@ -312,6 +312,9 @@ Language rules are propagated to **all configured editors** — not just Claude.
|
|
|
312
312
|
### Extension API (`inject-hook`)
|
|
313
313
|
The `inject_section_cli.py` script provides a stable marker-based injection API. Any tool can add sections to `CLAUDE.md`, `constitution.md`, or `ARCHITECTURE.md` without overwriting user content, using `<!-- TOOLKIT:START:<id> -->` / `<!-- TOOLKIT:END:<id> -->` markers.
|
|
314
314
|
|
|
315
|
+
### SLM Compilation (`compile-slm`)
|
|
316
|
+
`scripts/compile_slm.py` compiles the full toolkit (20K+ tokens) into a minimal system prompt for Small Language Models (2K-16K tokens). Pipeline: Parse → Score → Compress → Pack → Emit. Supports 4 compression levels (ultra-light, light, standard, extended), 4 output formats (raw, ollama, json-string, aider), persona-aware scoring, and language-aware rule filtering. Profile `offline-slm` in `manifest.json`. Constitution is always included (non-negotiable).
|
|
317
|
+
|
|
315
318
|
### Manifest Install (`--modules`, `--auto-detect`)
|
|
316
319
|
`manifest.json` defines all installable components as named modules. Install individual modules with `ai-toolkit install --modules <name>` or let the installer detect which language rules to add based on project files (e.g. `package.json` → `rules-typescript`, `go.mod` → `rules-golang`).
|
|
317
320
|
|
package/bin/ai-toolkit.js
CHANGED
|
@@ -48,6 +48,7 @@ const SCRIPT_COMMANDS = {
|
|
|
48
48
|
'benchmark-ecosystem': { script: 'benchmark_ecosystem.py', toolkitCwd: true },
|
|
49
49
|
'evaluate': { script: 'evaluate_skills.py', toolkitCwd: true },
|
|
50
50
|
'stats': { script: 'stats.py' },
|
|
51
|
+
'compile-slm': { script: 'compile_slm.py' },
|
|
51
52
|
};
|
|
52
53
|
|
|
53
54
|
// ---------------------------------------------------------------------------
|
|
@@ -92,6 +93,7 @@ const COMMANDS = {
|
|
|
92
93
|
'augment-dir-rules': 'Generate .augment/rules/ai-toolkit-*.md for Augment (recommended)',
|
|
93
94
|
'antigravity-rules': 'Generate .agent/rules/ and .agent/workflows/ for Google Antigravity',
|
|
94
95
|
'agents-md': 'Regenerate AGENTS.md from agent definitions',
|
|
96
|
+
'compile-slm': 'Compile toolkit into a minimal SLM system prompt (--budget, --model-size, --dry-run)',
|
|
95
97
|
'llms-txt': 'Generate llms.txt and llms-full.txt',
|
|
96
98
|
'generate-all': 'Generate all platform configs at once (agents, cursor, windsurf, copilot, gemini, cline, roo, aider, augment, antigravity, llms)',
|
|
97
99
|
help: 'Show this help message',
|
|
@@ -12,17 +12,19 @@ tags:
|
|
|
12
12
|
- context-optimization
|
|
13
13
|
- privacy
|
|
14
14
|
doc_type: plan
|
|
15
|
-
status:
|
|
15
|
+
status: completed
|
|
16
16
|
created: "2026-04-10"
|
|
17
|
-
last_updated: "2026-04-
|
|
18
|
-
completion: "
|
|
17
|
+
last_updated: "2026-04-11"
|
|
18
|
+
completion: "100%"
|
|
19
|
+
completed: "2026-04-11"
|
|
19
20
|
description: "Lightweight profile for ai-toolkit optimized for Small Language Models (SLMs) running locally via Ollama, LM Studio, or similar. Compiles a minimal instruction set that fits within 4K-8K system prompt budgets while preserving critical safety guardrails. Targets air-gapped, privacy-first, and cost-sensitive development workflows."
|
|
20
21
|
---
|
|
21
22
|
|
|
22
23
|
# Plan: Offline-First SLM Profile — Lightweight Mode for Local Models
|
|
23
24
|
|
|
24
|
-
**Status:**
|
|
25
|
-
**Completion:**
|
|
25
|
+
**Status:** Completed
|
|
26
|
+
**Completion:** 100%
|
|
27
|
+
**Completed:** 2026-04-11
|
|
26
28
|
**Created:** 2026-04-10
|
|
27
29
|
**Origin:** Enterprise IP security requirements (air-gapped environments), cost-sensitive solo developers, and the growing adoption of local models (Ollama, LM Studio, llamafile). Current toolkit emits 20K+ token system prompts that exceed SLM context windows and degrade small model performance.
|
|
28
30
|
**Estimated Effort:** 4-5 weeks (1 person)
|
|
@@ -64,6 +64,7 @@ ai-toolkit/
|
|
|
64
64
|
plugin.py # Plugin pack management (install, remove, list, status)
|
|
65
65
|
benchmark_ecosystem.py # Generates ecosystem benchmark snapshot
|
|
66
66
|
harvest_ecosystem.py # Writes machine-readable ecosystem harvest JSON
|
|
67
|
+
compile_slm.py # Compiles toolkit into minimal SLM system prompt (2K-16K tokens)
|
|
67
68
|
tests/ # Bats test suite
|
|
68
69
|
benchmarks/ # Benchmark tasks + results
|
|
69
70
|
kb/ # Knowledge base
|
|
@@ -260,6 +260,21 @@ depends-on: clean-code, api-patterns
|
|
|
260
260
|
- Reported in `evaluate_skills.py` quality metrics
|
|
261
261
|
- No runtime autoloading — Claude loads knowledge skills contextually based on topic matching
|
|
262
262
|
|
|
263
|
+
### SLM Compilation (`compile-slm`)
|
|
264
|
+
|
|
265
|
+
Compiles the full toolkit into a minimal system prompt for local Small Language Models (Ollama, LM Studio, Aider, Continue.dev). Pipeline: Parse → Score → Compress → Pack → Validate → Emit.
|
|
266
|
+
|
|
267
|
+
| Flag | Purpose |
|
|
268
|
+
|------|---------|
|
|
269
|
+
| `--model-size` | 7b/8b/14b/32b/70b — auto-selects budget + compression level |
|
|
270
|
+
| `--budget` | Token budget override (2K-16K) |
|
|
271
|
+
| `--persona` | Boost persona-relevant skills in scoring |
|
|
272
|
+
| `--lang` | Include language-specific rules |
|
|
273
|
+
| `--format` | Output: raw, ollama, json-string, aider |
|
|
274
|
+
| `--dry-run` | Preview included components + token utilization |
|
|
275
|
+
|
|
276
|
+
Profile `offline-slm` in `manifest.json` — installs core only, then compiles.
|
|
277
|
+
|
|
263
278
|
### Executable Scripts (18 total, stdlib-only, JSON output)
|
|
264
279
|
|
|
265
280
|
| Skill | Script | Purpose |
|