@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.
- package/AGENTS.md +1 -2
- package/CHANGELOG.md +11 -0
- package/README.md +2 -2
- package/{specs-to-project-docs → archive-specs}/README.md +3 -3
- package/{specs-to-project-docs → archive-specs}/SKILL.md +10 -10
- package/archive-specs/agents/openai.yaml +4 -0
- package/commit-and-push/README.md +3 -3
- package/commit-and-push/SKILL.md +16 -15
- package/commit-and-push/agents/openai.yaml +1 -1
- package/develop-new-features/README.md +2 -2
- package/develop-new-features/SKILL.md +4 -3
- package/develop-new-features/agents/openai.yaml +1 -1
- package/enhance-existing-features/README.md +1 -1
- package/enhance-existing-features/SKILL.md +3 -1
- package/enhance-existing-features/agents/openai.yaml +1 -1
- package/lib/cli.js +2 -1
- package/lib/installer.js +7 -1
- package/package.json +1 -1
- package/version-release/README.md +3 -3
- package/version-release/SKILL.md +16 -15
- package/version-release/agents/openai.yaml +1 -1
- package/codex-subagent-orchestration/LICENSE +0 -21
- package/codex-subagent-orchestration/README.md +0 -39
- package/codex-subagent-orchestration/SKILL.md +0 -224
- package/codex-subagent-orchestration/agents/openai.yaml +0 -6
- package/codex-subagent-orchestration/references/custom-agent-template.toml +0 -40
- package/codex-subagent-orchestration/references/routing-rubric.md +0 -100
- package/specs-to-project-docs/agents/openai.yaml +0 -4
- /package/{specs-to-project-docs → archive-specs}/LICENSE +0 -0
- /package/{specs-to-project-docs → archive-specs}/references/templates/architecture.md +0 -0
- /package/{specs-to-project-docs → archive-specs}/references/templates/configuration.md +0 -0
- /package/{specs-to-project-docs → archive-specs}/references/templates/developer-guide.md +0 -0
- /package/{specs-to-project-docs → archive-specs}/references/templates/docs-index.md +0 -0
- /package/{specs-to-project-docs → archive-specs}/references/templates/features.md +0 -0
- /package/{specs-to-project-docs → archive-specs}/references/templates/getting-started.md +0 -0
- /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
|
|
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
|
|
1
|
+
# archive-specs
|
|
2
2
|
|
|
3
|
-
A documentation skill that
|
|
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
|
-
-
|
|
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
|
|
3
|
-
description:
|
|
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
|
|
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
|
|
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)
|
|
88
|
+
### 7) Archive superseded spec files after successful conversion
|
|
89
89
|
|
|
90
|
-
- After the standardized project docs are complete and verified,
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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`.
|
package/commit-and-push/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
|
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
|
|
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
|
|
19
|
-
- Quality: Re-run relevant validation for runtime changes and keep project docs plus agent constraints synchronized before committing; treat `specs
|
|
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
|
|
43
|
-
- `
|
|
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
|
-
-
|
|
46
|
-
-
|
|
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
|
-
-
|
|
51
|
-
- Let `specs
|
|
52
|
-
- Let the skill normalize any existing project docs to the same structure and
|
|
53
|
-
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
@@ -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
|
|
11
|
-
3. Run `specs
|
|
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
|
|
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`.
|
package/version-release/SKILL.md
CHANGED
|
@@ -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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
55
|
-
- `
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
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
|
-
-
|
|
66
|
-
- Let `specs
|
|
67
|
-
- Let the skill normalize any existing project docs to the same structure and
|
|
68
|
-
-
|
|
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
|
|
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
|
|
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."
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|