@softspark/ai-toolkit 1.0.0 → 1.2.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.md +22 -12
  3. package/app/.claude-plugin/plugin.json +2 -2
  4. package/app/ARCHITECTURE.md +7 -5
  5. package/app/hooks/pre-compact.sh +44 -10
  6. package/app/personas/backend-lead.md +27 -0
  7. package/app/personas/devops-eng.md +27 -0
  8. package/app/personas/frontend-lead.md +26 -0
  9. package/app/personas/junior-dev.md +28 -0
  10. package/app/rules/claude-toolkit-rules.md +1 -1
  11. package/app/skills/api-patterns/SKILL.md +1 -0
  12. package/app/skills/app-builder/SKILL.md +1 -0
  13. package/app/skills/ci-cd-patterns/SKILL.md +1 -0
  14. package/app/skills/clean-code/SKILL.md +1 -0
  15. package/app/skills/csharp-patterns/SKILL.md +1 -0
  16. package/app/skills/database-patterns/SKILL.md +1 -0
  17. package/app/skills/debugging-tactics/SKILL.md +1 -1
  18. package/app/skills/design-engineering/SKILL.md +1 -0
  19. package/app/skills/docker-devops/SKILL.md +1 -0
  20. package/app/skills/documentation-standards/SKILL.md +1 -0
  21. package/app/skills/ecommerce-patterns/SKILL.md +1 -0
  22. package/app/skills/flutter-patterns/SKILL.md +1 -0
  23. package/app/skills/git-mastery/SKILL.md +1 -1
  24. package/app/skills/hive-mind/SKILL.md +1 -0
  25. package/app/skills/java-patterns/SKILL.md +1 -0
  26. package/app/skills/kotlin-patterns/SKILL.md +1 -0
  27. package/app/skills/mcp-patterns/SKILL.md +1 -0
  28. package/app/skills/migration-patterns/SKILL.md +1 -0
  29. package/app/skills/observability-patterns/SKILL.md +1 -0
  30. package/app/skills/onboard/SKILL.md +2 -0
  31. package/app/skills/orchestrate/SKILL.md +1 -1
  32. package/app/skills/performance-profiling/SKILL.md +1 -1
  33. package/app/skills/persona/SKILL.md +57 -0
  34. package/app/skills/plan-writing/SKILL.md +1 -0
  35. package/app/skills/pr/scripts/pr-summary.py +6 -3
  36. package/app/skills/rag-patterns/SKILL.md +1 -0
  37. package/app/skills/research-mastery/SKILL.md +1 -0
  38. package/app/skills/ruby-patterns/SKILL.md +1 -0
  39. package/app/skills/rust-patterns/SKILL.md +1 -0
  40. package/app/skills/security-patterns/SKILL.md +1 -0
  41. package/app/skills/skill-audit/SKILL.md +137 -0
  42. package/app/skills/subagent-development/SKILL.md +1 -1
  43. package/app/skills/swarm/SKILL.md +1 -1
  44. package/app/skills/swift-patterns/SKILL.md +1 -1
  45. package/app/skills/teams/SKILL.md +1 -1
  46. package/app/skills/testing-patterns/SKILL.md +1 -0
  47. package/app/skills/typescript-patterns/SKILL.md +1 -0
  48. package/app/skills/verification-before-completion/SKILL.md +1 -0
  49. package/app/skills/workflow/SKILL.md +1 -1
  50. package/kb/reference/architecture-overview.md +28 -5
  51. package/kb/reference/hooks-catalog.md +6 -4
  52. package/kb/reference/skills-catalog.md +5 -3
  53. package/llms.txt +2 -2
  54. package/package.json +3 -2
  55. package/scripts/audit_skills.py +290 -0
  56. package/scripts/generate_augment.py +46 -0
  57. package/scripts/install.py +32 -2
  58. package/scripts/install_steps/ai_tools.py +10 -1
  59. package/scripts/install_steps/hooks.py +30 -0
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: persona
3
+ description: "Switch engineering persona at runtime: backend-lead, frontend-lead, devops-eng, junior-dev"
4
+ effort: low
5
+ user-invocable: true
6
+ argument-hint: "[backend-lead | frontend-lead | devops-eng | junior-dev | --list | --clear]"
7
+ allowed-tools: Read, Glob
8
+ ---
9
+
10
+ # /persona - Runtime Persona Switching
11
+
12
+ $ARGUMENTS
13
+
14
+ Switch your working persona without re-installing. Personas adjust communication style, preferred skills, and code review priorities for the current session.
15
+
16
+ ## Usage
17
+
18
+ ```
19
+ /persona backend-lead # Activate backend lead persona
20
+ /persona frontend-lead # Activate frontend lead persona
21
+ /persona devops-eng # Activate DevOps engineer persona
22
+ /persona junior-dev # Activate junior developer persona
23
+ /persona --list # Show available personas
24
+ /persona --clear # Reset to default (no persona)
25
+ ```
26
+
27
+ ## Available Personas
28
+
29
+ | Persona | Focus | Preferred Skills |
30
+ |---------|-------|-----------------|
31
+ | `backend-lead` | System design, scalability, data integrity, API stability | `/workflow backend-feature`, `/tdd` |
32
+ | `frontend-lead` | Component architecture, a11y, state management, Core Web Vitals | `/design-an-interface`, `/review` |
33
+ | `devops-eng` | IaC, CI/CD, blast radius, rollback safety, observability | `/workflow infrastructure-change`, `/deploy` |
34
+ | `junior-dev` | Step-by-step explanations, learning resources, small PRs | `/explain`, `/explore`, `/debug` |
35
+
36
+ ## Steps
37
+
38
+ 1. Parse `$ARGUMENTS`
39
+ 2. If `--list`: read all `app/personas/*.md` files via Glob, display table with name and first-line summary
40
+ 3. If `--clear`: respond with "Persona cleared. Using default behavior for the rest of this session."
41
+ 4. If persona name given:
42
+ a. Read the persona file from `app/personas/{name}.md` (relative to toolkit root)
43
+ b. If file not found, try the installed location: `~/.claude/skills/persona/../../../app/personas/{name}.md`
44
+ c. Display the persona content to Claude
45
+ d. State: "**Persona active: {name}**. I will follow these guidelines for the rest of this session."
46
+ 5. If no argument: show usage and available personas
47
+
48
+ ## How It Works
49
+
50
+ Unlike `--persona` at install time (which injects into CLAUDE.md permanently), `/persona` applies for the **current session only**. The persona file content is loaded into the conversation context and Claude follows it until the session ends or `/persona --clear` is called.
51
+
52
+ ## Rules
53
+
54
+ - This skill is READ-ONLY — it never writes files
55
+ - Persona stays active for the current session only
56
+ - Only one persona active at a time — switching replaces the previous one
57
+ - Valid personas are defined by `.md` files in `app/personas/`
@@ -3,6 +3,7 @@ name: plan-writing
3
3
  description: "Loaded when user asks to write an implementation plan or pre-mortem"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Plan Writing Skill
@@ -36,15 +36,18 @@ CONVENTIONAL_TYPES: dict[str, str] = {
36
36
 
37
37
 
38
38
  def run(cmd: str) -> str:
39
- """Run a shell command and return stripped stdout.
39
+ """Run a command and return stripped stdout.
40
40
 
41
41
  Args:
42
- cmd: Shell command string to execute.
42
+ cmd: Command string (split via shlex, no shell).
43
43
 
44
44
  Returns:
45
45
  Stripped standard output of the command.
46
46
  """
47
- r = subprocess.run(cmd, shell=True, capture_output=True, text=True)
47
+ import shlex
48
+ # Strip shell redirects (2>/dev/null) — subprocess captures stderr anyway
49
+ clean = re.sub(r'\s*2>/dev/null\s*', '', cmd)
50
+ r = subprocess.run(shlex.split(clean), capture_output=True, text=True)
48
51
  return r.stdout.strip()
49
52
 
50
53
 
@@ -3,6 +3,7 @@ name: rag-patterns
3
3
  description: "Loaded when user asks about RAG systems, embeddings, or vector search"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # RAG Patterns Skill
@@ -3,6 +3,7 @@ name: research-mastery
3
3
  description: "Loaded when user asks to research, verify, or synthesize information"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Research Mastery Skill
@@ -3,6 +3,7 @@ name: ruby-patterns
3
3
  description: "Loaded when user asks about Ruby development patterns"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Ruby Patterns
@@ -3,6 +3,7 @@ name: rust-patterns
3
3
  description: "Loaded when user asks about Rust development patterns"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Rust Patterns
@@ -3,6 +3,7 @@ name: security-patterns
3
3
  description: "Loaded when user asks about security, OWASP, or auth patterns"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Security Patterns Skill
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: skill-audit
3
+ description: "Scan skills and agents for security risks: dangerous patterns, secrets, excessive permissions"
4
+ effort: medium
5
+ disable-model-invocation: true
6
+ argument-hint: "[skill-name | --all | --fix]"
7
+ allowed-tools: Read, Grep, Glob, Bash
8
+ ---
9
+
10
+ # /skill-audit - Skill Security Scanner
11
+
12
+ $ARGUMENTS
13
+
14
+ Scan skill and agent definitions for security risks before installation or after changes.
15
+
16
+ ## Usage
17
+
18
+ ```
19
+ /skill-audit # Audit all skills
20
+ /skill-audit debug # Audit specific skill
21
+ /skill-audit --all --fix # Audit all + auto-fix safe issues
22
+ ```
23
+
24
+ ## What This Command Does
25
+
26
+ 1. **Scan SKILL.md frontmatter** for permission issues
27
+ 2. **Scan scripts/** for dangerous code patterns
28
+ 3. **Scan reference/** for hardcoded secrets
29
+ 4. **Report** findings with severity levels
30
+ 5. **Auto-fix** safe issues when `--fix` is passed
31
+
32
+ ## Security Checks
33
+
34
+ ### Frontmatter Checks
35
+
36
+ | Check | Severity | Description |
37
+ |-------|----------|-------------|
38
+ | Overly permissive tools | WARN | `allowed-tools` includes Bash + Write + Edit without justification |
39
+ | Missing allowed-tools | WARN | No tool restriction = full access |
40
+ | Knowledge skill with Bash | HIGH | `user-invocable: false` skills should not need Bash |
41
+ | Missing effort field | INFO | Best practice to declare effort |
42
+
43
+ ### Script Checks (Python)
44
+
45
+ | Pattern | Severity | Description |
46
+ |---------|----------|-------------|
47
+ | `eval(` / `exec(` | HIGH | Arbitrary code execution |
48
+ | `os.system(` | HIGH | Shell injection risk |
49
+ | `subprocess.*shell=True` | HIGH | Shell injection risk |
50
+ | `__import__` | WARN | Dynamic imports |
51
+ | `pickle.loads` | HIGH | Deserialization attack |
52
+ | `open(.*'w')` without path validation | WARN | Arbitrary file write |
53
+
54
+ ### Script Checks (Bash)
55
+
56
+ | Pattern | Severity | Description |
57
+ |---------|----------|-------------|
58
+ | `curl.*\| bash` | HIGH | Remote code execution |
59
+ | `curl.*\| sh` | HIGH | Remote code execution |
60
+ | `wget.*\| bash` | HIGH | Remote code execution |
61
+ | `rm -rf /` or `rm -rf ~` | HIGH | Destructive command |
62
+ | Unquoted `$variables` in commands | WARN | Word splitting / injection |
63
+ | `chmod 777` | WARN | Overly permissive |
64
+
65
+ ### Secret Detection
66
+
67
+ | Pattern | Severity | Description |
68
+ |---------|----------|-------------|
69
+ | `AKIA[0-9A-Z]{16}` | HIGH | AWS access key |
70
+ | `sk-[a-zA-Z0-9]{20,}` | HIGH | API key pattern |
71
+ | `password\s*=\s*['"][^'"]+` | WARN | Hardcoded password |
72
+ | `token\s*=\s*['"][^'"]+` | WARN | Hardcoded token |
73
+ | `-----BEGIN.*PRIVATE KEY` | HIGH | Private key |
74
+ | `ghp_[a-zA-Z0-9]{36}` | HIGH | GitHub PAT |
75
+
76
+ ## Output Format
77
+
78
+ ```markdown
79
+ ## Skill Audit Report
80
+
81
+ ### Summary
82
+ - Skills scanned: N
83
+ - HIGH: N | WARN: N | INFO: N
84
+
85
+ ### Findings
86
+
87
+ #### [HIGH] skill-name/scripts/helper.py:12
88
+ Pattern: `eval(user_input)`
89
+ Risk: Arbitrary code execution
90
+ Fix: Replace with `ast.literal_eval()` or explicit parsing
91
+
92
+ #### [WARN] skill-name/SKILL.md (frontmatter)
93
+ Pattern: Missing `allowed-tools`
94
+ Risk: Skill has unrestricted tool access
95
+ Fix: Add `allowed-tools: Read, Grep, Glob` (principle of least privilege)
96
+ ```
97
+
98
+ ## Steps
99
+
100
+ 1. Determine scope: single skill (`$ARGUMENTS`) or all skills
101
+ 2. For each skill directory in `app/skills/`:
102
+ a. Read `SKILL.md` — check frontmatter fields
103
+ b. Glob `scripts/**/*.py` — scan for dangerous Python patterns
104
+ c. Glob `scripts/**/*.sh` — scan for dangerous Bash patterns
105
+ d. Grep all files for secret patterns
106
+ 3. Also scan `app/agents/*.md` for overly broad tool lists
107
+ 4. Collect findings, sort by severity (HIGH > WARN > INFO)
108
+ 5. If `--fix` is passed:
109
+ - Add missing `allowed-tools` to SKILL.md frontmatter (suggest minimal set)
110
+ - Replace `eval(` with `ast.literal_eval(` where safe
111
+ - Do NOT auto-fix HIGH severity — only report
112
+ 6. Print audit report
113
+
114
+ ## Deterministic Scanner
115
+
116
+ For CI pipelines or non-interactive use, run the Python scanner directly:
117
+
118
+ ```bash
119
+ # Human-readable output
120
+ python3 scripts/audit_skills.py
121
+
122
+ # JSON output (for CI parsing)
123
+ python3 scripts/audit_skills.py --json
124
+
125
+ # CI mode: exit 1 on any HIGH finding
126
+ python3 scripts/audit_skills.py --ci
127
+ ```
128
+
129
+ The `/skill-audit` slash command wraps this scanner with Claude's analysis for remediation suggestions.
130
+
131
+ ## Rules
132
+
133
+ - Never modify files without `--fix` flag
134
+ - HIGH severity findings should block deployment
135
+ - This skill is READ-ONLY by default
136
+ - Scan both `app/skills/` and `app/agents/` directories
137
+ - Exit with non-zero status if any HIGH findings exist (for CI integration)
@@ -4,7 +4,7 @@ description: "Execute implementation plans using fresh subagents per task with t
4
4
  user-invocable: true
5
5
  effort: high
6
6
  argument-hint: "[plan file or task description]"
7
- allowed-tools: Read, Write, Edit, Grep, Glob, Bash, Agent
7
+ allowed-tools: Read, Write, Edit, Grep, Glob, Bash, Agent, TaskCreate, TaskList, TaskUpdate, TaskGet
8
8
  ---
9
9
 
10
10
  # Subagent Development
@@ -7,7 +7,7 @@ argument-hint: "[map-reduce|consensus|relay] [task]"
7
7
  context: fork
8
8
  agent: orchestrator
9
9
  model: opus
10
- allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Agent, TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskList, TaskUpdate
10
+ allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Agent, TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskList, TaskUpdate, TaskGet, TaskOutput, TaskStop
11
11
  ---
12
12
 
13
13
  # /swarm - Parallel Agent Swarm
@@ -3,6 +3,7 @@ name: swift-patterns
3
3
  description: "Loaded when user asks about Swift or iOS development patterns"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Swift / iOS Patterns
@@ -487,7 +488,6 @@ Schemes: separate Debug/Release/Testing. Enable ASan + TSan in test schemes.
487
488
  ---
488
489
 
489
490
  ## Anti-Patterns
490
-
491
491
  | Anti-Pattern | Problem | Fix |
492
492
  |---|---|---|
493
493
  | Force unwrap `!` | Runtime crash | `guard let`, `if let`, `??` |
@@ -4,7 +4,7 @@ description: "Launch pre-configured Agent Teams for common workflows"
4
4
  effort: max
5
5
  user-invocable: true
6
6
  argument-hint: "<preset> [task-description]"
7
- allowed-tools: Bash, Read, Write, Edit, Glob, Grep
7
+ allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Agent, TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskList, TaskUpdate, TaskGet
8
8
  ---
9
9
 
10
10
  # /teams - Agent Teams Presets
@@ -3,6 +3,7 @@ name: testing-patterns
3
3
  description: "Loaded when user asks about testing strategy, fixtures, or mocking"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # Testing Patterns Skill
@@ -3,6 +3,7 @@ name: typescript-patterns
3
3
  description: "Loaded when user asks about TypeScript patterns or type safety"
4
4
  effort: medium
5
5
  user-invocable: false
6
+ allowed-tools: Read
6
7
  ---
7
8
 
8
9
  # TypeScript/JavaScript Patterns
@@ -2,6 +2,7 @@
2
2
  name: verification-before-completion
3
3
  description: "Loaded when agent is about to claim work is complete, fixed, or passing — requires running verification commands and confirming output before making any success claims. Evidence before assertions, always."
4
4
  user-invocable: false
5
+ allowed-tools: Read
5
6
  ---
6
7
 
7
8
  # Verification Before Completion
@@ -7,7 +7,7 @@ argument-hint: "[type] [task description]"
7
7
  context: fork
8
8
  agent: orchestrator
9
9
  model: opus
10
- allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Agent, TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskList, TaskUpdate
10
+ allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Agent, TeamCreate, TeamDelete, SendMessage, TaskCreate, TaskList, TaskUpdate, TaskGet, TaskOutput, TaskStop
11
11
  ---
12
12
 
13
13
  # /workflow - Autonomous Agent Workflow
@@ -13,7 +13,7 @@ description: "Architecture of ai-toolkit: directory layout, global install model
13
13
 
14
14
  ## Purpose
15
15
 
16
- Shared, project-agnostic AI development toolkit for Claude Code (and compatible assistants like Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, and Aider). Provides 47 specialized agents, 85 skills (slash commands + knowledge), expanded lifecycle hooks, and experimental opt-in plugin packs that teams can adopt separately from the default global install.
16
+ Shared, project-agnostic AI development toolkit for Claude Code (and compatible assistants like Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, and Augment). Provides 47 specialized agents, 87 skills (slash commands + knowledge), expanded lifecycle hooks, persona presets, and experimental opt-in plugin packs that teams can adopt separately from the default global install.
17
17
 
18
18
  ## Design Principles
19
19
 
@@ -31,7 +31,7 @@ ai-toolkit/
31
31
  ai-toolkit.js # CLI entry point (install, init, add-rule, ...)
32
32
  app/ # All toolkit components
33
33
  agents/ # 47 agent definitions (.md + YAML frontmatter)
34
- skills/ # 85 skills: task, hybrid, knowledge
34
+ skills/ # 87 skills: task, hybrid, knowledge
35
35
  rules/ # Rules auto-injected into ~/.claude/CLAUDE.md
36
36
  hooks/ # Hook scripts (copied to ~/.ai-toolkit/hooks/)
37
37
  hooks.json # Hook definitions (merged into ~/.claude/settings.json)
@@ -165,8 +165,8 @@ Three tiers determine how to approach a task:
165
165
 
166
166
  | Type | Field | Invocation | Count |
167
167
  |------|-------|-----------|-------|
168
- | Task | `disable-model-invocation: true` | User via `/skill` only | 27 |
169
- | Hybrid | (neither) | User via `/skill` + agent knowledge | 27 |
168
+ | Task | `disable-model-invocation: true` | User via `/skill` only | 28 |
169
+ | Hybrid | (neither) | User via `/skill` + agent knowledge | 28 |
170
170
  | Knowledge | `user-invocable: false` | Claude auto-loads | 31 |
171
171
 
172
172
  ## Multi-Agent Execution
@@ -209,7 +209,7 @@ Agents (code-reviewer, debugger, devops-implementer, ...)
209
209
  | TeammateIdle | Agent Teams: idle | *(inline)* | Completeness reminder |
210
210
  | SubagentStart | Subagent spawn | `subagent-start.sh` | Scope reminder for subagents |
211
211
  | SubagentStop | Subagent completion | `subagent-stop.sh` | Handoff checklist for subagents |
212
- | PreCompact | Before compaction | `pre-compact.sh` | Save context before compaction |
212
+ | PreCompact | Before compaction | `pre-compact.sh` | Save prioritized context: instincts > tasks > git state > decisions |
213
213
  | SessionEnd | Session end | `session-end.sh` | Persist handoff note for the next session |
214
214
 
215
215
  Scripts at `~/.ai-toolkit/hooks/`. See [hooks-catalog.md](hooks-catalog.md) for details.
@@ -224,6 +224,29 @@ Scripts at `~/.ai-toolkit/hooks/`. See [hooks-catalog.md](hooks-catalog.md) for
224
224
  | IV Self-Preservation | Constitution is read-only, kill switch via system-governor |
225
225
  | V Resource Governance | No destructive commands without confirmation |
226
226
 
227
+ ## Persona Presets
228
+
229
+ Optional engineering personas injected via `ai-toolkit install --persona <name>`. Each persona adds role-specific communication style, preferred skills, and code review priorities to CLAUDE.md.
230
+
231
+ | Persona | Focus |
232
+ |---------|-------|
233
+ | `backend-lead` | System design, scalability, data integrity, API stability |
234
+ | `frontend-lead` | Component architecture, a11y, state management, Core Web Vitals |
235
+ | `devops-eng` | Infrastructure as code, CI/CD, rollback safety, observability |
236
+ | `junior-dev` | Step-by-step explanations, learning resources, small PRs |
237
+
238
+ Persona files live in `app/personas/*.md` and use the same `inject_rule` mechanism as registered rules.
239
+
240
+ ## Skill Security Auditing
241
+
242
+ `/skill-audit` scans `app/skills/` and `app/agents/` for security risks:
243
+ - **Frontmatter**: overly permissive `allowed-tools`, knowledge skills with Bash
244
+ - **Scripts**: `eval()`, `exec()`, `os.system()`, `subprocess(shell=True)`, `pickle.loads`
245
+ - **Secrets**: AWS keys, GitHub PATs, private keys, hardcoded passwords
246
+ - **Bash**: `curl | bash`, unquoted variables, `chmod 777`
247
+
248
+ Severity levels: HIGH (blocks deployment), WARN (should fix), INFO (best practice). CI-ready with non-zero exit on HIGH findings.
249
+
227
250
  ## Agent Model Tiers
228
251
 
229
252
  | Model | Purpose | Count |
@@ -199,10 +199,12 @@ Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
199
199
  | Script | `~/.ai-toolkit/hooks/pre-compact.sh` |
200
200
  | Fires | Before context compaction |
201
201
 
202
- **Actions:**
203
- 1. Injects reminder to re-read CLAUDE.md files after compaction
204
- 2. Preserves session context from `.claude/session-context.md` (if exists)
205
- 3. Preserves active instincts from `.claude/instincts/*.md` (if any)
202
+ **Actions (prioritized — higher priority items survive tighter token budgets):**
203
+ 1. **Mandatory reload reminder** — always emitted, instructs Claude to re-read CLAUDE.md and active tasks
204
+ 2. **Active instincts** lists each instinct with confidence score and pattern name from `.claude/instincts/*.md`
205
+ 3. **Session context** preserves task state from `.claude/session-context.md` (if exists)
206
+ 4. **Git working state** — branch name, uncommitted change count, last commit (if inside a git repo)
207
+ 5. **Key decisions** — last 10 lines from `.claude/decisions.md` (if exists)
206
208
 
207
209
  Skipped when `TOOLKIT_HOOK_PROFILE=minimal`.
208
210
 
@@ -9,7 +9,7 @@ last_updated: "2026-04-01"
9
9
  description: "Complete catalog of 85 skills: 27 task, 27 hybrid, 31 knowledge. Includes effort levels, skill-scoped hooks, executable scripts, and creator workflows."
10
10
  ---
11
11
 
12
- # Skills Catalog (85 skills)
12
+ # Skills Catalog (87 skills)
13
13
 
14
14
  All functionality is unified under skills. Task and hybrid skills are user-invocable as slash commands. Knowledge skills provide domain patterns auto-loaded by agents.
15
15
 
@@ -21,7 +21,7 @@ All functionality is unified under skills. Task and hybrid skills are user-invoc
21
21
  | **2 — Multi-agent workflow** | `/workflow <type>` | Cross-cutting task with known pattern |
22
22
  | **3 — Custom parallelism** | `/orchestrate`, `/swarm` | No predefined workflow matches |
23
23
 
24
- ## Task Skills (27)
24
+ ## Task Skills (28)
25
25
 
26
26
  Task skills execute a specific action. Invoked via slash commands. `disable-model-invocation: true`.
27
27
 
@@ -54,8 +54,9 @@ Task skills execute a specific action. Invoked via slash commands. `disable-mode
54
54
  | **plugin-creator** | `/plugin-creator` | high | Create experimental opt-in plugin packs with manifests, conventions, and optional modules |
55
55
  | **health** | `/health` | medium | Check health of project services (auto-detect) |
56
56
  | **prd-to-issues** | `/prd-to-issues` | medium | Break PRD into GitHub issues with vertical slices and HITL/AFK tagging |
57
+ | **skill-audit** | `/skill-audit` | medium | Scan skills and agents for security risks: dangerous patterns, secrets, excessive permissions |
57
58
 
58
- ## Hybrid Skills (27)
59
+ ## Hybrid Skills (28)
59
60
 
60
61
  Hybrid skills combine slash-command invocation with domain knowledge that agents reference.
61
62
 
@@ -88,6 +89,7 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
88
89
  | **subagent-development** | `/subagent-development` | high | Execute plans with 2-stage review (spec + quality) per task |
89
90
  | **repeat** | `/repeat` | medium | Autonomous loop with safety controls (Ralph Wiggum pattern) |
90
91
  | **mem-search** | `/mem-search` | medium | Search past coding sessions via natural language (memory-pack) |
92
+ | **persona** | `/persona` | low | Switch engineering persona at runtime (backend-lead, frontend-lead, devops-eng, junior-dev) |
91
93
 
92
94
  ### `/workflow` types
93
95
 
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # ai-toolkit
2
2
 
3
- > Professional-grade Claude Code toolkit: 85 skills, 47 agents, machine-enforced constitution, quality hooks.
3
+ > Professional-grade Claude Code toolkit: 87 skills, 47 agents, machine-enforced constitution, quality hooks.
4
4
 
5
5
  ## Documentation
6
6
 
@@ -32,7 +32,7 @@
32
32
  - [Plugin Pack Conventions](kb/reference/plugin-pack-conventions.md)
33
33
  - [Quick Wins Implementation Summary](kb/reference/quick-wins-implementation-summary.md)
34
34
  - [Skill Templates](kb/reference/skill-templates.md)
35
- - [Skills Catalog (85 skills)](kb/reference/skills-catalog.md)
35
+ - [Skills Catalog (87 skills)](kb/reference/skills-catalog.md)
36
36
  - [Skills Unification Model](kb/reference/skills-unification.md)
37
37
  - [Usage Statistics](kb/reference/stats.md)
38
38
  - [Config Sync](kb/reference/sync.md)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@softspark/ai-toolkit",
3
- "version": "1.0.0",
4
- "description": "Professional-grade AI coding toolkit: 85 skills, 47 agents, multi-platform support (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider), machine-enforced safety constitution, Iron Law enforcement, persistent memory, visual brainstorming, expanded lifecycle hooks, 11 plugin packs, and benchmark tooling.",
3
+ "version": "1.2.0",
4
+ "description": "Professional-grade AI coding toolkit: 87 skills, 47 agents, multi-platform support (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment), machine-enforced safety constitution, persona presets, skill security auditor, expanded lifecycle hooks, 11 plugin packs, and benchmark tooling.",
5
5
  "keywords": [
6
6
  "claude",
7
7
  "claude-code",
@@ -20,6 +20,7 @@
20
20
  "roo-code",
21
21
  "roo",
22
22
  "aider",
23
+ "augment",
23
24
  "multi-platform"
24
25
  ],
25
26
  "homepage": "https://github.com/softspark/ai-toolkit",