@laitszkin/apollo-toolkit 3.6.5 → 3.8.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 (55) hide show
  1. package/AGENTS.md +1 -0
  2. package/CHANGELOG.md +15 -0
  3. package/README.md +1 -0
  4. package/align-project-documents/SKILL.md +0 -7
  5. package/analyse-app-logs/SKILL.md +0 -4
  6. package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
  7. package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
  8. package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
  9. package/answering-questions-with-research/SKILL.md +0 -7
  10. package/archive-specs/SKILL.md +4 -15
  11. package/cjk-pdf/SKILL.md +68 -0
  12. package/codex/learn-skill-from-conversations/SKILL.md +0 -4
  13. package/commit-and-push/SKILL.md +0 -4
  14. package/deep-research-topics/SKILL.md +0 -4
  15. package/discover-edge-cases/SKILL.md +0 -4
  16. package/docs-to-voice/SKILL.md +0 -23
  17. package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
  18. package/enhance-existing-features/SKILL.md +0 -4
  19. package/financial-research/SKILL.md +2 -13
  20. package/generate-spec/SKILL.md +6 -10
  21. package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
  22. package/implement-specs/SKILL.md +8 -56
  23. package/implement-specs-with-worktree/SKILL.md +18 -58
  24. package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
  25. package/merge-changes-from-local-branches/SKILL.md +3 -19
  26. package/merge-conflict-resolver/SKILL.md +46 -0
  27. package/open-github-issue/SKILL.md +2 -43
  28. package/open-github-issue/references/issue-schemas.md +54 -0
  29. package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
  30. package/open-source-pr-workflow/SKILL.md +0 -4
  31. package/openai-text-to-image-storyboard/SKILL.md +0 -12
  32. package/package.json +1 -1
  33. package/read-github-issue/SKILL.md +0 -4
  34. package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
  35. package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
  36. package/record-spending/SKILL.md +0 -4
  37. package/recover-missing-plan/SKILL.md +1 -6
  38. package/resolve-review-comments/SKILL.md +0 -11
  39. package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
  40. package/review-change-set/SKILL.md +0 -4
  41. package/review-codebases/SKILL.md +0 -12
  42. package/scheduled-runtime-health-check/SKILL.md +1 -20
  43. package/scheduled-runtime-health-check/references/output-format.md +20 -0
  44. package/ship-github-issue-fix/SKILL.md +0 -4
  45. package/solve-issues-found-during-review/CHANGELOG.md +9 -0
  46. package/solve-issues-found-during-review/README.md +16 -0
  47. package/solve-issues-found-during-review/SKILL.md +90 -0
  48. package/solve-issues-found-during-review/agents/openai.yaml +4 -0
  49. package/submission-readiness-check/SKILL.md +0 -4
  50. package/systematic-debug/SKILL.md +0 -7
  51. package/test-case-strategy/SKILL.md +0 -7
  52. package/text-to-short-video/SKILL.md +0 -20
  53. package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
  54. package/version-release/SKILL.md +86 -81
  55. package/weekly-financial-event-report/SKILL.md +2 -19
@@ -7,7 +7,7 @@ description: "Guide the agent to prepare and publish a versioned release (versio
7
7
 
8
8
  ## Dependencies
9
9
 
10
- - Required: `submission-readiness-check` before version metadata edits, tagging, or release publication.
10
+ - Required: `commit-and-push`, `submission-readiness-check` before version metadata edits, tagging, or release publication.
11
11
  - Conditional: `archive-specs` when completed plan sets should be converted or repository docs need alignment; `review-change-set` is required for code-affecting releases before metadata edits and the final commit; `discover-edge-cases` and `harden-app-security` are important review gates that remain conditional, but become required whenever the reviewed scope or risk profile warrants them.
12
12
  - Optional: none.
13
13
  - Fallback: If a required release dependency is unavailable, stop and report the missing dependency.
@@ -19,16 +19,6 @@ description: "Guide the agent to prepare and publish a versioned release (versio
19
19
  - Quality: Never guess versions, align user-facing docs with actual code, do not bypass readiness blockers from `submission-readiness-check`, do not reconstruct release notes from `git diff` when curated changelog content already exists, and do not report release success until the commit, tag, and GitHub release all exist for the same version.
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
- ## Overview
23
-
24
- Run a standardized release workflow for versioned delivery:
25
-
26
- - resolve release scope
27
- - align project code and standardized categorized project documentation
28
- - bump version files
29
- - cut the release from `CHANGELOG.md` `Unreleased` and update relevant docs
30
- - commit, tag, push, and publish the GitHub release
31
-
32
22
  ## References
33
23
 
34
24
  Load only when needed:
@@ -41,76 +31,91 @@ Load only when needed:
41
31
 
42
32
  ## Workflow
43
33
 
44
- 1. Inspect current changes
45
- - Run `git status -sb`, `git diff --stat`, and `git diff --cached --stat`.
46
- - Check staged files with `git diff --cached --name-only`.
47
- - Inventory repository planning artifacts and project docs, not only staged files, to detect repo specs and non-standard documentation layouts.
48
- 2. Confirm release intent
49
- - Use this skill only when the user explicitly requests version/tag/release work.
50
- - Treat explicit semver-delivery wording such as `patch update`, `minor update`, `major update`, `patch release`, `bump the version`, or requests to trigger release-published automation as release intent even when the user does not separately say `make a release`.
51
- - If no release intent is present, use `commit-and-push` instead.
52
- 3. Classify changes and run dependencies when required
53
- - `code-affecting`: runtime code, tests, build scripts, CI logic, or behavior-changing config.
54
- - `docs-only`: documentation/content updates only.
55
- - `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.
56
- - `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.
57
- - `project-doc-structure-mismatch`: existing `README.md` and project docs do not match the categorized structure required by `archive-specs`.
58
- - For code-affecting changes, run `review-change-set` for the same release scope before continuing; treat unresolved review findings as blocking.
59
- - Run `discover-edge-cases` and `harden-app-security` for the same release scope when the reviewed risk profile or repository context says their coverage is needed; treat them as blocking review gates, not optional polish, whenever that condition is met.
60
- - Any conditional gate whose trigger is confirmed by this classification becomes mandatory before version bumping, tagging, or release publication, including review, spec archival, docs synchronization, and changelog readiness.
61
- - Consolidate all confirmed findings before continuing.
62
- - Resolve all confirmed findings before changing version files, tags, or release metadata.
63
- 4. Run shared submission readiness
64
- - Execute `$submission-readiness-check` before version file edits, tags, or release publication.
65
- - Let it decide whether completed plan sets should be converted, whether project docs need alignment through `archive-specs`, and whether `CHANGELOG.md` `Unreleased` is ready to be cut into a versioned release entry.
66
- - Do not continue while `submission-readiness-check` reports unresolved blockers.
67
- - When readiness indicates completed-spec conversion or project-doc drift, run `archive-specs` before version edits instead of reproducing documentation alignment inside the release workflow.
68
- 5. Decide version and tag format
69
- - Read existing version files (for example `project.toml`, `package.json`, or repo-specific version files).
70
- - Infer existing tag format (`vX.Y.Z` or `X.Y.Z`) from repository tags.
71
- - Inspect existing local and remote tags plus any existing GitHub Release for the target version before creating new release metadata, so duplicate or conflicting releases are caught early.
72
- - Determine release channel explicitly before publishing: if the user did not say `prerelease`, `draft`, `latest`, or an equivalent repository-specific release state, default to asking or to the repository's already-documented convention instead of inferring from the tag text.
73
- - If the user explicitly asks to keep the same prerelease version or to `repoint`, `retarget`, or `move` an existing prerelease after follow-up fixes, treat that as a retarget flow: keep the version unchanged, confirm the existing prerelease tag/release name, and plan to move that tag/release to the new commit instead of bumping semver.
74
- - If the requested version tag and matching published GitHub release already exist and point at the intended commit, report that the release is already complete instead of creating duplicate metadata.
75
- - If the user provides the target version, use it directly.
76
- - If it is missing, ask the user for the target version or semver bump type.
77
- - Provide recommendations only when explicitly requested.
78
- - Do not continue until you can state the current version, the intended next version, and the exact tag name that will be created.
79
- - For retarget flows, explicitly state that the intended next version stays unchanged and that the existing tag name will be moved to the new commit.
80
- 6. Update version files
81
- - Update every detected version file consistently.
82
- - Preserve file formatting; change only version values.
83
- 7. Update release docs
84
- - Treat root `CHANGELOG.md` `Unreleased` as the canonical pending release content.
85
- - If `Unreleased` is empty, stop and report that there are no curated release notes to publish yet.
86
- - Create the new version entry by moving the current `Unreleased` sections under the selected version heading and release date.
87
- - Reset `Unreleased` to an empty placeholder after the version entry is created.
88
- - Remove duplicate section headers or bullets only when the move would otherwise create repeated content.
89
- - Update `README.md` only when behavior or usage changed.
90
- - Update `AGENTS.md/CLAUDE.md` only when agent workflow/rules changed.
91
- 8. Commit and tag
92
- - Create a release-oriented commit message (for example `chore(release): publish 2.12.1`) when applicable.
93
- - For new-version flows, create the version tag locally after commit.
94
- - For prerelease retarget flows, move the existing tag locally only after the new fix commit exists, and verify the target commit hash before rewriting the tag.
95
- - Re-read the version files after editing and before tagging to confirm they all match the intended release version.
96
- - Use actual git mutations for staging, commit creation, and tag creation; do not substitute UI git directives for these steps.
97
- 9. Push
98
- - Push commit(s) and the release tag to the current branch before publishing the GitHub release when the hosting platform requires the tag to exist remotely.
99
- - For prerelease retarget flows, push the rewritten tag explicitly (for example `--force-with-lease` for the single tag only), then verify the remote tag hash matches local `HEAD` before touching the GitHub release.
100
- - Do not overlap `git commit`, `git tag`, `git push`, or release-publish steps; wait for each mutation to finish before starting the next one.
101
- - After pushing, verify the remote branch tip matches local `HEAD`, and verify the release tag exists remotely via `git ls-remote --tags <remote> <tag>`.
102
- - If any git step finishes ambiguously or the remote hashes do not match local state, rerun the missing step sequentially and re-check before publishing the GitHub release.
103
- 10. Publish the GitHub release
104
- - Create a non-draft GitHub release that matches the pushed version tag.
105
- - Set the GitHub release's prerelease flag only when the user explicitly asked for a prerelease or an already-verified repository convention for this exact release channel requires it.
106
- - For prerelease retarget flows, update the existing GitHub prerelease so it points at the rewritten tag/commit and refresh its notes when the new fix changes the shipped behavior.
107
- - If the release tool rejects a raw commit SHA while updating `target_commitish`, retry with the authoritative branch name or another GitHub-accepted target identifier, then verify the published release now resolves to the rewritten tag.
108
- - Use the release notes from the new `CHANGELOG.md` entry unless the repository has a stronger established release-note source.
109
- - If the repository has publish automation triggered by `release.published`, ensure the GitHub release is actually published rather than left as a draft.
110
- - Prefer `gh release create <tag>` or the repository's existing release tool when available.
111
- - Do not use PR-opening tools, PR directives, or placeholder URLs as a substitute for actual release publication.
112
- - Confirm the GitHub release URL and any triggered publish workflow status in the final report.
113
- - Never stop after the release commit or tag alone; creating the matching GitHub release is part of done criteria unless the user explicitly says to skip release publication.
34
+ ### 1. Inspect Current Changes
35
+
36
+ Use $commit-and-push for the standard git state inspection workflow.
37
+
38
+ ### 2. Confirm Release Intent
39
+
40
+ - Use this skill only when the user explicitly requests version/tag/release work.
41
+ - Treat explicit semver-delivery wording such as `patch update`, `minor update`, `major update`, `patch release`, `bump the version`, or requests to trigger release-published automation as release intent even when the user does not separately say `make a release`.
42
+ - If no release intent is present, use `commit-and-push` instead.
43
+
44
+ ### 3. Classify Changes and Run Dependencies
45
+
46
+ Use $commit-and-push for the standard change classification and code-affecting dependency skills workflow.
47
+
48
+ Release-specific requirements:
49
+ - For code-affecting changes, run `review-change-set` for the same release scope before continuing; treat unresolved review findings as blocking.
50
+ - Run `discover-edge-cases` and `harden-app-security` for the same release scope when the reviewed risk profile or repository context says their coverage is needed; treat them as blocking review gates, not optional polish, whenever that condition is met.
51
+ - Any conditional gate whose trigger is confirmed by this classification becomes mandatory before version bumping, tagging, or release publication, including review, spec archival, docs synchronization, and changelog readiness.
52
+ - Consolidate all confirmed findings before continuing.
53
+ - Resolve all confirmed findings before changing version files, tags, or release metadata.
54
+
55
+ ### 4. Run Shared Submission Readiness
56
+
57
+ Use $commit-and-push for the standard submission readiness workflow.
58
+
59
+ ### 5. Decide Version and Tag Format
60
+
61
+ - Read existing version files (for example `project.toml`, `package.json`, or repo-specific version files).
62
+ - Infer existing tag format (`vX.Y.Z` or `X.Y.Z`) from repository tags.
63
+ - Inspect existing local and remote tags plus any existing GitHub Release for the target version before creating new release metadata, so duplicate or conflicting releases are caught early.
64
+ - Determine release channel explicitly before publishing: if the user did not say `prerelease`, `draft`, `latest`, or an equivalent repository-specific release state, default to asking or to the repository's already-documented convention instead of inferring from the tag text.
65
+ - If the user explicitly asks to keep the same prerelease version or to `repoint`, `retarget`, or `move` an existing prerelease after follow-up fixes, treat that as a retarget flow: keep the version unchanged, confirm the existing prerelease tag/release name, and plan to move that tag/release to the new commit instead of bumping semver.
66
+ - If the requested version tag and matching published GitHub release already exist and point at the intended commit, report that the release is already complete instead of creating duplicate metadata.
67
+ - If the user provides the target version, use it directly.
68
+ - If it is missing, ask the user for the target version or semver bump type.
69
+ - Provide recommendations only when explicitly requested.
70
+ - Do not continue until you can state the current version, the intended next version, and the exact tag name that will be created.
71
+ - For retarget flows, explicitly state that the intended next version stays unchanged and that the existing tag name will be moved to the new commit.
72
+
73
+ ### 6. Update Version Files
74
+
75
+ - Update every detected version file consistently.
76
+ - Preserve file formatting; change only version values.
77
+
78
+ ### 7. Update Release Docs
79
+
80
+ - Treat root `CHANGELOG.md` `Unreleased` as the canonical pending release content.
81
+ - If `Unreleased` is empty, stop and report that there are no curated release notes to publish yet.
82
+ - Create the new version entry by moving the current `Unreleased` sections under the selected version heading and release date.
83
+ - Reset `Unreleased` to an empty placeholder after the version entry is created.
84
+ - Remove duplicate section headers or bullets only when the move would otherwise create repeated content.
85
+ - Update `README.md` only when behavior or usage changed.
86
+ - Update `AGENTS.md/CLAUDE.md` only when agent workflow/rules changed.
87
+
88
+ ### 8. Commit and Tag
89
+
90
+ Use $commit-and-push for the standard commit mechanics workflow.
91
+
92
+ Release-specific commit and tag operations:
93
+ - Create a release-oriented commit message (for example `chore(release): publish 2.12.1`) when applicable.
94
+ - For new-version flows, create the version tag locally after commit.
95
+ - For prerelease retarget flows, move the existing tag locally only after the new fix commit exists, and verify the target commit hash before rewriting the tag.
96
+ - Re-read the version files after editing and before tagging to confirm they all match the intended release version.
97
+
98
+ ### 9. Push
99
+
100
+ Use $commit-and-push for the standard push mechanics workflow.
101
+
102
+ Release-specific push operations:
103
+ - Push commit(s) and the release tag to the current branch before publishing the GitHub release when the hosting platform requires the tag to exist remotely.
104
+ - For prerelease retarget flows, push the rewritten tag explicitly (for example `--force-with-lease` for the single tag only), then verify the remote tag hash matches local `HEAD` before touching the GitHub release.
105
+ - After pushing, verify the release tag exists remotely via `git ls-remote --tags <remote> <tag>`.
106
+
107
+ ### 10. Publish the GitHub Release
108
+
109
+ - Create a non-draft GitHub release that matches the pushed version tag.
110
+ - Set the GitHub release's prerelease flag only when the user explicitly asked for a prerelease or an already-verified repository convention for this exact release channel requires it.
111
+ - For prerelease retarget flows, update the existing GitHub prerelease so it points at the rewritten tag/commit and refresh its notes when the new fix changes the shipped behavior.
112
+ - If the release tool rejects a raw commit SHA while updating `target_commitish`, retry with the authoritative branch name or another GitHub-accepted target identifier, then verify the published release now resolves to the rewritten tag.
113
+ - Use the release notes from the new `CHANGELOG.md` entry unless the repository has a stronger established release-note source.
114
+ - If the repository has publish automation triggered by `release.published`, ensure the GitHub release is actually published rather than left as a draft.
115
+ - Prefer `gh release create <tag>` or the repository's existing release tool when available.
116
+ - Do not use PR-opening tools, PR directives, or placeholder URLs as a substitute for actual release publication.
117
+ - Confirm the GitHub release URL and any triggered publish workflow status in the final report.
118
+ - Never stop after the release commit or tag alone; creating the matching GitHub release is part of done criteria unless the user explicitly says to skip release publication.
114
119
 
115
120
  ## Notes
116
121
 
@@ -7,7 +7,7 @@ description: Read a user-specified PDF that marks the week's key financial event
7
7
 
8
8
  ## Dependencies
9
9
 
10
- - Required: `pdf` to render the final report.
10
+ - Required: `pdf` to render the final report, `cjk-pdf` for CJK font and PDF QA needs.
11
11
  - Conditional: `document-vision-reader` when the source PDF's highlighted markers are visible in layout but not recoverable from machine-readable text alone.
12
12
  - Optional: none.
13
13
  - Fallback: If source-PDF extraction through `pdf` is unavailable or fails on macOS, use the bundled `apltk extract-pdf-text-pdfkit` helper before giving up; only stop when neither `pdf` nor the local PDFKit fallback can recover the marked events, or when final PDF rendering itself cannot be completed.
@@ -19,10 +19,6 @@ description: Read a user-specified PDF that marks the week's key financial event
19
19
  - Quality: Keep the report concise, Chinese-compatible, explicit about source-versus-breaking events, conflicts, uncertainty, PDF font safety, and long-text table legibility.
20
20
  - Output: Save only the final standardized PDF under the month folder using the financial-event-report naming scheme.
21
21
 
22
- ## Overview
23
-
24
- Turn a marked weekly finance PDF into a short, evidence-based report that a user can read in a few minutes. The workflow starts from the user's source PDF, extracts the explicitly marked key events, validates each event with current reporting and primary sources, adds any material breaking financial developments, and delivers the final briefing as a Chinese-compatible PDF.
25
-
26
22
  ## Behavior Contract
27
23
 
28
24
  GIVEN the user provides a PDF that marks weekly key financial events
@@ -147,20 +143,7 @@ apltk extract-pdf-text-pdfkit /absolute/path/to/source.pdf
147
143
  - The final PDF must support Chinese text cleanly.
148
144
  - Pass the font and rendering requirements to the `pdf` skill instead of implementing a separate export path here.
149
145
  - On macOS, require the `pdf` skill to verify the font path before rendering.
150
- - When the PDF workflow allows explicit font selection, ask the `pdf` skill to prefer a locally verified CJK font in this order:
151
- - `/System/Library/Fonts/Hiragino Sans GB.ttc`
152
- - `/System/Library/Fonts/Supplemental/Songti.ttc`
153
- - `/Library/Fonts/Arial Unicode.ttf`
154
- - `/System/Library/Fonts/STHeiti Medium.ttc`
155
- - `/System/Library/Fonts/STHeiti Light.ttc`
156
- - Do not assume `PingFang` is available on every macOS host.
157
- - If the active `pdf` workflow already has a verified Chinese-safe default on the current machine, reuse that verified default instead of overriding it.
158
- - Avoid emoji and uncommon glyphs that often break during rendering.
159
- - When the report includes tables, timelines, or matrix-style summaries with long phrases:
160
- - require wrapped paragraph cells rather than single-line text rendering
161
- - require width-constrained columns and row heights that expand with content
162
- - require padding and font sizes that keep dense Chinese text readable
163
- - prefer a deterministic renderer script when the default markdown-to-PDF path cannot guarantee those layout rules
146
+ Use $cjk-pdf for CJK font selection, content safety, visual QA, and temporary file cleanup. For tables with long phrases, require wrapped paragraph cells and width-constrained columns that expand with content.
164
147
 
165
148
  ### 7) Delegate rendering and PDF QA to the `pdf` skill
166
149