@softspark/ai-toolkit 2.0.1 → 2.1.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/llms-full.txt CHANGED
@@ -27,6 +27,7 @@
27
27
  - [CI Integration](kb/reference/ci-integration.md)
28
28
  - [Claude Ecosystem Benchmark Snapshot](kb/reference/claude-ecosystem-benchmark-snapshot.md)
29
29
  - [Claude Ecosystem Expansion Foundations](kb/reference/claude-ecosystem-expansion-foundations.md)
30
+ - [AI Toolkit - Codex CLI Compatibility](kb/reference/codex-cli-compatibility.md)
30
31
  - [Plan: Competitive Features — ai-toolkit](kb/reference/competitive-features-implementation.md)
31
32
  - [Distribution Model](kb/reference/distribution-model.md)
32
33
  - [Enterprise Config Inheritance Guide](kb/reference/enterprise-config-guide.md)
@@ -38,6 +39,7 @@
38
39
  - [Language Plugin Packs](kb/reference/language-packs.md)
39
40
  - [Language Rules System](kb/reference/language-rules.md)
40
41
  - [Manifest-Driven Install System](kb/reference/manifest-install.md)
42
+ - [MCP Editor Compatibility](kb/reference/mcp-editor-compatibility.md)
41
43
  - [MCP Server Templates](kb/reference/mcp-templates.md)
42
44
  - [Merge-Friendly Install Model](kb/reference/merge-friendly-install-model.md)
43
45
  - [Plugin Pack Conventions](kb/reference/plugin-pack-conventions.md)
@@ -111,7 +113,7 @@
111
113
  - **persona**: Switch engineering persona at runtime: backend-lead, frontend-lead, devops-eng, junior-dev
112
114
  - **plan**: Plan implementation with tasks and success criteria
113
115
  - **plan-writing**: Loaded when user asks to write an implementation plan or pre-mortem
114
- - **plugin-creator**: Creates experimental opt-in Claude Code plugin packs with manifests, conventions, and optional module scaffolding
116
+ - **plugin-creator**: Creates experimental opt-in plugin packs with manifests, conventions, and optional module scaffolding for Claude and Codex runtimes
115
117
  - **pr**: Create pull requests with pre-flight validation
116
118
  - **prd-to-issues**: Break a PRD into independently-grabbable GitHub issues using vertical slices with HITL/AFK tagging and dependency ordering. Use when user wants to convert a PRD to issues, create tickets, or break down a PRD into work items.
117
119
  - **prd-to-plan**: Convert a PRD into a phased implementation plan using tracer-bullet vertical slices. Use when user wants to break down a PRD, create an implementation plan, plan phases from a PRD, or mentions tracer bullets.
@@ -3120,9 +3122,9 @@ title: "SOP: Claude Toolkit Maintenance"
3120
3122
  category: procedures
3121
3123
  service: ai-toolkit
3122
3124
  tags: [sop, maintenance, agents, skills, install]
3123
- version: "1.4.2"
3125
+ version: "1.4.4"
3124
3126
  created: "2026-03-23"
3125
- last_updated: "2026-04-10"
3127
+ last_updated: "2026-04-13"
3126
3128
  description: "Standard operating procedures for installing, maintaining, and evolving the ai-toolkit."
3127
3129
  ---
3128
3130
 
@@ -3151,7 +3153,7 @@ ai-toolkit install --local --editors all # all supported editor
3151
3153
  ai-toolkit install --local --editors cursor,aider # specific editors only
3152
3154
  ```
3153
3155
 
3154
- Supported editors: `cursor`, `windsurf`, `cline`, `roo`, `aider`, `augment`, `copilot`, `antigravity`.
3156
+ Supported editors: `cursor`, `windsurf`, `cline`, `roo`, `aider`, `augment`, `copilot`, `antigravity`, `codex`.
3155
3157
 
3156
3158
  To restrict which language rules are injected, use `--lang`:
3157
3159
 
@@ -3311,22 +3313,22 @@ Use `PreToolUse` for blocking validations, `PostToolUse` for non-blocking feedba
3311
3313
  ## Managing Plugins
3312
3314
 
3313
3315
  ```bash
3314
- ai-toolkit plugin list # show available packs
3315
- ai-toolkit plugin install <name> # install a single pack
3316
- ai-toolkit plugin install --all # install all 11 packs
3317
- ai-toolkit plugin update <name> # update a pack (preserves data)
3318
- ai-toolkit plugin update --all # update all installed packs
3319
- ai-toolkit plugin clean <name> # prune data older than 90 days
3316
+ ai-toolkit plugin list # show available packs
3317
+ ai-toolkit plugin install --editor claude <name> # install for Claude global target
3318
+ ai-toolkit plugin install --editor codex <name> # install for Codex global target
3319
+ ai-toolkit plugin install --editor all --all # install all 11 packs for both runtimes
3320
+ ai-toolkit plugin update --editor all --all # re-apply all installed packs after toolkit updates
3321
+ ai-toolkit plugin clean <name> # prune data older than 90 days
3320
3322
  ai-toolkit plugin clean <name> --days 30 # custom retention
3321
- ai-toolkit plugin remove <name> # remove a pack
3322
- ai-toolkit plugin status # show installed packs with data stats
3323
+ ai-toolkit plugin remove --editor codex <name> # remove from one runtime only
3324
+ ai-toolkit plugin status --editor all # show installed packs with runtime details
3323
3325
  ```
3324
3326
 
3325
- Install copies hooks/scripts, verifies agents+skills are linked, merges hooks into `settings.json`, and runs init scripts. Update removes and reinstalls from current source (data preserved). Clean prunes old plugin data. Remove reverses install but leaves data intact. Core agents/skills are never removed.
3327
+ Install copies hooks/scripts, verifies agents+skills are linked, merges hooks into the selected runtime config, and runs init scripts. For Codex, the selected runtime is the global `HOME` layer (`~/AGENTS.md`, `~/.agents/`, `~/.codex/hooks.json`). Update removes and reinstalls from current source while preserving plugin data. Clean prunes old plugin data. Remove reverses install for the selected runtime but leaves plugin data intact. Core agents/skills are never removed.
3326
3328
 
3327
3329
  Memory-pack auto-prunes observations older than 90 days on every session end (configurable via `MEMORY_RETENTION_DAYS`).
3328
3330
 
3329
- State tracked in `~/.softspark/ai-toolkit/plugins.json`.
3331
+ State is tracked per runtime in `~/.softspark/ai-toolkit/plugins.json`. After every `ai-toolkit update`, also run `ai-toolkit plugin update --editor all --all` if plugin packs are installed.
3330
3332
 
3331
3333
  ## Adding a KB Document
3332
3334
 
@@ -3346,6 +3348,51 @@ Follow the `documentation-standards` knowledge skill (`app/skills/documentation-
3346
3348
  2. `chmod +x` the script
3347
3349
  3. Reference: `` python3 ${CLAUDE_SKILL_DIR}/scripts/script.py . ``
3348
3350
 
3351
+ ## Cross-Editor Verification (Mandatory)
3352
+
3353
+ **Every addition — skill, hook, MCP template, agent, rule — MUST be verified against all supported editors before merge.**
3354
+
3355
+ This toolkit targets 10 platforms. Each has its own config format, file path conventions, and runtime capabilities. A feature that works in Claude Code may silently break in Cursor, Codex, or Copilot if the editor's official spec diverges.
3356
+
3357
+ ### Verification checklist
3358
+
3359
+ When adding or modifying any toolkit component:
3360
+
3361
+ 1. **Check official docs** — before implementing, fetch the editor's current documentation (web search or Context7) to confirm the config format, file path, and feature support haven't changed
3362
+ 2. **Validate output format** — ensure the generated file matches what the editor expects (JSON schema, TOML structure, MDC frontmatter, directory naming)
3363
+ 3. **Test scope rules** — verify project-local vs global behavior matches the editor's own scope model
3364
+ 4. **Confirm feature parity** — if the feature relies on runtime primitives (hooks, MCP, agent delegation), check whether the target editor supports them; document gaps in `kb/reference/` if not
3365
+
3366
+ ### Editor documentation sources
3367
+
3368
+ | Editor | Where to verify |
3369
+ |--------|----------------|
3370
+ | Claude Code | `docs.anthropic.com/claude-code` |
3371
+ | Cursor | `docs.cursor.com` |
3372
+ | Windsurf | `docs.codeium.com/windsurf` |
3373
+ | GitHub Copilot | `docs.github.com/copilot` |
3374
+ | Gemini CLI | `github.com/google-gemini/gemini-cli` |
3375
+ | Cline | `github.com/cline/cline` |
3376
+ | Roo Code | `github.com/RooVetGit/Roo-Code` |
3377
+ | Aider | `aider.chat` |
3378
+ | Augment | `docs.augmentcode.com` |
3379
+ | Codex CLI | `github.com/openai/codex` |
3380
+ | Google Antigravity | `developers.google.com/project-idx` |
3381
+
3382
+ ### When to do this
3383
+
3384
+ - Adding a new skill → verify it renders correctly for Codex `.agents/skills/` and all directory-based editors
3385
+ - Adding a new hook → verify event name is valid in Claude and check `.codex/hooks.json` compatibility
3386
+ - Adding a new MCP template → verify it installs correctly for all 8 native adapters (`mcp_editors.py`)
3387
+ - Modifying generator output → check that every editor-specific generator still produces valid output
3388
+ - Adding a new editor → verify ALL existing features render correctly for the new target
3389
+
3390
+ ### Anti-pattern
3391
+
3392
+ Do NOT assume an editor's format based on memory or past behavior. Editors ship breaking changes to their config surfaces. Always verify against current official docs before implementation.
3393
+
3394
+ ---
3395
+
3349
3396
  ## Quality Checks
3350
3397
 
3351
3398
  ```bash
@@ -3371,14 +3418,17 @@ ai-toolkit benchmark-ecosystem --offline # benchmark snapshot
3371
3418
  Changes propagate instantly to all machines via symlinks. After any change:
3372
3419
 
3373
3420
  ```bash
3374
- npm run generate:all # FIRST: regenerate AGENTS.md, llms.txt, all platform configs
3421
+ npm run generate:all # FIRST: regenerate AGENTS.md, Codex rules, llms.txt, and platform configs
3375
3422
  scripts/validate.py # then validate — must pass before commit
3376
3423
  npm test # then test — must pass before commit
3377
3424
  ```
3378
3425
 
3379
3426
  Run `generate:all` before validate and test so that generated artifacts are current when
3380
- the metadata contract tests run. Committing without regenerating first causes artifact
3381
- drift and fails CI.
3427
+ the metadata contract tests run. Directory-based rule generators now use ownership-aware
3428
+ cleanup: repo regeneration manages only standard generated files, while `install/update`
3429
+ manages standard, language, and custom overlays together. That keeps regeneration safe
3430
+ without leaving stale standard artifacts behind. Committing without regenerating first
3431
+ causes artifact drift and fails CI.
3382
3432
 
3383
3433
  ## Release Checklist
3384
3434
 
@@ -3463,7 +3513,7 @@ service: ai-toolkit
3463
3513
  tags: [sop, release, version, publish, changelog, semver]
3464
3514
  version: "1.5.0"
3465
3515
  created: "2026-04-10"
3466
- last_updated: "2026-04-10"
3516
+ last_updated: "2026-04-13"
3467
3517
  description: "Step-by-step checklist for preparing a new ai-toolkit release — version sync, changelog, artifact regeneration, validation, and tagging. Run BEFORE every git tag."
3468
3518
  ---
3469
3519
 
@@ -3496,6 +3546,7 @@ python3 scripts/sync_version.py X.Y.Z # if script exists, else manual
3496
3546
  # 3. Write CHANGELOG.md entry
3497
3547
  # 4. Regenerate artifacts
3498
3548
  python3 scripts/generate_agents_md.py > AGENTS.md
3549
+ python3 scripts/generate_codex_rules.py .
3499
3550
  python3 scripts/generate_llms_txt.py > llms.txt
3500
3551
  python3 scripts/generate_llms_txt.py --full > llms-full.txt
3501
3552
 
@@ -3619,6 +3670,7 @@ Add entry at the top of `CHANGELOG.md` (after the header, before previous releas
3619
3670
 
3620
3671
  ```bash
3621
3672
  python3 scripts/generate_agents_md.py > AGENTS.md
3673
+ python3 scripts/generate_codex_rules.py .
3622
3674
  python3 scripts/generate_llms_txt.py > llms.txt
3623
3675
  python3 scripts/generate_llms_txt.py --full > llms-full.txt
3624
3676
  ```
@@ -3726,7 +3778,7 @@ git push origin --delete vX.Y.Z
3726
3778
  | 5 | `package-lock.json` | `npm install --package-lock-only` | Matches target |
3727
3779
  | 6 | Count sync | Check `package.json` description, README | `validate.py` passes |
3728
3780
  | 7 | CHANGELOG.md | Add release entry | Entry exists for vX.Y.Z |
3729
- | 8 | Regenerate artifacts | `generate_agents_md.py`, `generate_llms_txt.py` | No unexpected diff |
3781
+ | 8 | Regenerate artifacts | `generate_agents_md.py`, `generate_codex_rules.py`, `generate_llms_txt.py` | No unexpected diff |
3730
3782
  | 9 | Validate | `validate.py --strict` | 0 errors, 0 warnings |
3731
3783
  | 10 | Security audit | `audit_skills.py --ci` | 0 HIGH |
3732
3784
  | 11 | Tests | `npm test` | All pass |
@@ -3745,7 +3797,7 @@ service: ai-toolkit
3745
3797
  tags: [sop, verification, release, smoke-test, install, update, qa]
3746
3798
  version: "1.1.0"
3747
3799
  created: "2026-04-08"
3748
- last_updated: "2026-04-08"
3800
+ last_updated: "2026-04-13"
3749
3801
  description: "End-to-end smoke test after installing or updating @softspark/ai-toolkit — verifies CLI, install, doctor, validation, tests, and eject from user perspective."
3750
3802
  ---
3751
3803
 
@@ -3771,21 +3823,22 @@ Verifies all critical paths from the user's perspective.
3771
3823
 
3772
3824
  ## Quick Checklist (TL;DR)
3773
3825
 
3774
- 9 commands — if all pass, the release is ready:
3826
+ 10 commands — if all pass, the release is ready:
3775
3827
 
3776
3828
  ```bash
3777
3829
  # Pre-commit (Phase 0)
3778
- python3 scripts/generate_agents_md.py > AGENTS.md # 1. Regenerate artifacts
3779
- python3 scripts/generate_llms_txt.py > llms.txt # 2. Regenerate llms.txt
3780
- python3 scripts/validate.py --strict # 3. Validation passed?
3781
- npm test # 4. All tests passed?
3830
+ python3 scripts/generate_agents_md.py > AGENTS.md # 1. Regenerate AGENTS.md
3831
+ python3 scripts/generate_codex_rules.py . # 2. Refresh standard Codex rules
3832
+ python3 scripts/generate_llms_txt.py > llms.txt # 3. Regenerate llms.txt
3833
+ python3 scripts/validate.py --strict # 4. Validation passed?
3834
+ npm test # 5. All tests passed?
3782
3835
 
3783
3836
  # Post-install verification (Phases 1-7)
3784
- ai-toolkit --version # 5. Version OK?
3785
- ai-toolkit status # 6. Status OK?
3786
- ai-toolkit doctor # 7. Health check passed?
3787
- ai-toolkit install --dry-run # 8. Global install OK?
3788
- python3 scripts/audit_skills.py --ci # 9. Security audit clean?
3837
+ ai-toolkit --version # 6. Version OK?
3838
+ ai-toolkit status # 7. Status OK?
3839
+ ai-toolkit doctor # 8. Health check passed?
3840
+ ai-toolkit install --dry-run # 9. Global install OK?
3841
+ python3 scripts/audit_skills.py --ci # 10. Security audit clean?
3789
3842
  ```
3790
3843
 
3791
3844
  ---
@@ -3798,6 +3851,7 @@ counts but does NOT auto-regenerate — you must do it locally.
3798
3851
  ```bash
3799
3852
  # 1. Regenerate generated artifacts
3800
3853
  python3 scripts/generate_agents_md.py > AGENTS.md
3854
+ python3 scripts/generate_codex_rules.py .
3801
3855
  python3 scripts/generate_llms_txt.py > llms.txt
3802
3856
  python3 scripts/generate_llms_txt.py --full > llms-full.txt
3803
3857
 
@@ -3811,7 +3865,7 @@ python3 scripts/audit_skills.py --ci
3811
3865
  npm test
3812
3866
 
3813
3867
  # 5. Stage and commit
3814
- git add AGENTS.md llms.txt llms-full.txt
3868
+ git add AGENTS.md .agents/rules/ai-toolkit-*.md llms.txt llms-full.txt
3815
3869
  git add -p # stage your other changes
3816
3870
  git commit -m "feat: your change description"
3817
3871
  ```
@@ -3822,7 +3876,7 @@ by the developer as part of their PR.
3822
3876
 
3823
3877
  **One-liner (copy-paste):**
3824
3878
  ```bash
3825
- python3 scripts/generate_agents_md.py > AGENTS.md && python3 scripts/generate_llms_txt.py > llms.txt && python3 scripts/generate_llms_txt.py --full > llms-full.txt && python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && npm test
3879
+ python3 scripts/generate_agents_md.py > AGENTS.md && python3 scripts/generate_codex_rules.py . && python3 scripts/generate_llms_txt.py > llms.txt && python3 scripts/generate_llms_txt.py --full > llms-full.txt && python3 scripts/validate.py --strict && python3 scripts/audit_skills.py --ci && npm test
3826
3880
  ```
3827
3881
 
3828
3882
  ---
@@ -4383,10 +4437,10 @@ title: "AI Toolkit - Architecture Overview"
4383
4437
  category: reference
4384
4438
  service: ai-toolkit
4385
4439
  tags: [architecture, overview, design, structure]
4386
- version: "1.4.2"
4440
+ version: "1.4.4"
4387
4441
  created: "2026-03-23"
4388
- last_updated: "2026-04-09"
4389
- description: "Architecture of ai-toolkit: directory layout, global install model, skill tiers, and integration with projects."
4442
+ last_updated: "2026-04-13"
4443
+ description: "Architecture of ai-toolkit: directory layout, global install model, editor-aware MCP install, Codex translation layer, skill tiers, and integration with projects."
4390
4444
  ---
4391
4445
 
4392
4446
  # AI Toolkit Architecture
@@ -4485,11 +4539,13 @@ Machine (global) Project (local)
4485
4539
  **`ai-toolkit update`** — re-apply after `npm install -g @softspark/ai-toolkit@latest` or after `add-rule` / `remove-rule`. Same as `install` but semantically correct for update flows.
4486
4540
 
4487
4541
  **`ai-toolkit install --local`** — run per project. Always installs Claude Code configs (CLAUDE.md, settings.local.json, constitution.md, language rules). Editor configs are opt-in via `--editors`:
4488
- - `--editors all` — install all 8 editors (Cursor, Windsurf, Cline, Roo, Aider, Augment, Copilot, Antigravity)
4542
+ - `--editors all` — install all 9 editors (Cursor, Windsurf, Cline, Roo, Aider, Augment, Copilot, Antigravity, Codex)
4489
4543
  - `--editors cursor,aider` — install only selected editors
4490
4544
  - (no flag) — auto-detect from existing project files; `update --local` picks up whatever editors already have configs
4491
4545
 
4492
- Each editor gets directory-based format (`.cursor/rules/*.mdc`, `.windsurf/rules/*.md`, `.clinerules/*.md`, `.roo/rules/*.md`, `.augment/rules/ai-toolkit-*.md`, `.agent/rules/*.md`, `CONVENTIONS.md`). Hooks are global-only — not merged into project settings.
4546
+ Each editor gets directory-based format (`.cursor/rules/*.mdc`, `.windsurf/rules/*.md`, `.clinerules/*.md`, `.roo/rules/*.md`, `.augment/rules/ai-toolkit-*.md`, `.agent/rules/*.md`, `CONVENTIONS.md`). Codex local install additionally generates `AGENTS.md`, `.agents/rules/*.md`, `.agents/skills/*`, and `.codex/hooks.json`. Hooks are global-only — not merged into project settings except for editor-native local hook files such as Codex `.codex/hooks.json`. Experimental plugin packs can also layer a global Codex target in `HOME` (`~/AGENTS.md`, `~/.agents/`, `~/.codex/hooks.json`) when installed with `ai-toolkit plugin install --editor codex`.
4547
+
4548
+ If a project already has `.mcp.json`, local install mirrors its `mcpServers` entries into `.claude/settings.local.json` plus any selected editors with project-scoped native MCP files (`.cursor/mcp.json`, `.github/mcp.json`).
4493
4549
 
4494
4550
  ## CLI Commands
4495
4551
 
@@ -4502,6 +4558,8 @@ Each editor gets directory-based format (`.cursor/rules/*.mdc`, `.windsurf/rules
4502
4558
  | `uninstall` | `~/.claude/` | Strips toolkit components (preserves user content) |
4503
4559
  | `add-rule <file>` | `~/.softspark/ai-toolkit/rules/` | Register rule — auto-applied on every `update` |
4504
4560
  | `remove-rule <name>` | `~/.softspark/ai-toolkit/rules/` + `~/.claude/CLAUDE.md` | Unregister rule and remove its block |
4561
+ | `mcp add <name...>` | `./.mcp.json` | Merge canonical MCP template(s) into project config |
4562
+ | `mcp install --editor <name...>` | native editor config | Render MCP template(s) into editor-native config files |
4505
4563
  | `validate` | toolkit | Integrity check |
4506
4564
  | `doctor` | toolkit | Install health, hooks, benchmark freshness, and artifact drift diagnostics |
4507
4565
  | `benchmark-ecosystem` | toolkit | Benchmark snapshot for official Claude Code and external ecosystem repos |
@@ -4520,6 +4578,9 @@ Each editor gets directory-based format (`.cursor/rules/*.mdc`, `.windsurf/rules
4520
4578
  | `conventions-md` | `./` | Generates `CONVENTIONS.md` (Aider auto-loaded) |
4521
4579
  | `augment-dir-rules` | `./` | Generates `.augment/rules/ai-toolkit-*.md` |
4522
4580
  | `antigravity-rules` | `./` | Generates `.agent/rules/` + `.agent/workflows/` |
4581
+ | `codex-md` | `./` | Generates Codex-facing `AGENTS.md` |
4582
+ | `codex-rules` | `./` | Generates `.agents/rules/*.md` |
4583
+ | `codex-hooks` | `./` | Generates `.codex/hooks.json` |
4523
4584
  | `agents-md` | toolkit | Regenerates `AGENTS.md` |
4524
4585
  | `llms-txt` | `./` | Generates `llms.txt` |
4525
4586
  | `generate-all` | `./` | Generates all platform configs at once |
@@ -4571,6 +4632,38 @@ Skills that spawn real parallel agents use:
4571
4632
 
4572
4633
  `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` must be set for Agent Teams (tmux-based) support.
4573
4634
 
4635
+ ### Codex Translation Layer
4636
+
4637
+ Codex does not expose Claude's `Agent`, `Team*`, and `Task*` primitives with the
4638
+ same runtime semantics. To keep the skill catalog aligned, local Codex install
4639
+ uses a translation layer:
4640
+
4641
+ - native Codex-compatible skills are linked directly
4642
+ - Claude-only orchestration skills are emitted as generated wrappers
4643
+ - wrapper guidance maps delegation to `spawn_agent`, `send_input`, `wait_agent`, `close_agent`, and `update_plan`
4644
+
4645
+ Codex therefore receives the full skill catalog, but not the full Claude hook
4646
+ surface or tmux-backed Agent Teams lifecycle. Plugin packs reuse the same
4647
+ translation and hook-compatibility model when targeting the global Codex layer.
4648
+
4649
+ See `kb/reference/codex-cli-compatibility.md` for the detailed mapping.
4650
+
4651
+ ## MCP Rendering Layer
4652
+
4653
+ `.mcp.json` is the canonical project-level template format. ai-toolkit can render that configuration into editor-native MCP files through `scripts/mcp_editors.py`.
4654
+
4655
+ Current native adapters:
4656
+ - Claude Code: `.claude/settings.local.json` and `~/.claude/settings.json`
4657
+ - Cursor: `.cursor/mcp.json` and `~/.cursor/mcp.json`
4658
+ - GitHub Copilot: `.github/mcp.json` and `~/.copilot/mcp-config.json`
4659
+ - Gemini CLI: `.gemini/settings.json` and `~/.gemini/settings.json`
4660
+ - Windsurf: `~/.codeium/windsurf/mcp_config.json`
4661
+ - Cline: `~/.cline/data/settings/cline_mcp_settings.json`
4662
+ - Augment: `~/.augment/settings.json`
4663
+ - Codex CLI: `~/.codex/config.toml`
4664
+
4665
+ See `kb/reference/mcp-editor-compatibility.md` for the support matrix and scope rules.
4666
+
4574
4667
  ## Quality Guardrails
4575
4668
 
4576
4669
  ### Anti-Rationalization Tables
@@ -4921,8 +5014,8 @@ service: ai-toolkit
4921
5014
  tags: [benchmark, claude-code, ecosystem, hooks, plugins, architecture]
4922
5015
  version: "1.0.0"
4923
5016
  created: "2026-03-27"
4924
- last_updated: "2026-04-01"
4925
- description: "Reference summary of the ecosystem signals and implementation foundations adopted in ai-toolkit."
5017
+ last_updated: "2026-04-13"
5018
+ description: "Reference summary of the ecosystem signals and implementation foundations adopted in ai-toolkit, including runtime-aware plugin packaging."
4926
5019
  ---
4927
5020
 
4928
5021
  # Claude Ecosystem Expansion Foundations
@@ -4935,13 +5028,13 @@ This document captures the architectural foundations adopted in `ai-toolkit` aft
4935
5028
  2. official Claude Code patterns,
4936
5029
  3. selected external benchmark repositories.
4937
5030
 
4938
- The outcome is a toolkit that is now positioned as a more modular, Claude-native, benchmark-backed system with stronger lifecycle automation and extension tooling.
5031
+ The outcome is a toolkit that is now positioned as a more modular, Claude-first, benchmark-backed system with stronger lifecycle automation and extension tooling.
4939
5032
 
4940
5033
  ## Implemented Foundations
4941
5034
 
4942
5035
  ### 1. Plugin-oriented structure
4943
5036
 
4944
- `ai-toolkit` now treats plugin packaging as a first-class capability.
5037
+ `ai-toolkit` now treats plugin packaging as a first-class capability, with runtime-aware install surfaces for Claude and optional global Codex layering.
4945
5038
 
4946
5039
  Implemented artifacts:
4947
5040
  - `app/.claude-plugin/plugin.json`
@@ -5019,6 +5112,147 @@ The reference benchmark set is intentionally curated:
5019
5112
 
5020
5113
  ---
5021
5114
 
5115
+ ## kb/reference/codex-cli-compatibility.md
5116
+
5117
+ ---
5118
+ title: "AI Toolkit - Codex CLI Compatibility"
5119
+ category: reference
5120
+ service: ai-toolkit
5121
+ tags: [codex, compatibility, install, skills, hooks]
5122
+ version: "1.0.0"
5123
+ created: "2026-04-12"
5124
+ last_updated: "2026-04-13"
5125
+ description: "Reference for how ai-toolkit maps Claude-oriented skills, hooks, and plugin packs to Codex CLI."
5126
+ ---
5127
+
5128
+ # AI Toolkit - Codex CLI Compatibility
5129
+
5130
+ ## Summary
5131
+
5132
+ Codex CLI now receives the full `ai-toolkit` skill catalog during local install.
5133
+
5134
+ Native Codex-compatible skills are linked directly into `.agents/skills/`. Skills
5135
+ that depend on Claude-only orchestration primitives are generated as Codex
5136
+ wrappers that preserve the original workflow intent while translating execution
5137
+ to Codex subagents and plan tracking.
5138
+
5139
+ Experimental plugin packs can also target a global Codex surface with
5140
+ `ai-toolkit plugin install --editor codex`, which layers plugin-specific skills,
5141
+ rules, and hooks into `HOME` without changing the project-local core install
5142
+ model.
5143
+
5144
+ ## Local Install Outputs
5145
+
5146
+ `ai-toolkit install --local --editors codex` generates:
5147
+
5148
+ - `AGENTS.md`
5149
+ - `.agents/rules/*.md`
5150
+ - `.agents/skills/*`
5151
+ - `.codex/hooks.json`
5152
+
5153
+ ## Global Plugin Outputs
5154
+
5155
+ `ai-toolkit plugin install --editor codex <pack>` bootstraps or reuses:
5156
+
5157
+ - `~/AGENTS.md`
5158
+ - `~/.agents/rules/*.md`
5159
+ - `~/.agents/skills/*`
5160
+ - `~/.codex/hooks.json`
5161
+
5162
+ Plugin packs only add their own runtime-specific layer on top of the generated
5163
+ Codex base. Shared hook scripts and plugin scripts still live in
5164
+ `~/.softspark/ai-toolkit/`.
5165
+
5166
+ ## Skill Translation Model
5167
+
5168
+ Two delivery modes are used for Codex:
5169
+
5170
+ | Mode | How it is installed | Use case |
5171
+ |------|----------------------|----------|
5172
+ | Native | Symlink to `app/skills/<name>/` | Skills whose `allowed-tools` are already supported in Codex |
5173
+ | Adapted | Generated wrapper directory in `.agents/skills/<name>/` | Skills that rely on Claude-only `Agent`, `Team*`, or `Task*` primitives |
5174
+
5175
+ Adapted skills keep the same support assets (`reference/`, `scripts/`, `assets/`)
5176
+ via symlinks, but rewrite `SKILL.md` to Codex-native guidance.
5177
+
5178
+ ## Claude-to-Codex Tool Mapping
5179
+
5180
+ The adapter rewrites Claude-specific delegation guidance to the closest Codex
5181
+ runtime primitives:
5182
+
5183
+ | Claude-oriented primitive | Codex replacement |
5184
+ |---------------------------|------------------|
5185
+ | `Agent(...)` | `spawn_agent(..., fork_context=True, ...)` |
5186
+ | `SendMessage` | `send_input` |
5187
+ | `TaskCreate` / `TaskList` / `TaskUpdate` | `update_plan` or explicit checklist tracking |
5188
+ | `TaskGet` / `TaskOutput` | `wait_agent` |
5189
+ | `TaskStop` / `TeamDelete` | `close_agent` |
5190
+ | Agent teams | Multiple spawned subagents with explicit file ownership |
5191
+
5192
+ ## Adapted Skill Classes
5193
+
5194
+ The main adapted group is multi-agent orchestration:
5195
+
5196
+ - `/orchestrate`
5197
+ - `/workflow`
5198
+ - `/swarm`
5199
+ - `/teams`
5200
+ - `/subagent-development`
5201
+
5202
+ The adapter also covers skills that previously depended only on Claude's
5203
+ `Agent` primitive, such as:
5204
+
5205
+ - `/tdd`
5206
+ - `/write-a-prd`
5207
+ - `/qa-session`
5208
+ - `/triage-issue`
5209
+ - `/architecture-audit`
5210
+
5211
+ ## Hook Compatibility
5212
+
5213
+ Codex does not expose the full Claude hook event surface. The Codex hook
5214
+ generator emits only the events supported by Codex runtime integration:
5215
+
5216
+ - `SessionStart`
5217
+ - `PreToolUse`
5218
+ - `PostToolUse`
5219
+ - `UserPromptSubmit`
5220
+ - `Stop`
5221
+
5222
+ This means Claude-only events such as `TaskCompleted`, `TeammateIdle`,
5223
+ `SubagentStart`, `SubagentStop`, `PreCompact`, `SessionEnd`, and
5224
+ `Notification` are not available in `.codex/hooks.json`.
5225
+
5226
+ ## Behavioral Limits
5227
+
5228
+ Codex wrappers preserve workflow intent, but not every Claude runtime behavior
5229
+ has a perfect one-to-one equivalent.
5230
+
5231
+ Known limits:
5232
+
5233
+ - No native Codex equivalent of tmux-backed Agent Teams lifecycle events
5234
+ - No separate task object model equivalent to Claude `Task*` APIs
5235
+ - Hook event coverage is narrower than Claude Code
5236
+
5237
+ These are runtime platform limits, not installation defects.
5238
+
5239
+ ## Verification
5240
+
5241
+ The Codex compatibility path is verified by:
5242
+
5243
+ 1. Generator contract tests for `generate_codex.py`
5244
+ 2. Local install tests for `.agents/skills/` and `.codex/hooks.json`
5245
+ 3. Plugin install tests for global Codex rules, hooks, and cleanup paths
5246
+ 4. CLI tests for `codex-md` and `codex-hooks`
5247
+
5248
+ ## Related
5249
+
5250
+ - `kb/reference/skills-catalog.md`
5251
+ - `kb/reference/architecture-overview.md`
5252
+ - `kb/reference/global-install-model.md`
5253
+
5254
+ ---
5255
+
5022
5256
  ## kb/reference/competitive-features-implementation.md
5023
5257
 
5024
5258
  ---
@@ -6108,11 +6342,11 @@ Run `ai-toolkit update --local` to re-resolve and update the lock file.
6108
6342
  title: "Extension API Reference"
6109
6343
  category: reference
6110
6344
  service: ai-toolkit
6111
- tags: [extension-api, inject-rule, inject-hook, mcp-templates, integration]
6112
- version: "1.3.8"
6345
+ tags: [extension-api, inject-rule, inject-hook, mcp-templates, integration, editors]
6346
+ version: "1.3.9"
6113
6347
  created: "2026-04-07"
6114
- last_updated: "2026-04-07"
6115
- description: "Reference for ai-toolkit's extension API: inject-rule, inject-hook, remove-rule, remove-hook, and mcp template management."
6348
+ last_updated: "2026-04-12"
6349
+ description: "Reference for ai-toolkit's extension API: inject-rule, inject-hook, remove-rule, remove-hook, and editor-aware MCP template management."
6116
6350
  ---
6117
6351
 
6118
6352
  # Extension API Reference
@@ -6133,6 +6367,7 @@ This design is intentional: ai-toolkit is a generic toolkit. Consumers (MCP serv
6133
6367
  | `remove-hook <name>` | `~/.claude/settings.json` | Strip all entries with matching `_source` | Yes |
6134
6368
  | `add-rule <file.md>` | `~/.softspark/ai-toolkit/rules/` | File copy + re-inject all rules on next `update` | Yes |
6135
6369
  | `mcp add <name...>` | `.mcp.json` | Merge `mcpServers` block from template | Yes |
6370
+ | `mcp install --editor <name...>` | Native editor MCP config | Render canonical template into editor format | Yes |
6136
6371
 
6137
6372
  ## inject-rule
6138
6373
 
@@ -6209,7 +6444,7 @@ npx @softspark/ai-toolkit remove-hook my-tool-hooks
6209
6444
 
6210
6445
  The argument is the source name (file stem used during `inject-hook`). If no entries with that source are present, the command exits 0 silently.
6211
6446
 
6212
- ## mcp add
6447
+ ## mcp add / install
6213
6448
 
6214
6449
  Merges one or more MCP server templates from `app/mcp-templates/` into the project's `.mcp.json`.
6215
6450
 
@@ -6217,13 +6452,24 @@ Merges one or more MCP server templates from `app/mcp-templates/` into the proje
6217
6452
  ai-toolkit mcp add github # add a single template
6218
6453
  ai-toolkit mcp add github postgres slack # add multiple at once
6219
6454
  ai-toolkit mcp list # list all available templates
6455
+ ai-toolkit mcp editors # list supported native adapters
6220
6456
  ai-toolkit mcp show github # print a template's JSON
6457
+ ai-toolkit mcp install --editor cursor --scope project github --target .
6458
+ ai-toolkit mcp install --editor codex context7
6221
6459
  ai-toolkit mcp remove github # remove an entry from .mcp.json
6460
+ ai-toolkit mcp remove github --editor cursor --scope project --target .
6222
6461
  ```
6223
6462
 
6224
6463
  **Implementation:** `scripts/mcp_manager.py`.
6225
6464
 
6226
- The `add` command merges the `mcpServers` block from the template into `.mcp.json`. If `.mcp.json` does not exist, it is created. If the server name already exists, the entry is overwritten. See [mcp-templates.md](mcp-templates.md) for the full list of available templates.
6465
+ The `add` command merges the `mcpServers` block from the template into `.mcp.json`. If `.mcp.json` does not exist, it is created. If the server name already exists, the entry is overwritten.
6466
+
6467
+ The `install` command renders the same canonical template into a native editor config format. Supported adapters currently cover:
6468
+ - JSON clients with `mcpServers`: Claude Code, Cursor, Gemini CLI, Windsurf, Cline, Augment
6469
+ - JSON clients with additional required metadata: GitHub Copilot
6470
+ - TOML clients: Codex CLI
6471
+
6472
+ When `install` runs with `--scope project`, ai-toolkit also updates `.mcp.json` so the project-level config remains the source of truth for later sync and local install flows.
6227
6473
 
6228
6474
  ## Architecture
6229
6475
 
@@ -6238,6 +6484,7 @@ The `add` command merges the `mcpServers` block from the template into `.mcp.jso
6238
6484
  │ remove-hook <name> → settings.json │
6239
6485
  │ add-rule <file.md> → rules/ registry │
6240
6486
  │ mcp add <template> → .mcp.json │
6487
+ │ mcp install <template> → editor-native MCP │
6241
6488
  │ │
6242
6489
  │ Idempotent: markers (rules) / _source tags (hooks) │
6243
6490
  │ ai-toolkit NEVER calls external services │
@@ -6263,6 +6510,9 @@ npx @softspark/ai-toolkit inject-hook ./hooks/my-tool-hooks.json
6263
6510
 
6264
6511
  # Add an MCP server template
6265
6512
  npx @softspark/ai-toolkit mcp add github
6513
+
6514
+ # Render the same template into Cursor project config
6515
+ npx @softspark/ai-toolkit mcp install --editor cursor --scope project github --target .
6266
6516
  ```
6267
6517
 
6268
6518
  To uninstall:
@@ -6278,6 +6528,7 @@ All operations are idempotent — safe to run on every install or update.
6278
6528
 
6279
6529
  - [PATH: kb/reference/hooks-catalog.md] — built-in hooks reference
6280
6530
  - [PATH: kb/reference/mcp-templates.md] — available MCP server templates
6531
+ - [PATH: kb/reference/mcp-editor-compatibility.md] — native editor MCP support matrix
6281
6532
  - [PATH: kb/reference/architecture-overview.md] — overall install model
6282
6533
 
6283
6534
  ---
@@ -6288,11 +6539,11 @@ All operations are idempotent — safe to run on every install or update.
6288
6539
  title: "Global Install Model"
6289
6540
  category: reference
6290
6541
  service: ai-toolkit
6291
- tags: [install, global, claude, local-setup]
6292
- version: "1.4.2"
6542
+ tags: [install, global, claude, codex, plugins, local-setup]
6543
+ version: "1.4.4"
6293
6544
  created: "2026-03-26"
6294
- last_updated: "2026-04-09"
6295
- description: "Reference description of the global install target, local project setup, and command responsibilities in ai-toolkit."
6545
+ last_updated: "2026-04-13"
6546
+ description: "Reference description of the global install target, project-local editor setup, global Codex plugin layering, and command responsibilities in ai-toolkit."
6296
6547
  ---
6297
6548
 
6298
6549
  # Global Install Model
@@ -6303,6 +6554,10 @@ description: "Reference description of the global install target, local project
6303
6554
 
6304
6555
  That means one machine-level install provides agents, skills, hooks, and rules to every project without committing toolkit boilerplate into each repository.
6305
6556
 
6557
+ Codex remains project-local for the core toolkit install, but experimental
6558
+ plugin packs can now layer a global Codex target in `HOME` when explicitly
6559
+ installed with `ai-toolkit plugin install --editor codex`.
6560
+
6306
6561
  ## Command Responsibilities
6307
6562
 
6308
6563
  | Command | Target | Purpose |
@@ -6315,6 +6570,11 @@ That means one machine-level install provides agents, skills, hooks, and rules t
6315
6570
  | `ai-toolkit update --local` | current project | refresh project configs; auto-detects editors from existing files |
6316
6571
  | `ai-toolkit add-rule` | `~/.softspark/ai-toolkit/rules/` | register a global rule |
6317
6572
  | `ai-toolkit remove-rule` | `~/.softspark/ai-toolkit/rules/` | unregister a global rule |
6573
+ | `ai-toolkit mcp add <name...>` | current project | merge MCP templates into `.mcp.json` |
6574
+ | `ai-toolkit mcp install --editor <name...>` | editor-native config | render MCP templates into editor-specific config files |
6575
+ | `ai-toolkit plugin install --editor claude|codex|all <name>` | runtime-native config | install plugin pack for selected runtime(s) |
6576
+ | `ai-toolkit plugin update --editor claude|codex|all <name>` | runtime-native config | re-apply plugin pack after toolkit updates |
6577
+ | `ai-toolkit plugin remove --editor claude|codex|all <name>` | runtime-native config | remove plugin pack from selected runtime(s) |
6318
6578
 
6319
6579
  ## Why global install is the default
6320
6580
 
@@ -6325,10 +6585,17 @@ That means one machine-level install provides agents, skills, hooks, and rules t
6325
6585
 
6326
6586
  ## What remains project-local
6327
6587
 
6328
- These files still stay local to a repository:
6588
+ These files still stay local to a repository as part of the core install model:
6329
6589
  - `CLAUDE.md`
6330
6590
  - `.claude/settings.local.json`
6591
+ - `.mcp.json`
6592
+ - `.cursor/mcp.json`
6593
+ - `.github/mcp.json`
6331
6594
  - `.claude/constitution.md`
6595
+ - project `AGENTS.md`
6596
+ - project `.agents/rules/*.md`
6597
+ - project `.agents/skills/*`
6598
+ - project `.codex/hooks.json`
6332
6599
  - `.github/copilot-instructions.md`
6333
6600
  - `.clinerules`
6334
6601
  - `.roomodes`
@@ -6340,10 +6607,51 @@ These files still stay local to a repository:
6340
6607
 
6341
6608
  Hooks do **not** live in project-local settings. They are merged only into global `~/.claude/settings.json`.
6342
6609
 
6610
+ Codex is the exception in terms of file location, not hook ownership: its local
6611
+ `.codex/hooks.json` points to hook scripts already installed globally in
6612
+ `~/.softspark/ai-toolkit/hooks/`.
6613
+
6614
+ ## Codex Local Install Behavior
6615
+
6616
+ `ai-toolkit install --local --editors codex` creates:
6617
+
6618
+ - `AGENTS.md`
6619
+ - `.agents/rules/*.md`
6620
+ - `.agents/skills/*`
6621
+ - `.codex/hooks.json`
6622
+
6623
+ Native Codex-compatible skills are linked directly. Claude-oriented skills that
6624
+ depend on `Agent`, `Team*`, or `Task*` primitives are translated into generated
6625
+ Codex wrappers so the project still receives the full skill catalog.
6626
+
6627
+ ## Codex Global Plugin Layer
6628
+
6629
+ `ai-toolkit plugin install --editor codex <pack>` additionally targets:
6630
+
6631
+ - `~/AGENTS.md`
6632
+ - `~/.agents/rules/*.md`
6633
+ - `~/.agents/skills/*`
6634
+ - `~/.codex/hooks.json`
6635
+
6636
+ This is not the default core install path. It is an explicit, opt-in plugin
6637
+ layer used only for plugin packs. Runtime state is tracked in
6638
+ `~/.softspark/ai-toolkit/plugins.json` per target (`claude`, `codex`).
6639
+
6640
+ ## MCP Local Sync Behavior
6641
+
6642
+ If `.mcp.json` exists in the current project, `ai-toolkit install --local` mirrors its `mcpServers` block into:
6643
+ - `.claude/settings.local.json`
6644
+ - `.cursor/mcp.json` when `--editors cursor` is selected
6645
+ - `.github/mcp.json` when `--editors copilot` is selected
6646
+
6647
+ Global-only editor MCP configs are not written during `install --local`. Use `ai-toolkit mcp install --editor <name...>` for those targets.
6648
+
6343
6649
  ## Related Documents
6344
6650
 
6345
6651
  - `kb/reference/distribution-model.md`
6346
6652
  - `kb/reference/merge-friendly-install-model.md`
6653
+ - `kb/reference/codex-cli-compatibility.md`
6654
+ - `kb/reference/mcp-editor-compatibility.md`
6347
6655
 
6348
6656
  ---
6349
6657
 
@@ -7454,39 +7762,131 @@ No existing install scripts or CI configurations need changes.
7454
7762
 
7455
7763
  ---
7456
7764
 
7765
+ ## kb/reference/mcp-editor-compatibility.md
7766
+
7767
+ ---
7768
+ title: "AI Toolkit - MCP Editor Compatibility"
7769
+ category: reference
7770
+ service: ai-toolkit
7771
+ tags: [mcp, editors, compatibility, codex, cursor]
7772
+ version: "1.0.0"
7773
+ created: "2026-04-12"
7774
+ last_updated: "2026-04-12"
7775
+ description: "Official MCP support matrix and native config targets for editors supported by ai-toolkit."
7776
+ ---
7777
+
7778
+ # MCP Editor Compatibility
7779
+
7780
+ ## Overview
7781
+
7782
+ ai-toolkit keeps `.mcp.json` as the project-level canonical template format and can render that config into native editor MCP files where the editor exposes a stable, documented configuration surface.
7783
+
7784
+ ## Supported Native Adapters
7785
+
7786
+ | Editor | Scope | Native Config Path | Adapter Behavior |
7787
+ |--------|-------|--------------------|------------------|
7788
+ | Claude Code | project + global | `.claude/settings.local.json`, `~/.claude/settings.json` | Merges `mcpServers` while preserving other settings keys |
7789
+ | Cursor | project + global | `.cursor/mcp.json`, `~/.cursor/mcp.json` | Mirrors `mcpServers` directly |
7790
+ | GitHub Copilot | project + global | `.github/mcp.json`, `~/.copilot/mcp-config.json` | Adds Copilot-required `type` and `tools` fields |
7791
+ | Gemini CLI | project + global | `.gemini/settings.json`, `~/.gemini/settings.json` | Merges `mcpServers` into settings JSON |
7792
+ | Windsurf | global | `~/.codeium/windsurf/mcp_config.json` | Global-only JSON config |
7793
+ | Cline | global | `~/.cline/data/settings/cline_mcp_settings.json` | Global-only JSON config |
7794
+ | Augment | global | `~/.augment/settings.json` | Global-only JSON settings file |
7795
+ | Codex CLI | global | `~/.codex/config.toml` | Renders JSON templates as TOML `mcp_servers` tables |
7796
+
7797
+ ## Unsupported for Automatic Install
7798
+
7799
+ These editors are still supported by ai-toolkit for rules and instructions, but ai-toolkit does not currently auto-write MCP config because a stable official file target was not adopted:
7800
+
7801
+ | Editor | Reason |
7802
+ |--------|--------|
7803
+ | Roo Code | MCP support exists, but no verified official file path was adopted in ai-toolkit |
7804
+ | Aider | No verified native MCP config surface was adopted in ai-toolkit |
7805
+ | Google Antigravity | MCP can be configured via UI/import flows, but no stable file target was adopted in ai-toolkit |
7806
+
7807
+ ## CLI
7808
+
7809
+ ```bash
7810
+ ai-toolkit mcp editors
7811
+ ai-toolkit mcp install --editor cursor --scope project github --target .
7812
+ ai-toolkit mcp install --editor codex context7
7813
+ ai-toolkit mcp remove github --editor cursor --scope project --target .
7814
+ ```
7815
+
7816
+ ## Install Flow Integration
7817
+
7818
+ When `.mcp.json` exists in a project, `ai-toolkit install --local` mirrors its servers into:
7819
+ - `.claude/settings.local.json`
7820
+ - `.cursor/mcp.json` when `--editors cursor` is selected
7821
+ - `.github/mcp.json` when `--editors copilot` is selected
7822
+
7823
+ Global-only clients are configured explicitly via `ai-toolkit mcp install --editor ...`.
7824
+
7825
+ ## Related
7826
+
7827
+ - [PATH: kb/reference/mcp-templates.md] — template catalog and CLI
7828
+ - [PATH: kb/reference/extension-api.md] — extension API surface
7829
+
7830
+ ---
7831
+
7457
7832
  ## kb/reference/mcp-templates.md
7458
7833
 
7459
7834
  ---
7460
7835
  title: "MCP Server Templates"
7461
7836
  category: reference
7462
7837
  service: ai-toolkit
7463
- tags: [mcp, templates, servers, configuration]
7464
- version: "1.0.0"
7838
+ tags: [mcp, templates, servers, configuration, editors]
7839
+ version: "1.1.0"
7465
7840
  created: "2026-04-07"
7466
- last_updated: "2026-04-07"
7467
- description: "Reference for 25 MCP server configuration templates: GitHub, PostgreSQL, Slack, Sentry, and more."
7841
+ last_updated: "2026-04-12"
7842
+ description: "Reference for 25 MCP server templates plus native editor MCP installation support."
7468
7843
  ---
7469
7844
 
7470
7845
  # MCP Server Templates
7471
7846
 
7472
7847
  ## Overview
7473
7848
 
7474
- ai-toolkit ships 25 ready-to-use MCP server configuration templates in `app/mcp-templates/`. Each template is a JSON file that defines the `mcpServers` block for a specific service. Templates are merged into the project's `.mcp.json` via the `ai-toolkit mcp` CLI subcommand.
7849
+ ai-toolkit ships 25 ready-to-use MCP server configuration templates in `app/mcp-templates/`. Each template is a JSON file that defines the canonical `mcpServers` block for a specific service. Templates can be merged into the project's `.mcp.json` and rendered into editor-native MCP config files via the `ai-toolkit mcp` CLI subcommand.
7475
7850
 
7476
7851
  ## CLI
7477
7852
 
7478
7853
  ```bash
7479
7854
  ai-toolkit mcp list # List all available templates
7855
+ ai-toolkit mcp editors # List editors with native MCP adapters
7480
7856
  ai-toolkit mcp show <name> # Print a template's JSON config
7481
7857
  ai-toolkit mcp add <name> # Merge a template into .mcp.json
7482
7858
  ai-toolkit mcp add <n1> <n2> # Add multiple templates at once
7483
- ai-toolkit mcp remove <name> # Remove a server entry from .mcp.json
7859
+ ai-toolkit mcp install --editor cursor --scope project github --target .
7860
+ ai-toolkit mcp install --editor codex context7
7861
+ ai-toolkit mcp remove <name> # Remove from .mcp.json or native editor config
7484
7862
  ```
7485
7863
 
7486
7864
  **Implementation:** `scripts/mcp_manager.py`
7487
7865
 
7488
7866
  The `add` command merges the `mcpServers` block from the template into `.mcp.json`. If `.mcp.json` does not exist it is created. If the server name already exists in `.mcp.json`, the entry is overwritten with the template version.
7489
7867
 
7868
+ The `install` command renders the same canonical template into an editor-native config format:
7869
+ - JSON clients with `mcpServers` blocks: Claude Code, Cursor, Gemini CLI, Windsurf, Cline, Augment
7870
+ - JSON clients with additional transport metadata: GitHub Copilot
7871
+ - TOML clients: Codex CLI (`[mcp_servers.<name>]`)
7872
+
7873
+ When `install` runs with `--scope project`, ai-toolkit also updates the project's `.mcp.json` so it remains the source of truth for later syncs.
7874
+
7875
+ ## Editor Support Matrix
7876
+
7877
+ | Editor | Scope | Native Config Path | Notes |
7878
+ |--------|-------|--------------------|-------|
7879
+ | `claude` | project + global | `.claude/settings.local.json`, `~/.claude/settings.json` | Preserves existing hooks and env keys |
7880
+ | `cursor` | project + global | `.cursor/mcp.json`, `~/.cursor/mcp.json` | Mirrors canonical `mcpServers` |
7881
+ | `copilot` | project + global | `.github/mcp.json`, `~/.copilot/mcp-config.json` | Adds `type` and `tools: ["*"]` automatically |
7882
+ | `gemini` | project + global | `.gemini/settings.json`, `~/.gemini/settings.json` | Uses Gemini CLI `mcpServers` format |
7883
+ | `windsurf` | global | `~/.codeium/windsurf/mcp_config.json` | Global-only official config |
7884
+ | `cline` | global | `~/.cline/data/settings/cline_mcp_settings.json` | Global-only official config |
7885
+ | `augment` | global | `~/.augment/settings.json` | Global-only settings file |
7886
+ | `codex` | global | `~/.codex/config.toml` | Rendered as TOML `mcp_servers` tables |
7887
+
7888
+ Project-local `ai-toolkit install --local` also mirrors `.mcp.json` into Claude project settings plus selected project editors that have official repository/workspace MCP files (`cursor`, `copilot`).
7889
+
7490
7890
  ## Template List
7491
7891
 
7492
7892
  | Name | Description | Required Env Vars |
@@ -7566,6 +7966,7 @@ export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_...
7566
7966
 
7567
7967
  - [PATH: kb/reference/extension-api.md] — `mcp add` as part of the extension API
7568
7968
  - [PATH: kb/reference/architecture-overview.md] — overall install model
7969
+ - [PATH: kb/reference/mcp-editor-compatibility.md] — native editor MCP support matrix
7569
7970
 
7570
7971
  ---
7571
7972
 
@@ -7641,15 +8042,15 @@ service: ai-toolkit
7641
8042
  tags: [plugins, plugin-packs, conventions, manifests, hooks, policy-packs]
7642
8043
  version: "1.0.0"
7643
8044
  created: "2026-03-28"
7644
- last_updated: "2026-04-02"
7645
- description: "Conventions for experimental ai-toolkit plugin packs, policy packs, hook packs, and plugin-creator scaffolding."
8045
+ last_updated: "2026-04-13"
8046
+ description: "Conventions for experimental ai-toolkit plugin packs, policy packs, hook packs, and plugin-creator scaffolding across Claude and Codex runtimes."
7646
8047
  ---
7647
8048
 
7648
8049
  # Plugin Pack Conventions
7649
8050
 
7650
8051
  ## Purpose
7651
8052
 
7652
- `ai-toolkit` now includes experimental plugin packs under `app/plugins/` to formalize a Claude Code-compatible plugin direction without changing the default global install surface.
8053
+ `ai-toolkit` now includes experimental plugin packs under `app/plugins/` to formalize a runtime-aware plugin direction for Claude and optional global Codex layering without changing the default core install surface.
7653
8054
 
7654
8055
  ## Pack Types
7655
8056
 
@@ -7709,32 +8110,34 @@ Required keys:
7709
8110
 
7710
8111
  ```bash
7711
8112
  ai-toolkit plugin list # show all 11 packs with install status
7712
- ai-toolkit plugin install <name> # install a single pack
7713
- ai-toolkit plugin install --all # install all 11 packs
7714
- ai-toolkit plugin update <name> # update a pack (remove + reinstall, preserves data)
7715
- ai-toolkit plugin update --all # update all installed packs
8113
+ ai-toolkit plugin install --editor claude <name> # Claude global target
8114
+ ai-toolkit plugin install --editor codex <name> # Codex global target
8115
+ ai-toolkit plugin install --editor all --all # install all 11 packs for both runtimes
8116
+ ai-toolkit plugin update --editor all --all # update all installed packs
7716
8117
  ai-toolkit plugin clean <name> # prune data older than 90 days (default)
7717
8118
  ai-toolkit plugin clean <name> --days 30 # prune data older than 30 days
7718
- ai-toolkit plugin remove <name> # remove a pack
7719
- ai-toolkit plugin remove --all # remove all installed packs
7720
- ai-toolkit plugin status # show installed packs with data stats
8119
+ ai-toolkit plugin remove --editor codex <name> # remove from one runtime only
8120
+ ai-toolkit plugin remove --editor all --all # remove all installed packs everywhere
8121
+ ai-toolkit plugin status --editor all # show installed packs with runtime details
7721
8122
  ```
7722
8123
 
7723
8124
  ### What `plugin install` Does
7724
8125
 
7725
- 1. **Verifies** referenced agents/skills exist in `~/.claude/` (links them from core if missing)
8126
+ 1. **Parses** `--editor claude|codex|all` (default: `claude`)
7726
8127
  2. **Copies** plugin-specific hooks to `~/.softspark/ai-toolkit/hooks/plugin-<pack>-<hook>.sh`
7727
8128
  3. **Copies** plugin-specific scripts to `~/.softspark/ai-toolkit/plugin-scripts/<pack>/`
7728
8129
  4. **Runs** init scripts if present (e.g. `init_db.py` for memory-pack — safe to re-run, preserves data)
7729
- 5. **Merges** plugin hooks into `~/.claude/settings.json` (tagged with `_source: ai-toolkit-plugin-<name>`)
7730
- 6. **Records** installed state to `~/.softspark/ai-toolkit/plugins.json`
8130
+ 5. **Claude target**: links missing agents/skills into `~/.claude/`, injects plugin-local rules into `~/.claude/CLAUDE.md`, and merges plugin hook entries into `~/.claude/settings.json`
8131
+ 6. **Codex target**: bootstraps global Codex assets in `HOME` (`~/AGENTS.md`, `~/.agents/skills`, `~/.agents/rules`, `~/.codex/hooks.json`) and then layers plugin-specific rules/hooks on top
8132
+ 7. **Records** installed state per runtime in `~/.softspark/ai-toolkit/plugins.json`
7731
8133
 
7732
8134
  ### What `plugin update` Does
7733
8135
 
7734
- 1. **Removes** existing plugin hooks, scripts, and settings.json entries (same as `remove`)
8136
+ 1. **Removes** existing plugin runtime entries for the selected editor(s) (same as `remove`)
7735
8137
  2. **Reinstalls** from the current source (same as `install`)
7736
8138
  3. **Preserves plugin data** (e.g. memory-pack SQLite database is never deleted)
7737
- 4. `--all` updates only currently installed packs (not all available)
8139
+ 4. Shared plugin scripts/hooks are kept if another runtime still has the same pack installed
8140
+ 5. `--all` updates only currently installed packs for the selected runtime(s)
7738
8141
 
7739
8142
  ### What `plugin clean` Does
7740
8143
 
@@ -7744,10 +8147,10 @@ ai-toolkit plugin status # show installed packs with data stats
7744
8147
 
7745
8148
  ### What `plugin remove` Does
7746
8149
 
7747
- 1. **Removes** plugin hooks from `~/.softspark/ai-toolkit/hooks/`
7748
- 2. **Removes** plugin scripts from `~/.softspark/ai-toolkit/plugin-scripts/`
7749
- 3. **Strips** plugin hook entries from `settings.json` (by `_source` tag)
7750
- 4. **Updates** `plugins.json` state
8150
+ 1. **Claude target**: strips plugin hook entries from `~/.claude/settings.json` and removes plugin-local rule sections from `~/.claude/CLAUDE.md`
8151
+ 2. **Codex target**: strips plugin hook entries from `~/.codex/hooks.json` and removes `~/.agents/rules/plugin-<pack>-*.md`
8152
+ 3. **Shared assets** (`~/.softspark/ai-toolkit/hooks/plugin-*`, `plugin-scripts/<pack>/`) are removed only when no remaining runtime still uses that pack
8153
+ 4. **Updates** `plugins.json` state per runtime
7751
8154
  5. **Leaves** core agents/skills untouched (they belong to the base install)
7752
8155
  6. **Leaves** plugin data intact (e.g. `memory.db` — use `clean` to prune)
7753
8156
 
@@ -7755,7 +8158,7 @@ ai-toolkit plugin status # show installed packs with data stats
7755
8158
 
7756
8159
  - **Auto-retention**: `session-summary.sh` hook auto-prunes observations older than 90 days on every session end (configurable via `MEMORY_RETENTION_DAYS` env var)
7757
8160
  - **Manual clean**: `ai-toolkit plugin clean memory-pack --days 30`
7758
- - **Status**: `ai-toolkit plugin status` shows DB size, observation count, date range
8161
+ - **Status**: `ai-toolkit plugin status --editor claude|codex|all` shows runtime-specific install details plus DB size, observation count, and date range where relevant
7759
8162
 
7760
8163
  ## Current Experimental Packs
7761
8164
 
@@ -7785,7 +8188,6 @@ ai-toolkit plugin status # show installed packs with data stats
7785
8188
 
7786
8189
  These are intentionally excluded from the default install until explicitly enabled via `ai-toolkit plugin install`.
7787
8190
 
7788
-
7789
8191
  ---
7790
8192
 
7791
8193
  ## kb/reference/quick-wins-implementation-summary.md
@@ -7925,10 +8327,10 @@ title: "AI Toolkit - Skills Catalog"
7925
8327
  category: reference
7926
8328
  service: ai-toolkit
7927
8329
  tags: [skills, domain-knowledge, catalog, task-skills, hybrid-skills]
7928
- version: "1.4.2"
8330
+ version: "1.4.3"
7929
8331
  created: "2026-03-23"
7930
- last_updated: "2026-04-09"
7931
- description: "Complete skills catalog with task, hybrid, and knowledge skills. Includes effort levels, skill-scoped hooks, executable scripts, security auditor, and persona presets."
8332
+ last_updated: "2026-04-12"
8333
+ 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."
7932
8334
  ---
7933
8335
 
7934
8336
  # Skills Catalog
@@ -7995,9 +8397,9 @@ Hybrid skills combine slash-command invocation with domain knowledge that agents
7995
8397
  | **docs** | `/docs` | high | Generate/update docs: README, API docs, architecture notes, changelogs (Tier 1 — single agent) |
7996
8398
  | **search** | `/search` | medium | Search knowledge base (MCP tools with local fallback) |
7997
8399
  | **explain** | `/explain` | medium | Explain architecture of a file/module using Mermaid diagrams |
7998
- | **orchestrate** | `/orchestrate` | max | Custom multi-agent parallelism — Tier 3, spawns agents via Agent tool |
8400
+ | **orchestrate** | `/orchestrate` | max | Custom multi-agent parallelism — Tier 3, native in Claude, Codex-adapted to `spawn_agent` workflows |
7999
8401
  | **swarm** | `/swarm` | max | Massive parallelism: map-reduce, consensus, relay — Tier 3 |
8000
- | **workflow** | `/workflow` | max | 15 predefined multi-agent workflow types — Tier 2 |
8402
+ | **workflow** | `/workflow` | max | 15 predefined multi-agent workflow types — Tier 2, Codex-adapted to native subagent orchestration |
8001
8403
  | **instinct-review** | `/instinct-review` | low | Review, curate, and manage learned instincts from past sessions |
8002
8404
  | **teams** | `/teams` | max | Launch pre-configured Agent Teams compositions for common workflows |
8003
8405
  | **write-a-prd** | `/write-a-prd` | high | Create PRD through interactive interview, codebase exploration, and module design |
@@ -8172,6 +8574,28 @@ Step 0 interview before setup — 5 targeted questions to capture undocumented p
8172
8574
  - `allowed-tools: ...` — tools available to the agent when processing this skill
8173
8575
  - `depends-on: skill-a, skill-b` — declares dependencies on other skills (validated by `validate.py`)
8174
8576
 
8577
+ ### Codex CLI Adaptation
8578
+
8579
+ Codex CLI receives the full skill catalog during `ai-toolkit install --local --editors codex`.
8580
+
8581
+ - Native Codex-compatible skills are symlinked directly into `.agents/skills/`
8582
+ - Claude-oriented orchestration skills are generated as Codex wrappers
8583
+ - Adapted wrappers translate `Agent`, `Team*`, and `Task*` guidance to `spawn_agent`, `send_input`, `wait_agent`, `close_agent`, and `update_plan`
8584
+
8585
+ Common adapted skills:
8586
+
8587
+ - `/orchestrate`
8588
+ - `/workflow`
8589
+ - `/swarm`
8590
+ - `/teams`
8591
+ - `/subagent-development`
8592
+ - `/tdd`
8593
+
8594
+ The translated skill content keeps the original support assets (`reference/`,
8595
+ `scripts/`, `assets/`) while replacing Claude-specific runtime instructions.
8596
+
8597
+ See `kb/reference/codex-cli-compatibility.md` for the detailed mapping and hook limits.
8598
+
8175
8599
  ### Skill Dependencies (`depends-on`)
8176
8600
  Skills can declare dependencies on other skills (primarily knowledge skills) for documentation and validation:
8177
8601
  ```yaml