@laitszkin/apollo-toolkit 2.4.3 → 2.5.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 (36) hide show
  1. package/AGENTS.md +1 -2
  2. package/CHANGELOG.md +11 -0
  3. package/README.md +2 -2
  4. package/{specs-to-project-docs → archive-specs}/README.md +3 -3
  5. package/{specs-to-project-docs → archive-specs}/SKILL.md +10 -10
  6. package/archive-specs/agents/openai.yaml +4 -0
  7. package/commit-and-push/README.md +3 -3
  8. package/commit-and-push/SKILL.md +16 -15
  9. package/commit-and-push/agents/openai.yaml +1 -1
  10. package/develop-new-features/README.md +2 -2
  11. package/develop-new-features/SKILL.md +4 -3
  12. package/develop-new-features/agents/openai.yaml +1 -1
  13. package/enhance-existing-features/README.md +1 -1
  14. package/enhance-existing-features/SKILL.md +3 -1
  15. package/enhance-existing-features/agents/openai.yaml +1 -1
  16. package/lib/cli.js +2 -1
  17. package/lib/installer.js +7 -1
  18. package/package.json +1 -1
  19. package/version-release/README.md +3 -3
  20. package/version-release/SKILL.md +16 -15
  21. package/version-release/agents/openai.yaml +1 -1
  22. package/codex-subagent-orchestration/LICENSE +0 -21
  23. package/codex-subagent-orchestration/README.md +0 -39
  24. package/codex-subagent-orchestration/SKILL.md +0 -224
  25. package/codex-subagent-orchestration/agents/openai.yaml +0 -6
  26. package/codex-subagent-orchestration/references/custom-agent-template.toml +0 -40
  27. package/codex-subagent-orchestration/references/routing-rubric.md +0 -100
  28. package/specs-to-project-docs/agents/openai.yaml +0 -4
  29. /package/{specs-to-project-docs → archive-specs}/LICENSE +0 -0
  30. /package/{specs-to-project-docs → archive-specs}/references/templates/architecture.md +0 -0
  31. /package/{specs-to-project-docs → archive-specs}/references/templates/configuration.md +0 -0
  32. /package/{specs-to-project-docs → archive-specs}/references/templates/developer-guide.md +0 -0
  33. /package/{specs-to-project-docs → archive-specs}/references/templates/docs-index.md +0 -0
  34. /package/{specs-to-project-docs → archive-specs}/references/templates/features.md +0 -0
  35. /package/{specs-to-project-docs → archive-specs}/references/templates/getting-started.md +0 -0
  36. /package/{specs-to-project-docs → archive-specs}/references/templates/readme.md +0 -0
package/AGENTS.md CHANGED
@@ -12,12 +12,11 @@
12
12
  This repository enables users to install and run a curated set of reusable agent skills for software delivery, research, repository maintenance, and media-generation workflows.
13
13
 
14
14
  - Users can align project documentation with the current codebase.
15
- - Users can consolidate accumulated project specs into a standardized README and categorized project documentation set.
15
+ - Users can consolidate completed project specs into a standardized README and categorized project documentation set, then archive the consumed planning files.
16
16
  - Users can investigate application logs and produce evidence-backed root-cause findings.
17
17
  - Users can answer repository-backed questions with additional web research when needed.
18
18
  - Users can commit and push local changes without performing version or release work.
19
19
  - Users can manage Codex user-preference memory by reviewing the last 24 hours of chats, storing categorized memory documents under `~/.codex/memory`, and syncing a memory index into `~/.codex/AGENTS.md`.
20
- - Users can orchestrate Codex subagents for most non-trivial tasks by reusing or creating focused custom agents under `~/.codex/agents`, then delegating exploration, review, verification, and unrelated module work while keeping tightly coupled execution in the main agent.
21
20
  - Users can research a topic deeply and produce evidence-based deliverables.
22
21
  - Users can research the latest completed market week and produce a PDF watchlist of tradeable instruments for the coming week.
23
22
  - Users can turn a marked weekly finance PDF into a concise evidence-based financial event report.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to this repository are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [v2.5.0] - 2026-03-19
8
+
9
+ ### Changed
10
+ - Rename `specs-to-project-docs` to `archive-specs` and refocus the skill on converting completed specs into project docs while archiving the consumed planning files.
11
+ - Update `develop-new-features` and `enhance-existing-features` so completed work must backfill requirement completion status in `spec.md` alongside `tasks.md` and `checklist.md`.
12
+ - Update `commit-and-push` and `version-release` to treat planning-file checkboxes semantically during conversion, and to invoke `archive-specs` when completed spec sets should become project documentation.
13
+ - Update the npm installer to remove stale linked skills that no longer exist in the latest packaged skill list during managed installs.
14
+
15
+ ### Removed
16
+ - Remove the `codex-subagent-orchestration` skill and clean related multi-agent guidance from affected skill documents.
17
+
7
18
  ## [v2.4.3] - 2026-03-19
8
19
 
9
20
  ### Changed
package/README.md CHANGED
@@ -6,10 +6,10 @@ A curated skill catalog for Codex, OpenClaw, and Trae with a managed installer t
6
6
 
7
7
  - align-project-documents
8
8
  - analyse-app-logs
9
+ - archive-specs
9
10
  - answering-questions-with-research
10
11
  - commit-and-push
11
12
  - codex-memory-manager
12
- - codex-subagent-orchestration
13
13
  - deep-research-topics
14
14
  - develop-new-features
15
15
  - discover-edge-cases
@@ -34,7 +34,6 @@ A curated skill catalog for Codex, OpenClaw, and Trae with a managed installer t
34
34
  - review-change-set
35
35
  - review-codebases
36
36
  - scheduled-runtime-health-check
37
- - specs-to-project-docs
38
37
  - systematic-debug
39
38
  - text-to-short-video
40
39
  - version-release
@@ -54,6 +53,7 @@ The interactive installer:
54
53
  - installs a managed copy into `~/.apollo-toolkit`
55
54
  - lets you multi-select `codex`, `openclaw`, `trae`, or `all`
56
55
  - creates symlinks from `~/.apollo-toolkit/<skill>` into each selected target
56
+ - in the same npm/npx install flow, removes stale linked skills that existed in the previous installed version but no longer exist in the current package skill list
57
57
 
58
58
  ### Global install
59
59
 
@@ -1,6 +1,6 @@
1
- # specs-to-project-docs
1
+ # archive-specs
2
2
 
3
- A documentation skill that consolidates scattered spec files into standardized project docs. It produces a concise `README.md` plus a categorized document set grounded in real repository evidence.
3
+ A documentation skill that converts completed spec files into standardized project docs and archives the consumed planning files. It produces a concise `README.md` plus a categorized document set grounded in real repository evidence.
4
4
 
5
5
  ## Core capabilities
6
6
 
@@ -8,7 +8,7 @@ A documentation skill that consolidates scattered spec files into standardized p
8
8
  - Reconciles spec claims against code, config, scripts, and deployment files.
9
9
  - Standardizes both new and existing project docs into topic-based files for setup, configuration, architecture, features, and developer onboarding.
10
10
  - Provides dedicated reference templates for the top-level README, the documentation index/reference list, and each category document.
11
- - Deletes superseded spec source files after a successful conversion, unless they still need to stay active or be archived explicitly.
11
+ - Archives superseded spec source files after a successful conversion, and deletes them only when the repository clearly does not need historical retention.
12
12
  - Keeps unknown or unverifiable details explicit instead of guessing.
13
13
 
14
14
  ## Repository layout
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: specs-to-project-docs
3
- description: Turn a project's accumulated spec files into standardized project documentation and README content. Use when users want to consolidate `spec.md`/`tasks.md`/`checklist.md` files into maintainable docs covering installation and deployment, configuration, external service setup, architecture, feature introductions, and developer onboarding context.
2
+ name: archive-specs
3
+ description: Convert completed project spec sets into maintainable project documentation and archive the consumed planning files. Use when users want to consolidate `spec.md`/`tasks.md`/`checklist.md` files into evidence-backed docs covering installation and deployment, configuration, external service setup, architecture, feature introductions, and developer onboarding context.
4
4
  ---
5
5
 
6
- # Specs To Project Docs
6
+ # Archive Specs
7
7
 
8
8
  ## Dependencies
9
9
 
@@ -17,11 +17,11 @@ description: Turn a project's accumulated spec files into standardized project d
17
17
  - Evidence: Treat code, config, deployment files, and current spec files as evidence sources; never guess when a detail is missing.
18
18
  - Execution: Inventory all relevant specs first, reconcile them with the current repository, then generate or update standardized docs from the provided templates.
19
19
  - Quality: Prefer source-of-truth behavior over stale plan text, align existing docs to the same standard structure, and call out unknowns explicitly instead of inventing missing setup details.
20
- - Output: Produce a concise `README.md` plus a categorized project-doc set, then remove superseded spec files after the conversion is complete.
20
+ - Output: Produce a concise `README.md` plus a categorized project-doc set, then archive or remove superseded spec files after the conversion is complete.
21
21
 
22
22
  ## Goal
23
23
 
24
- Convert scattered planning artifacts into stable, standardized project documentation that helps operators and developers quickly open the exact document they need for setup, configuration, architecture, feature understanding, or development onboarding.
24
+ Convert completed planning artifacts into stable, standardized project documentation, then archive the consumed specs so active planning files stay separate from durable project docs.
25
25
 
26
26
  ## Workflow
27
27
 
@@ -85,12 +85,12 @@ Ensure the split project docs cover all of the following:
85
85
  - Each category doc should stay focused on one topic instead of acting like another monolithic handbook.
86
86
  - Remove template placeholders and stale planning language before finishing.
87
87
 
88
- ### 7) Remove superseded spec files after successful conversion
88
+ ### 7) Archive superseded spec files after successful conversion
89
89
 
90
- - After the standardized project docs are complete and verified, delete the old source spec files that were converted.
91
- - Remove the full spec directory when it only exists to hold the consumed `spec.md`, `tasks.md`, and `checklist.md` files.
92
- - Do not delete any spec file that is still actively needed for unfinished implementation work or explicit archival requirements.
93
- - If a repository needs historical retention, move the source specs into a clearly marked archive path instead of leaving them mixed with active docs.
90
+ - After the standardized project docs are complete and verified, archive the old source spec files that were converted.
91
+ - Prefer moving the consumed `spec.md`, `tasks.md`, and `checklist.md` files, or their containing plan directory, into a clearly marked archive path instead of leaving them mixed with active docs.
92
+ - Delete converted spec files only when the repository clearly does not need historical retention.
93
+ - Do not archive or delete any spec file that is still actively needed for unfinished implementation work.
94
94
 
95
95
  ## Working Rules
96
96
 
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "archive-specs"
3
+ short_description: "Convert completed specs into project docs and archive the consumed plans"
4
+ default_prompt: "Use $archive-specs to inventory the project's spec.md/tasks.md/checklist.md files, reconcile them with the current repository, rewrite existing project docs into a standardized categorized structure when needed, generate or update a concise README plus split project docs for getting started, configuration, architecture, features, and developer guidance, maintain a docs/README.md reference list, then archive the consumed source specs after successful conversion, deleting them only when the repository clearly does not need historical retention."
@@ -7,9 +7,9 @@ A Codex skill for commit-and-push workflows without release/version operations.
7
7
  `commit-and-push` helps agents safely submit local changes by:
8
8
 
9
9
  1. Inspecting git status and staged state.
10
- 2. Running `specs-to-project-docs` when the repository contains spec files or existing project docs need normalization.
10
+ 2. Running `archive-specs` during submission to convert completed spec sets and archive them, or when existing project docs need normalization.
11
11
  3. Running `align-project-documents` and `maintain-project-constraints` before commit.
12
- 4. Running additional dependency skills for code-affecting diffs through isolated parallel review subagents when available.
12
+ 4. Running additional dependency skills for code-affecting diffs when their coverage is needed.
13
13
  5. Committing with a concise Conventional Commit message.
14
14
  6. Pushing to the current branch.
15
15
 
@@ -21,6 +21,6 @@ Use this skill when the user asks to commit/push/submit changes and does **not**
21
21
  - tagging
22
22
  - release changelog workflows
23
23
 
24
- If the repository contains spec files, or if existing project docs still use a non-standard layout, normalize them into the categorized `specs-to-project-docs` structure first and let that skill remove or archive superseded spec files when appropriate.
24
+ If the repository contains a completed spec set, convert it into the categorized `archive-specs` project-doc structure during submission and archive the consumed plan files. Treat `spec.md`, `tasks.md`, and `checklist.md` semantically: unchecked task or decision checkboxes do not automatically mean the work is unfinished when the docs clearly show they were not selected, replaced, deferred, or marked `N/A`.
25
25
 
26
26
  For release workflows, use `version-release`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: commit-and-push
3
- description: "Guide the agent to submit local changes with commit and push only (no versioning). Use when users ask to commit, submit, or push changes without requesting tag/version/release operations. If the repository contains active planning artifacts or existing project docs do not match the `specs-to-project-docs` structure, run `specs-to-project-docs` before the final commit so project docs are standardized into categorized files and the old specs are removed or archived when appropriate."
3
+ description: "Guide the agent to submit local changes with commit and push only (no versioning). Use when users ask to commit, submit, or push changes without requesting tag/version/release operations. During submission, run `archive-specs` to convert completed spec sets into project documentation and archive the consumed plans, and also use it when existing project docs do not match the standardized project-doc structure."
4
4
  ---
5
5
 
6
6
  # Commit and Push
@@ -8,15 +8,15 @@ description: "Guide the agent to submit local changes with commit and push only
8
8
  ## Dependencies
9
9
 
10
10
  - Required: `align-project-documents` and `maintain-project-constraints` before the final commit.
11
- - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting changes; `specs-to-project-docs` when the repository contains active planning artifacts or existing project docs need normalization into the standard categorized structure.
11
+ - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting changes; `archive-specs` during submission when completed spec sets should be converted into project docs and archived, or when existing project docs need normalization into the standard categorized structure.
12
12
  - Optional: none.
13
- - Fallback: If any required dependency is unavailable, or if `specs-to-project-docs` is required for spec conversion but unavailable, stop and report the missing dependency.
13
+ - Fallback: If any required dependency is unavailable, or if `archive-specs` is required for spec conversion but unavailable, stop and report the missing dependency.
14
14
 
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Inspect git state and classify the change set before deciding which quality gates apply.
18
- - Execution: Run code-review dependency skills as independent parallel subagents when applicable, keep their contexts isolated to reduce review bias, standardize project docs into categorized outputs whenever specs or doc-structure mismatches are present, preserve staging intent, then commit and push without release steps.
19
- - Quality: Re-run relevant validation for runtime changes and keep project docs plus agent constraints synchronized before committing; treat `specs-to-project-docs` outputs as the canonical project-doc structure when normalization is required.
18
+ - Execution: Run the required quality-gate skills when applicable, convert completed spec sets into categorized project docs during submission, normalize non-standard project docs when needed, preserve staging intent, then commit and push without release steps.
19
+ - Quality: Re-run relevant validation for runtime changes and keep project docs plus agent constraints synchronized before committing; treat `archive-specs` outputs as the canonical project-doc structure when normalization is required.
20
20
  - Output: Produce a concise Conventional Commit and push it to the current branch only.
21
21
 
22
22
  ## Overview
@@ -39,23 +39,24 @@ Load only when needed:
39
39
  2. Classify changes
40
40
  - `code-affecting`: runtime code, tests, build scripts, CI logic, or behavior-changing config.
41
41
  - `docs-only`: content updates only (for example README, docs, comments).
42
- - `repo-specs-present`: the repository contains active project planning artifacts such as `spec.md`, `tasks.md`, `checklist.md`, or plan directories that represent unfinished or recently completed work; exclude reference examples, templates, and archived samples that are not live project plans.
43
- - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `specs-to-project-docs`.
42
+ - `repo-specs-present`: the repository contains live project planning artifacts such as `spec.md`, `tasks.md`, `checklist.md`, or plan directories; exclude reference examples, templates, and archived samples.
43
+ - `repo-specs-ready-for-conversion`: the relevant `spec.md`, `tasks.md`, and `checklist.md` have been updated to reflect the actual outcome of the work, and any unchecked task/decision checkbox that is clearly not selected, replaced, deferred, or `N/A` (for example, E2E intentionally not created) does not by itself mean the spec set is unfinished.
44
+ - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `archive-specs`.
44
45
  3. Run code-affecting dependency skills (when applicable)
45
- - Launch `review-change-set`, `discover-edge-cases`, and `harden-app-security` as parallel review subagents for the same code-affecting scope when delegation is available.
46
- - Keep each review subagent in an isolated context window; do not reuse the implementation thread as the reviewer context.
47
- - Treat every reviewer as independent and unbiased, then consolidate and resolve all confirmed findings before continuing.
46
+ - Run `review-change-set`, `discover-edge-cases`, and `harden-app-security` for the same code-affecting scope when their coverage is needed.
47
+ - Consolidate and resolve all confirmed findings before continuing.
48
48
  - Re-run relevant tests when runtime logic changes.
49
49
  4. Standardize project docs when specs or doc normalization is needed
50
- - Execute `specs-to-project-docs` when `repo-specs-present` or `project-doc-structure-mismatch` is true and the related implementation scope is already complete enough for documentation consolidation.
51
- - Let `specs-to-project-docs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
52
- - Let the skill normalize any existing project docs to the same structure and remove or archive superseded source spec files.
53
- - If the specs still represent active unfinished work, do not convert them yet; report that the spec files remain active and should not be deleted.
50
+ - During submission, execute `archive-specs` when `repo-specs-ready-for-conversion` is true or when `project-doc-structure-mismatch` is true.
51
+ - Let `archive-specs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
52
+ - Let the skill normalize any existing project docs to the same structure and archive superseded source spec files.
53
+ - Do not treat unchecked task or decision checkboxes alone as blocking unfinished work; read the surrounding notes and requirement status semantically.
54
+ - If the docs still show unresolved implementation scope that is neither completed, intentionally deferred, nor explicitly `N/A`, do not convert them yet; report that the spec files remain active and should not be deleted.
54
55
  5. Run pre-commit sync dependencies
55
56
  - Execute `align-project-documents` after spec conversion and code/doc scans are complete.
56
57
  - Execute `maintain-project-constraints` immediately before the commit.
57
58
  6. Keep docs synchronized when needed
58
- - Apply the output from `specs-to-project-docs` when repository specs were converted or existing project docs were normalized into categorized project docs.
59
+ - Apply the output from `archive-specs` when repository specs were converted or existing project docs were normalized into categorized project docs.
59
60
  - Apply the output from `align-project-documents` when behavior or usage changed.
60
61
  - Apply the output from `maintain-project-constraints` when agent workflow/rules changed.
61
62
  7. Commit
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Commit and Push"
3
3
  short_description: "Submit local changes with commit and push only"
4
- default_prompt: "Use $commit-and-push to inspect the current git state, classify the diff, run required dependency skills ($align-project-documents and $maintain-project-constraints, plus $review-change-set, $discover-edge-cases, and $harden-app-security as isolated parallel review subagents for code-affecting changes when available), run $specs-to-project-docs when the repository contains spec files or existing project docs need normalization so project docs are standardized into categorized files and old specs are removed or archived when appropriate, then create a concise Conventional Commit and push to the current branch without any versioning or release steps."
4
+ default_prompt: "Use $commit-and-push to inspect the current git state, classify the diff, run required dependency skills ($align-project-documents and $maintain-project-constraints, plus $review-change-set, $discover-edge-cases, and $harden-app-security for code-affecting changes when their coverage is needed), then during submission run $archive-specs to convert any completed spec set into categorized project docs, archive the consumed plans, and normalize existing project docs when needed. Treat spec.md, tasks.md, and checklist.md semantically: unchecked task or decision checkboxes alone do not block conversion when the docs show they were not selected, replaced, deferred, or marked N/A. Then create a concise Conventional Commit and push to the current branch without any versioning or release steps."
@@ -8,7 +8,7 @@ A spec-first feature development skill for new behavior and greenfield work. It
8
8
  - Treats `spec.md`, `tasks.md`, and `checklist.md` as approval-gated artifacts, not optional notes.
9
9
  - Covers unit, regression, property-based, integration, E2E, and adversarial testing based on actual risk.
10
10
  - Reuses existing architecture and avoids speculative expansion.
11
- - Backfills planning docs after implementation and testing complete.
11
+ - Backfills `spec.md`, `tasks.md`, and `checklist.md` after implementation and testing complete.
12
12
 
13
13
  ## Repository layout
14
14
 
@@ -32,7 +32,7 @@ A spec-first feature development skill for new behavior and greenfield work. It
32
32
  2. Run `generate-spec` to create and maintain `docs/plans/{YYYY-MM-DD}_{change_name}/`.
33
33
  3. Wait for explicit approval on the spec set.
34
34
  4. Implement the approved behavior with minimal changes.
35
- 5. Run risk-driven tests and backfill `tasks.md` and `checklist.md`.
35
+ 5. Run risk-driven tests and backfill `spec.md`, `tasks.md`, and `checklist.md`.
36
36
 
37
37
  ## Testing expectations
38
38
 
@@ -17,7 +17,7 @@ description: >-
17
17
 
18
18
  ## Dependencies
19
19
 
20
- - Required: `generate-spec` for `spec.md`, `tasks.md`, `checklist.md`, clarification handling, approval gating, and status backfill.
20
+ - Required: `generate-spec` for `spec.md`, `tasks.md`, `checklist.md`, clarification handling, approval gating, and completion-status backfill.
21
21
  - Conditional: none.
22
22
  - Optional: none.
23
23
  - Fallback: If `generate-spec` is unavailable, stop and report the missing dependency.
@@ -50,7 +50,7 @@ Use a shared spec-generation workflow for all new feature work, then implement t
50
50
  - filling BDD requirements and risk-driven test plans
51
51
  - handling clarification responses
52
52
  - obtaining explicit approval before coding
53
- - backfilling document status after implementation and testing
53
+ - backfilling document status after implementation and testing, including requirement completion in `spec.md`
54
54
  - Do not modify product code before the approved spec set exists.
55
55
 
56
56
  ### 3) Explore architecture and reuse opportunities
@@ -86,7 +86,8 @@ Rules:
86
86
 
87
87
  ### 6) Completion updates
88
88
 
89
- - Backfill `tasks.md` and `checklist.md` through `$generate-spec` workflow after implementation and testing.
89
+ - Backfill `spec.md`, `tasks.md`, and `checklist.md` through `$generate-spec` workflow after implementation and testing.
90
+ - In `spec.md`, mark each approved requirement with its actual completion state, such as completed, partially completed, deferred, or not implemented, plus brief evidence or rationale where needed.
90
91
  - Report the implemented scope, test execution, and any concrete `N/A` reasons.
91
92
 
92
93
  ## Working Rules
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Develop New Features"
3
3
  short_description: "Spec-first feature development that depends on generate-spec"
4
- default_prompt: "Use $develop-new-features to design new behavior through a spec-first workflow: review the required external docs, run $generate-spec to create and maintain docs/plans/<date>_<change_name>/{spec.md,tasks.md,checklist.md}, wait for explicit approval, then implement the approved feature with risk-driven tests and backfill the planning docs after execution."
4
+ default_prompt: "Use $develop-new-features to design new behavior through a spec-first workflow: review the required external docs, run $generate-spec to create and maintain docs/plans/<date>_<change_name>/{spec.md,tasks.md,checklist.md}, wait for explicit approval, then implement the approved feature with risk-driven tests and backfill spec.md, tasks.md, and checklist.md after execution, including requirement completion status in spec.md."
@@ -32,7 +32,7 @@ A brownfield feature-extension skill: map dependencies first, decide whether sha
32
32
  2. Trigger `generate-spec` only when the change is high complexity, hits a critical module, or crosses module boundaries.
33
33
  3. Wait for explicit approval if planning docs were generated.
34
34
  4. Implement the smallest safe brownfield change.
35
- 5. Run risk-driven tests and backfill planning docs when they exist.
35
+ 5. Run risk-driven tests and backfill `spec.md`, `tasks.md`, and `checklist.md` when specs exist.
36
36
 
37
37
  ## Test requirements
38
38
 
@@ -59,6 +59,7 @@ If triggered:
59
59
  - Run `$generate-spec` and follow its workflow completely.
60
60
  - Use it to create or update `docs/plans/{YYYY-MM-DD}_{change_name}/spec.md`, `tasks.md`, and `checklist.md`.
61
61
  - Ensure planned behaviors and edge cases cover external dependency states, abuse/adversarial paths, and any relevant authorization/idempotency/concurrency/data-integrity risks.
62
+ - After implementation and testing, update the same plan set so `spec.md` reflects requirement completion status in addition to task and checklist progress.
62
63
  - If users answer clarification questions, update the planning docs and obtain explicit approval again before implementation.
63
64
  - Do not modify implementation code before approval.
64
65
 
@@ -100,7 +101,8 @@ Rules:
100
101
 
101
102
  ### 6) Completion updates
102
103
 
103
- - If specs were used, backfill `tasks.md` and `checklist.md` through `$generate-spec` workflow based on actual completion and test outcomes.
104
+ - If specs were used, backfill `spec.md`, `tasks.md`, and `checklist.md` through `$generate-spec` workflow based on actual completion and test outcomes.
105
+ - In `spec.md`, mark each relevant requirement with its actual completion state, such as completed, partially completed, deferred, or not implemented, plus brief evidence or rationale where needed.
104
106
  - If specs were not used, provide a concise execution summary including test IDs/results, regression coverage, mock scenario coverage, adversarial coverage, and any `N/A` reasons.
105
107
 
106
108
  ## Working Rules
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "enhance-existing-features"
3
3
  short_description: "Extend brownfield features with conditional generate-spec planning and risk-driven tests"
4
- default_prompt: "Use $enhance-existing-features to extend a brownfield feature: map the affected code and dependencies first, decide whether the change is high complexity / critical module / cross-module, run $generate-spec when specs are required, wait for explicit approval before coding, and always add risk-driven tests plus clear N/A reasons when a category truly does not apply."
4
+ default_prompt: "Use $enhance-existing-features to extend a brownfield feature: map the affected code and dependencies first, decide whether the change is high complexity / critical module / cross-module, run $generate-spec when specs are required, wait for explicit approval before coding, and always add risk-driven tests plus clear N/A reasons when a category truly does not apply, then backfill spec.md, tasks.md, and checklist.md when a spec set exists, including requirement completion status in spec.md."
package/lib/cli.js CHANGED
@@ -371,7 +371,7 @@ async function run(argv, context = {}) {
371
371
  return 1;
372
372
  }
373
373
 
374
- await syncToolkitHome({
374
+ const syncResult = await syncToolkitHome({
375
375
  sourceRoot,
376
376
  toolkitHome,
377
377
  version: packageJson.version,
@@ -380,6 +380,7 @@ async function run(argv, context = {}) {
380
380
  const installResult = await installLinks({
381
381
  toolkitHome,
382
382
  modes,
383
+ previousSkillNames: syncResult.previousSkillNames,
383
384
  env: {
384
385
  ...env,
385
386
  APOLLO_TOOLKIT_HOME: toolkitHome,
package/lib/installer.js CHANGED
@@ -112,6 +112,7 @@ async function stageToolkitContents({ sourceRoot, destinationRoot, version }) {
112
112
  async function syncToolkitHome({ sourceRoot, toolkitHome, version }) {
113
113
  const parentDir = path.dirname(toolkitHome);
114
114
  const tempDir = path.join(parentDir, `.apollo-toolkit.tmp-${process.pid}-${Date.now()}`);
115
+ const previousSkillNames = await listSkillNames(toolkitHome).catch(() => []);
115
116
 
116
117
  await fsp.rm(tempDir, { recursive: true, force: true });
117
118
  await stageToolkitContents({ sourceRoot, destinationRoot: tempDir, version });
@@ -127,6 +128,7 @@ async function syncToolkitHome({ sourceRoot, toolkitHome, version }) {
127
128
 
128
129
  return {
129
130
  toolkitHome,
131
+ previousSkillNames,
130
132
  skillNames: await listSkillNames(toolkitHome),
131
133
  };
132
134
  }
@@ -191,13 +193,17 @@ async function replaceWithSymlink(sourcePath, targetPath) {
191
193
  await fsp.symlink(sourcePath, targetPath, type);
192
194
  }
193
195
 
194
- async function installLinks({ toolkitHome, modes, env = process.env }) {
196
+ async function installLinks({ toolkitHome, modes, env = process.env, previousSkillNames = [] }) {
195
197
  const skillNames = await listSkillNames(toolkitHome);
196
198
  const targets = await getTargetRoots(modes, env);
197
199
  const linkedPaths = [];
200
+ const staleSkillNames = previousSkillNames.filter((skillName) => !skillNames.includes(skillName));
198
201
 
199
202
  for (const target of targets) {
200
203
  await ensureDirectory(target.root);
204
+ for (const staleSkillName of staleSkillNames) {
205
+ await fsp.rm(path.join(target.root, staleSkillName), { recursive: true, force: true });
206
+ }
201
207
  for (const skillName of skillNames) {
202
208
  const sourcePath = path.join(toolkitHome, skillName);
203
209
  const targetPath = path.join(target.root, skillName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "2.4.3",
3
+ "version": "2.5.0",
4
4
  "description": "Apollo Toolkit npm installer for managed skill linking across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",
@@ -7,8 +7,8 @@ A Codex skill for explicit release workflows: code/documentation alignment, vers
7
7
  `version-release` helps agents perform release work in a repeatable flow:
8
8
 
9
9
  1. Inspect the release scope from git history.
10
- 2. Run quality gates for code-affecting changes through isolated parallel review subagents when available.
11
- 3. Run `specs-to-project-docs` when the repository contains active planning artifacts or existing project docs need normalization.
10
+ 2. Run quality gates for code-affecting changes when their coverage is needed.
11
+ 3. Run `archive-specs` before finalizing the release to convert completed spec sets and archive them, or when existing project docs need normalization.
12
12
  4. Align project code and categorized project docs.
13
13
  5. Resolve version and tag details.
14
14
  6. Update version files and changelog.
@@ -25,6 +25,6 @@ Use this skill only when the user explicitly asks for:
25
25
  - tag creation/publishing
26
26
  - GitHub release publication
27
27
 
28
- If the repository contains active planning artifacts, or if existing project docs still use a mixed or non-standard layout, normalize them into the categorized `specs-to-project-docs` structure first and let that skill remove or archive superseded spec files when appropriate.
28
+ If the repository contains a completed spec set, convert it into the categorized `archive-specs` project-doc structure before finalizing the release and archive the consumed plan files. Treat `spec.md`, `tasks.md`, and `checklist.md` semantically: unchecked task or decision checkboxes do not automatically mean the work is unfinished when the docs clearly show they were not selected, replaced, deferred, or marked `N/A`.
29
29
 
30
30
  If the user only wants commit + push, use `commit-and-push`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: version-release
3
- description: "Guide the agent to prepare and publish a versioned release (version bump, changelog, tag, GitHub release, and push). Use only when users explicitly request version/tag/release work. If the repository contains active planning artifacts or existing project docs do not match the `specs-to-project-docs` structure, run `specs-to-project-docs` before finalizing the release so project docs are standardized into categorized files and the old specs are removed or archived when appropriate."
3
+ description: "Guide the agent to prepare and publish a versioned release (version bump, changelog, tag, GitHub release, and push). Use only when users explicitly request version/tag/release work. Before finalizing the release, run `archive-specs` to convert completed spec sets into project documentation and archive the consumed plans, and also use it when existing project docs do not match the standardized project-doc structure."
4
4
  ---
5
5
 
6
6
  # Version Release
@@ -8,15 +8,15 @@ description: "Guide the agent to prepare and publish a versioned release (versio
8
8
  ## Dependencies
9
9
 
10
10
  - Required: none.
11
- - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting releases before metadata edits and the final commit; `specs-to-project-docs` when the repository contains active planning artifacts or existing project docs need normalization into the standard categorized structure.
11
+ - Conditional: `review-change-set`, `discover-edge-cases`, and `harden-app-security` for code-affecting releases before metadata edits and the final commit; `archive-specs` before release finalization when completed spec sets should be converted into project docs and archived, or when existing project docs need normalization into the standard categorized structure.
12
12
  - Optional: none.
13
- - Fallback: If a required release dependency is unavailable for a code-affecting scope, or if `specs-to-project-docs` is required for spec conversion but unavailable, stop and report the missing dependency.
13
+ - Fallback: If a required release dependency is unavailable for a code-affecting scope, or if `archive-specs` is required for spec conversion but unavailable, stop and report the missing dependency.
14
14
 
15
15
  ## Standards
16
16
 
17
17
  - Evidence: Inspect the active change set and the release range before touching version files, tags, or changelog entries.
18
- - Execution: Use this workflow only for explicit release intent, run the required quality gates through independent parallel review subagents when applicable, standardize project docs into categorized files whenever specs or doc-structure mismatches are present, then update versions, docs, commit, tag, push, and publish the GitHub release.
19
- - Quality: Never guess versions, align user-facing docs with actual code, convert completed planning docs into standardized categorized project docs before the release is published, and treat the `specs-to-project-docs` structure as the release-ready documentation format.
18
+ - Execution: Use this workflow only for explicit release intent, run the required quality gates when applicable, convert completed spec sets into categorized project docs before release finalization, normalize non-standard project docs when needed, then update versions, docs, commit, tag, push, and publish the GitHub release.
19
+ - Quality: Never guess versions, align user-facing docs with actual code, convert completed planning docs into standardized categorized project docs before the release is published, and treat the `archive-specs` structure as the release-ready documentation format.
20
20
  - Output: Produce a versioned release commit and tag, publish a matching GitHub release, and keep changelog plus relevant repository documentation synchronized.
21
21
 
22
22
  ## Overview
@@ -51,25 +51,26 @@ Load only when needed:
51
51
  3. Classify changes and run dependencies when required
52
52
  - `code-affecting`: runtime code, tests, build scripts, CI logic, or behavior-changing config.
53
53
  - `docs-only`: documentation/content updates only.
54
- - `repo-specs-present`: the repository contains active project planning artifacts such as `spec.md`, `tasks.md`, `checklist.md`, or plan directories that represent unfinished or recently completed work; exclude reference examples, templates, and archived samples that are not live project plans.
55
- - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `specs-to-project-docs`.
56
- - For code-affecting changes, launch `review-change-set`, `discover-edge-cases`, and `harden-app-security` as parallel review subagents for the same release scope when delegation is available.
57
- - Keep each review subagent in an isolated context window; do not reuse the implementation thread as the reviewer context.
58
- - Treat every reviewer as independent and unbiased, then consolidate all confirmed findings before continuing.
54
+ - `repo-specs-present`: the repository contains live project planning artifacts such as `spec.md`, `tasks.md`, `checklist.md`, or plan directories; exclude reference examples, templates, and archived samples.
55
+ - `repo-specs-ready-for-conversion`: the relevant `spec.md`, `tasks.md`, and `checklist.md` reflect the actual delivered outcome, and any unchecked task/decision checkbox that is clearly not selected, replaced, deferred, or `N/A` (for example, E2E intentionally not created) does not by itself mean the spec set is unfinished.
56
+ - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `archive-specs`.
57
+ - For code-affecting changes, run `review-change-set`, `discover-edge-cases`, and `harden-app-security` for the same release scope when their coverage is needed.
58
+ - Consolidate all confirmed findings before continuing.
59
59
  - Resolve all confirmed findings before changing version files, tags, or release metadata.
60
60
  4. Identify release range
61
61
  - Find latest version tag with `git describe --tags --abbrev=0` (fallback to `git tag --list`).
62
62
  - If no tags exist, use initial commit from `git rev-list --max-parents=0 HEAD`.
63
63
  - Review `git log --oneline <range>` and `git diff --stat <range>`.
64
64
  5. Standardize project docs when specs or doc normalization is needed
65
- - Execute `specs-to-project-docs` when `repo-specs-present` or `project-doc-structure-mismatch` is true and the related implementation scope is complete enough for documentation consolidation.
66
- - Let `specs-to-project-docs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
67
- - Let the skill normalize any existing project docs to the same structure and remove or archive superseded source spec files.
68
- - If the specs still represent active unfinished work, do not convert them yet; report that the spec files remain active and should not be deleted.
65
+ - Before finalizing the release, execute `archive-specs` when `repo-specs-ready-for-conversion` is true or when `project-doc-structure-mismatch` is true.
66
+ - Let `archive-specs` convert the relevant specs into categorized project docs such as `docs/README.md`, `docs/getting-started.md`, `docs/configuration.md`, `docs/architecture.md`, `docs/features.md`, and `docs/developer-guide.md`.
67
+ - Let the skill normalize any existing project docs to the same structure and archive superseded source spec files.
68
+ - Do not treat unchecked task or decision checkboxes alone as blocking unfinished work; read the surrounding notes and requirement status semantically.
69
+ - If the docs still show unresolved implementation scope that is neither completed, intentionally deferred, nor explicitly `N/A`, do not convert them yet; report that the spec files remain active and should not be deleted.
69
70
  6. Align code and project docs
70
71
  - Compare release range changes with user-facing docs and operational docs to ensure they match actual code behavior.
71
72
  - Required alignment targets include project docs such as `README.md`, usage/setup docs, API docs, deployment/runbook docs, and release notes sources when present.
72
- - After `specs-to-project-docs` runs, treat the categorized outputs as the canonical project-doc structure.
73
+ - After `archive-specs` runs, treat the categorized outputs as the canonical project-doc structure.
73
74
  - If existing project docs are present but still use a mixed or non-standard layout, normalize them into the same categorized structure before version bumping or tagging.
74
75
  - If mismatches are found, update the relevant project docs before version bumping/tagging.
75
76
  7. Decide version and tag format
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "Version Release"
3
3
  short_description: "Prepare a versioned release with bump, changelog, tag, GitHub release, and push"
4
- default_prompt: "Use $version-release only for explicit release/version/tag requests: inspect the release scope, and for code-affecting changes run $review-change-set, $discover-edge-cases, and $harden-app-security as isolated parallel review subagents when available, run $specs-to-project-docs when the repository contains active planning artifacts or existing project docs need normalization so project docs are standardized into categorized files and old specs are removed or archived when appropriate, align user-facing docs with real behavior, update version files and CHANGELOG, create the release commit and tag, push commits and tags, then publish the matching GitHub release and confirm any triggered publish workflow."
4
+ default_prompt: "Use $version-release only for explicit release/version/tag requests: inspect the release scope, and for code-affecting changes run $review-change-set, $discover-edge-cases, and $harden-app-security when their coverage is needed. Before finalizing the release, run $archive-specs to convert any completed spec set into categorized project docs, archive the consumed plans, and normalize existing project docs when needed. Treat spec.md, tasks.md, and checklist.md semantically: unchecked task or decision checkboxes alone do not block conversion when the docs show they were not selected, replaced, deferred, or marked N/A. Then align user-facing docs with real behavior, update version files and CHANGELOG, create the release commit and tag, push commits and tags, then publish the matching GitHub release and confirm any triggered publish workflow."
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Yamiyorunoshura
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,39 +0,0 @@
1
- # codex-subagent-orchestration
2
-
3
- Use Codex subagents on nearly every non-trivial task.
4
-
5
- This skill inspects existing custom agents under `~/.codex/agents`, reuses them when they fit, creates new focused custom agents in the official Codex TOML format when they do not, and coordinates parallel subagent work for exploration, review, verification, and unrelated module edits.
6
-
7
- ## Highlights
8
-
9
- - Defaults to using subagents for most non-trivial work
10
- - Explicitly instructs Codex to spawn subagents for non-trivial work
11
- - Reuses existing custom agents before creating new ones
12
- - Persists new reusable agents to `~/.codex/agents`
13
- - Enforces narrow responsibilities and a fixed `developer_instructions` template
14
- - Restricts reusable subagent models to `gpt-5.4` and `gpt-5.3-codex`
15
- - Keeps tightly coupled serial work in the main agent
16
-
17
- ## Project Structure
18
-
19
- ```text
20
- .
21
- ├── SKILL.md
22
- ├── LICENSE
23
- ├── README.md
24
- ├── agents/
25
- │ └── openai.yaml
26
- └── references/
27
- ├── custom-agent-template.toml
28
- └── routing-rubric.md
29
- ```
30
-
31
- ## Requirements
32
-
33
- - Codex app or CLI with subagent support
34
- - Write access to `~/.codex/agents`
35
- - Custom agent TOML format support
36
-
37
- ## License
38
-
39
- MIT. See `LICENSE` for details.
@@ -1,224 +0,0 @@
1
- ---
2
- name: codex-subagent-orchestration
3
- description: Use for almost every non-trivial Codex task. Conduct muti-agents workflow to better finish your jobs. Use this skill for better muti-agents orchestration. Inspect existing custom agents under `~/.codex/agents`, reuse them when they already fit, create a new focused custom agent in the official Codex TOML format when needed, and coordinate parallel subagents for exploration, review, verification, or unrelated module work while keeping tightly coupled serial work in the main agent.
4
- ---
5
-
6
- # Codex Subagent Orchestration
7
-
8
- ## Dependencies
9
-
10
- - Required: none.
11
- - Conditional: task-specific skills only when the delegated agent's job clearly benefits from them.
12
- - Optional: none.
13
- - Fallback: If subagent delegation is unavailable, continue in a single thread and report that orchestration was skipped. If `~/.codex/agents` does not exist, create it before persisting personal custom agents.
14
-
15
- ## Standards
16
-
17
- - Evidence: Inspect the current task shape and the existing custom-agent catalog before creating or updating any agent.
18
- - Execution: Use this skill for nearly every non-trivial task. When current tool rules allow delegation, the agent must actually launch one or more subagents instead of only describing delegation in prose. Treat a parallel subagents workflow as the default whenever two or more independent workstreams can run safely in parallel, use a single helper agent only when there is exactly one bounded sidecar job, and keep shared planning, conflict resolution, and final synthesis in the main agent.
19
- - Quality: Keep each custom agent narrow, opinionated, and non-overlapping; prefer read-only sandboxes for explorers and reviewers; keep review contexts isolated from the implementation thread; avoid parallel write conflicts.
20
- - Output: State which agents were reused or created, what each owned, whether they waited in parallel or were staged, and what remained with the main agent.
21
-
22
- ## Overview
23
-
24
- This skill adds a repeatable orchestration layer on top of Codex subagents.
25
-
26
- Use this custom-agent format:
27
-
28
- - personal custom agents live in `~/.codex/agents/`
29
- - project-scoped custom agents live in `.codex/agents/`
30
- - each custom agent is one standalone TOML file
31
- - required fields are `name`, `description`, and `developer_instructions`
32
-
33
- This skill adds these house rules:
34
-
35
- - use short English noun phrases normalized to snake_case for `name`
36
- - use the fixed `developer_instructions` structure from `references/custom-agent-template.toml`
37
- - restrict reusable subagent model choices in this repository to `gpt-5.4` and `gpt-5.3-codex`
38
-
39
- ## Model policy
40
-
41
- Use only these reusable subagent models:
42
-
43
- - `gpt-5.3-codex` for most coding-focused explorers, reviewers, verifiers, and bounded implementers
44
- - `gpt-5.4` for the hardest tasks that need broader judgment, ambiguity handling, or heavier cross-cutting synthesis
45
-
46
- Set `model_reasoning_effort` by task complexity:
47
-
48
- - `low`: straightforward bounded lookups, narrow evidence gathering, or simple mechanical checks
49
- - `medium`: ordinary non-trivial exploration, review, test triage, and isolated edits
50
- - `high`: ambiguous debugging, multi-step review, or higher-risk implementation work
51
- - `xhigh`: only for the hardest investigations or synthesis-heavy subagents where latency is justified
52
-
53
- Prefer `gpt-5.3-codex` first for agentic coding roles. Escalate to `gpt-5.4` when the delegated job is less mechanical and more judgment-heavy.
54
-
55
- ## When To Use
56
-
57
- Use this skill by default unless the task is genuinely trivial or current tool rules disallow delegation, such as:
58
-
59
- - a one-shot factual answer with no decomposition value
60
- - a single obvious command or one-line edit
61
- - a tiny serial fix where spawning another agent would add more coordination than value
62
-
63
- Subagents are most valuable for:
64
-
65
- - codebase exploration and architecture mapping
66
- - evidence gathering and independent review
67
- - live-doc or API verification
68
- - browser reproduction and debugging
69
- - parallel edits across unrelated files or modules
70
-
71
- Keep the main agent in charge when the work is highly continuous, tightly coupled, or depends on a single evolving mental model. In those cases, let subagents provide bounded context, not final ownership, and do not force parallel writers.
72
-
73
- This skill is not satisfied by merely writing that Codex should delegate later. When parallelizable sidecar work exists and delegation is allowed, the default compliant shape is a parallel subagents workflow.
74
-
75
- ## Workflow
76
-
77
- ### 1) Triage the task first
78
-
79
- - Decide whether the task is trivial, serial-but-complex, or parallelizable.
80
- - If the task is non-trivial and delegation is allowed, you must delegate at least one bounded subtask to a subagent.
81
- - If the task has two or more independent read/review/exploration tracks, you must use a parallel subagents workflow rather than a single helper agent or a staged suggestion-only plan.
82
- - Use subagents for most non-trivial tasks, but do not force them into tiny or tightly coupled work.
83
- - Prefer one writer plus supporting read-only agents when ownership would otherwise overlap.
84
- - If tool rules require explicit user intent before delegation, confirm that gate first; once satisfied, launch the chosen subagents and do not stay in suggestion-only mode.
85
-
86
- ### 2) Inspect the current agent catalog
87
-
88
- - Read `~/.codex/agents/*.toml` first.
89
- - Read `.codex/agents/*.toml` next when the current repository has project-scoped agents.
90
- - Build a quick catalog of each agent's:
91
- - `name`
92
- - `description`
93
- - tool or MCP surface
94
- - sandbox mode
95
- - effective responsibility
96
- - Reuse an existing agent when its responsibility already fits the task without stretching into adjacent work.
97
-
98
- ### 3) Decide reuse vs create
99
-
100
- Reuse an existing custom agent when all of the following are true:
101
-
102
- - its `description` matches the delegated job
103
- - its `developer_instructions` already enforce the right boundaries
104
- - its tools, sandbox, and model profile are suitable
105
- - using it will not create role overlap with another active agent
106
-
107
- Create a new custom agent whenever the current task exposes a stable reusable role and:
108
-
109
- - no existing agent owns the job cleanly
110
- - the responsibility can be described independently from the current one-off prompt
111
- - the role can be named, bounded, and reused on future tasks even if this is its first appearance
112
-
113
- Do not require repeated historical use before creating a reusable custom agent. Treat "reusable" as a property of role clarity and stable boundaries, not as proof that the exact same task has already repeated many times.
114
-
115
- When a delegated job is task-specific in content but role-stable in shape, abstract it to the most general reusable agent that still preserves clear ownership boundaries.
116
-
117
- Prefer extracting a general role such as `code_reviewer` or `docs_researcher` before creating a narrowly phrased task agent such as `review_rust_pr_123`.
118
-
119
- If domain knowledge materially changes the workflow, create a specialized reusable agent such as `rust_reviewer`; otherwise keep the agent generic and reusable across languages or repositories.
120
-
121
- Do not create near-duplicates. Tighten or extend an existing agent when the gap is small and the responsibility remains coherent.
122
-
123
- ### 4) Create the custom agent in the official format when needed
124
-
125
- - Persist reusable personal agents to `~/.codex/agents/<name>.toml`.
126
- - Use the file template in `references/custom-agent-template.toml`.
127
- - Match the filename to the `name` field unless there is a strong reason not to.
128
- - Keep `description` human-facing and routing-oriented: it should explain when Codex should use the agent.
129
- - Keep `developer_instructions` stable and role-specific; do not leak current task noise into reusable instructions.
130
- - Persist a custom agent as soon as its responsibility, inputs, workflow, and boundaries can be described independently from the current task details; do not wait for multiple repeats before persisting it.
131
- - Set `model` to either `gpt-5.3-codex` or `gpt-5.4`.
132
- - Set `model_reasoning_effort` from actual task complexity, not from agent prestige or habit.
133
-
134
- Naming rule for this skill:
135
-
136
- - choose a short English noun phrase
137
- - normalize it to snake_case
138
- - examples: `code_mapper`, `code_reviewer`, `docs_researcher`, `rust_reviewer`, `browser_debugger`
139
-
140
- ### 5) Use the fixed instruction format
141
-
142
- Every reusable custom agent created by this skill must keep the same section order inside `developer_instructions`:
143
-
144
- 1. `# Role`
145
- 2. `## Use when`
146
- 3. `## Do not use when`
147
- 4. `## Inputs`
148
- 5. `## Workflow`
149
- 6. `## Output`
150
- 7. `## Boundaries`
151
-
152
- The `Use when` and `Do not use when` lists are the applicability contract. Keep them concrete.
153
-
154
- ### 5.5) Use a fixed runtime handoff format
155
-
156
- Whenever you prompt a subagent, include:
157
-
158
- - the exact job split
159
- - whether Codex should wait for all agents before continuing
160
- - the expected summary or output format
161
- - the file or module ownership boundary
162
- - the stop condition if the agent hits uncertainty or overlap
163
- - the instruction to stay within current tool-rule limits for delegation, sandbox, and write scope
164
-
165
- ### 6) Decompose ownership before spawning
166
-
167
- Give each subagent one exclusive job. Good ownership boundaries include:
168
-
169
- - `code_mapper`: map files, entry points, and dependencies
170
- - `docs_researcher`: verify external docs or APIs
171
- - `security_reviewer`: look for concrete exploit or hardening risks
172
- - `test_reviewer`: find missing coverage and brittle assumptions
173
- - `browser_debugger`: reproduce UI behavior and capture evidence
174
- - `ui_fixer` or `api_fixer`: implement a bounded change after the problem is understood
175
-
176
- Avoid combining exploration, review, and editing into one reusable agent when those responsibilities can stay separate.
177
-
178
- ### 7) Orchestrate the run
179
-
180
- - Use actual subagent tool calls when delegation is allowed; do not stop at writing that Codex should spawn agents later.
181
- - State exactly how to split the work before each launch.
182
- - Say whether to wait for all agents before continuing or to stage them in sequence.
183
- - Ask for concise returned summaries, not raw logs.
184
- - Treat single-subagent delegation as the exception path, not the default orchestration pattern.
185
-
186
- Preferred patterns:
187
-
188
- - Parallel read-only agents for exploration, review, tests, logs, or docs.
189
- - Explorer first, implementer second, reviewer third when the work is serial but benefits from bounded context.
190
- - Multiple write-capable agents only when their modules and edited files do not overlap.
191
-
192
- Practical default:
193
-
194
- - spawn 2-4 agents for a complex task
195
- - spawn at least 2 agents when the task clearly contains parallelizable investigation or review tracks
196
- - keep within the current `agents.max_threads`
197
- - keep nesting shallow; many Codex setups leave `agents.max_depth` at 1 unless configured otherwise
198
-
199
- ### 8) Keep the main agent responsible for continuity
200
-
201
- The main agent must:
202
-
203
- - own the todo list and the overall plan
204
- - decide task boundaries
205
- - merge results from parallel threads
206
- - resolve conflicting findings or overlapping edits
207
- - perform final validation and final user-facing synthesis
208
-
209
- If the task turns into one tightly coupled stream of work, stop delegating new edits and bring execution back to the main agent.
210
-
211
- ### 9) Maintain the agent catalog after the task
212
-
213
- - Persist any new reusable custom agent to `~/.codex/agents/`.
214
- - If the current task revealed a cleaner reusable abstraction than the one you first considered, persist the more general role unless domain-specific workflow differences are materially important.
215
- - If a newly created agent proved too broad, narrow its description and instructions before finishing.
216
- - If two agents overlap heavily, keep one and tighten the other instead of letting both drift.
217
- - Do not persist throwaway agents that are really just one-off prompts.
218
-
219
- ## References
220
-
221
- Load only when needed:
222
-
223
- - `references/custom-agent-template.toml`
224
- - `references/routing-rubric.md`
@@ -1,6 +0,0 @@
1
- interface:
2
- display_name: "Codex Subagent Orchestration"
3
- short_description: "Reuse or create focused Codex custom agents for most non-trivial tasks"
4
- default_prompt: "Use $codex-subagent-orchestration for almost every non-trivial task: explicitly instruct Codex to spawn the needed subagents, inspect existing custom agents under `~/.codex/agents` and `.codex/agents`, reuse a focused agent when one already fits, otherwise create a new reusable custom agent in TOML format with a narrow role, noun-phrase snake_case name, explicit task applicability lists, and fixed developer-instructions sections, then coordinate those spawned subagents for exploration, review, verification, or unrelated module edits while keeping tightly coupled serial work and final synthesis in the main agent. Persist any new reusable agents to `~/.codex/agents`."
5
- policy:
6
- allow_implicit_invocation: true
@@ -1,40 +0,0 @@
1
- name = "code_mapper"
2
- description = "Read-only codebase explorer for locating the relevant files, entry points, and dependency paths before implementation starts."
3
- model = "gpt-5.3-codex"
4
- model_reasoning_effort = "medium"
5
- sandbox_mode = "read-only"
6
- developer_instructions = """
7
- # Role
8
- You are Code Mapper, a focused exploration subagent.
9
-
10
- ## Use when
11
- - The parent agent needs architecture mapping before editing.
12
- - The task requires identifying entry points, ownership, or dependency flow.
13
- - A writer or reviewer needs a bounded evidence packet first.
14
-
15
- ## Do not use when
16
- - The task is a tiny obvious fix.
17
- - The task requires owning the final implementation.
18
- - The work is mostly external-doc research or browser reproduction.
19
-
20
- ## Inputs
21
- - The parent task summary.
22
- - The repository or file scope to inspect.
23
- - Any known symptoms, failing behavior, or suspected areas.
24
-
25
- ## Workflow
26
- 1. Stay in exploration mode.
27
- 2. Trace the real execution path.
28
- 3. Prefer fast search and targeted file reads over broad scans.
29
- 4. Record only the files, symbols, and flows that matter to the delegated question.
30
-
31
- ## Output
32
- - Relevant files and symbols.
33
- - The most likely execution path.
34
- - Key risks, unknowns, and follow-up questions for the parent agent.
35
-
36
- ## Boundaries
37
- - Do not edit code.
38
- - Do not drift into solution design unless the parent explicitly asks.
39
- - Keep the response concise and evidence-based.
40
- """
@@ -1,100 +0,0 @@
1
- # Routing Rubric
2
-
3
- Use this rubric before spawning or creating a custom agent.
4
-
5
- ## 1. Delegate by default for non-trivial work
6
-
7
- Subagents are usually worth it when the task benefits from:
8
-
9
- - parallel read-heavy exploration
10
- - independent review or verification
11
- - bounded evidence gathering
12
- - unrelated module edits that can proceed without conflicts
13
-
14
- Keep the task in the main agent when it is:
15
-
16
- - tiny and obvious
17
- - one continuous chain of reasoning with no clean split
18
- - likely to create overlapping edits across the same files
19
- - blocked by an environment rule that disallows live delegation
20
-
21
- ## 2. Reuse before creating
22
-
23
- Reuse an existing custom agent when:
24
-
25
- - the `description` matches the delegated job
26
- - the `developer_instructions` already define the correct boundaries
27
- - the tool surface and sandbox mode are appropriate
28
-
29
- Create a new one only when the job is both reusable and clearly distinct.
30
-
31
- ## 3. Keep roles independent
32
-
33
- Good reusable roles:
34
-
35
- - `code_mapper`
36
- - `docs_researcher`
37
- - `security_reviewer`
38
- - `test_reviewer`
39
- - `browser_debugger`
40
- - `ui_fixer`
41
- - `api_fixer`
42
-
43
- Bad reusable roles:
44
-
45
- - agents that both explore and fix
46
- - agents that both review and implement
47
- - agents whose name depends on one temporary bug ticket
48
-
49
- ## 4. Prefer read-only support agents
50
-
51
- Default to read-only for:
52
-
53
- - exploration
54
- - review
55
- - docs verification
56
- - browser reproduction without app edits
57
-
58
- Use write-capable agents only when they own a bounded implementation scope.
59
-
60
- ## 5. Control parallel writes
61
-
62
- Parallel writes are acceptable only when:
63
-
64
- - file ownership does not overlap
65
- - module boundaries are clear
66
- - the main agent can merge results cheaply
67
-
68
- Otherwise use one writer and several read-only helpers.
69
-
70
- ## 6. Use a fixed handoff prompt
71
-
72
- Every subagent handoff should include:
73
-
74
- - `Objective`
75
- - `Inputs and scope`
76
- - `File or module ownership`
77
- - `Constraints and stop conditions`
78
- - `Expected output shape`
79
- - `Blocking or non-blocking status`
80
-
81
- Use direct spawning language, for example: "spawn 2 subagents", "spawn a code-mapping subagent and a review subagent", or "do not spawn subagents because this task is trivial".
82
-
83
- ## 7. Pick model and reasoning by complexity
84
-
85
- Allowed reusable subagent models for this skill:
86
-
87
- - `gpt-5.3-codex`
88
- - `gpt-5.4`
89
-
90
- Default selection:
91
-
92
- - use `gpt-5.3-codex` for most code-centered delegated work
93
- - use `gpt-5.4` when the delegated task needs broader synthesis, harder judgment, or more cross-domain reasoning
94
-
95
- Reasoning effort guide:
96
-
97
- - `low` for simple, bounded, low-risk delegated tasks
98
- - `medium` for standard non-trivial delegated tasks
99
- - `high` for complex or ambiguous delegated tasks
100
- - `xhigh` only when the extra latency is justified by especially difficult synthesis or investigation
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: "specs-to-project-docs"
3
- short_description: "Convert project specs into standardized categorized project docs"
4
- default_prompt: "Use $specs-to-project-docs to inventory the project's spec.md/tasks.md/checklist.md files, reconcile them with the current repository, rewrite existing project docs into a standardized categorized structure when needed, generate or update a concise README plus split project docs for getting started, configuration, architecture, features, and developer guidance, maintain a docs/README.md reference list, then remove or archive superseded source specs after successful conversion."