@softspark/ai-toolkit 4.4.1 → 4.4.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 +20 -0
- package/README.md +6 -7
- package/app/.claude-plugin/plugin.json +1 -1
- package/app/skills/hook-creator/SKILL.md +1 -0
- package/benchmarks/ecosystem-doctor-snapshot.json +27 -15
- package/kb/reference/mcp-editor-compatibility.md +1 -1
- package/kb/reference/supported-tools-registry.md +3 -3
- package/llms-full.txt +47 -15
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/scripts/ecosystem_tools.json +9 -1
- package/scripts/generate_codex_hooks.py +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,26 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v4.4.2 - Ecosystem sync: Claude Code 2.1.158 + Codex 0.134 hook events (2026-05-30)
|
|
11
|
+
|
|
12
|
+
Patch release. Syncs the tool registry and `hook-creator` skill with newly detected upstream hook events and refreshes the ecosystem drift snapshot. No generated output or runtime behavior changes.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **Claude Code hook events** - Recorded `MessageDisplay` (new in Claude Code 2.1.152) in `scripts/ecosystem_tools.json` and the `hook-creator` skill's Supported Hook Events table. Also added three real-but-untracked events to the registry: `PostToolUseFailure`, `PostToolBatch`, `UserPromptExpansion`.
|
|
17
|
+
- **Codex hook events** - Recorded the four Codex events we did not track (`PreCompact`, `PostCompact`, `SubagentStart`, `SubagentStop`); Codex exposes 10 lifecycle events. Updated the `scripts/generate_codex_hooks.py` docstring (6 to 10) and `kb/reference/supported-tools-registry.md`.
|
|
18
|
+
- **Ecosystem snapshot** - Refreshed `benchmarks/ecosystem-doctor-snapshot.json` to baseline Claude Code 2.1.158 and Codex 0.134, and bumped the registry `last_updated`.
|
|
19
|
+
|
|
20
|
+
### Ecosystem
|
|
21
|
+
|
|
22
|
+
- Class-B drift (new Claude Code and Codex hook events) tracked in the registry and skill docs; wiring the Codex subagent/compaction events into generated `.codex/hooks.json` is deferred to a future release. GitHub Copilot docs reorg classified class C (not adopted). Seven editors showed cosmetic-only doc drift (class A).
|
|
23
|
+
|
|
24
|
+
### Verification
|
|
25
|
+
|
|
26
|
+
- `python3 scripts/validate.py --strict`
|
|
27
|
+
- `python3 scripts/ecosystem_doctor.py --offline --check`
|
|
28
|
+
- `npm test` (1151 passing)
|
|
29
|
+
|
|
10
30
|
## v4.4.1 - Codex hook output compatibility fix (2026-05-25)
|
|
11
31
|
|
|
12
32
|
Patch release. Fixes Codex `UserPromptSubmit` hook JSON validation failures and visible hook-context noise while preserving hook side effects.
|
package/README.md
CHANGED
|
@@ -8,15 +8,14 @@
|
|
|
8
8
|
[](app/agents/)
|
|
9
9
|
[](tests/)
|
|
10
10
|
|
|
11
|
-
## What's New in v4.4.
|
|
11
|
+
## What's New in v4.4.2
|
|
12
12
|
|
|
13
|
-
Patch release.
|
|
13
|
+
Patch release. Syncs the tool registry and `hook-creator` skill with newly detected upstream hook events and refreshes the ecosystem drift snapshot. No generated output or runtime behavior changes.
|
|
14
14
|
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **Release coverage updated**: hook regression coverage now includes blocked state and stats writes; suite count is 1151 tests.
|
|
15
|
+
- **Claude Code `MessageDisplay`**: the hook event added in Claude Code 2.1.152 is now tracked in the registry and documented in the `hook-creator` skill.
|
|
16
|
+
- **Three more Claude Code events tracked**: `PostToolUseFailure`, `PostToolBatch`, and `UserPromptExpansion` were real but missing from the registry.
|
|
17
|
+
- **Codex hook events**: recorded the four untracked Codex events (`PreCompact`, `PostCompact`, `SubagentStart`, `SubagentStop`); Codex exposes 10 lifecycle events total.
|
|
18
|
+
- **Drift snapshot refreshed**: baselined Claude Code 2.1.158 and Codex 0.134; `ecosystem_doctor.py --check` is green.
|
|
20
19
|
|
|
21
20
|
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
22
21
|
|
|
@@ -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": "4.4.
|
|
4
|
+
"version": "4.4.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SoftSpark",
|
|
7
7
|
"url": "https://github.com/softspark"
|
|
@@ -23,6 +23,7 @@ Create a new Claude Code hook following ai-toolkit conventions.
|
|
|
23
23
|
| `SessionEnd` | Session is closing | any | Flush logs, save transcripts |
|
|
24
24
|
| `UserPromptSubmit` | User submits a prompt | any | Prompt governance, usage tracking |
|
|
25
25
|
| `Notification` | Claude sends a notification | any | OS alerts, Slack pings |
|
|
26
|
+
| `MessageDisplay` | Assistant message is about to be shown to the user | any | Transform or hide assistant message text before display |
|
|
26
27
|
|
|
27
28
|
### Tool lifecycle
|
|
28
29
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"last_run": "2026-05-
|
|
2
|
+
"last_run": "2026-05-30T19:51:17Z",
|
|
3
3
|
"schema_version": 1,
|
|
4
4
|
"tools": {
|
|
5
5
|
"aider": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"augment": {
|
|
27
|
-
"docs_hash": "
|
|
27
|
+
"docs_hash": "46ef1d20d537234f",
|
|
28
28
|
"headings": [
|
|
29
29
|
"Admin",
|
|
30
30
|
"Auggie CLI",
|
|
@@ -65,11 +65,15 @@
|
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"claude-code": {
|
|
68
|
-
"docs_hash": "
|
|
68
|
+
"docs_hash": "b2ee6850b58cee40",
|
|
69
69
|
"headings": [
|
|
70
|
+
"Core concepts",
|
|
70
71
|
"Documentation Index",
|
|
72
|
+
"Getting started",
|
|
71
73
|
"On this page",
|
|
72
74
|
"Overview",
|
|
75
|
+
"Platforms and integrations",
|
|
76
|
+
"Use Claude Code",
|
|
73
77
|
"\u200bGet started",
|
|
74
78
|
"\u200bNext steps",
|
|
75
79
|
"\u200bUse Claude Code everywhere",
|
|
@@ -83,11 +87,14 @@
|
|
|
83
87
|
"FileChanged": false,
|
|
84
88
|
"InstructionsLoaded": false,
|
|
85
89
|
"MCP server": true,
|
|
90
|
+
"MessageDisplay": false,
|
|
86
91
|
"Notification": true,
|
|
87
92
|
"PermissionDenied": false,
|
|
88
93
|
"PermissionRequest": false,
|
|
89
94
|
"PostCompact": false,
|
|
95
|
+
"PostToolBatch": false,
|
|
90
96
|
"PostToolUse": true,
|
|
97
|
+
"PostToolUseFailure": false,
|
|
91
98
|
"PreCompact": false,
|
|
92
99
|
"PreToolUse": true,
|
|
93
100
|
"SKILL.md": true,
|
|
@@ -101,6 +108,7 @@
|
|
|
101
108
|
"TaskCompleted": false,
|
|
102
109
|
"TaskCreated": false,
|
|
103
110
|
"TeammateIdle": false,
|
|
111
|
+
"UserPromptExpansion": false,
|
|
104
112
|
"UserPromptSubmit": false,
|
|
105
113
|
"WorktreeCreate": false,
|
|
106
114
|
"WorktreeRemove": false,
|
|
@@ -112,10 +120,10 @@
|
|
|
112
120
|
"slash command": true,
|
|
113
121
|
"sub-agent": true
|
|
114
122
|
},
|
|
115
|
-
"version": "2.1.
|
|
123
|
+
"version": "2.1.158 (Claude Code)"
|
|
116
124
|
},
|
|
117
125
|
"cline": {
|
|
118
|
-
"docs_hash": "
|
|
126
|
+
"docs_hash": "9ec25e5132332d2f",
|
|
119
127
|
"headings": [
|
|
120
128
|
"API Reference",
|
|
121
129
|
"Best Practices",
|
|
@@ -156,7 +164,7 @@
|
|
|
156
164
|
}
|
|
157
165
|
},
|
|
158
166
|
"codex-cli": {
|
|
159
|
-
"docs_hash": "
|
|
167
|
+
"docs_hash": "f7a6a5144e0f61a2",
|
|
160
168
|
"headings": [
|
|
161
169
|
"About",
|
|
162
170
|
"Contributing",
|
|
@@ -175,7 +183,7 @@
|
|
|
175
183
|
"Packages 0",
|
|
176
184
|
"Provide feedback",
|
|
177
185
|
"Quickstart",
|
|
178
|
-
"Releases
|
|
186
|
+
"Releases 804",
|
|
179
187
|
"Repository files navigation",
|
|
180
188
|
"Resources",
|
|
181
189
|
"Saved searches",
|
|
@@ -193,10 +201,14 @@
|
|
|
193
201
|
"AGENTS.md": true,
|
|
194
202
|
"config.toml": false,
|
|
195
203
|
"hook event: PermissionRequest": false,
|
|
204
|
+
"hook event: PostCompact": false,
|
|
196
205
|
"hook event: PostToolUse": false,
|
|
206
|
+
"hook event: PreCompact": false,
|
|
197
207
|
"hook event: PreToolUse": false,
|
|
198
208
|
"hook event: SessionStart": false,
|
|
199
209
|
"hook event: Stop": false,
|
|
210
|
+
"hook event: SubagentStart": false,
|
|
211
|
+
"hook event: SubagentStop": false,
|
|
200
212
|
"hook event: UserPromptSubmit": false,
|
|
201
213
|
"hook handler: agent": false,
|
|
202
214
|
"hook handler: command": false,
|
|
@@ -205,10 +217,10 @@
|
|
|
205
217
|
"mcp_servers": false,
|
|
206
218
|
"sandbox": true
|
|
207
219
|
},
|
|
208
|
-
"version": "codex-cli 0.
|
|
220
|
+
"version": "codex-cli 0.134.0"
|
|
209
221
|
},
|
|
210
222
|
"cursor": {
|
|
211
|
-
"docs_hash": "
|
|
223
|
+
"docs_hash": "6aa8a8d7cc046f13",
|
|
212
224
|
"headings": [],
|
|
213
225
|
"markers": {
|
|
214
226
|
".cursor/rules": false,
|
|
@@ -224,7 +236,7 @@
|
|
|
224
236
|
}
|
|
225
237
|
},
|
|
226
238
|
"gemini-cli": {
|
|
227
|
-
"docs_hash": "
|
|
239
|
+
"docs_hash": "5569709cc2e463a8",
|
|
228
240
|
"headings": [
|
|
229
241
|
"Breadcrumbs",
|
|
230
242
|
"Directory actions",
|
|
@@ -263,16 +275,16 @@
|
|
|
263
275
|
}
|
|
264
276
|
},
|
|
265
277
|
"github-copilot": {
|
|
266
|
-
"docs_hash": "
|
|
278
|
+
"docs_hash": "56ac2d5768f930b5",
|
|
267
279
|
"headings": [
|
|
268
280
|
"About Copilot auto model selection",
|
|
269
281
|
"About Copilot integrations",
|
|
270
282
|
"About agent management",
|
|
271
283
|
"About agent skills",
|
|
272
284
|
"About billing for GitHub Copilot in organizations and enterprises",
|
|
273
|
-
"About billing for individual GitHub Copilot plans",
|
|
274
285
|
"About custom agents",
|
|
275
286
|
"About customizing GitHub Copilot responses",
|
|
287
|
+
"About enterprise accounts for Copilot Business",
|
|
276
288
|
"Articles",
|
|
277
289
|
"Did you find what you needed?",
|
|
278
290
|
"GitHub Copilot",
|
|
@@ -295,7 +307,7 @@
|
|
|
295
307
|
}
|
|
296
308
|
},
|
|
297
309
|
"google-antigravity": {
|
|
298
|
-
"docs_hash": "
|
|
310
|
+
"docs_hash": "f933b31ac7414c29",
|
|
299
311
|
"headings": [],
|
|
300
312
|
"markers": {
|
|
301
313
|
"AGENTS.md": false,
|
|
@@ -311,7 +323,7 @@
|
|
|
311
323
|
}
|
|
312
324
|
},
|
|
313
325
|
"opencode": {
|
|
314
|
-
"docs_hash": "
|
|
326
|
+
"docs_hash": "fe7f7590e4553574",
|
|
315
327
|
"headings": [
|
|
316
328
|
"Add features",
|
|
317
329
|
"Ask questions",
|
|
@@ -371,7 +383,7 @@
|
|
|
371
383
|
}
|
|
372
384
|
},
|
|
373
385
|
"windsurf": {
|
|
374
|
-
"docs_hash": "
|
|
386
|
+
"docs_hash": "a30041baf564742f",
|
|
375
387
|
"headings": [
|
|
376
388
|
"Accounts",
|
|
377
389
|
"Advanced",
|
|
@@ -5,7 +5,7 @@ service: ai-toolkit
|
|
|
5
5
|
tags: [mcp, editors, compatibility, codex, cursor]
|
|
6
6
|
version: "1.1.0"
|
|
7
7
|
created: "2026-04-12"
|
|
8
|
-
last_updated: "2026-
|
|
8
|
+
last_updated: "2026-05-30"
|
|
9
9
|
description: "Official MCP support matrix and native config targets for editors supported by ai-toolkit."
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ service: ai-toolkit
|
|
|
5
5
|
tags: [editors, platforms, generators, integration, ecosystem]
|
|
6
6
|
version: "1.3.0"
|
|
7
7
|
created: "2026-04-23"
|
|
8
|
-
last_updated: "2026-05-
|
|
8
|
+
last_updated: "2026-05-30"
|
|
9
9
|
description: "Human-readable view of scripts/ecosystem_tools.json — the canonical list of tools ai-toolkit integrates with (Claude Code + 11 editors), their documentation URLs, config paths, our generators, and tracked capability markers."
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -30,7 +30,7 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
30
30
|
| Release notes | https://github.com/anthropics/claude-code/releases |
|
|
31
31
|
| Config paths | `~/.claude/settings.json`, `.claude/settings.local.json`, `CLAUDE.md`, `.claude/agents/*.md`, `.claude/skills/*/SKILL.md`, `~/.claude/themes/*.json` (v2.1.118+) |
|
|
32
32
|
| Our generators | — (Claude Code is the primary target; toolkit content ships directly as `.md` files and `settings.json` merges) |
|
|
33
|
-
| Tracked hook events | Core: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`. Tool: `PreToolUse`, `PostToolUse`. Turn: `Stop`, `StopFailure`. Subagent: `SubagentStart`, `SubagentStop`. Compaction: `PreCompact`, `PostCompact`. Permissions: `PermissionRequest`, `PermissionDenied`. Elicitation: `Elicitation`, `ElicitationResult`. Teams: `TaskCreated`, `TaskCompleted`, `TeammateIdle`. Worktrees/env: `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `FileChanged`, `ConfigChange`. Setup: `Setup`, `InstructionsLoaded` |
|
|
33
|
+
| Tracked hook events | Core: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`, `MessageDisplay`. Tool: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PostToolBatch`. Turn: `Stop`, `StopFailure`, `UserPromptExpansion`. Subagent: `SubagentStart`, `SubagentStop`. Compaction: `PreCompact`, `PostCompact`. Permissions: `PermissionRequest`, `PermissionDenied`. Elicitation: `Elicitation`, `ElicitationResult`. Teams: `TaskCreated`, `TaskCompleted`, `TeammateIdle`. Worktrees/env: `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `FileChanged`, `ConfigChange`. Setup: `Setup`, `InstructionsLoaded` |
|
|
34
34
|
| Tracked handler types | `command`, `prompt`, `agent`, `mcp_tool` |
|
|
35
35
|
| Other capabilities | slash commands, MCP server/client, sub-agent, output style, `SKILL.md` (≥500 lines warn) |
|
|
36
36
|
| Version probe | `claude --version` |
|
|
@@ -163,7 +163,7 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
163
163
|
| Release notes | https://github.com/openai/codex/releases |
|
|
164
164
|
| Config paths | `AGENTS.md`, `.agents/rules/*.md`, `.agents/skills/*/SKILL.md`, `.codex/hooks.json`, `~/.codex/config.toml` |
|
|
165
165
|
| Our generators | `scripts/generate_codex.py`, `scripts/generate_codex_rules.py`, `scripts/generate_codex_hooks.py`, `scripts/generate_codex_skills.py` (opt-in via `--codex-skills`) |
|
|
166
|
-
| Tracked hook events | `PreToolUse`, `PostToolUse`, `SessionStart`, `UserPromptSubmit`, `
|
|
166
|
+
| Tracked hook events | Upstream canonical (codex-rs `HookEventName` enum): `PreToolUse`, `PostToolUse`, `PermissionRequest`, `PreCompact`, `PostCompact`, `SessionStart`, `UserPromptSubmit`, `SubagentStart`, `SubagentStop`, `Stop` (10 events). We currently wire a subset: `SessionStart`, `PreToolUse`, `PermissionRequest`, `UserPromptSubmit`, `Stop`. |
|
|
167
167
|
| Tracked handler types | `command` (emitted by default); `prompt` and `agent` available upstream but authored by hand |
|
|
168
168
|
| Other capabilities | `AGENTS.md`, `config.toml`, `mcp_servers`, sandbox policies, `.agents/skills/*/SKILL.md` (native Codex skill discovery path) |
|
|
169
169
|
| Version probe | `codex --version` |
|
package/llms-full.txt
CHANGED
|
@@ -6965,9 +6965,9 @@ title: "AI Toolkit - Codex CLI Compatibility"
|
|
|
6965
6965
|
category: reference
|
|
6966
6966
|
service: ai-toolkit
|
|
6967
6967
|
tags: [codex, compatibility, install, skills, hooks]
|
|
6968
|
-
version: "1.0.
|
|
6968
|
+
version: "1.0.3"
|
|
6969
6969
|
created: "2026-04-12"
|
|
6970
|
-
last_updated: "2026-05-
|
|
6970
|
+
last_updated: "2026-05-25"
|
|
6971
6971
|
description: "Reference for how ai-toolkit maps Claude-oriented skills, hooks, and plugin packs to Codex CLI."
|
|
6972
6972
|
---
|
|
6973
6973
|
|
|
@@ -7072,12 +7072,27 @@ This means Claude-only events such as `TaskCompleted`, `TeammateIdle`,
|
|
|
7072
7072
|
`~/.codex/hooks.json` (global layer). Non-Codex events are silently skipped.
|
|
7073
7073
|
`remove-hook` cleans both Claude and Codex targets.
|
|
7074
7074
|
|
|
7075
|
-
Generated Codex hook commands include `AI_TOOLKIT_HOOK_QUIET=1`. The
|
|
7076
|
-
`UserPromptSubmit` governance hook
|
|
7077
|
-
|
|
7078
|
-
|
|
7079
|
-
|
|
7080
|
-
|
|
7075
|
+
Generated Codex hook commands include `AI_TOOLKIT_HOOK_QUIET=1`. The generated
|
|
7076
|
+
`UserPromptSubmit` governance hook does not set `AI_TOOLKIT_HOOK_FORMAT=json`
|
|
7077
|
+
by default because Codex currently renders `additionalContext` as visible hook
|
|
7078
|
+
context in the TUI. This keeps prompt-submit output quiet while preserving hook
|
|
7079
|
+
side effects and blocking decisions such as search-first Stop enforcement.
|
|
7080
|
+
|
|
7081
|
+
Codex `UserPromptSubmit` JSON output is event-specific. When emitting context,
|
|
7082
|
+
the hook must include the event name alongside the context:
|
|
7083
|
+
|
|
7084
|
+
```json
|
|
7085
|
+
{
|
|
7086
|
+
"hookSpecificOutput": {
|
|
7087
|
+
"hookEventName": "UserPromptSubmit",
|
|
7088
|
+
"additionalContext": "..."
|
|
7089
|
+
},
|
|
7090
|
+
"suppressOutput": true
|
|
7091
|
+
}
|
|
7092
|
+
```
|
|
7093
|
+
|
|
7094
|
+
Older `{"hookSpecificOutput":{"additionalContext":"..."}}` output can be valid
|
|
7095
|
+
JSON but fail newer Codex event-output validation.
|
|
7081
7096
|
|
|
7082
7097
|
Plain-text informational hook context is also silent by default in the shared
|
|
7083
7098
|
hook helper. Set `AI_TOOLKIT_HOOK_VERBOSE=1` only when debugging hook output
|
|
@@ -8880,7 +8895,7 @@ title: "Hooks Catalog"
|
|
|
8880
8895
|
category: reference
|
|
8881
8896
|
service: ai-toolkit
|
|
8882
8897
|
tags: [hooks, quality, safety, enforcement, settings.json]
|
|
8883
|
-
version: "1.5.
|
|
8898
|
+
version: "1.5.6"
|
|
8884
8899
|
created: "2026-03-27"
|
|
8885
8900
|
last_updated: "2026-05-25"
|
|
8886
8901
|
description: "Complete reference of all ai-toolkit hooks: events, scripts, installation, and runtime behavior."
|
|
@@ -8991,12 +9006,29 @@ work, evidence-first debugging, KB-first research, and validation expectations.
|
|
|
8991
9006
|
Skipped when `TOOLKIT_HOOK_PROFILE=minimal`. The bundled `app/hooks.json`
|
|
8992
9007
|
registers this command with `AI_TOOLKIT_HOOK_QUIET=1 AI_TOOLKIT_HOOK_FORMAT=json`.
|
|
8993
9008
|
This keeps the hook visually quiet (`suppressOutput: true`) while still
|
|
8994
|
-
injecting
|
|
9009
|
+
injecting event-specific JSON context before Claude starts working in runtimes
|
|
9010
|
+
that consume hidden context:
|
|
9011
|
+
|
|
9012
|
+
```json
|
|
9013
|
+
{
|
|
9014
|
+
"hookSpecificOutput": {
|
|
9015
|
+
"hookEventName": "UserPromptSubmit",
|
|
9016
|
+
"additionalContext": "..."
|
|
9017
|
+
},
|
|
9018
|
+
"suppressOutput": true
|
|
9019
|
+
}
|
|
9020
|
+
```
|
|
9021
|
+
|
|
8995
9022
|
That context is the proactive half of search-first enforcement; the paired
|
|
8996
9023
|
`stop-search-check.sh` remains the corrective half. In plain-text mode,
|
|
8997
9024
|
informational reminders are silent by default and require
|
|
8998
9025
|
`AI_TOOLKIT_HOOK_VERBOSE=1`.
|
|
8999
9026
|
|
|
9027
|
+
Codex-generated hooks intentionally run this script without
|
|
9028
|
+
`AI_TOOLKIT_HOOK_FORMAT=json` by default because Codex renders
|
|
9029
|
+
`additionalContext` visibly in the TUI; the search-first flag side effect still
|
|
9030
|
+
arms the corrective Stop hook.
|
|
9031
|
+
|
|
9000
9032
|
### UserPromptSubmit (usage tracking) — `track-usage.sh`
|
|
9001
9033
|
|
|
9002
9034
|
| Field | Value |
|
|
@@ -9006,7 +9038,7 @@ informational reminders are silent by default and require
|
|
|
9006
9038
|
| Script | `~/.softspark/ai-toolkit/hooks/track-usage.sh` |
|
|
9007
9039
|
| Fires | Before Claude starts working on a submitted prompt |
|
|
9008
9040
|
|
|
9009
|
-
**Action:** Records skill invocations (slash commands like `/commit`, `/review`) to `~/.softspark/ai-toolkit/stats.json` for local usage analytics. Non-slash prompts are ignored.
|
|
9041
|
+
**Action:** Records skill invocations (slash commands like `/commit`, `/review`) to `~/.softspark/ai-toolkit/stats.json` for local usage analytics. Non-slash prompts are ignored. Stats writes are best-effort and stay silent if the local state path is not writable.
|
|
9010
9042
|
|
|
9011
9043
|
### PostToolUse (edit feedback) — `post-tool-use.sh`
|
|
9012
9044
|
|
|
@@ -9988,7 +10020,7 @@ service: ai-toolkit
|
|
|
9988
10020
|
tags: [mcp, editors, compatibility, codex, cursor]
|
|
9989
10021
|
version: "1.1.0"
|
|
9990
10022
|
created: "2026-04-12"
|
|
9991
|
-
last_updated: "2026-
|
|
10023
|
+
last_updated: "2026-05-30"
|
|
9992
10024
|
description: "Official MCP support matrix and native config targets for editors supported by ai-toolkit."
|
|
9993
10025
|
---
|
|
9994
10026
|
|
|
@@ -11716,7 +11748,7 @@ service: ai-toolkit
|
|
|
11716
11748
|
tags: [editors, platforms, generators, integration, ecosystem]
|
|
11717
11749
|
version: "1.3.0"
|
|
11718
11750
|
created: "2026-04-23"
|
|
11719
|
-
last_updated: "2026-05-
|
|
11751
|
+
last_updated: "2026-05-30"
|
|
11720
11752
|
description: "Human-readable view of scripts/ecosystem_tools.json — the canonical list of tools ai-toolkit integrates with (Claude Code + 11 editors), their documentation URLs, config paths, our generators, and tracked capability markers."
|
|
11721
11753
|
---
|
|
11722
11754
|
|
|
@@ -11741,7 +11773,7 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11741
11773
|
| Release notes | https://github.com/anthropics/claude-code/releases |
|
|
11742
11774
|
| Config paths | `~/.claude/settings.json`, `.claude/settings.local.json`, `CLAUDE.md`, `.claude/agents/*.md`, `.claude/skills/*/SKILL.md`, `~/.claude/themes/*.json` (v2.1.118+) |
|
|
11743
11775
|
| Our generators | — (Claude Code is the primary target; toolkit content ships directly as `.md` files and `settings.json` merges) |
|
|
11744
|
-
| Tracked hook events | Core: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`. Tool: `PreToolUse`, `PostToolUse`. Turn: `Stop`, `StopFailure`. Subagent: `SubagentStart`, `SubagentStop`. Compaction: `PreCompact`, `PostCompact`. Permissions: `PermissionRequest`, `PermissionDenied`. Elicitation: `Elicitation`, `ElicitationResult`. Teams: `TaskCreated`, `TaskCompleted`, `TeammateIdle`. Worktrees/env: `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `FileChanged`, `ConfigChange`. Setup: `Setup`, `InstructionsLoaded` |
|
|
11776
|
+
| Tracked hook events | Core: `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`, `MessageDisplay`. Tool: `PreToolUse`, `PostToolUse`, `PostToolUseFailure`, `PostToolBatch`. Turn: `Stop`, `StopFailure`, `UserPromptExpansion`. Subagent: `SubagentStart`, `SubagentStop`. Compaction: `PreCompact`, `PostCompact`. Permissions: `PermissionRequest`, `PermissionDenied`. Elicitation: `Elicitation`, `ElicitationResult`. Teams: `TaskCreated`, `TaskCompleted`, `TeammateIdle`. Worktrees/env: `WorktreeCreate`, `WorktreeRemove`, `CwdChanged`, `FileChanged`, `ConfigChange`. Setup: `Setup`, `InstructionsLoaded` |
|
|
11745
11777
|
| Tracked handler types | `command`, `prompt`, `agent`, `mcp_tool` |
|
|
11746
11778
|
| Other capabilities | slash commands, MCP server/client, sub-agent, output style, `SKILL.md` (≥500 lines warn) |
|
|
11747
11779
|
| Version probe | `claude --version` |
|
|
@@ -11874,7 +11906,7 @@ The canonical data lives in **`scripts/ecosystem_tools.json`** and is consumed b
|
|
|
11874
11906
|
| Release notes | https://github.com/openai/codex/releases |
|
|
11875
11907
|
| Config paths | `AGENTS.md`, `.agents/rules/*.md`, `.agents/skills/*/SKILL.md`, `.codex/hooks.json`, `~/.codex/config.toml` |
|
|
11876
11908
|
| Our generators | `scripts/generate_codex.py`, `scripts/generate_codex_rules.py`, `scripts/generate_codex_hooks.py`, `scripts/generate_codex_skills.py` (opt-in via `--codex-skills`) |
|
|
11877
|
-
| Tracked hook events | `PreToolUse`, `PostToolUse`, `SessionStart`, `UserPromptSubmit`, `
|
|
11909
|
+
| Tracked hook events | Upstream canonical (codex-rs `HookEventName` enum): `PreToolUse`, `PostToolUse`, `PermissionRequest`, `PreCompact`, `PostCompact`, `SessionStart`, `UserPromptSubmit`, `SubagentStart`, `SubagentStop`, `Stop` (10 events). We currently wire a subset: `SessionStart`, `PreToolUse`, `PermissionRequest`, `UserPromptSubmit`, `Stop`. |
|
|
11878
11910
|
| Tracked handler types | `command` (emitted by default); `prompt` and `agent` available upstream but authored by hand |
|
|
11879
11911
|
| Other capabilities | `AGENTS.md`, `config.toml`, `mcp_servers`, sandbox policies, `.agents/skills/*/SKILL.md` (native Codex skill discovery path) |
|
|
11880
11912
|
| Version probe | `codex --version` |
|
package/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softspark/ai-toolkit",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.2",
|
|
4
4
|
"description": "AI coding toolkit: 107 skills, 44 agents, 12-editor write-through (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo, Aider, Augment, Antigravity, Codex, opencode), machine-enforced safety constitution, SARIF audit, signed npm provenance.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"description": "Authoritative registry of tools ai-toolkit integrates with. Consumed by scripts/ecosystem_doctor.py to detect upstream doc/version drift.",
|
|
4
|
-
"last_updated": "2026-05-
|
|
4
|
+
"last_updated": "2026-05-30",
|
|
5
5
|
"tools": [
|
|
6
6
|
{
|
|
7
7
|
"id": "claude-code",
|
|
@@ -24,12 +24,16 @@
|
|
|
24
24
|
"capability_markers": [
|
|
25
25
|
"PreToolUse",
|
|
26
26
|
"PostToolUse",
|
|
27
|
+
"PostToolUseFailure",
|
|
28
|
+
"PostToolBatch",
|
|
27
29
|
"SessionStart",
|
|
28
30
|
"SessionEnd",
|
|
29
31
|
"SubagentStart",
|
|
30
32
|
"SubagentStop",
|
|
31
33
|
"UserPromptSubmit",
|
|
34
|
+
"UserPromptExpansion",
|
|
32
35
|
"Notification",
|
|
36
|
+
"MessageDisplay",
|
|
33
37
|
"Stop",
|
|
34
38
|
"StopFailure",
|
|
35
39
|
"PreCompact",
|
|
@@ -452,6 +456,10 @@
|
|
|
452
456
|
"hook event: UserPromptSubmit",
|
|
453
457
|
"hook event: Stop",
|
|
454
458
|
"hook event: PermissionRequest",
|
|
459
|
+
"hook event: PreCompact",
|
|
460
|
+
"hook event: PostCompact",
|
|
461
|
+
"hook event: SubagentStart",
|
|
462
|
+
"hook event: SubagentStop",
|
|
455
463
|
"hook handler: command",
|
|
456
464
|
"hook handler: prompt",
|
|
457
465
|
"hook handler: agent",
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
Maps compatible ai-toolkit hooks to Codex lifecycle events.
|
|
5
5
|
Hook scripts are shared with Claude Code (stored in ~/.softspark/ai-toolkit/hooks/).
|
|
6
6
|
|
|
7
|
-
Codex
|
|
8
|
-
``PreToolUse``, ``PostToolUse``, ``PermissionRequest``, ``
|
|
9
|
-
``
|
|
10
|
-
the ``Bash``
|
|
7
|
+
Codex exposes 10 lifecycle events (PascalCase in config.toml / hooks.json):
|
|
8
|
+
``PreToolUse``, ``PostToolUse``, ``PermissionRequest``, ``PreCompact``,
|
|
9
|
+
``PostCompact``, ``SessionStart``, ``UserPromptSubmit``, ``SubagentStart``,
|
|
10
|
+
``SubagentStop``, ``Stop``. PreToolUse/PostToolUse only support the ``Bash``
|
|
11
|
+
matcher. We currently wire the subset defined in ``CODEX_HOOKS`` below.
|
|
11
12
|
|
|
12
13
|
Handler types in Codex: ``command`` (what we emit), ``prompt``, and ``agent``.
|
|
13
14
|
Reference: codex-rs/config/src/hook_config.rs.
|