nitm-ai-dev-toolkit 3.0.22 → 4.0.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 (67) hide show
  1. package/CHANGELOG.md +15 -2
  2. package/README.md +56 -4
  3. package/bin/cli.js +29 -14
  4. package/package.json +3 -2
  5. package/src/monorepo/.claude/commands/ponytail-audit.md +4 -6
  6. package/src/monorepo/.claude/commands/ponytail-debt.md +3 -5
  7. package/src/monorepo/.claude/commands/ponytail-gain.md +2 -4
  8. package/src/monorepo/.claude/commands/ponytail-help.md +2 -4
  9. package/src/monorepo/.claude/commands/ponytail-review.md +3 -5
  10. package/src/monorepo/.claude/commands/ponytail.md +3 -5
  11. package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +37 -17
  12. package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +76 -51
  13. package/src/monorepo/.claude/prompt-snippets/bootstrap.md +130 -94
  14. package/src/monorepo/.codex/config.toml +6 -0
  15. package/src/monorepo/.github/prompts/review-staged.prompt.md +1 -1
  16. package/src/monorepo/.opencode/agents/admin-portal.md +10 -4
  17. package/src/monorepo/.opencode/agents/api-specialist.md +10 -4
  18. package/src/monorepo/.opencode/agents/backend-architect.md +10 -4
  19. package/src/monorepo/.opencode/agents/documenter.md +10 -4
  20. package/src/monorepo/.opencode/agents/feature-builder.md +13 -5
  21. package/src/monorepo/.opencode/agents/frontend-developer.md +10 -4
  22. package/src/monorepo/.opencode/agents/green.md +10 -4
  23. package/src/monorepo/.opencode/agents/implementer.md +10 -4
  24. package/src/monorepo/.opencode/agents/planner.md +10 -4
  25. package/src/monorepo/.opencode/agents/red.md +10 -4
  26. package/src/monorepo/.opencode/agents/refactor.md +10 -4
  27. package/src/monorepo/.opencode/agents/researcher.md +10 -4
  28. package/src/monorepo/.opencode/agents/reviewer.md +10 -4
  29. package/src/monorepo/.opencode/agents/tdd.md +13 -5
  30. package/src/monorepo/.opencode/opencode.jsonc +8 -10
  31. package/src/monorepo/AGENTS.md +16 -0
  32. package/src/monorepo/CLAUDE.md +1 -1
  33. package/src/monorepo/README.md +22 -0
  34. package/src/repo/.claude/agents/documenter.agent.md +1 -1
  35. package/src/repo/.claude/agents/planner.agent.md +1 -1
  36. package/src/repo/.claude/agents/researcher.agent.md +1 -1
  37. package/src/repo/.claude/agents/reviewer.agent.md +1 -1
  38. package/src/repo/.claude/commands/ponytail-audit.md +4 -6
  39. package/src/repo/.claude/commands/ponytail-debt.md +3 -5
  40. package/src/repo/.claude/commands/ponytail-gain.md +2 -4
  41. package/src/repo/.claude/commands/ponytail-help.md +2 -4
  42. package/src/repo/.claude/commands/ponytail-review.md +3 -5
  43. package/src/repo/.claude/commands/ponytail.md +3 -5
  44. package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +37 -17
  45. package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +87 -77
  46. package/src/repo/.claude/prompt-snippets/bootstrap.md +129 -125
  47. package/src/repo/.codex/config.toml +6 -0
  48. package/src/repo/.opencode/agents/admin-portal.md +10 -4
  49. package/src/repo/.opencode/agents/api-specialist.md +10 -4
  50. package/src/repo/.opencode/agents/backend-architect.md +10 -4
  51. package/src/repo/.opencode/agents/documenter.md +10 -4
  52. package/src/repo/.opencode/agents/feature-builder.md +13 -5
  53. package/src/repo/.opencode/agents/frontend-developer.md +10 -4
  54. package/src/repo/.opencode/agents/green.md +10 -4
  55. package/src/repo/.opencode/agents/implementer.md +10 -4
  56. package/src/repo/.opencode/agents/planner.md +10 -4
  57. package/src/repo/.opencode/agents/red.md +10 -4
  58. package/src/repo/.opencode/agents/refactor.md +10 -4
  59. package/src/repo/.opencode/agents/researcher.md +10 -4
  60. package/src/repo/.opencode/agents/reviewer.md +10 -4
  61. package/src/repo/.opencode/agents/tdd.md +13 -5
  62. package/src/repo/.opencode/opencode.jsonc +8 -10
  63. package/src/repo/AGENTS.md +16 -0
  64. package/src/repo/CLAUDE.md +1 -1
  65. package/src/repo/README.md +22 -0
  66. package/src/monorepo/.opencode/plugins/ponytail.mjs +0 -93
  67. package/src/repo/.opencode/plugins/ponytail.mjs +0 -93
@@ -2,12 +2,31 @@
2
2
 
3
3
  Analyze the project structure and customize AI instruction templates for this codebase.
4
4
 
5
+ ## OpenCode version preflight (before any changes)
6
+
7
+ - Confirm OpenCode use from actual session/runtime evidence or ask the user; directory presence alone is not proof. If only other harnesses are used, skip this preflight and all OpenCode steps.
8
+ - For confirmed OpenCode use, run `opencode --version` before any project writes. Trim output and parse numeric major/minor/patch components, accepting an optional leading `v`; toolkit 4.x requires `major >= 2`.
9
+ - If OpenCode V1 (`major < 2`) is detected, **STOP** before customizing/migrating OpenCode files or writing `.toolkit-version` as `4.0.0`. Ask the user to upgrade OpenCode to V2 or remain on toolkit 3.x.
10
+ - If the CLI is missing, fails, or output is unparseable, **STOP OpenCode steps** and leave the version marker unchanged; ask the user to confirm/install a supported OpenCode version, then rerun this check. Never assume V2.
11
+ - If oh-my-opencode-slim >=3.0.0 is used or planned, require OpenCode >=2.0.7 (compare version components numerically); otherwise **STOP** before changes and ask to upgrade. Proceed only after this gate passes.
12
+
5
13
  ## Usage
6
14
 
7
15
  ```
8
16
  /bootstrap
9
17
  ```
10
18
 
19
+ **Codex:** `/bootstrap` is not a native Codex command. For npm installs, ask Codex to read and follow `.nitm/BOOTSTRAP.md`. For manually copied templates without `.nitm/`, ask it to read and follow `.claude/prompt-snippets/bootstrap.md` as a task document.
20
+
21
+ ### Harness selection and native Codex targets
22
+
23
+ - Identify the actual running harness from session/runtime information or ask the user which harnesses they use. Directory presence alone is not evidence: the default installer scaffolds every supported harness.
24
+ - Codex uses `AGENTS.md` (including more-specific nested instructions) and `.agents/skills/*/SKILL.md` natively. Read linked standards when relevant; `.github/instructions/` and Claude snippets are not automatically loaded as Codex rules.
25
+ - `.codex/config.toml` is an optional, comment-only project config. Preserve inherited defaults and existing user settings. Project config is loaded only after the user explicitly trusts the project; never write self-trust or change model/provider, approvals, sandbox, security, or feature settings during bootstrap.
26
+ - Calibrate Codex by customizing project instructions and skills, not by translating Claude/Copilot `tools:` frontmatter or OpenCode `permissions:` rules. This toolkit ships no Codex custom-agent format; use only delegation capabilities actually available in the running harness.
27
+ - Codex MCP uses native `[mcp_servers.name]` TOML, not `.mcp.json`. Treat other harness MCP templates as references only; do not activate servers, copy credentials, or install hooks automatically.
28
+ - Update and audit only confirmed harness targets. For Codex-only setup, `AGENTS.md`, `.agents/skills/`, and `.codex/config.toml` are the native targets. `--env codex` also includes `.github/instructions/` and `.claude/rules-snippets/` solely as AGENTS-linked standards and their wrapper sources, not automatically loaded rules or evidence of Copilot/Claude use; other harness command, agent, and config directories are excluded. The remaining tool-specific examples below are conditional.
29
+
11
30
  ## Process
12
31
 
13
32
  > **Merge, don't clobber.** If a target file already exists and carries project-specific content — customized agents, rules, skills, or `{{PLACEHOLDER}}` values already replaced — preserve it. Add missing structure; never overwrite a customized file with template defaults. When a template change conflicts with an existing customization, merge the addition and flag it for the user rather than replacing the file. For incremental updates after the first bootstrap, prefer `/bootstrap-patch`, which is purpose-built for meticulous merging.
@@ -192,11 +211,15 @@ Present inferred values and ask for missing ones:
192
211
 
193
212
  ### Step 4: Template Customization
194
213
 
214
+ For confirmed OpenCode use, complete the Ponytail pre-activation cleanup below before customizing OpenCode files or marking the migration complete.
215
+
195
216
  Replace placeholders in all template files:
196
217
 
197
218
  **Files to Update:**
198
219
 
199
220
  - `AGENTS.md` - Project context and patterns (include project management section)
221
+ - `.agents/skills/*/SKILL.md` - Shared native skills (including Codex)
222
+ - `.codex/config.toml` - Optional Codex config; retain comment-only inherited defaults
200
223
  - `.github/copilot-instructions.md` - Copilot configuration
201
224
  - `.github/instructions/*.instructions.md` - Context instructions
202
225
  - `.github/prompts/*.prompt.md` - Reusable prompts
@@ -207,58 +230,35 @@ Replace placeholders in all template files:
207
230
  - `.claude/rules-snippets/*.md` - Rules content (source of truth)
208
231
  - `.claude/prompt-snippets/*.md` - Prompt content (source of truth)
209
232
  - `.claude/agents-snippets/*.md` - Agent definitions (source of truth)
210
- - `.opencode/opencode.jsonc` - OpenCode configuration (⚠️ see schema validation below)
233
+ - `.opencode/opencode.jsonc` - OpenCode configuration (see native V2 checks below)
211
234
  - `.opencode/commands/*.md` - OpenCode commands
212
235
  - `.opencode/rules/*.md` - OpenCode rules
213
236
  - `.opencode/agents/*.md` - OpenCode agents
214
237
  - `.toolkit-version` - Toolkit version tracking
215
238
 
216
- **⚠️ OpenCode `opencode.jsonc` Schema Validation:**
217
-
218
- When creating or modifying `.opencode/opencode.jsonc`, **only use supported top-level keys**. The schema is defined at `https://opencode.ai/config.json`. Adding unsupported keys will cause validation errors.
219
-
220
- **Supported top-level keys:**
221
-
222
- | Key | Purpose |
223
- | -------------------- | --------------------------------------- |
224
- | `$schema` | Schema reference (always include) |
225
- | `instructions` | Array of instruction file paths/globs |
226
- | `skills` | Skill folder paths and URLs |
227
- | `agent` | Custom agent configurations |
228
- | `default_agent` | Default agent name |
229
- | `model` | Model ID (provider/model format) |
230
- | `small_model` | Lightweight model for title generation |
231
- | `provider` | Provider configurations and API keys |
232
- | `mcp` | MCP server configurations |
233
- | `tools` | Enable/disable tools |
234
- | `permission` | Tool permission rules |
235
- | `lsp` | LSP server configuration |
236
- | `formatter` | Code formatter configuration |
237
- | `server` | Server settings (port, hostname, CORS) |
238
- | `shell` | Default shell for terminal |
239
- | `command` | Custom command definitions |
240
- | `plugin` | Plugin list |
241
- | `watcher` | File watcher ignore patterns |
242
- | `snapshot` | Enable/disable snapshot tracking |
243
- | `share` | Sharing behavior (manual/auto/disabled) |
244
- | `autoupdate` | Auto-update settings |
245
- | `compaction` | Context compaction settings |
246
- | `attachment` | Image attachment limits |
247
- | `logLevel` | Log level (DEBUG/INFO/WARN/ERROR) |
248
- | `disabled_providers` | Providers to disable |
249
- | `enabled_providers` | Allowlist of providers |
250
- | `tool_output` | Tool output truncation thresholds |
251
- | `enterprise` | Enterprise URL |
252
- | `experimental` | Experimental features |
253
-
254
- **Do NOT add keys not listed above** (e.g., `rules`, `agents`, `commands`, `prompts` as top-level keys — these are configured via `instructions`, `skills`, and the `.opencode/` directory structure instead).
239
+ **OpenCode native V2 checks (only for confirmed OpenCode use):**
240
+
241
+ Follow the official [V2 migration](https://opencode.ai/v2/docs/migrate-v1), [config](https://opencode.ai/v2/docs/config), [agents](https://opencode.ai/v2/docs/agents), and [plugins](https://opencode.ai/v2/docs/build/plugins) guides, not a V1 API/schema fetch. The published schema URL may still describe V1; do not use it to reject native plural keys.
242
+
243
+ - After the version preflight passes, use `agents` with JSON `system` or Markdown bodies; `request.body.temperature`; ordered `permissions` rules (`action`, `resource`, `effect`; `shell`/`subagent`; last match wins); `commands` with `subagent`; `plugins` with `{ "package": "…", "options": {} }`; `skills` as directory-path arrays; `mcp.servers` with inverse `disabled` and `timeout.catalog`/`timeout.execution`.
244
+ - Back up V1; native-converted files are incompatible with V1. Merge, don't clobber models/providers/user-global plugins. With approval only, merge pinned `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally. Slim's separate strict schema retains its own `prompt`, `permission`, and `variant`; do not host-migrate it or upgrade the separate external starter silently.
245
+ - Templates register the author's native V2 package `@dietrichgebert/ponytail@4.12.0` locally; no local Ponytail source is bundled or ported. Keep `opentmux` commented as V1-only. Native local discovery needs no duplicate registration; do not introduce API ports or bridges or claim tested runtime integration.
246
+ - Config `instructions` entries are accepted but not loaded; ambient `AGENTS.md` works. `@refs` are ordinary text: explicitly read referenced snippet docs. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`, but use project lint/typecheck/compiler commands (no current V2 LSP tools/diagnostics).
247
+ - `--env opencode` supplies minimal shared references without activating other harnesses. Activate on the next run/restart and report only checks actually run using installed V2; scaffold/placeholder checks are not runtime validation. Publishing 4.0.0 has not been executed.
248
+
249
+ **Ponytail pre-activation cleanup (confirmed OpenCode use only):**
250
+
251
+ 1. In this bootstrap flow, inspect `.opencode/plugins/ponytail.js`, `.opencode/plugins/ponytail.mjs`, and `.opencode/plugins/ponytail.ts` for existing-target leftovers. Verify obsolete toolkit ownership from contents/provenance, not filename alone; absent paths need no deletion. Preserve unrelated/custom plugins and global config.
252
+ 2. Back up the local config and verified obsolete toolkit copies, obtain explicit removal approval, then remove ONLY those copies. Do not automatically delete files in the CLI or remove custom plugins.
253
+ 3. With approval, merge/deduplicate upstream `@dietrichgebert/ponytail@4.12.0` registration locally where appropriate, preserving other registrations/options and leaving global config untouched. No API port or bridge.
254
+ 4. If any present copy's ownership or safe removal is unverified, or required removal approval is denied, **STOP OpenCode activation and migration completion**; leave `.toolkit-version` unchanged and report blocked, not complete. Proceed/restart only after this gate passes; runtime integration remains untested.
255
255
 
256
256
  **Create Toolkit Version File:**
257
257
 
258
- Create a `.toolkit-version` file in the project root with the current toolkit version:
258
+ Create a `.toolkit-version` file in the project root with the current toolkit version only after the OpenCode preflight and Ponytail cleanup gate pass (or OpenCode is confirmed out of scope):
259
259
 
260
260
  ```
261
- 3.0.0
261
+ 4.0.0
262
262
  ```
263
263
 
264
264
  This file enables `bootstrap-patch` to detect version changes and apply migrations automatically.
@@ -281,7 +281,7 @@ Use the first available method when interacting with the issue tracker:
281
281
 
282
282
  **If Jira:**
283
283
 
284
- 1. **MCP server** (preferred): `mcp_atlassian_atl_*` tools (configured in `.mcp.json`)
284
+ 1. **MCP server** (preferred): use the actual runtime tool names (`.mcp.json` for Claude; native `[mcp_servers.name]` TOML for Codex)
285
285
  2. **CLI fallback**: [`acli`](https://developer.atlassian.com/cloud/acli/reference/commands/) — `acli jira auth login --web`
286
286
 
287
287
  **If GitHub Issues:**
@@ -291,7 +291,7 @@ Use the first available method when interacting with the issue tracker:
291
291
 
292
292
  **If Linear:**
293
293
 
294
- 1. **MCP server** (preferred): `mcp_linear_*` tools (configured in `.mcp.json`)
294
+ 1. **MCP server** (preferred): use the actual runtime tool names (`.mcp.json` for Claude; native `[mcp_servers.name]` TOML for Codex)
295
295
  2. **CLI fallback**: [`linear`](https://github.com/linear/linear-cli) — `linear auth` or set `LINEAR_API_KEY`
296
296
 
297
297
  See the `issue-tracker` and relevant CLI skills for detailed setup and usage examples.
@@ -405,7 +405,9 @@ Customize agent definition files (`.github/agents/` and `.cursor/agents/`) based
405
405
 
406
406
  #### Agent Tool & Permission Calibration
407
407
 
408
- The `tools:` block (Claude Code, GitHub Copilot) and `permission:` block (OpenCode) must match each agent's role **and** the detected project. Templates ship with defaults, but calibrate them during bootstrap so every agent can do its job without being over-provisioned.
408
+ The `tools:` block (Claude Code, GitHub Copilot) and ordered `permissions:` rules (OpenCode V2) must match each agent's role **and** the detected project. Inspect actual defaults before proposing changes; calibrate without over-provisioning.
409
+
410
+ **Codex native calibration:** apply the harness-selection guidance above. Do not generate Codex agent files from this table or change native security settings to simulate per-role tool gating.
409
411
 
410
412
  **1. Capability baseline per role** — what the agent functionally needs:
411
413
 
@@ -420,22 +422,22 @@ The `tools:` block (Claude Code, GitHub Copilot) and `permission:` block (OpenCo
420
422
 
421
423
  **2. Translate the baseline to each platform's syntax:**
422
424
 
423
- | Capability | Claude Code | GitHub Copilot | OpenCode (`permission:`) | Cursor |
425
+ | Capability | Claude Code | GitHub Copilot | OpenCode (`permissions:` rule) | Cursor |
424
426
  |-----------|-------------|----------------|--------------------------|--------|
425
427
  | read | `Read` | `read` | default | default |
426
428
  | search | `Grep` | `search` | default | default |
427
- | write / edit files | `Write`, `Edit` | `edit` | `edit: allow` | default |
428
- | terminal | `Bash(*)` | `runInTerminal`, `terminalLastCommand` | `bash: allow` | default |
429
- | spawn subagents | `agent` | n/a | `task: allow` | default |
429
+ | write / edit files | `Write`, `Edit` | `edit` | `{action: edit, resource: "*", effect: allow}` | default |
430
+ | terminal | `Bash(*)` | `runInTerminal`, `terminalLastCommand` | `{action: shell, resource: "*", effect: allow}` | default |
431
+ | spawn subagents | `agent` | n/a | `{action: subagent, resource: "*", effect: allow}` | default |
430
432
 
431
433
  > **Cursor note:** these templates declare no `tools:` field, so Cursor subagents inherit the full default toolset. Read-only intent (Researcher, Reviewer) is enforced by the agent's instructions, not tool gating. If your Cursor version supports per-agent tool restriction, add a `tools:` field to match the baseline.
432
434
 
433
435
  **3. Project-driven adjustments** (widen or narrow from the baseline):
434
436
 
435
- - **Planner** — If plans are persisted to files (e.g. `docs/plans/`, `docs/features/`), it MUST have write + terminal. The Copilot default is read-only (`["read","search"]`) and the OpenCode default denies `edit`/`bash` — **widen both** to the baseline. The Claude default already has `Write` but lacks `Bash(*)` — add it so the planner can run `git log` / discover tests.
436
- - **Documenter** — Always needs edit (updates existing docs); needs terminal when the project uses doc generators (mkdocs, typedoc, sphinx, docusaurus). The OpenCode default denies `edit`/`bash` and the Claude default omits `Edit`/`Bash(*)` — **widen both** to the baseline. The Copilot default is already correct.
437
+ - **Planner** — Persisted plans need write + terminal. If Copilot is read-only (`["read","search"]`), widen to the baseline. If Claude lacks `Bash(*)`, add it for `git log` / test discovery. For OpenCode, inspect ordered rules and propose `edit`/`shell` allows only when missing and approved.
438
+ - **Documenter** — Needs edit for docs, terminal for doc generators. If Claude omits `Edit`/`Bash(*)`, propose them. For OpenCode, inspect ordered `edit`/`shell` rules against this baseline, not presumed legacy defaults.
437
439
  - **Researcher** — Must stay read-only on every platform. The Claude Code default currently grants `Write` — **remove it** (`["Read","Grep"]`).
438
- - **Reviewer** — Read + terminal only; never grant write/edit. The OpenCode default denies `bash` — **allow `bash`** (keep `edit: deny`) so it can run `git diff` / tests. The Claude default grants `Write` — **remove it** (keep `Bash(*)`).
440
+ - **Reviewer** — Read + terminal only; never grant write/edit. OpenCode ordered rules should allow `shell` and deny `edit` for this baseline. If Claude grants `Write`, remove it (keep `Bash(*)`).
439
441
  - **Worker agents** (Planner, Implementer, Red, Green, Refactor) — in a monorepo keep `user-invocable: false`; they are coordinator-dispatched only.
440
442
 
441
443
  **4. Apply:** for each agent file (`.claude/agents/*.agent.md`, `.github/agents/*.agent.md`, `.opencode/agents/*.md`), compare the declared tools/permissions to the calibrated baseline and adjust. List the changes in the confirmation table, then proceed only on `(Y/n)`.
@@ -468,27 +470,28 @@ Detected stack: {{LANGUAGE}} / {{FRAMEWORK}}
468
470
  | Agent | Platform | Current | Calibrated |
469
471
  |-------|----------|---------|------------|
470
472
  | Planner | github-copilot | `read, search, edit, runInTerminal, terminalLastCommand` | `read, search, edit, runInTerminal, terminalLastCommand` |
471
- | Planner | opencode | `edit: allow, bash: allow` | `edit: allow, bash: allow` |
473
+ | Planner | opencode | Inspect ordered rules | `permissions: [{action: edit, resource: "*", effect: allow}, {action: shell, resource: "*", effect: allow}]` |
472
474
  | Planner | claude | `Read, Grep, Write, Bash(*)` | `Read, Grep, Write, Bash(*)` |
473
475
  | Documenter | claude | `Read, Grep, Write, Edit, Bash(*)` | `Read, Grep, Write, Edit, Bash(*)` |
474
- | Documenter | opencode | `edit: allow, bash: allow` | `edit: allow, bash: allow` |
476
+ | Documenter | opencode | Inspect ordered rules | `permissions: [{action: edit, resource: "*", effect: allow}, {action: shell, resource: "*", effect: allow}]` |
475
477
  | Researcher | claude | `Read, Grep` | `Read, Grep` |
476
478
  | Reviewer | claude | `Read, Grep, Bash(*)` | `Read, Grep, Bash(*)` |
477
- | Reviewer | opencode | `edit: deny, bash: allow` | `edit: deny, bash: allow` |
479
+ | Reviewer | opencode | Inspect ordered rules | `permissions: [{action: edit, resource: "*", effect: deny}, {action: shell, resource: "*", effect: allow}]` |
478
480
 
479
481
  Apply agent customizations? (Y/n)
480
482
  ```
481
483
 
482
484
  ### Step 6: Detect Installed AI Agents
483
485
 
484
- Before recommending skills, detect which AI agent directories exist in the workspace. Supported agents are located here: https://github.com/vercel-labs/skills?tab=readme-ov-file#available-agents:
486
+ Before recommending skills, identify the running harness from session/runtime information and confirm additional harnesses with the user. Consult supported skill installer IDs at https://github.com/vercel-labs/skills?tab=readme-ov-file#available-agents.
485
487
 
486
- **Note:** `.agents/` directory is used by multiple agents: `amp`, `codex`, `gemini-cli`, `github-copilot`, `opencode`, `replit`. If only `.agents/` exists, default to `codex` or `github-copilot` based on other indicators.
488
+ **Note:** `.agents/` is shared by multiple agents. Neither it nor `.codex/`, `.claude/`, `.cursor/`, or `.github/` proves a harness is installed or in use; the toolkit scaffolds all by default. If runtime evidence is unavailable, ask rather than defaulting to an agent.
487
489
 
488
490
  **Build the agent flags string:**
489
- - For each detected agent, add `-a <agent>` to the command
490
- - Example: If `.cursor/` and `.github/` exist → use `-a cursor -a github-copilot`
491
- - If no agents detected, omit `-a` flags (CLI will prompt)
491
+ - For each confirmed harness, add `-a <supported-agent-id>` to the command
492
+ - Example: confirmed Codex only → `{{AGENT_FLAGS}}` becomes `-a codex` (supported by the skills installer)
493
+ - Example: confirmed Cursor and Copilot → `-a cursor -a github-copilot`
494
+ - If no harness is confirmed, ask before installing (or let the CLI prompt); do not infer from scaffold directories
492
495
 
493
496
  ### Step 7: AI Agent Skills Recommendation
494
497
 
@@ -553,13 +556,13 @@ This template bundles issue tracker skills in `.agents/skills/`. Verify the corr
553
556
  | React | `vercel-labs/agent-skills` | `npx -y skills add {{AGENT_FLAGS}} vercel-labs/agent-skills --skill "vercel-react-best-practices"` |
554
557
  | Vue | `onmax/nuxt-skills` (vue) | `npx -y skills add {{AGENT_FLAGS}} onmax/nuxt-skills --skill "vue"` |
555
558
  | Nuxt | `onmax/nuxt-skills` (nuxt) | `npx -y skills add {{AGENT_FLAGS}} onmax/nuxt-skills --skill "nuxt"` |
556
- | Expo | `expo/skills` | `npx -y skills add {{AGENT_FLAGS}} expo/skills --skill '*' --agent github-copilot cursor` |
557
- | TypeScript | `pproenca/dot-skills` (typescript) | `npx -y skills add {{AGENT_FLAGS}} pproenca/dot-skills --skill '*' --agent github-copilot cursor` |
558
- | Advanced Types | `wshobson/agents` (ts-advanced-types) | `npx -y skills add {{AGENT_FLAGS}} wshobson/agents --skill '*' --agent github-copilot cursor` |
559
+ | Expo | `expo/skills` | `npx -y skills add {{AGENT_FLAGS}} expo/skills --skill '*'` |
560
+ | TypeScript | `pproenca/dot-skills` (typescript) | `npx -y skills add {{AGENT_FLAGS}} pproenca/dot-skills --skill '*'` |
561
+ | Advanced Types | `wshobson/agents` (ts-advanced-types) | `npx -y skills add {{AGENT_FLAGS}} wshobson/agents --skill '*'` |
559
562
 
560
563
  **Skill Creation for Unsupported Frameworks:**
561
564
 
562
- Use `npx -y skills add {{AGENT_FLAGS}} anthropics/skills --skill '*' --agent github-copilot cursor` (includes `skill-creator`) to create custom skills.
565
+ Use `npx -y skills add {{AGENT_FLAGS}} anthropics/skills --skill '*'` (includes `skill-creator`) to create custom skills.
563
566
 
564
567
  **Present Recommendation:**
565
568
 
@@ -574,9 +577,9 @@ Based on your project ({{FRAMEWORK}}/{{LANGUAGE}}):
574
577
  ### Core Skills (recommended for all projects)
575
578
 
576
579
  ```bash
577
- npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*' --agent github-copilot cursor
578
- npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*' --agent github-copilot cursor
579
- npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*' --agent github-copilot cursor
580
+ npx -y skills add {{AGENT_FLAGS}} obra/superpowers --skill '*'
581
+ npx -y skills add {{AGENT_FLAGS}} trailofbits/skills --skill '*'
582
+ npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*'
580
583
  `````
581
584
 
582
585
  ### Issue Tracker Skills (bundled — {{ISSUE_TRACKER}})
@@ -592,7 +595,7 @@ npx -y skills add {{AGENT_FLAGS}} softaworks/agent-toolkit --skill '*' --agent g
592
595
  ### Framework-Specific Skills
593
596
 
594
597
  ```bash
595
- npx -y skills add {{FRAMEWORK_SKILL_REPO}} --skill '*' --agent github-copilot cursor
598
+ npx -y skills add {{AGENT_FLAGS}} {{FRAMEWORK_SKILL_REPO}} --skill '*'
596
599
  ```
597
600
 
598
601
  ### Install All?
@@ -604,11 +607,13 @@ Would you like to install these skills now? (Y/n)
604
607
  **On Confirmation:**
605
608
 
606
609
  - Run skill installation commands
607
- - Skills installed to `.github/skills/{skill-name}/` (by skill name, not org/repo)
610
+ - Verify the installer's reported paths; Codex uses `.agents/skills/{skill-name}/` (by skill name, not org/repo)
608
611
  - Update `AGENTS.md` to reference installed skills
609
612
 
610
613
  ### Step 7: Completion Report
611
614
 
615
+ Populate this example with only files actually changed and skills actually installed. Omit unconfirmed harness targets; for Codex, include native targets and shared reference standards only when changed. This is a change inventory, not proof of runtime loading or trust.
616
+
612
617
  ```markdown
613
618
  ## ✅ Bootstrap Complete!
614
619
 
@@ -623,27 +628,19 @@ Would you like to install these skills now? (Y/n)
623
628
 
624
629
  ### Updated Files
625
630
 
626
- - [x] AGENTS.md (with {{LANGUAGE}} patterns)
627
- - [x] .github/copilot-instructions.md
628
- - [x] .github/instructions/\*.instructions.md
629
- - [x] .cursor/rules/\*.mdc
630
- - [x] .cursor/commands/\*.md
631
- - [x] .github/prompts/\*.prompt.md
632
- - [x] .claude/rules/\*.md (thin wrappers)
633
- - [x] .claude/rules-snippets/\*.md (rules content)
634
- - [x] .claude/prompt-snippets/\*.md (prompt content)
635
- - [x] .claude/agents-snippets/\*.md (agent content)
636
- - [x] .opencode/opencode.jsonc
637
- - [x] .opencode/commands/\*.md
638
- - [x] .opencode/rules/\*.md
639
- - [x] .opencode/agents/\*.md
640
- - [x] .toolkit-version
631
+ - AGENTS.md (with {{LANGUAGE}} patterns; if changed)
632
+ - .agents/skills/\*/SKILL.md (if changed)
633
+ - .codex/config.toml (Codex; if changed)
634
+ - .github/instructions/\*.instructions.md (linked standards or confirmed Copilot; if changed)
635
+ - .claude/rules-snippets/\*.md (reference sources; if changed)
636
+ - Other confirmed harness files actually changed (list exact paths)
637
+ - .toolkit-version (if changed)
641
638
 
642
639
  ### Installed Skills
643
640
 
644
- - [x] obra/superpowers - Development workflow
645
- - [x] trailofbits/skills - Security & quality
646
- - [x] {{FRAMEWORK_SKILL}} - Framework patterns
641
+ - obra/superpowers - Development workflow (only if installed)
642
+ - trailofbits/skills - Security & quality (only if installed)
643
+ - {{FRAMEWORK_SKILL}} - Framework patterns (only if installed)
647
644
 
648
645
  ### Next Steps
649
646
 
@@ -662,7 +659,7 @@ After bootstrap completion, review all installed skills for relevance:
662
659
  **Skill Audit Process:**
663
660
 
664
661
  1. **Inventory Installed Skills**
665
- - Scan `.github/skills/` and `.cursor/skills/` directories
662
+ - Scan `.agents/skills/` and confirmed harness skill directories, including `.github/skills/` and `.cursor/skills/` if used
666
663
  - List all installed skill names and descriptions
667
664
  - Check each skill's SKILL.md for its purpose
668
665
 
@@ -743,7 +740,9 @@ Kept {{N}} relevant skills:
743
740
 
744
741
  Verify that all necessary instruction files exist and are properly configured:
745
742
 
746
- **Required Instruction Files:**
743
+ For Codex, verify `AGENTS.md`, relevant nested `AGENTS.md` files, and `.agents/skills/*/SKILL.md`; parse `.codex/config.toml` as TOML and confirm it retains inherited defaults. The Copilot-specific audit below applies only when Copilot is confirmed in use; do not create Copilot instructions merely to satisfy a Codex audit.
744
+
745
+ **Required Copilot Instruction Files (only if Copilot is confirmed in use):**
747
746
 
748
747
  | File | Purpose | Location |
749
748
  | ----------------------------- | ------------------------------- | ----------------------- |
@@ -754,10 +753,10 @@ Verify that all necessary instruction files exist and are properly configured:
754
753
  | `testing.instructions.md` | Testing conventions | `.github/instructions/` |
755
754
  | `api.instructions.md` | API conventions (if applicable) | `.github/instructions/` |
756
755
 
757
- **Detection & Validation:**
756
+ **Copilot Detection & Validation Example (only if confirmed in use):**
758
757
 
759
758
  ```markdown
760
- ## 📋 Instruction Files Audit
759
+ ## 📋 Copilot Instruction Files Audit — confirmed Copilot use only
761
760
 
762
761
  ### ✅ Found ({{N}} files)
763
762
 
@@ -783,18 +782,18 @@ Verify that all necessary instruction files exist and are properly configured:
783
782
  | `.claude/prompt-snippets/` | Prompt content (source of truth) | ✓ |
784
783
  | `.claude/agents-snippets/` | Agent definitions (source of truth) | ✓ |
785
784
 
786
- ### 📝 Create Missing Instruction Files?
785
+ ### 📝 Create Missing Copilot Instruction Files? (confirmed Copilot use only)
787
786
 
788
787
  These files would help AI understand your project's conventions.
789
788
 
790
789
  Create recommended instructions? (Y/n)
791
790
  ```
792
791
 
793
- **On Confirmation:**
792
+ **On Confirmation (only if Copilot is confirmed in use):**
794
793
 
795
- Generate missing instruction files with appropriate templates:
794
+ Generate missing Copilot instruction files with appropriate templates; skip creation for a Codex-only audit even when shared reference standards are present:
796
795
 
797
- **Example: Framework Instruction Template**
796
+ **Copilot Example: Framework Instruction Template (only if confirmed in use)**
798
797
 
799
798
  ```markdown
800
799
  ---
@@ -848,7 +847,7 @@ Key packages:
848
847
  - [Project README](README.md)
849
848
  ```
850
849
 
851
- **Example: Testing Instruction Template**
850
+ **Copilot Example: Testing Instruction Template (only if confirmed in use)**
852
851
 
853
852
  ```markdown
854
853
  ---
@@ -899,10 +898,10 @@ Available test utilities:
899
898
  - {{TESTING_ANTIPATTERN_2}}
900
899
  ```
901
900
 
902
- **Post-Creation Report:**
901
+ **Copilot Post-Creation Report Example (only if confirmed in use and files were created):**
903
902
 
904
903
  ```markdown
905
- ## ✅ Instruction Files Created
904
+ ## ✅ Copilot Instruction Files Created — confirmed Copilot use only
906
905
 
907
906
  Created {{N}} new instruction files:
908
907
 
@@ -922,18 +921,20 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
922
921
 
923
922
  ### Step 10: Final Verification
924
923
 
924
+ Report only actual changes and checks for confirmed harnesses. For Codex, distinguish file inspection and TOML validation from runtime instruction/skill discovery, project trust, and config loading. Mark runtime behavior unverified unless directly confirmed; file presence alone proves none of these. Remove inapplicable rows and mark checklist items complete only after performing the check.
925
+
925
926
  ```markdown
926
- ## ✅ Bootstrap Complete & Verified!
927
+ ## Bootstrap Verification Report
927
928
 
928
929
  ### Summary
929
930
 
930
931
  | Category | Count | Status |
931
932
  | ------------------------- | ----- | ------ |
932
- | Files updated | {{N}} | ✓ |
933
- | Skills installed | {{N}} | ✓ |
934
- | Skills removed | {{N}} | ✓ |
935
- | Instruction files created | {{N}} | ✓ |
936
- | Project management | 1 | ✓ |
933
+ | Files updated | {{N}} | Report actual result |
934
+ | Skills installed | {{N}} | Report actual result |
935
+ | Skills removed | {{N}} | Report actual result |
936
+ | Instruction files created | {{N}} | Report actual result |
937
+ | Project management | 1 | Report actual result or not configured |
937
938
 
938
939
  ### Project Management Configuration
939
940
 
@@ -941,7 +942,7 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
941
942
  **URL:** {{PM_URL}} _(if applicable)_
942
943
  **Project Key:** {{PROJECT_KEY}} _(if applicable)_
943
944
  **Issue Format:** `{{PM_ISSUE_KEY}}`
944
- **Location:** Root AGENTS.md and copilot-instructions.md
945
+ **Location:** Root AGENTS.md; include copilot-instructions.md only if Copilot is confirmed and the file was updated
945
946
 
946
947
  ### Skill Inventory
947
948
 
@@ -953,7 +954,7 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
953
954
 
954
955
  ### Instruction Files
955
956
 
956
- **Active Instructions ({{N}}):**
957
+ **Inspected Instructions ({{N}}; report runtime loading separately):**
957
958
 
958
959
  - {{INSTRUCTION_1}}
959
960
  - {{INSTRUCTION_2}}
@@ -961,25 +962,28 @@ All instruction files are automatically loaded by GitHub Copilot when editing ma
961
962
 
962
963
  ### Quality Checks
963
964
 
964
- - [x] All placeholders replaced
965
- - [x] Framework patterns match detected stack
966
- - [x] No duplicate skills
967
- - [x] AGENTS.md configured
968
- - [x] Instruction files cover all frameworks
969
- - [x] Skills align with tech stack
970
- - [x] Snippet directories created
971
- - [x] Thin wrappers reference correct snippets
972
- - [x] .opencode/ directory configured
973
- - [x] .toolkit-version file created
974
-
975
- ### Your Project is Ready! 🎉
976
-
977
- GitHub Copilot and Cursor will now understand:
978
-
979
- - Your project structure
980
- - Framework-specific patterns
981
- - Custom conventions
982
- - Testing strategies
965
+ - [ ] All placeholders replaced (list any remaining)
966
+ - [ ] Framework patterns match detected stack
967
+ - [ ] No duplicate skills
968
+ - [ ] AGENTS.md configured
969
+ - [ ] Instruction files cover applicable frameworks
970
+ - [ ] Skills align with tech stack
971
+ - [ ] Required reference snippet sources present and links resolve
972
+ - [ ] Thin wrappers reference correct snippets (if applicable)
973
+ - [ ] OpenCode configuration validated (only if OpenCode is confirmed in use)
974
+ - [ ] .toolkit-version file created or checked
975
+
976
+ ### Native Codex Check Example (only if Codex is confirmed in use)
977
+
978
+ | Target | Check to report | Result |
979
+ | ------ | --------------- | ------ |
980
+ | `AGENTS.md` and relevant nested files | Contents and linked standards inspected | Actual inspection result |
981
+ | `.agents/skills/*/SKILL.md` | Skill contents and relevance inspected | Actual inspection result; runtime discovery unverified unless confirmed |
982
+ | `.codex/config.toml` (if present) | TOML syntax and inherited defaults inspected | Actual validation result; user trust and native loading unverified unless confirmed |
983
+
984
+ ### Next Steps for Confirmed Harnesses
985
+
986
+ List the confirmed harnesses, checks actually performed, remaining issues, and runtime checks still needed. Do not infer Copilot/Cursor readiness or Codex trust/loading from scaffold files.
983
987
 
984
988
  Try asking:
985
989
 
@@ -0,0 +1,6 @@
1
+ # Codex project configuration (optional).
2
+ # Instructions: AGENTS.md; reusable skills: .agents/skills/.
3
+ # Intentionally comment-only: inherit the user's Codex defaults.
4
+ # Codex loads project config only after the user explicitly trusts the project.
5
+ # Configure optional MCP servers in native [mcp_servers.name] TOML, not .mcp.json.
6
+ # Reference: https://learn.chatgpt.com/docs/config-file/config-basic
@@ -1,10 +1,16 @@
1
1
  ---
2
2
  description: "Build administrator portals with RBAC, system dashboards, reporting, analytics, and operational tooling. Specializes in admin frameworks and monitoring ecosystem tools."
3
3
  mode: subagent
4
- temperature: 0.1
5
- permission:
6
- edit: allow
7
- bash: allow
4
+ request:
5
+ body:
6
+ temperature: 0.1
7
+ permissions:
8
+ - action: edit
9
+ resource: "*"
10
+ effect: allow
11
+ - action: shell
12
+ resource: "*"
13
+ effect: allow
8
14
  ---
9
15
 
10
16
  # Admin Portal Specialist
@@ -1,10 +1,16 @@
1
1
  ---
2
2
  description: "Design and implement API architecture, documentation, and developer experience. Use for REST design, GraphQL, OpenAPI specs, SDK generation, API versioning, and integration patterns."
3
3
  mode: subagent
4
- temperature: 0.1
5
- permission:
6
- edit: allow
7
- bash: allow
4
+ request:
5
+ body:
6
+ temperature: 0.1
7
+ permissions:
8
+ - action: edit
9
+ resource: "*"
10
+ effect: allow
11
+ - action: shell
12
+ resource: "*"
13
+ effect: allow
8
14
  ---
9
15
 
10
16
  # API Specialist
@@ -1,10 +1,16 @@
1
1
  ---
2
2
  description: "Design APIs, databases, and server-side architecture. Use for scalable backend systems, data modeling, caching strategies, system design, and infrastructure decisions."
3
3
  mode: subagent
4
- temperature: 0.1
5
- permission:
6
- edit: allow
7
- bash: allow
4
+ request:
5
+ body:
6
+ temperature: 0.1
7
+ permissions:
8
+ - action: edit
9
+ resource: "*"
10
+ effect: allow
11
+ - action: shell
12
+ resource: "*"
13
+ effect: allow
8
14
  ---
9
15
 
10
16
  # Backend Architect
@@ -1,10 +1,16 @@
1
1
  ---
2
2
  description: "Analyze codebases and create comprehensive documentation. Use for AGENTS.md, README files, API docs, architecture documentation, and onboarding guides."
3
3
  mode: subagent
4
- temperature: 0.1
5
- permission:
6
- edit: allow
7
- bash: allow
4
+ request:
5
+ body:
6
+ temperature: 0.1
7
+ permissions:
8
+ - action: edit
9
+ resource: "*"
10
+ effect: allow
11
+ - action: shell
12
+ resource: "*"
13
+ effect: allow
8
14
  ---
9
15
 
10
16
  # Documenter
@@ -1,11 +1,19 @@
1
1
  ---
2
2
  description: "Coordinate end-to-end feature development using subagents for planning, implementation, and review. Orchestrates the full development lifecycle."
3
3
  mode: subagent
4
- temperature: 0.3
5
- permission:
6
- edit: allow
7
- bash: allow
8
- task: allow
4
+ request:
5
+ body:
6
+ temperature: 0.3
7
+ permissions:
8
+ - action: edit
9
+ resource: "*"
10
+ effect: allow
11
+ - action: shell
12
+ resource: "*"
13
+ effect: allow
14
+ - action: subagent
15
+ resource: "*"
16
+ effect: allow
9
17
  ---
10
18
 
11
19
  # Feature Builder — Coordinator
@@ -1,10 +1,16 @@
1
1
  ---
2
2
  description: "Build user interfaces, implement components, handle state management, and optimize frontend performance. Use for responsive, accessible, and performant web applications."
3
3
  mode: subagent
4
- temperature: 0.1
5
- permission:
6
- edit: allow
7
- bash: allow
4
+ request:
5
+ body:
6
+ temperature: 0.1
7
+ permissions:
8
+ - action: edit
9
+ resource: "*"
10
+ effect: allow
11
+ - action: shell
12
+ resource: "*"
13
+ effect: allow
8
14
  ---
9
15
 
10
16
  # Frontend Developer