@softspark/ai-toolkit 4.21.0 → 4.22.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.
- package/CHANGELOG.md +103 -0
- package/README.md +40 -28
- package/app/.claude-plugin/plugin.json +1 -1
- package/app/agents/code-reviewer.md +32 -15
- package/app/skills/a11y-validate/SKILL.md +61 -179
- package/app/skills/a11y-validate/reference/scanner-categories.md +174 -0
- package/app/skills/brainstorm/SKILL.md +174 -0
- package/app/skills/brand-voice/SKILL.md +1 -1
- package/app/skills/ci/SKILL.md +2 -1
- package/app/skills/debug/SKILL.md +3 -2
- package/app/skills/deploy/SKILL.md +1 -1
- package/app/skills/explore/SKILL.md +1 -1
- package/app/skills/explore/scripts/visualize.py +15 -1
- package/app/skills/fix/SKILL.md +3 -3
- package/app/skills/hipaa-validate/SKILL.md +25 -221
- package/app/skills/hipaa-validate/reference/scanner-categories.md +224 -0
- package/app/skills/migrate/SKILL.md +1 -1
- package/app/skills/pr/SKILL.md +2 -2
- package/app/skills/review/SKILL.md +50 -5
- package/app/skills/rollback/SKILL.md +1 -1
- package/app/skills/seo-validate/SKILL.md +63 -309
- package/app/skills/seo-validate/reference/scanner-categories.md +304 -0
- package/app/surface.json +296 -0
- package/benchmarks/ecosystem-doctor-snapshot.json +15 -19
- package/kb/procedures/post-release-testing-sop.md +92 -3
- package/kb/procedures/release-preparation-sop.md +44 -2
- package/kb/reference/architecture-overview.md +3 -3
- package/kb/reference/skills-catalog.md +10 -14
- package/llms-full.txt +150 -22
- package/manifest.json +3 -3
- package/package.json +6 -3
- package/scripts/check_split.py +493 -0
- package/scripts/surface_manifest.py +246 -0
- package/scripts/sync_badges.py +133 -0
- package/scripts/validate.py +118 -1
package/llms-full.txt
CHANGED
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
- **architecture-audit**: Audits codebase for architectural friction, shallow modules; proposes RFCs. Triggers: improve architecture, shallow modules, deepen modules, reduce coupling.
|
|
85
85
|
- **architecture-decision**: Architecture decisions in ADR/RFC/RFD format: context, constraints, options, recommendation. Triggers: ADR, RFC, RFD, trade-offs, design choice, pick between, evaluate approach.
|
|
86
86
|
- **biz-scan**: Scans codebase for revenue opportunities, KPIs, monetization gaps. Triggers: business metrics, KPI, analytics gaps, monetization, revenue.
|
|
87
|
+
- **brainstorm**: Pre-artifact conversation that prices the zero option and can end in 'do not build this'. Triggers: brainstorm, should we build, is this worth it, explore idea, thinking out loud, half-formed idea.
|
|
87
88
|
- **brand-voice**: Direct technical voice for docs, README, user-facing text. Concise/strict modes. Triggers: documentation, README, content, output-mode, voice, prose style.
|
|
88
89
|
- **briefing**: Executive daily briefing aggregating reports from all agents into decision-focused summary. Triggers: briefing, daily summary, status across system, executive update.
|
|
89
90
|
- **build**: Builds project with auto-detected toolchain (npm, poetry, cargo, go, flutter, Docker). Triggers: build, compile, bundle, produce artifacts.
|
|
@@ -7018,10 +7019,10 @@ title: "SOP: Post-Release Testing"
|
|
|
7018
7019
|
category: procedures
|
|
7019
7020
|
service: ai-toolkit
|
|
7020
7021
|
tags: [sop, post-release, smoke-test, npm, sandbox, plugin-pack, provenance, isolation]
|
|
7021
|
-
version: "1.
|
|
7022
|
+
version: "1.1.0"
|
|
7022
7023
|
created: "2026-07-26"
|
|
7023
|
-
last_updated: "2026-
|
|
7024
|
-
description: "Smoke-test a published @softspark/ai-toolkit release from npm in an isolated HOME and npm prefix, without touching the maintainer's real install. Covers provenance, CLI, doctor, and the full plugin-pack lifecycle including the degraded-install path. Written for v4.18.0 and not run; v4.18.0 shipped a pack that broke every command it touched, and
|
|
7024
|
+
last_updated: "2026-08-06"
|
|
7025
|
+
description: "Smoke-test a published @softspark/ai-toolkit release from npm in an isolated HOME and npm prefix, without touching the maintainer's real install. Covers provenance, CLI, doctor, per-skill script resolution, scanner wiring, and the full plugin-pack lifecycle including the degraded-install path. Written for v4.18.0 and not run; v4.18.0 shipped a pack that broke every command it touched. First actually run on v4.22.0, which added Phases 4b and 4c after that release fixed four skills whose documented script path had never resolved and two that shipped a scanner nothing invoked."
|
|
7025
7026
|
---
|
|
7026
7027
|
|
|
7027
7028
|
# SOP: Post-Release Testing
|
|
@@ -7107,6 +7108,95 @@ npm install -g --prefix "$SB/npm" "@softspark/ai-toolkit@${VERSION}"
|
|
|
7107
7108
|
`skills directory missing`.** That is the sandbox being empty, not a defect.
|
|
7108
7109
|
Install first, then judge doctor.
|
|
7109
7110
|
|
|
7111
|
+
## Phase 4b: Skill scripts resolve and run from the installed copy
|
|
7112
|
+
|
|
7113
|
+
23 skills ship an executable script under `scripts/`. A skill body invokes it
|
|
7114
|
+
through `${CLAUDE_SKILL_DIR}`, which only resolves once the skill is installed —
|
|
7115
|
+
so a wrong path is invisible in the working tree and invisible to `validate.py`,
|
|
7116
|
+
which checks that the file exists on disk, never that the documented command
|
|
7117
|
+
finds it.
|
|
7118
|
+
|
|
7119
|
+
This is exactly how four skills shipped with `$(dirname "$0")`, which expands to
|
|
7120
|
+
the shell's directory rather than the skill's. Every one of them had been broken
|
|
7121
|
+
for as long as the line existed.
|
|
7122
|
+
|
|
7123
|
+
Iterate over every skill that ships a script. Do not hand-pick the ones the
|
|
7124
|
+
release touched — the point of this phase is to catch the ones nobody remembered.
|
|
7125
|
+
|
|
7126
|
+
```bash
|
|
7127
|
+
for D in "$HOME"/.claude/skills/*/; do
|
|
7128
|
+
s=$(basename "$D")
|
|
7129
|
+
[ -d "$D/scripts" ] || continue
|
|
7130
|
+
# Match ANY interpreter and ANY extension. Narrowing this to `python3` and
|
|
7131
|
+
# `.py` is how the first version of this phase reported "no invocation" for a
|
|
7132
|
+
# skill that used `python`, and missed one that ran a .py file through bash.
|
|
7133
|
+
ref=$(grep -ohE '(python3?|bash|sh|node) +\$\{CLAUDE_SKILL_DIR\}/scripts/[A-Za-z0-9_.-]+' "$D/SKILL.md" | head -1)
|
|
7134
|
+
[ -n "$ref" ] || { printf '%-22s NO ${CLAUDE_SKILL_DIR} INVOCATION\n' "$s"; continue; }
|
|
7135
|
+
interp=${ref%% *}
|
|
7136
|
+
rel=${ref##*\$\{CLAUDE_SKILL_DIR\}/}
|
|
7137
|
+
printf '%-22s %-10s %-26s ' "$s" "$interp" "$rel"
|
|
7138
|
+
[ -f "$D/$rel" ] || { echo 'PATH DOES NOT RESOLVE'; continue; }
|
|
7139
|
+
out=$(CLAUDE_SKILL_DIR="$D" timeout 20 "$interp" "$D/$rel" --help </dev/null 2>&1 | head -1)
|
|
7140
|
+
printf 'rc=%s %s\n' "$?" "$(echo "$out" | cut -c1-40)"
|
|
7141
|
+
done
|
|
7142
|
+
```
|
|
7143
|
+
|
|
7144
|
+
**Verify:**
|
|
7145
|
+
- [ ] Every skill with a `scripts/` directory has a documented invocation
|
|
7146
|
+
- [ ] Every documented path resolves to a file that exists
|
|
7147
|
+
- [ ] Every script exits without a traceback and without hanging
|
|
7148
|
+
- [ ] The interpreter matches the file: no `.py` through `bash`, no bare `python`
|
|
7149
|
+
|
|
7150
|
+
A skill reported as `NO ${CLAUDE_SKILL_DIR} INVOCATION` is not automatically a
|
|
7151
|
+
defect — some ship assets rather than executables (`write-a-prd` ships `.html`,
|
|
7152
|
+
`.js` and `.cjs`). Read the skill before filing it. What *is* always a defect is
|
|
7153
|
+
an invocation that names a skill-owned script through any other path.
|
|
7154
|
+
|
|
7155
|
+
`validate.py` now fails the build on that class (`_validate_skill_script_invocations`),
|
|
7156
|
+
so this phase is the second line rather than the first. Keep it: the validator
|
|
7157
|
+
reasons about the source, this runs the real thing.
|
|
7158
|
+
|
|
7159
|
+
**`</dev/null` and `timeout` are not defensive padding.** Several of these
|
|
7160
|
+
scripts are stdin filters (`error-parser.py`, `error-classifier.py`) documented
|
|
7161
|
+
as `command 2>&1 | python3 …`. Probing one with `--help` and an open stdin
|
|
7162
|
+
blocks forever, and the run looks like a slow test rather than a hung one. A
|
|
7163
|
+
correct stdin filter answers an empty stdin with a JSON error and `rc=0`; a
|
|
7164
|
+
traceback there is a real finding.
|
|
7165
|
+
|
|
7166
|
+
## Phase 4c: Skills that wrap a scanner actually scan
|
|
7167
|
+
|
|
7168
|
+
For any skill whose body tells the model to run a scanner, presence of the script
|
|
7169
|
+
is not evidence the wiring works. Build a fixture with known defects and confirm
|
|
7170
|
+
the scanner reports them.
|
|
7171
|
+
|
|
7172
|
+
```bash
|
|
7173
|
+
FX="$SB/fixture"; mkdir -p "$FX"
|
|
7174
|
+
cat > "$FX/index.html" <<'EOF'
|
|
7175
|
+
<!DOCTYPE html><html><head><title>t</title></head>
|
|
7176
|
+
<body><h1>A</h1><h3>skipped h2</h3><img src="x.png"><input type="text"><div onclick="go()">click</div></body></html>
|
|
7177
|
+
EOF
|
|
7178
|
+
printf '{"name":"fx","dependencies":{"react":"18"}}\n' > "$FX/package.json"
|
|
7179
|
+
|
|
7180
|
+
for s in a11y-validate seo-validate hipaa-validate cve-scan; do
|
|
7181
|
+
D="$HOME/.claude/skills/$s"
|
|
7182
|
+
script=$(ls "$D"/scripts/*.py 2>/dev/null | head -1)
|
|
7183
|
+
[ -n "$script" ] || continue
|
|
7184
|
+
echo "=== $s ==="
|
|
7185
|
+
CLAUDE_SKILL_DIR="$D" timeout 60 python3 "$script" "$FX" --output json </dev/null 2>&1 | head -3
|
|
7186
|
+
done
|
|
7187
|
+
```
|
|
7188
|
+
|
|
7189
|
+
**Verify:**
|
|
7190
|
+
- [ ] The scanner returns findings, not an empty set — the fixture has real defects
|
|
7191
|
+
- [ ] Findings span more than one category, proving the whole check set ran
|
|
7192
|
+
- [ ] A scanner that exits non-zero on findings is doing its job, not failing
|
|
7193
|
+
|
|
7194
|
+
`a11y-validate` and `seo-validate` shipped working scanners that **no step in
|
|
7195
|
+
either skill invoked** for their entire life before v4.22.0. The model was told to
|
|
7196
|
+
grep the pattern tables by hand instead. Nothing in the test suite noticed,
|
|
7197
|
+
because a script nobody calls still passes every check that asks whether it
|
|
7198
|
+
exists.
|
|
7199
|
+
|
|
7110
7200
|
## Phase 5: Plugin-pack lifecycle
|
|
7111
7201
|
|
|
7112
7202
|
Run this for any pack the release touched. For a pack that downloads a binary,
|
|
@@ -7240,9 +7330,9 @@ title: "SOP: Release Preparation"
|
|
|
7240
7330
|
category: procedures
|
|
7241
7331
|
service: ai-toolkit
|
|
7242
7332
|
tags: [sop, release, version, publish, changelog, semver, provenance, sarif, ecosystem, shellcheck]
|
|
7243
|
-
version: "1.
|
|
7333
|
+
version: "1.14.0"
|
|
7244
7334
|
created: "2026-04-10"
|
|
7245
|
-
last_updated: "2026-
|
|
7335
|
+
last_updated: "2026-08-06"
|
|
7246
7336
|
description: "Step-by-step checklist for preparing a new ai-toolkit release — ecosystem-sync drift check, version sync, changelog, artifact regeneration, validation, and tagging. Run BEFORE every git tag. Includes mandatory Provenance, SARIF, and checksum-pin checks added in v2.8.0, the single-run npm test discipline added in v1.8.0, the ecosystem-sync gate added in v1.9.0, the registry-vs-generators drift gate added in v1.10.0, the mandatory pre-tag ShellCheck gate added in v1.11.0 (publish.yml does not run ShellCheck, so a hook lint failure can publish while reddening main CI — see the v4.5.1 postmortem in Phase 5), the pre-push tag assertions added in v1.12.0 after v4.19.0 was tagged on the wrong commit (Phase 7), and the licensing gate added in v1.13.0 with the move to Apache-2.0 (Phase 5c)."
|
|
7247
7337
|
---
|
|
7248
7338
|
|
|
@@ -7447,6 +7537,48 @@ echo "package-lock.json: $(python3 -c "import json; print(json.load(open('packag
|
|
|
7447
7537
|
|
|
7448
7538
|
All four must print the same version. If not, fix before proceeding.
|
|
7449
7539
|
|
|
7540
|
+
### Public surface review
|
|
7541
|
+
|
|
7542
|
+
```bash
|
|
7543
|
+
python3 scripts/surface_manifest.py --update
|
|
7544
|
+
git diff app/surface.json
|
|
7545
|
+
```
|
|
7546
|
+
|
|
7547
|
+
**Every line the diff removes is a breaking change.** Restore it, or take the
|
|
7548
|
+
deprecation path in `BACKWARD_COMPATIBILITY.md` and add a `DECISIONS.md` entry
|
|
7549
|
+
before the tag. Lines added are new surface being adopted into protection — that
|
|
7550
|
+
needs no ceremony.
|
|
7551
|
+
|
|
7552
|
+
Do not run `--update` to make a red build green. The check fails because something
|
|
7553
|
+
users depend on disappeared; regenerating the manifest deletes the evidence, not
|
|
7554
|
+
the problem.
|
|
7555
|
+
|
|
7556
|
+
### Skill body budget ratchet
|
|
7557
|
+
|
|
7558
|
+
`validate.py` prints the largest skill body on every run:
|
|
7559
|
+
|
|
7560
|
+
```
|
|
7561
|
+
Body budget: largest is <skill> at <N> bytes (warn 18000, error 20000)
|
|
7562
|
+
```
|
|
7563
|
+
|
|
7564
|
+
Once that number sits at least 2000 bytes under `SKILL_BODY_BUDGET_WARN`, lower
|
|
7565
|
+
`SKILL_BODY_BUDGET_WARN` by 2000 in `scripts/validate.py` and ship the tightened
|
|
7566
|
+
threshold with the release. Target floor is 12000.
|
|
7567
|
+
|
|
7568
|
+
Two rules, both learned the hard way:
|
|
7569
|
+
|
|
7570
|
+
- **Never lower a threshold in the same change that something violates it.** Split
|
|
7571
|
+
the offending skill into `SKILL.md` + `reference/` first, prove it with
|
|
7572
|
+
`python3 scripts/check_split.py <skill> --before <pre-split SKILL.md>`, then
|
|
7573
|
+
tighten in a follow-up.
|
|
7574
|
+
- **Never raise a threshold to make a red build green.** A body over budget means
|
|
7575
|
+
detail that belongs in `reference/` is loading on every trigger match, including
|
|
7576
|
+
the accidental ones. Raising the number hides the cost, it does not remove it.
|
|
7577
|
+
|
|
7578
|
+
If the largest body has not moved since the previous release, leave the threshold
|
|
7579
|
+
alone and say so in the release notes. A ratchet that never advances is honest;
|
|
7580
|
+
one that advances past reality is not.
|
|
7581
|
+
|
|
7450
7582
|
---
|
|
7451
7583
|
|
|
7452
7584
|
## Phase 3: Write CHANGELOG Entry
|
|
@@ -8651,9 +8783,9 @@ title: "AI Toolkit - Architecture Overview"
|
|
|
8651
8783
|
category: reference
|
|
8652
8784
|
service: ai-toolkit
|
|
8653
8785
|
tags: [architecture, overview, design, structure]
|
|
8654
|
-
version: "1.6.
|
|
8786
|
+
version: "1.6.1"
|
|
8655
8787
|
created: "2026-03-23"
|
|
8656
|
-
last_updated: "2026-
|
|
8788
|
+
last_updated: "2026-08-06"
|
|
8657
8789
|
description: "Architecture of ai-toolkit: directory layout, Claude app export, global install model, editor-aware MCP install, Codex translation layer, skill tiers, and integration with projects."
|
|
8658
8790
|
---
|
|
8659
8791
|
|
|
@@ -8855,7 +8987,7 @@ Three tiers determine how to approach a task:
|
|
|
8855
8987
|
| Type | Field | Invocation | Count |
|
|
8856
8988
|
|------|-------|-----------|-------|
|
|
8857
8989
|
| Task | `disable-model-invocation: true` | User via `/skill` only | 32 |
|
|
8858
|
-
| Hybrid | (neither) | User via `/skill` + agent knowledge |
|
|
8990
|
+
| Hybrid | (neither) | User via `/skill` + agent knowledge | 31 |
|
|
8859
8991
|
| Knowledge | `user-invocable: false` | Claude auto-loads | 46 |
|
|
8860
8992
|
|
|
8861
8993
|
## Multi-Agent Execution
|
|
@@ -14511,9 +14643,9 @@ title: "AI Toolkit - Skills Catalog"
|
|
|
14511
14643
|
category: reference
|
|
14512
14644
|
service: ai-toolkit
|
|
14513
14645
|
tags: [skills, domain-knowledge, catalog, task-skills, hybrid-skills]
|
|
14514
|
-
version: "1.
|
|
14646
|
+
version: "1.5.0"
|
|
14515
14647
|
created: "2026-03-23"
|
|
14516
|
-
last_updated: "2026-
|
|
14648
|
+
last_updated: "2026-08-06"
|
|
14517
14649
|
description: "Complete skills catalog with task, hybrid, and knowledge skills. Includes Codex adaptation notes, effort levels, skill-scoped hooks, executable scripts, security auditor, and persona presets."
|
|
14518
14650
|
---
|
|
14519
14651
|
|
|
@@ -14526,13 +14658,13 @@ All functionality is unified under skills. Task and hybrid skills are user-invoc
|
|
|
14526
14658
|
| Tier | Skills | When |
|
|
14527
14659
|
|------|--------|------|
|
|
14528
14660
|
| **1 — Quick single-agent** | `/debug`, `/review`, `/refactor`, `/analyze`, `/docs`, `/plan`, `/explain`, `/tdd`, `/grill-me`, `/triage-issue` | One concern, fast |
|
|
14661
|
+
| **1.5 — Should we build it?** | `/brainstorm` | Pre-artifact conversation; prices the zero option and may end in "do not build this" |
|
|
14529
14662
|
| **1.5 — Product planning** | `/write-a-prd` → `/prd-to-plan` → `/prd-to-issues` | Interview-driven PRD → vertical-slice plan → GitHub issues |
|
|
14530
14663
|
| **1.5 — Design & architecture** | `/design-an-interface`, `/architecture-audit`, `/refactor-plan`, `/ubiquitous-language`, `/qa-session` | Parallel sub-agent exploration |
|
|
14531
14664
|
| **2 — Multi-agent workflow** | `/workflow <type>` | Cross-cutting task with known pattern |
|
|
14532
14665
|
| **3 — Custom parallelism** | `/orchestrate`, `/swarm` | No predefined workflow matches |
|
|
14533
14666
|
|
|
14534
|
-
## Task Skills
|
|
14535
|
-
|
|
14667
|
+
## Task Skills
|
|
14536
14668
|
Task skills execute a specific action. Invoked via slash commands. `disable-model-invocation: true`.
|
|
14537
14669
|
|
|
14538
14670
|
| Skill | Slash Command | Effort | Description |
|
|
@@ -14570,8 +14702,7 @@ Task skills execute a specific action. Invoked via slash commands. `disable-mode
|
|
|
14570
14702
|
| **seo-validate** | `/seo-validate` | medium | Scan codebase for SEO issues: W3C semantics, meta/OG tags, Schema.org, hreflang, Core Web Vitals (LCP/INP/CLS), resource hints, GEO, SPA/SSG/CSR crawlability, technical SEO, accessibility-for-SEO. Framework-aware (Next/Nuxt/Astro/Gatsby/SvelteKit/Remix/Angular/Vue/static HTML). |
|
|
14571
14703
|
| **mcp-builder** | `/mcp-builder` | high | Build production-grade MCP servers using the 4-phase methodology (research, implement, test, evaluate). TypeScript/Python, stdio/streamable-http. |
|
|
14572
14704
|
|
|
14573
|
-
## Hybrid Skills
|
|
14574
|
-
|
|
14705
|
+
## Hybrid Skills
|
|
14575
14706
|
Hybrid skills combine slash-command invocation with domain knowledge that agents reference.
|
|
14576
14707
|
|
|
14577
14708
|
| Skill | Slash Command | Effort | Description |
|
|
@@ -14604,6 +14735,7 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
|
|
|
14604
14735
|
| **mem-search** | `/mem-search` | medium | Search past coding sessions via natural language (memory-pack) |
|
|
14605
14736
|
| **persona** | `/persona` | low | Switch engineering persona at runtime (backend-lead, frontend-lead, devops-eng, junior-dev) |
|
|
14606
14737
|
| **council** | `/council` | high | 4-perspective decision evaluation (Advocate, Critic, Pragmatist, User-Proxy) with synthesis and confidence-rated recommendation. Tier 1, orchestrator, `context: fork`. |
|
|
14738
|
+
| **brainstorm** | `/brainstorm` | high | Pre-artifact conversation that prices "build nothing" as a real candidate and sends the conclusion to a separate challenger agent before routing. Six exit ramps, one of which is stop. |
|
|
14607
14739
|
| **introspect** | `/introspect` | medium | Agent self-debugging: classify failure pattern, suggest smallest recovery action, emit structured introspection report |
|
|
14608
14740
|
| **brand-voice** | `/brand-voice` | medium | Anti-trope list, voice principles, LLM rhetoric prevention; output modes (`concise` ≤60% tokens, `strict` ≤40%) governing conversational responses. |
|
|
14609
14741
|
|
|
@@ -14627,8 +14759,7 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
|
|
|
14627
14759
|
| `application-deploy` | 3 | Deploy → smoke test → release notes |
|
|
14628
14760
|
| `proactive-troubleshooting` | 4 | Investigate → check perf → preventive fix → docs |
|
|
14629
14761
|
|
|
14630
|
-
## Knowledge Skills - Development
|
|
14631
|
-
|
|
14762
|
+
## Knowledge Skills - Development
|
|
14632
14763
|
| Skill | Directory | Domain |
|
|
14633
14764
|
|-------|-----------|--------|
|
|
14634
14765
|
| **app-builder** | `skills/app-builder/` | Full-stack application architecture |
|
|
@@ -14647,8 +14778,7 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
|
|
|
14647
14778
|
| **design-engineering** | `skills/design-engineering/` | UI polish, animation craft, easing, transforms, accessibility |
|
|
14648
14779
|
| **documentation-standards** | `skills/documentation-standards/` | KB document conventions, frontmatter validation, category taxonomy |
|
|
14649
14780
|
|
|
14650
|
-
## Knowledge Skills - Infrastructure
|
|
14651
|
-
|
|
14781
|
+
## Knowledge Skills - Infrastructure
|
|
14652
14782
|
| Skill | Directory | Domain |
|
|
14653
14783
|
|-------|-----------|--------|
|
|
14654
14784
|
| **docker-devops** | `skills/docker-devops/` | Docker, deployment, infrastructure |
|
|
@@ -14658,8 +14788,7 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
|
|
|
14658
14788
|
| **testing-patterns** | `skills/testing-patterns/` | Multi-language TDD: pytest, vitest, phpunit, go test, flutter |
|
|
14659
14789
|
| **migration-patterns** | `skills/migration-patterns/` | Database migrations, API versioning, zero-downtime |
|
|
14660
14790
|
|
|
14661
|
-
## Knowledge Skills - AI/RAG
|
|
14662
|
-
|
|
14791
|
+
## Knowledge Skills - AI/RAG
|
|
14663
14792
|
| Skill | Directory | Domain |
|
|
14664
14793
|
|-------|-----------|--------|
|
|
14665
14794
|
| **rag-patterns** | `skills/rag-patterns/` | RAG pipelines, chunking, reranking, evaluation |
|
|
@@ -14669,8 +14798,7 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
|
|
|
14669
14798
|
| **content-moderation-patterns** | `skills/content-moderation-patterns/` | Two-stage moderation: pre-filter + LLM classifier; categories; thresholds |
|
|
14670
14799
|
| **model-routing-patterns** | `skills/model-routing-patterns/` | Haiku/Sonnet/Opus routing; escalation; sub-agent delegation; fallback |
|
|
14671
14800
|
|
|
14672
|
-
## Knowledge Skills - Process
|
|
14673
|
-
|
|
14801
|
+
## Knowledge Skills - Process
|
|
14674
14802
|
| Skill | Directory | Domain |
|
|
14675
14803
|
|-------|-----------|--------|
|
|
14676
14804
|
| **git-mastery** | `skills/git-mastery/` | Git workflows, branching, conflict resolution |
|
package/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "4.
|
|
2
|
+
"version": "4.22.1",
|
|
3
3
|
"components": {
|
|
4
4
|
"agents": {
|
|
5
5
|
"description": "44 specialized agents (orchestrator, backend, frontend, security, devops, etc.)",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
]
|
|
13
13
|
},
|
|
14
14
|
"skills": {
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "109 skills (32 task + 31 hybrid + 46 knowledge)",
|
|
16
16
|
"path": "app/skills",
|
|
17
17
|
"target": ".claude/skills",
|
|
18
18
|
"type": "symlink",
|
|
@@ -137,7 +137,7 @@
|
|
|
137
137
|
"default": true
|
|
138
138
|
},
|
|
139
139
|
"skills": {
|
|
140
|
-
"description": "
|
|
140
|
+
"description": "109 skills (task, hybrid, knowledge)",
|
|
141
141
|
"default": true
|
|
142
142
|
},
|
|
143
143
|
"rules-common": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softspark/ai-toolkit",
|
|
3
|
-
"version": "4.
|
|
4
|
-
"description": "AI coding toolkit:
|
|
3
|
+
"version": "4.22.1",
|
|
4
|
+
"description": "AI coding toolkit: 109 skills, 44 agents, 12 developer-tool integrations, recoverable native tool-output filtering, Claude Chat/Cowork export, safety constitution, SARIF audit, and signed npm provenance.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
7
7
|
"claude-code",
|
|
@@ -67,7 +67,10 @@
|
|
|
67
67
|
"generate:roo-rules": "python3 scripts/generate_roo_rules.py .",
|
|
68
68
|
"generate:augment-rules": "python3 scripts/generate_augment_rules.py .",
|
|
69
69
|
"generate:claude-app": "python3 scripts/claude_app.py sync",
|
|
70
|
-
"generate:all": "npm run generate:language-rules && npm run generate:claude-app && npm run generate:agents && npm run generate:opencode-agents && npm run generate:opencode-commands && npm run generate:cursor && npm run generate:cursor-mdc && npm run generate:windsurf && npm run generate:windsurf-rules && npm run generate:copilot && npm run generate:gemini && npm run generate:cline && npm run generate:roo && npm run generate:roo-rules && npm run generate:aider && npm run generate:augment-rules && npm run generate:llms"
|
|
70
|
+
"generate:all": "npm run generate:language-rules && npm run generate:claude-app && npm run generate:agents && npm run generate:opencode-agents && npm run generate:opencode-commands && npm run generate:cursor && npm run generate:cursor-mdc && npm run generate:windsurf && npm run generate:windsurf-rules && npm run generate:copilot && npm run generate:gemini && npm run generate:cline && npm run generate:roo && npm run generate:roo-rules && npm run generate:aider && npm run generate:augment-rules && npm run generate:llms && npm run generate:badges",
|
|
71
|
+
"generate:badges": "python3 scripts/sync_badges.py",
|
|
72
|
+
"surface": "python3 scripts/surface_manifest.py",
|
|
73
|
+
"surface:update": "python3 scripts/surface_manifest.py --update"
|
|
71
74
|
},
|
|
72
75
|
"files": [
|
|
73
76
|
"bin/",
|