@laitszkin/apollo-toolkit 2.4.3 → 2.6.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 (49) hide show
  1. package/AGENTS.md +4 -2
  2. package/CHANGELOG.md +23 -0
  3. package/README.md +5 -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/codex-memory-manager/SKILL.md +2 -0
  8. package/commit-and-push/README.md +3 -3
  9. package/commit-and-push/SKILL.md +16 -15
  10. package/commit-and-push/agents/openai.yaml +1 -1
  11. package/develop-new-features/README.md +2 -2
  12. package/develop-new-features/SKILL.md +4 -3
  13. package/develop-new-features/agents/openai.yaml +1 -1
  14. package/enhance-existing-features/README.md +1 -1
  15. package/enhance-existing-features/SKILL.md +3 -1
  16. package/enhance-existing-features/agents/openai.yaml +1 -1
  17. package/jupiter-development/SKILL.md +89 -0
  18. package/jupiter-development/agents/openai.yaml +4 -0
  19. package/jupiter-development/references/official-docs.md +157 -0
  20. package/learn-skill-from-conversations/SKILL.md +11 -2
  21. package/lib/cli.js +2 -1
  22. package/lib/installer.js +7 -1
  23. package/{codex-subagent-orchestration → marginfi-development}/LICENSE +1 -1
  24. package/marginfi-development/README.md +31 -0
  25. package/marginfi-development/SKILL.md +125 -0
  26. package/marginfi-development/agents/openai.yaml +4 -0
  27. package/marginfi-development/references/official-development-notes.md +191 -0
  28. package/marginfi-development/references/source-index.md +31 -0
  29. package/package.json +1 -1
  30. package/solana-development/SKILL.md +89 -0
  31. package/solana-development/agents/openai.yaml +4 -0
  32. package/solana-development/references/official-solana-rust.md +199 -0
  33. package/version-release/README.md +3 -3
  34. package/version-release/SKILL.md +16 -15
  35. package/version-release/agents/openai.yaml +1 -1
  36. package/codex-subagent-orchestration/README.md +0 -39
  37. package/codex-subagent-orchestration/SKILL.md +0 -224
  38. package/codex-subagent-orchestration/agents/openai.yaml +0 -6
  39. package/codex-subagent-orchestration/references/custom-agent-template.toml +0 -40
  40. package/codex-subagent-orchestration/references/routing-rubric.md +0 -100
  41. package/specs-to-project-docs/agents/openai.yaml +0 -4
  42. /package/{specs-to-project-docs → archive-specs}/LICENSE +0 -0
  43. /package/{specs-to-project-docs → archive-specs}/references/templates/architecture.md +0 -0
  44. /package/{specs-to-project-docs → archive-specs}/references/templates/configuration.md +0 -0
  45. /package/{specs-to-project-docs → archive-specs}/references/templates/developer-guide.md +0 -0
  46. /package/{specs-to-project-docs → archive-specs}/references/templates/docs-index.md +0 -0
  47. /package/{specs-to-project-docs → archive-specs}/references/templates/features.md +0 -0
  48. /package/{specs-to-project-docs → archive-specs}/references/templates/getting-started.md +0 -0
  49. /package/{specs-to-project-docs → archive-specs}/references/templates/readme.md +0 -0
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: solana-development
3
+ description: Build or maintain Solana applications in Rust using official Solana development docs. Use when users ask for native Solana programs, Rust SDK clients, account modeling, instruction design, PDAs, CPIs, local testing, deployment, upgrades, or Solana-specific debugging in Rust codebases.
4
+ ---
5
+
6
+ # Solana Development
7
+
8
+ ## Dependencies
9
+
10
+ - Required: none.
11
+ - Conditional: `systematic-debug` when the task is about failing Solana tests, runtime errors, or observed-vs-expected on-chain behavior.
12
+ - Optional: none.
13
+ - Fallback: If the repository pins Solana crates or CLI behavior that differs from the latest official docs, follow the repository's pinned versions and document the mismatch explicitly.
14
+
15
+ ## Standards
16
+
17
+ - Evidence: Ground commands, crate choices, and account-model decisions in the current repository plus official Solana docs under `solana.com/docs`.
18
+ - Execution: Classify the task as on-chain Rust, off-chain Rust client work, or both before changing code.
19
+ - Quality: Prefer minimal account surfaces, explicit instruction schemas, deterministic PDA seeds, and tests for every state transition or authority check.
20
+ - Output: Deliver Rust-focused changes with touched accounts, instructions, test commands, deployment notes, and any cluster or authority assumptions.
21
+
22
+ ## Goal
23
+
24
+ Implement Solana Rust work in a way that matches the official execution model: accounts and instructions first, then PDAs/CPIs, then testing and deployment safety.
25
+
26
+ ## Required Reference
27
+
28
+ - Read `references/official-solana-rust.md` before making non-trivial Solana changes.
29
+ - Refresh the linked official pages when crate versions, CLI commands, or deployment behavior appear different from the reference snapshot.
30
+
31
+ ## Use This Skill For
32
+
33
+ - Native Solana programs written directly in Rust
34
+ - Rust clients, indexers, or operational tools built with the Solana Rust SDK
35
+ - Account modeling, authority rules, PDA design, and CPI orchestration
36
+ - Local validator workflows, Rust-native tests, build/deploy/upgrade flows
37
+ - Solana-specific debugging such as signer, owner, writable, rent, compute, and instruction-data issues
38
+
39
+ ## Workflow
40
+
41
+ ### 1) Classify the repository shape first
42
+
43
+ - Identify whether the codebase contains on-chain programs, Rust clients, or both.
44
+ - Detect whether the repository uses native Solana Rust or a higher-level framework already. Do not rewrite framework conventions unless the user asks.
45
+ - Locate program IDs, deploy scripts, test harnesses, keypair handling, and cluster configuration before editing.
46
+
47
+ ### 2) Design the instruction and account contract up front
48
+
49
+ - List each instruction, the accounts it needs, which accounts must be signer or writable, and which program owns each account.
50
+ - Record PDA seeds, bump handling, rent expectations, realloc rules, and close authorities before implementing handlers.
51
+ - Reject invalid ownership, signer, and writable assumptions explicitly instead of relying on downstream runtime failures.
52
+
53
+ ### 3) Keep native Rust program structure explicit
54
+
55
+ - Follow the official native Rust flow: `entrypoint` receives the program call, instruction parsing is explicit, and processor logic is separated from account data definitions.
56
+ - Keep serialization and versioning explicit for any state stored inside accounts.
57
+ - Prefer custom program errors over panics so failures remain diagnosable.
58
+
59
+ ### 4) Use PDAs and CPIs deliberately
60
+
61
+ - Use PDAs for program-controlled state or authorities that should not require a private key.
62
+ - Use `invoke` for regular cross-program calls and `invoke_signed` only when the current program must sign as one of its PDAs.
63
+ - Treat signer and writable privileges as inherited, not escalated; verify every CPI account list carefully.
64
+
65
+ ### 5) Choose the correct Rust crates for the job
66
+
67
+ - For on-chain code, center the implementation around `solana-program`.
68
+ - For off-chain Rust clients and tooling, use `solana-sdk` for transaction primitives and `solana-client` for RPC access.
69
+ - When a project mirrors CLI behavior, inspect whether it also depends on `solana-cli-config` or `solana-clap-utils`.
70
+
71
+ ### 6) Validate locally before deploy
72
+
73
+ - Prefer fast Rust-native tests first, then run the repository's validator or end-to-end flow if available.
74
+ - Build with the repository's pinned toolchain when present; otherwise use the current official Solana build/deploy workflow from the reference.
75
+ - Exercise account initialization, authority checks, PDA signing, and failure paths instead of only happy-path success.
76
+
77
+ ### 7) Deploy and upgrade safely
78
+
79
+ - Confirm target cluster, payer, program ID, and upgrade authority before deploy.
80
+ - Call out any action that makes a program immutable or permanently closes program state.
81
+ - When deployment changes operational assumptions, summarize the exact commands and authority implications in the final handoff.
82
+
83
+ ## Final Checklist
84
+
85
+ - Account ownership, signer, writable, and PDA assumptions are explicit
86
+ - Instruction data and state serialization are version-aware where needed
87
+ - Local tests cover success and failure paths for state transitions
88
+ - Deployment or upgrade commands match the target cluster and authority setup
89
+ - Any mismatch between repo-pinned Solana versions and current docs is documented
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Solana Development"
3
+ short_description: "Build Solana Rust programs and clients from official docs"
4
+ default_prompt: "Use $solana-development to inspect the repository, determine whether the task is on-chain Rust, off-chain Rust client work, or both, follow the official Solana model for accounts, instructions, PDAs, CPIs, testing, and deployment, and deliver concise Rust-focused implementation notes grounded in current Solana docs."
@@ -0,0 +1,199 @@
1
+ # Official Solana Rust Development Reference
2
+
3
+ Snapshot date: 2026-03-20 (Asia/Hong_Kong).
4
+
5
+ Use this file when building, reviewing, or debugging Solana work in Rust. It condenses the most important development guidance from the official Solana documentation so the main skill can stay concise.
6
+
7
+ ## Official source map
8
+
9
+ - Core accounts: `https://solana.com/docs/core/accounts`
10
+ - Core instructions: `https://solana.com/docs/core/instructions`
11
+ - Core transactions: `https://solana.com/docs/core/transactions`
12
+ - Core fees: `https://solana.com/docs/core/fees`
13
+ - Program Derived Addresses: `https://solana.com/docs/core/pda`
14
+ - Cross Program Invocation: `https://solana.com/docs/core/cpi`
15
+ - Native Rust programs overview: `https://solana.com/docs/programs/rust`
16
+ - Native Rust program structure: `https://solana.com/docs/programs/rust/program-structure`
17
+ - Program deployment and upgrades: `https://solana.com/docs/programs/deploying`
18
+ - Official Rust SDK overview: `https://solana.com/docs/clients/official/rust`
19
+
20
+ If any page changes structure, search `site:solana.com/docs <topic>` and refresh this reference before locking in version-sensitive commands.
21
+
22
+ ## 1. Core execution model you must preserve
23
+
24
+ - Solana programs operate by receiving instruction data plus an ordered account list. Most implementation mistakes are really account-contract mistakes.
25
+ - Accounts are the durable storage boundary. Before editing logic, identify each account's owner, mutability, signer requirement, lamports behavior, and serialized data layout.
26
+ - Transactions package one or more instructions and execute atomically. Design instruction handlers with atomic state transitions in mind.
27
+ - The official fees model separates:
28
+ - base fee, currently documented as `5000` lamports per signature
29
+ - prioritization fee, computed from compute-unit limit and compute-unit price
30
+ - When performance or cost matters, review compute usage per instruction and avoid unnecessary account writes.
31
+
32
+ ## 2. Native Rust program structure
33
+
34
+ The official native Rust docs and program-structure page emphasize a small, explicit layout:
35
+
36
+ - `entrypoint.rs`: Solana entrypoint and handoff into program logic
37
+ - `instruction.rs`: instruction enum / decoding
38
+ - `processor.rs`: instruction handlers and business logic
39
+ - `state.rs`: account data structs and serialization
40
+ - `error.rs`: custom program errors
41
+
42
+ Keep the logic readable and explicit:
43
+
44
+ - parse instruction data up front
45
+ - validate account shape before mutation
46
+ - separate state serialization from business logic
47
+ - return `ProgramError`-compatible failures instead of panicking
48
+
49
+ The official Rust-program walkthrough currently documents these setup details:
50
+
51
+ - create a library crate
52
+ - add `solana-program` as the primary on-chain dependency
53
+ - set `[lib] crate-type = ["cdylib", "lib"]`
54
+ - build SBF output with the Solana build flow documented on the page
55
+
56
+ As of the 2026-03-20 snapshot, the official examples show `solana-program@2.2.0` in native Rust setup examples. Re-check before pinning new projects because Solana crate versions move.
57
+
58
+ ## 3. Instruction and account design checklist
59
+
60
+ Before writing handlers, lock down:
61
+
62
+ - instruction enum and binary format
63
+ - per-instruction account list order
64
+ - which accounts are signer
65
+ - which accounts are writable
66
+ - which program owns each account
67
+ - PDA seeds and bump strategy
68
+ - account initialization, realloc, close, and rent expectations
69
+
70
+ Useful rule: every handler should be reviewable from a table with columns for account, owner, signer, writable, PDA seeds, and failure conditions.
71
+
72
+ ## 4. Program Derived Addresses (PDAs)
73
+
74
+ Official PDA guidance centers on these ideas:
75
+
76
+ - A PDA is a deterministic address derived from seeds plus a program ID.
77
+ - PDAs are intentionally off the Ed25519 curve, so they have no private key.
78
+ - Programs use PDAs for program-controlled authorities and state accounts.
79
+ - The same seeds plus the same program ID must derive the same PDA every time.
80
+ - The bump seed exists to find a valid off-curve address.
81
+
82
+ The official PDA page also documents practical limits to remember:
83
+
84
+ - up to 16 seeds per derivation
85
+ - each seed can be up to 32 bytes
86
+
87
+ Design advice:
88
+
89
+ - Use stable, domain-specific seeds such as fixed prefixes plus relevant public keys.
90
+ - Keep seed schemes obvious and documented near the instruction that consumes them.
91
+ - Prefer one clear PDA purpose per seed scheme instead of overloading one PDA for unrelated roles.
92
+
93
+ ## 5. Cross Program Invocation (CPI)
94
+
95
+ Official CPI guidance highlights:
96
+
97
+ - Solana programs can invoke instructions in other programs.
98
+ - Use `invoke` when no PDA signature is required.
99
+ - Use `invoke_signed` when the current program must sign on behalf of one of its PDAs.
100
+ - Signer and writable privileges extend from the caller into the callee; CPI does not create new privileges.
101
+
102
+ Practical implications:
103
+
104
+ - Validate the entire downstream account list before the CPI.
105
+ - Never assume a callee can write to an account unless the outer instruction passed it as writable.
106
+ - When debugging CPI failures, inspect signer propagation, writable flags, PDA seed correctness, and program ownership first.
107
+
108
+ The official page notes a practical limit of 16 PDA signers in `invoke_signed`.
109
+
110
+ ## 6. Fees and compute-budget awareness
111
+
112
+ The official fees page is the baseline for performance-sensitive work:
113
+
114
+ - base fee is charged per signature
115
+ - prioritization fee depends on compute-unit limit and compute-unit price
116
+ - transactions can set compute budget explicitly when needed
117
+
118
+ When implementing Rust clients or relayers:
119
+
120
+ - size transaction account lists carefully
121
+ - avoid unnecessary signatures
122
+ - consider compute budget instructions only when the workflow truly needs them
123
+
124
+ When implementing programs:
125
+
126
+ - keep account validation linear and obvious
127
+ - avoid redundant serialization passes
128
+ - separate expensive CPIs from cheap pure-validation paths when possible
129
+
130
+ ## 7. Local testing workflow
131
+
132
+ Official Solana docs currently show a Rust-native local test flow for native programs.
133
+
134
+ From the current documentation snapshot:
135
+
136
+ - official examples show `litesvm@0.6.1` and `solana-sdk@2.2.0` as dev dependencies in the Rust testing walkthrough
137
+ - the docs position LiteSVM as a fast local execution harness for native Rust programs
138
+
139
+ Recommended execution order:
140
+
141
+ 1. unit-test pure helpers and serialization logic
142
+ 2. run Rust-native program tests for instruction/state behavior
143
+ 3. run validator-backed integration flow only when the repository or task needs cluster realism
144
+
145
+ Test the following explicitly:
146
+
147
+ - initialization and duplicate-initialization rejection
148
+ - authority checks
149
+ - signer and writable enforcement
150
+ - PDA derivation and PDA signing flows
151
+ - state transitions, close flows, and realloc paths
152
+ - failure paths for malformed instruction data or wrong account order
153
+
154
+ ## 8. Deployment, upgrades, and irreversible operations
155
+
156
+ The official deployment docs cover the core operational loop:
157
+
158
+ - local development often starts with `solana-test-validator`
159
+ - deploy with `solana program deploy ...`
160
+ - visibility can lag by roughly one slot after deployment
161
+ - a program becomes immutable when its upgrade authority is removed
162
+ - `solana program close` permanently closes the program and the same program ID cannot be reused for redeployment
163
+
164
+ Before any deploy or upgrade:
165
+
166
+ - confirm cluster URL
167
+ - confirm payer keypair
168
+ - confirm intended program ID
169
+ - confirm upgrade authority ownership
170
+ - confirm whether the deploy changes any downstream configuration or address registry
171
+
172
+ For production-facing tasks, always surface immutable or close operations as explicit risk points in the handoff.
173
+
174
+ ## 9. Official Rust SDK crate roles
175
+
176
+ The official Rust SDK overview maps the common crates this way:
177
+
178
+ - `solana-program`: on-chain program primitives
179
+ - `solana-sdk`: transactions, instructions, keypairs, signatures, and shared primitives for Rust clients
180
+ - `solana-client`: RPC access for off-chain Rust applications
181
+ - `solana-cli-config`: reuse CLI config from Rust tools
182
+ - `solana-clap-utils`: CLI-oriented helper utilities
183
+
184
+ Default crate choice:
185
+
186
+ - on-chain program logic: `solana-program`
187
+ - Rust service/tool that talks to RPC: `solana-sdk` + `solana-client`
188
+ - Rust CLI that should mirror Solana CLI config behavior: add `solana-cli-config`
189
+
190
+ ## 10. When to refresh the official docs before coding
191
+
192
+ Refresh the linked pages instead of relying on this snapshot when:
193
+
194
+ - the repository pins newer or older Solana crate versions
195
+ - CLI subcommands or flags differ from this reference
196
+ - the task depends on recently changed runtime features
197
+ - the repository uses Anchor or another framework that wraps native Solana APIs
198
+
199
+ When docs and code disagree, preserve the repository's actual pinned behavior and note the divergence.
@@ -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,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.