@laitszkin/apollo-toolkit 2.14.12 → 2.14.14
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
CHANGED
|
@@ -34,6 +34,7 @@ This repository enables users to install and run a curated set of reusable agent
|
|
|
34
34
|
- Users can run a shared submission-readiness pass that synchronizes changelog, project docs, `AGENTS.md`, and completed plan archives before commit, push, PR creation, or release.
|
|
35
35
|
- Users can learn new or improved skills from recent Codex conversation history.
|
|
36
36
|
- Users can audit and maintain the skill catalog itself, including dependency classification and shared-skill extraction decisions.
|
|
37
|
+
- Users can implement approved spec planning sets directly in the current checkout and commit them to the active branch.
|
|
37
38
|
- Users can summarize mistakes into separate multiple-choice and long-answer error books backed by structured reference files and rendered PDFs.
|
|
38
39
|
- Users can build or review marginfi protocol integrations using official SDK, CLI, protocol, and The Arena documentation.
|
|
39
40
|
- Users can create or maintain `AGENTS.md` so project constraints stay aligned with the repository.
|
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.14.14] - 2026-04-11
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Tighten `commit-and-push` so it must distinguish staged versus unstaged work before choosing commit scope, preserve intentionally separated commit boundaries, and only broaden scope after an explicit user request.
|
|
11
|
+
- Update `learn-skill-from-conversations` so repeated follow-ups that correct commit scope or local-versus-remote submission boundaries are treated as evidence to harden the owning submit workflow.
|
|
12
|
+
|
|
13
|
+
## [v2.14.13] - 2026-04-10
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- Add `implement-specs` for executing approved spec sets directly in the current checkout without creating a branch or git worktree.
|
|
17
|
+
|
|
7
18
|
## [v2.14.12] - 2026-04-10
|
|
8
19
|
|
|
9
20
|
### Changed
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ description: Learn and evolve the local skill library from recent Codex conversa
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
17
|
- Evidence: Extract recent Codex session history first and derive reusable lessons only from actual conversation patterns.
|
|
18
|
-
- Execution: Inventory the current working directory's existing skills before editing, prioritize repeated requests, user corrections, tool failures, logic bugs, architecture mismatches, documentation drift, and post-completion follow-up asks that reveal missing closure, then prefer a focused update to the strongest related skill or create a new skill only when the overlap is weak; when a Codex automation prompt includes an explicit `Automation memory:` path, treat that path as the authoritative run-memory location instead of assuming `$CODEX_HOME` is available in the shell.
|
|
18
|
+
- Execution: Inventory the current working directory's existing skills before editing, prioritize repeated requests, user corrections, tool failures, logic bugs, architecture mismatches, documentation drift, and post-completion follow-up asks that reveal missing closure, then prefer a focused update to the strongest related skill or create a new skill only when the overlap is weak; treat repeated scope-correction follow-ups around staged versus unstaged work, local-commit versus push boundaries, and similar submission-scope misunderstandings as signals to tighten the owning submit workflow instead of inventing a parallel skill; when a Codex automation prompt includes an explicit `Automation memory:` path, treat that path as the authoritative run-memory location instead of assuming `$CODEX_HOME` is available in the shell.
|
|
19
19
|
- Quality: Take no action when there are no recent sessions, avoid unrelated broad refactors, keep shared skills cross-project reusable, route project-specific tooling patterns into the relevant project's `~/.codex/skills/`, and validate every changed skill.
|
|
20
20
|
- Output: Report the analyzed sessions, extracted lessons, created or updated skills, shared-vs-project-specific placement decisions, and the reasoning behind each decision.
|
|
21
21
|
|
|
@@ -53,6 +53,7 @@ python3 ~/.codex/skills/learn-skill-from-conversations/scripts/extract_recent_co
|
|
|
53
53
|
- Treat tool-call failures, broken code paths, logic mistakes, weak architecture choices, and outputs that drifted from official documentation as valuable evidence when they expose a reusable missing guardrail or workflow.
|
|
54
54
|
- Treat a user follow-up that asks for cleanup or an omitted finalization step immediately after the assistant reported completion as evidence that the workflow's done criteria were incomplete.
|
|
55
55
|
- When that kind of follow-up recurs, tighten the owning skill's completion checklist before considering any new-skill extraction.
|
|
56
|
+
- Treat a user follow-up that changes commit scope after the assistant already inferred a narrower or broader submission boundary as evidence that the relevant submit workflow needs clearer staged-versus-unstaged and local-versus-remote boundary rules.
|
|
56
57
|
- Even when a user request was highly specific, check whether the underlying workflow can be generalized into a reusable skill for the same class of tasks.
|
|
57
58
|
- When multiple existing skills use a near-identical workflow fragment, consider extracting that fragment into a dedicated shared skill instead of leaving the duplication in place.
|
|
58
59
|
- When an external skill is repeatedly used with the same user-specific customization layer, prefer wrapping it in a new local skill that encodes those standing conventions.
|
package/commit-and-push/SKILL.md
CHANGED
|
@@ -14,10 +14,10 @@ description: "Guide the agent to submit local changes with commit and push only
|
|
|
14
14
|
|
|
15
15
|
## Standards
|
|
16
16
|
|
|
17
|
-
- Evidence: Inspect git state and classify the change set before deciding which quality gates apply, then compare the actual pending diff against root `CHANGELOG.md` `Unreleased` before committing.
|
|
18
|
-
- Execution: Run the required quality-gate skills when applicable, and treat every conditional gate whose scenario is met as blocking before submission; hand the repository to `submission-readiness-check` for readiness classification, invoke `archive-specs` directly whenever completed plan sets should be converted or project docs need alignment, preserve staging intent, honor any explicit user-specified target branch, and when the worktree is already clean inspect local `HEAD`, upstream state, and the most recent relevant commit before deciding the request is a no-op; when worktree-based delivery is involved, verify where the authoritative target branch lives before moving history, re-validate on that target branch after replay or merge, and remove the temporary worktree only after the target branch is safely updated; then commit and push without release steps; run dependent git mutations sequentially and verify the remote branch actually contains the new local `HEAD` before reporting success.
|
|
19
|
-
- Quality: Re-run relevant validation for runtime changes, preserve unrelated local work safely when branch switching or post-push local sync is required,
|
|
20
|
-
- Output: Produce a concise Conventional Commit, push it to the intended branch, and report any temporary stash/restore or local branch sync that was required.
|
|
17
|
+
- Evidence: Inspect git state and classify the change set before deciding which quality gates apply, then compare the actual pending diff against root `CHANGELOG.md` `Unreleased` before committing, while also distinguishing the staged surface from additional unstaged work before deciding commit scope.
|
|
18
|
+
- Execution: Run the required quality-gate skills when applicable, and treat every conditional gate whose scenario is met as blocking before submission; hand the repository to `submission-readiness-check` for readiness classification, invoke `archive-specs` directly whenever completed plan sets should be converted or project docs need alignment, preserve staging intent, honor any explicit user-specified target branch, and when the worktree is already clean inspect local `HEAD`, upstream state, and the most recent relevant commit before deciding the request is a no-op; when worktree-based delivery is involved, verify where the authoritative target branch lives before moving history, re-validate on that target branch after replay or merge, and remove the temporary worktree only after the target branch is safely updated; when the user asks for multiple commits or a narrower staged subset, keep those commit boundaries explicit instead of broadening scope implicitly; then commit and push without release steps; run dependent git mutations sequentially and verify the remote branch actually contains the new local `HEAD` before reporting success.
|
|
19
|
+
- Quality: Re-run relevant validation for runtime changes, preserve unrelated local work safely when branch switching or post-push local sync is required, do not bypass blocking readiness findings such as missing/stale `Unreleased` bullets or unsynchronized project docs, and never collapse intentionally separated commit scopes just because related unstaged changes are present.
|
|
20
|
+
- Output: Produce a concise Conventional Commit, push it to the intended branch, and report any temporary stash/restore, commit-scope separation, or local branch sync that was required.
|
|
21
21
|
|
|
22
22
|
## Overview
|
|
23
23
|
|
|
@@ -35,6 +35,7 @@ Load only when needed:
|
|
|
35
35
|
1. Inspect current state
|
|
36
36
|
- Run `git status -sb`, `git diff --stat`, and `git diff --cached --stat`.
|
|
37
37
|
- Check staged files with `git diff --cached --name-only`.
|
|
38
|
+
- Compare the staged and unstaged surfaces explicitly so you can tell whether the user already prepared a narrower commit than the full worktree diff.
|
|
38
39
|
- Inventory repository planning artifacts and project docs, not only staged files, to detect repo specs and non-standard documentation layouts.
|
|
39
40
|
- If the worktree is already clean, inspect `git log -1 --stat`, local `HEAD`, and the configured upstream state before concluding there is nothing to submit; use that evidence to determine whether the requested work was already committed and pushed, committed but not pushed, or never landed.
|
|
40
41
|
2. Classify changes
|
|
@@ -68,6 +69,8 @@ Load only when needed:
|
|
|
68
69
|
- When readiness indicates doc conversion or project-doc drift, run `archive-specs` before the final commit instead of duplicating documentation alignment work locally.
|
|
69
70
|
6. Commit
|
|
70
71
|
- Preserve user staging intent where possible.
|
|
72
|
+
- If the user explicitly asks for separate commits, or the staged set is already a deliberate subset of the worktree, keep those scopes separated and do not auto-stage the remaining diff unless the user expands the requested scope.
|
|
73
|
+
- If the user later broadens the requested scope, restate the new grouping, verify it against the actual staged/unstaged surfaces, and only then create the additional commit(s).
|
|
71
74
|
- Write a concise Conventional Commit message using `references/commit-messages.md`.
|
|
72
75
|
7. Push
|
|
73
76
|
- Push commit(s) to the intended branch.
|
|
@@ -86,6 +89,7 @@ Load only when needed:
|
|
|
86
89
|
- Never claim the repository is ready to commit while root `CHANGELOG.md` `Unreleased` is missing the current change or still describes superseded work.
|
|
87
90
|
- Never fabricate a commit/push result when the worktree is already clean; either identify the exact existing commit/upstream state that satisfies the user's request or say that no matching new submission exists.
|
|
88
91
|
- Never delete a temporary worktree before the target branch has been updated, tested, and verified to contain the intended final content.
|
|
92
|
+
- Never auto-stage or auto-merge unrelated unstaged changes into a commit when the user or current index state already defines narrower commit boundaries.
|
|
89
93
|
- If release/version/tag work is requested, use `version-release` instead.
|
|
90
94
|
- If a new branch is required, follow `references/branch-naming.md`.
|
|
91
95
|
- A pushed implementation can still leave an active spec set behind; commit completion and spec archival are separate decisions.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implement-specs
|
|
3
|
+
description: >-
|
|
4
|
+
Read a specs planning set (spec.md, tasks.md, checklist.md, contract.md, design.md)
|
|
5
|
+
from `docs/plans/{YYYY-MM-DD}/{change_name}/` or `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/`
|
|
6
|
+
plus parent `coordination.md` when present, and implement the approved tasks
|
|
7
|
+
directly in the current checkout. Use when the user asks to implement from an
|
|
8
|
+
existing spec set, execute a spec plan, or complete approved planning work
|
|
9
|
+
without creating a new branch or isolated git worktree. Commit the completed
|
|
10
|
+
implementation to the current branch when done.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Implement Specs
|
|
14
|
+
|
|
15
|
+
## Dependencies
|
|
16
|
+
|
|
17
|
+
- Required: `enhance-existing-features` and `develop-new-features` for implementation standards.
|
|
18
|
+
- Conditional: `generate-spec` if spec files need clarification or updates; `recover-missing-plan` if the requested plan path is missing from the current checkout.
|
|
19
|
+
- Optional: none.
|
|
20
|
+
- Fallback: If `enhance-existing-features` or `develop-new-features` is unavailable, stop and report the missing dependency.
|
|
21
|
+
|
|
22
|
+
## Standards
|
|
23
|
+
|
|
24
|
+
- Evidence: Read and understand the complete specs set before starting implementation, and when the requested plan path is missing verify where the authoritative copy actually lives before substituting any nearby spec.
|
|
25
|
+
- Execution: Work directly in the current checkout, do not create or switch branches, do not add git worktrees, follow the implementation standards from the dependent skills, and commit to the current branch when done.
|
|
26
|
+
- Quality: Complete all planned tasks, run relevant tests, backfill the spec documents with actual completion status, and avoid dragging unrelated sibling specs into scope just because they share a batch directory.
|
|
27
|
+
- Output: Leave the current branch with a focused implementation commit containing only the intended changes.
|
|
28
|
+
|
|
29
|
+
## Goal
|
|
30
|
+
|
|
31
|
+
Implement approved spec planning sets directly in the current checkout when the user wants the work to land on the active branch instead of an isolated implementation branch.
|
|
32
|
+
|
|
33
|
+
## Workflow
|
|
34
|
+
|
|
35
|
+
### 1) Identify and read the specs set
|
|
36
|
+
|
|
37
|
+
- Locate the specs directory. The path format is `docs/plans/{YYYY-MM-DD}/{change_name}/` for single-spec work, or `docs/plans/{YYYY-MM-DD}/{batch_name}/{change_name}/` for coordinated multi-spec work.
|
|
38
|
+
- If the user provides a specific path, use that directly.
|
|
39
|
+
- If only a `change_name` or date is given, search for matching directories under `docs/plans/`.
|
|
40
|
+
- If the requested path is absent from the current checkout, stop and identify the authoritative source before implementing:
|
|
41
|
+
- inspect the repository history and relevant local branches for that exact `docs/plans/...` path
|
|
42
|
+
- use `recover-missing-plan` when the plan must be restored or reconstructed before work can continue
|
|
43
|
+
- prefer the exact matching plan directory from the authoritative branch or main working tree over archived, approximate, or sibling plan directories
|
|
44
|
+
- if the plan lives under a batch directory, recover only the requested spec directory plus the shared `coordination.md` that governs it
|
|
45
|
+
- do not copy neighboring sibling spec directories into scope unless the user explicitly expands scope
|
|
46
|
+
- When the plan sits under a batch directory, also read the sibling `coordination.md` before implementation.
|
|
47
|
+
- Read all five spec files:
|
|
48
|
+
- `spec.md` — requirements and BDD behaviors
|
|
49
|
+
- `tasks.md` — task breakdown
|
|
50
|
+
- `checklist.md` — behavior-to-test alignment and completion tracking
|
|
51
|
+
- `contract.md` — API/interface contracts
|
|
52
|
+
- `design.md` — design decisions and architecture notes
|
|
53
|
+
- If `coordination.md` exists in the parent batch directory, read it as the shared source of truth for ownership boundaries, shared preparation, replacement direction, merge order, and cross-spec integration checkpoints.
|
|
54
|
+
- Understand the scope, requirements, and planned tasks before proceeding.
|
|
55
|
+
|
|
56
|
+
### 2) Check current branch state
|
|
57
|
+
|
|
58
|
+
- Run `git status -sb` and identify the current branch.
|
|
59
|
+
- Preserve unrelated user changes. If the checkout contains unrelated dirty files, avoid editing them and report any blockers before proceeding.
|
|
60
|
+
- Confirm that the current branch is the intended destination for the implementation. Do not create, rename, or switch branches unless the user explicitly changes scope.
|
|
61
|
+
- If the exact requested plan was recovered into the current checkout, re-read the recovered files before coding so implementation and backfill use the same plan snapshot.
|
|
62
|
+
|
|
63
|
+
### 3) Implement the planned tasks
|
|
64
|
+
|
|
65
|
+
- Explore the existing codebase relevant to the planned tasks.
|
|
66
|
+
- Verify latest authoritative docs for involved stacks/integrations.
|
|
67
|
+
- When `coordination.md` exists, respect its shared-field preparation, legacy-replacement direction, and allowed touch-point boundaries before editing.
|
|
68
|
+
- Implement each task in `tasks.md` systematically.
|
|
69
|
+
- When `coordination.md` defines file ownership guardrails, additive-only shared-contract rules, or compatibility-shim retention requirements, treat them as blocking execution constraints rather than optional guidance.
|
|
70
|
+
- For each implemented change, add appropriate tests:
|
|
71
|
+
- Unit tests for changed logic
|
|
72
|
+
- Regression tests for bug-prone behavior
|
|
73
|
+
- Property-based tests for business logic changes
|
|
74
|
+
- Integration tests for cross-module chains
|
|
75
|
+
- E2E tests for key user-visible paths
|
|
76
|
+
- Adversarial tests for abuse paths
|
|
77
|
+
- Run relevant tests and fix failures.
|
|
78
|
+
- Do not skip testing even for seemingly small changes.
|
|
79
|
+
|
|
80
|
+
### 4) Backfill completion status
|
|
81
|
+
|
|
82
|
+
After implementation and testing:
|
|
83
|
+
|
|
84
|
+
- Update `spec.md` with actual completion state for each requirement.
|
|
85
|
+
- Mark completed tasks in `tasks.md`.
|
|
86
|
+
- Update `checklist.md` with test execution results, N/A reasons, and any scope adjustments.
|
|
87
|
+
- If the shared implementation direction changed, update the parent `coordination.md` as well before finishing.
|
|
88
|
+
- Do not mark unused template examples or non-applicable items as complete.
|
|
89
|
+
|
|
90
|
+
### 5) Commit changes
|
|
91
|
+
|
|
92
|
+
- Stage the implementation files:
|
|
93
|
+
```bash
|
|
94
|
+
git add <implementation-files> <test-files> <updated-specs>
|
|
95
|
+
```
|
|
96
|
+
- Write a concise Conventional Commit message describing the implemented scope.
|
|
97
|
+
- Commit to the current branch:
|
|
98
|
+
```bash
|
|
99
|
+
git commit -m "<conventional-commit-message>"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 6) Report completion
|
|
103
|
+
|
|
104
|
+
- Summarize what was implemented.
|
|
105
|
+
- Note the current branch and commit hash.
|
|
106
|
+
- Confirm which tests ran and which planned documents were backfilled.
|
|
107
|
+
|
|
108
|
+
## Working Rules
|
|
109
|
+
|
|
110
|
+
- Always work in the current checkout; never create a branch or git worktree inside this skill unless the user explicitly changes the request.
|
|
111
|
+
- Complete all planned tasks before committing; do not stop with partial work.
|
|
112
|
+
- Treat the specs as the source of truth for scope — do not deviate without user approval.
|
|
113
|
+
- When `coordination.md` exists, treat it as the source of truth for batch-level ownership and cutover direction.
|
|
114
|
+
- Never remove a shared shim, rename a shared field, or rewrite a shared file outside the ownership map unless `coordination.md` explicitly allows that change or the user approves a coordination update first.
|
|
115
|
+
- Follow the testing standards from `enhance-existing-features` and `develop-new-features`.
|
|
116
|
+
- Do not push to remote unless the user explicitly requests it.
|
|
117
|
+
|
|
118
|
+
## References
|
|
119
|
+
|
|
120
|
+
- `enhance-existing-features`: implementation standards for brownfield work
|
|
121
|
+
- `develop-new-features`: implementation standards for new feature work
|
|
122
|
+
- `recover-missing-plan`: recovery workflow for missing or mismatched spec sets
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Implement Specs"
|
|
3
|
+
short_description: "Implement approved specs in the current checkout"
|
|
4
|
+
default_prompt: "Use $implement-specs to read the full plan set under docs/plans, including parent coordination.md when the spec belongs to a parallel batch, implement all approved tasks in the current checkout without creating branches or git worktrees, backfill completion status into the planning docs, and commit the result to the current branch."
|
package/package.json
CHANGED