@laitszkin/apollo-toolkit 3.11.7 → 3.12.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 (62) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +0 -2
  3. package/align-project-documents/SKILL.md +20 -69
  4. package/align-project-documents/references/templates/standardized-docs-template.md +1 -1
  5. package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
  6. package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
  7. package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
  8. package/archive-specs/SKILL.md +18 -70
  9. package/commit-and-push/SKILL.md +24 -52
  10. package/develop-new-features/SKILL.md +15 -60
  11. package/discover-edge-cases/SKILL.md +16 -75
  12. package/discover-security-issues/SKILL.md +49 -83
  13. package/docs-to-voice/SKILL.md +3 -30
  14. package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
  15. package/enhance-existing-features/SKILL.md +36 -57
  16. package/generate-spec/SKILL.md +51 -130
  17. package/generate-spec/references/templates/coordination.md +0 -1
  18. package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
  19. package/implement-specs/SKILL.md +27 -62
  20. package/implement-specs-with-subagents/SKILL.md +28 -71
  21. package/implement-specs-with-worktree/SKILL.md +38 -62
  22. package/init-project-html/SKILL.md +27 -137
  23. package/init-project-html/lib/atlas/cli.js +897 -43
  24. package/init-project-html/scripts/architecture.js +4 -25
  25. package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
  26. package/lib/cli.js +166 -20
  27. package/lib/tool-runner.js +418 -2
  28. package/maintain-project-constraints/SKILL.md +24 -78
  29. package/maintain-project-constraints/references/constraint-file-reference.md +58 -0
  30. package/merge-changes-from-local-branches/SKILL.md +36 -99
  31. package/open-github-issue/SKILL.md +7 -98
  32. package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
  33. package/optimise-skill/SKILL.md +7 -6
  34. package/optimise-skill/references/definition.md +38 -0
  35. package/optimise-skill/references/example_skill.md +7 -6
  36. package/package.json +1 -1
  37. package/read-github-issue/SKILL.md +6 -46
  38. package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
  39. package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
  40. package/resolve-review-comments/SKILL.md +4 -26
  41. package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
  42. package/review-change-set/SKILL.md +41 -91
  43. package/review-codebases/SKILL.md +42 -99
  44. package/review-spec-related-changes/SKILL.md +42 -77
  45. package/scripts/validate_openai_agent_config.py +16 -1
  46. package/scripts/validate_skill_frontmatter.py +16 -1
  47. package/solve-issues-found-during-review/SKILL.md +38 -66
  48. package/spec-to-project-html/SKILL.md +27 -88
  49. package/submission-readiness-check/SKILL.md +35 -55
  50. package/systematic-debug/SKILL.md +37 -53
  51. package/test-case-strategy/SKILL.md +38 -85
  52. package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
  53. package/update-project-html/SKILL.md +25 -110
  54. package/version-release/SKILL.md +39 -74
  55. package/weekly-financial-event-report/scripts/extract_pdf_text_pdfkit.swift +32 -4
  56. package/archive-specs/references/templates/architecture.md +0 -21
  57. package/archive-specs/references/templates/docs-index.md +0 -39
  58. package/archive-specs/references/templates/features.md +0 -25
  59. package/archive-specs/references/templates/principles.md +0 -28
  60. package/maintain-skill-catalog/README.md +0 -18
  61. package/maintain-skill-catalog/SKILL.md +0 -72
  62. package/maintain-skill-catalog/agents/openai.yaml +0 -4
@@ -1,93 +1,39 @@
1
1
  ---
2
2
  name: maintain-project-constraints
3
3
  description: >-
4
- Maintain root `AGENTS.md` / `CLAUDE.md` with exactly three mirrored sections (unless the repo documents deliberate divergence): Common Development Commands traced to real scripts/Makefile targets, Project Business Goals capturing macro why/who/outcome, Project Documentation Index enumerating every standardized `docs/features`, `docs/architecture`, `docs/principles` file plus important root docs—purge invented commands, prune deleted paths, forbid stuffing feature lists into Goals.
5
- Invoke after missing files, drift after refactors, or once `align-project-documents` reshapes `docs/`.
6
- Bad: documenting `npm run magic` absent from `package.json`. Good: cite `npm test` with file reference. Bad: ten micro-features listed under Goals instead of the docs index…
4
+ 依據倉庫現況刷新根目錄 `AGENTS.md` / `CLAUDE.md`,只保留
5
+ `Common Development Commands`、`Project Business Goals`、
6
+ `Project Documentation Index` 三個可追溯區塊。
7
7
  ---
8
8
 
9
- # Maintain Project Constraints
9
+ # 維護專案約束文件
10
10
 
11
- ## Dependencies
11
+ ## 技能目標
12
12
 
13
- - Required: none.
14
- - Conditional: none.
15
- - Optional: none.
16
- - Fallback: not applicable.
13
+ 基於當前倉庫證據,產出或刷新根目錄 `AGENTS.md` 與 `CLAUDE.md`,使其準確反映開發命令、專案商業目標與文件索引,且不捏造任何內容。
17
14
 
18
- ## Non-negotiables
15
+ ## 技能驗收條件
19
16
 
20
- - **MUST** derive commands and business purpose from **current** repo artifacts (`package.json`, `Makefile`, `bin/`, `scripts/`, `README`, `docs/features/`, code entrypoints)—**MUST NOT** invent flags, task names, or CLI paths.
21
- - **`AGENTS.md` / `CLAUDE.md` content** is **exactly three sections**—no extra tutorials, architecture essays, or style guides (those belong in `docs/`):
22
- 1. **Common Development Commands**
23
- 2. **Project Business Goals**
24
- 3. **Project Documentation Index**
25
- - **MUST** list **every** file under `docs/features/`, `docs/architecture/`, `docs/principles/` plus notable root docs (`README.md`, `CONTRIBUTING.md`, …) that exist; paths **MUST** exist on disk—**MUST NOT** stale links.
26
- - If **both** `AGENTS.md` and `CLAUDE.md` exist, the three sections **MUST** be **identical** between them unless the repo documents an intentional divergence (otherwise keep parity).
27
- - **Project Business Goals** = macro **why/for whom/outcome**—**MUST NOT** duplicate the feature inventory (index already points there).
17
+ - 最終交付為根目錄 `AGENTS.md` / `CLAUDE.md`,正文只包含以下三個區塊,且順序固定:`Common Development Commands`、`Project Business Goals`、`Project Documentation Index`。
18
+ - `Common Development Commands` 中的每條命令都可追溯到倉庫中的真實入口,例如 `package.json`、`Makefile`、`bin/`、`scripts/` 或其他現存執行點。
19
+ - `Project Business Goals` 只描述專案層級的目的、服務對象與交付結果,不展開為功能清單。
20
+ - `Project Documentation Index` 覆蓋現存的 `docs/features/`、`docs/architecture/`、`docs/principles/` 與重要根目錄文件,且每項索引都對應真實路徑。
21
+ - 過時路徑、虛構命令與多餘區塊已被移除。
22
+ - `AGENTS.md` `CLAUDE.md` 同時存在且未聲明故意分歧,兩者的三個區塊內容保持一致。
28
23
 
29
- ## Standards (summary)
24
+ ## 技能工作流程
30
25
 
31
- - **Evidence**: Scripts and docs on disk drive command list and index—no memory.
32
- - **Execution**: Inventory → draft three sections → verify paths → prune stray sections.
33
- - **Quality**: Scannable; no speculative architecture.
34
- - **Output**: Fresh root constraint files aligned with repo.
26
+ 1. 先從倉庫現況收集可驗證的命令入口、專案目的與現有文件清單,不以舊約束文件作為唯一真相。
27
+ 2. 根據證據生成三個必需區塊,讓命令、商業目標與文件索引都能被直接追溯。
28
+ 3. 按專案慣例更新或補齊 `AGENTS.md` / `CLAUDE.md`,並將正文限制在三個規定區塊內。
29
+ 4. 完成前逐項校驗命令來源、文件路徑與雙文件一致性,清除所有陳舊或多餘內容。
35
30
 
36
- ## Triggers
31
+ ## 技能使用範例
37
32
 
38
- - Missing `AGENTS.md`/`CLAUDE.md`, post-change drift suspected, or after `align-project-documents` reshapes `docs/`.
33
+ - "重建 `docs/` 後,請同步刷新 `AGENTS.md` 和 `CLAUDE.md`。" -> "根據當前腳本、入口與文件樹重寫兩個根目錄約束文件,只保留三個規定區塊並確保索引完整。"
34
+ - "這個專案的 `CLAUDE.md` 已經過時,請補一份對應的 `AGENTS.md`。" -> "依據現有命令與文件結構建立缺失文件,並讓兩份約束文件在預期一致時保持同構。"
35
+ - "請清理根目錄約束文件裡的舊命令與失效路徑。" -> "驗證每條命令與每個索引路徑是否仍然成立,只保留仍可被倉庫證據支持的內容。"
39
36
 
40
- ## Workflow
37
+ ## 技能參考資料索引
41
38
 
42
- **Chain-of-thought:** **`Pause →`** before writing each section—if a command is uncertain, grep config before committing text.
43
-
44
- ### 1) Inventory
45
-
46
- - Parse command surfaces (`package.json` scripts, `Makefile`, CI, CLIs).
47
- - Enumerate `docs/features/`, `docs/architecture/`, `docs/principles/`; note root docs.
48
- - **Pause →** Can I cite the **source line** (script name, target) for every command I plan to list?
49
-
50
- ### 2) Business goals
51
-
52
- - Prefer `README` + `docs/features/` tone; else infer from user-facing entrypoints—still **product-level sentences**, not file lists.
53
-
54
- ### 3) Write / update files
55
-
56
- - Create or overwrite **only** the three sections per file conventions (create missing file among `AGENTS.md`/`CLAUDE.md` per repo habit).
57
- - **Pause →** Did any stray `## Installation` creep in—must delete if not part of repo’s mandated format?
58
-
59
- ### 4) Documentation index
60
-
61
- - One line per file: `path — short purpose`. Mirror reality; drop deleted; add new.
62
-
63
- ### 5) Verification
64
-
65
- - Each command reproducible from declared config; every indexed path exists; both files match if both present; strip extra sections.
66
-
67
- ## Sample hints
68
-
69
- - **Command bad**: “`npm run magic` — deploy” when no script `magic` in `package.json`.
70
- - **Command OK**: `` `npm test` — runs Node test suite (see `package.json`) ``.
71
- - **Goals bad**: Listing ten micro-features → belongs in features index + separate files.
72
- - **Goals OK**: “This repo ships X for Y operators; primary outcome Z.”
73
- - **Index**: If `docs/features/auth.md` deleted, **remove** line same run.
74
-
75
- ## Template sketch
76
-
77
- ```markdown
78
- ## Common Development Commands
79
- - `…` — …
80
-
81
- ## Project Business Goals
82
-
83
-
84
- ## Project Documentation Index
85
- ### Features (`docs/features/`)
86
- - `…` — …
87
- ### Architecture (`docs/architecture/`)
88
- - …
89
- ### Principles (`docs/principles/`)
90
- - …
91
- ### Root Documents
92
- - `README.md` — …
93
- ```
39
+ - `references/constraint-file-reference.md` - 三區塊契約、撰寫規則、核對清單與輸出模板。
@@ -0,0 +1,58 @@
1
+ # 約束文件參考
2
+
3
+ ## 三區塊契約
4
+
5
+ 根目錄 `AGENTS.md` 與 `CLAUDE.md` 的正文只應包含以下三個區塊,且順序固定:
6
+
7
+ 1. `Common Development Commands`
8
+ 2. `Project Business Goals`
9
+ 3. `Project Documentation Index`
10
+
11
+ 若專案未明確說明兩者應有差異,這三個區塊的內容應保持一致。
12
+
13
+ ## 撰寫規則
14
+
15
+ ### `Common Development Commands`
16
+
17
+ - 只收錄能被當前倉庫驗證的命令。
18
+ - 優先從 `package.json`、`Makefile`、`bin/`、`scripts/`、CI 設定或其他真實入口提取。
19
+ - 每條命令附上一句簡短用途說明,避免捏造不存在的工作流。
20
+
21
+ ### `Project Business Goals`
22
+
23
+ - 只描述專案層級的目的、服務對象與最終價值。
24
+ - 保持宏觀,不展開成細碎功能列表。
25
+ - 若存在產品說明文件,僅在能被當前倉庫內容支撐時採納。
26
+
27
+ ### `Project Documentation Index`
28
+
29
+ - 覆蓋現存 `docs/features/`、`docs/architecture/`、`docs/principles/` 下的所有文件。
30
+ - 補充重要且實際存在的根目錄文件,例如 `README.md`、`CONTRIBUTING.md`、`SECURITY.md`。
31
+ - 每個條目都應包含檔案路徑與一句用途說明。
32
+
33
+ ## 核對清單
34
+
35
+ - [ ] 只保留三個規定區塊,且順序正確。
36
+ - [ ] 每條命令都能回溯到真實入口。
37
+ - [ ] 商業目標沒有退化成功能清單。
38
+ - [ ] 文件索引覆蓋所有現存標準化文檔。
39
+ - [ ] 已刪除失效路徑、舊命令與額外區塊。
40
+ - [ ] 若 `AGENTS.md` 與 `CLAUDE.md` 都存在,已確認它們在預期情況下保持一致。
41
+
42
+ ## 輸出模板
43
+
44
+ ```markdown
45
+ # <專案名稱或標題>
46
+
47
+ ## Common Development Commands
48
+
49
+ - `<command>` - <用途說明>
50
+
51
+ ## Project Business Goals
52
+
53
+ - <專案存在的原因、服務對象與交付結果>
54
+
55
+ ## Project Documentation Index
56
+
57
+ - `<path>` - <文件用途說明>
58
+ ```
@@ -1,114 +1,51 @@
1
1
  ---
2
2
  name: merge-changes-from-local-branches
3
3
  description: >-
4
- Read changes from local branches identified by branch name and merge them back into the current local branch. Resolve conflicts by composing correct behavior (prefer the more recent change on the same line or the variant that preserves working behavior), using **`merge-conflict-resolver`** when needed. Verify after merges; remove successfully merged source branches and detached worktrees only after merge + verification succeed. Finalize through **`commit-and-push`** for submission-readiness gates and the **final local commit** on the same branch—**do not** push unless the user explicitly requested remote update in this thread (**`commit-and-push`** step 7). **Does not** run **`archive-specs`** as part of this skill.
5
- Use when consolidating named local branch work into the current branch or preparing integration on that branch.
4
+ 將使用者指定的本地分支合併回當前分支,按既定順序完成衝突處理、驗證、
5
+ 安全清理與最終提交準備;除非本次對話中有明確要求,否則不推送遠端。
6
6
  ---
7
7
 
8
- # Merge Changes from Local Branches
8
+ ## 目標
9
+ 在工作開始時的當前本地分支上,整合使用者指定的本地分支,或由現有 spec / batch
10
+ 規劃可無歧義對應出的本地分支,完成合併、驗證、清理與提交流程銜接,並確保整合結果
11
+ 可安全交由 `commit-and-push` 收尾。
9
12
 
10
- ## Dependencies
13
+ ## 驗收條件
14
+ - 所有實際合併的變更都落在流程開始時的原始當前分支,且不會未經使用者允許改換目標分支。
15
+ - 合併範圍只包含使用者明確指定,或可由 `coordination.md` / spec 上下文無歧義映射出的分支;若映射不清楚,流程會停止並回報。
16
+ - 當 batch 規劃存在 `Merge order` / landing order 時,實際整合順序與規劃一致;若順序衝突或不明確,不會猜測執行。
17
+ - 所有衝突都以保留正確行為為原則完成解決,並在刪除來源分支或交給 `commit-and-push` 前完成必要驗證。
18
+ - 只清理已成功合併且已驗證的來源分支或 worktree;不會強制刪除尚未真正合入目標分支的來源。
19
+ - 最終交付是原始當前分支上的整合結果與簡潔摘要,並只在使用者於本次對話明確要求時才推送遠端;本技能不單獨執行 `archive-specs`。
11
20
 
12
- - Required: **`commit-and-push`** for submission-readiness, mandated reviews, and the **final** commit on the original current branch (push **only** when the user explicitly asked for remote update in this thread—otherwise stop after commit).
13
- - Conditional: **`merge-conflict-resolver`** when merge conflicts require deterministic resolution.
14
- - Optional: none.
15
- - Fallback: If **`commit-and-push`** is unavailable, **MUST** stop and report—**MUST NOT** improvise readiness or use a bare `git commit` shortcut. If git merge operations fail irreparably, stop and report.
21
+ ## 工作流程
22
+ 1. 確認目標分支與合併範圍
23
+ 將流程開始時的當前分支視為唯一權威目標分支。優先使用使用者明確提供的分支名稱建立合併集合;只有在 spec 或 batch `coordination.md` 能無歧義對應時,才可從規劃文件補足分支映射與整合順序。
16
24
 
17
- ## Non-negotiables
25
+ 2. 確認可安全開始整合
26
+ 在原始目標分支上確認工作樹適合執行合併。若存在會干擾整合的未提交變更,停止並回報;不要自行 stash、丟棄變更,或切換到其他目標分支。
18
27
 
19
- - **MUST** treat the branch that was current at workflow start as the **authoritative merge target** for the whole workflow; **MUST NOT** silently switch the destination to **`main`** or another branch unless the user explicitly rescopes.
20
- - **MUST** determine in-scope branches from **explicit branch names** the user gives **or** from unambiguous mappings from active spec / `coordination.md` context—**MUST NOT** infer the merge set from ancestry heuristics alone when names already define intent.
21
- - **MUST** read active batch **`coordination.md`** when present and honor a documented **`Merge order` / landing order**; if multiple batches conflict or branch-to-spec mapping is ambiguous, **MUST** stop and report instead of guessing order.
22
- - **MUST** resolve conflicts by reading both sides and editing merged results that preserve shipped behavior—**MUST NOT** rely on blanket **`-X ours` / `-X theirs`** or timestamp guesses as the primary strategy.
23
- - **`archive-specs`**: **MUST NOT** invoke **`archive-specs`** from this skill. Any archival or doc-sync routing belongs to **`commit-and-push`** (via **`submission-readiness-check`**) when that workflow’s gates require it—not a separate mandated step immediately after merges here.
24
- - **MUST** verify the merged tree (targeted checks after conflictful merges; broader **`npm test` / equivalent** when the repo provides a standard command) before deleting source branches or handing off to **`commit-and-push`**.
25
- - **MUST NOT** **`git push`**, tag, or release **from this skill**; **`commit-and-push`** owns push **only** when the user explicitly requested remote publication in this thread (**same rule as **`commit-and-push`** step 7**).
26
- - **MUST** finalize through **`commit-and-push`** after staging the post-merge intent—**MUST NOT** bypass **`submission-readiness-check`** / mandated gates with a stray local commit path.
27
- - **MUST NOT** force-delete merged branches (**`-D`**) when **`-d`** refuses; **MUST** stop and report branches that are not actually merged into the target.
28
+ 3. 依既定順序逐一合併
29
+ 按照使用者指定順序,或 `coordination.md` 中明確記錄的 landing order,逐一整合 in-scope 分支。對沒有新增內容或已經合入的分支,跳過並記錄原因。發生衝突時,閱讀雙方內容並編輯出能保留正確行為的結果;必要時使用 `merge-conflict-resolver`。若衝突無法在不猜測意圖的前提下解決,停止並回報。
28
30
 
29
- ## Standards (summary)
31
+ 4. 驗證整合結果
32
+ 先對衝突區域或高風險改動執行對應驗證,再對整體整合結果執行倉庫慣用的標準驗證。任何驗證失敗都必須先在當前分支修正,之後才能進入清理或提交階段。
30
33
 
31
- - **Evidence**: `git branch`, `git log` / diff stats vs current branch, conflict file contents, `coordination.md` merge order when present.
32
- - **Execution**: Inventory → clean target branch → sequential merges → verify → prune merged branches/worktrees → **`commit-and-push`** through local commit (push only if user asked).
33
- - **Quality**: Scope strictly to named / mapped branches; no unrelated branch sweeps; no push-by-default from this workflow.
34
- - **Output**: Integrated current branch ready for **`commit-and-push`**; concise report of merged/skipped branches, conflicts resolved, verification commands.
34
+ 5. 清理已成功整合的來源
35
+ 僅清理已完成合併且已通過驗證的來源分支與對應 worktree。若安全刪除被拒絕,保留來源並回報,不使用強制刪除。
35
36
 
36
- ## Workflow
37
+ 6. 交給 `commit-and-push` 完成收尾
38
+ 整理合併後的最終提交意圖,並交由 `commit-and-push` 執行必要審查、submission-readiness gate 與最終本地提交。若 `commit-and-push` 不可用,必須停止並回報,不可改走裸 `git commit`。本技能不負責 push、tag、release,也不另外觸發 `archive-specs`;只有使用者在本次對話中明確要求遠端更新時,才允許後續推送。
37
39
 
38
- **Chain-of-thought:** Before each numbered step, answer the **`Pause →`** prompts. Validator or verification red **blocks** advancing to pruning or **`commit-and-push`**.
40
+ 7. 回報結果
41
+ 總結已合併與跳過的分支、使用的順序依據、衝突處理原則、驗證結果,以及流程最終停在本地 `HEAD` 還是包含遠端推送。
39
42
 
40
- ### 1) Inventory the current branch and in-scope named branches
43
+ ## 範例
44
+ - 「把 `feature/api-layer` 和 `feature/cli-wrapper` 合回目前分支」 -> 以目前分支為唯一目標,依指定順序完成整合、驗證與安全清理,再交給 `commit-and-push` 做最終本地提交。
45
+ - 「根據這個 batch 的 `coordination.md` 把各 worktree 分支合回來,但先不要 push」 -> 先從 batch 規劃確認無歧義分支映射與 landing order,再依序合併、驗證、清理,最後只做到本地提交。
46
+ - 「把那幾個應該相關的分支一起合一下」 -> 若無法從使用者輸入或規劃文件明確判定分支集合與順序,停止並回報需要補充資訊,而不是依 ancestry 或名稱猜測。
41
47
 
42
- - Run `git branch`; capture `git branch --show-current` and `git status -sb`.
43
- - Inspect `docs/plans/` for active batch roots that include **`coordination.md`**; read merge-order guidance **before** choosing sequence.
44
- - Build the merge set from **user branch names**, else from unambiguous spec-name / **`coordination.md`** mappings—if a required name cannot be matched, stop and report.
45
- - For each candidate: `git log --oneline <current>..<candidate>` and `git diff --stat <current>...<candidate>` (or equivalent); skip empty / already-up-to-date branches and record why.
46
- - Per branch, note: name, match rationale, commits ahead, `git log -1 --oneline`.
47
- - **Pause →** Is every in-scope branch matched **unambiguously**, not by “probably related” ancestry?
48
- - **Pause →** If **`coordination.md`** gives a merge order, does my sequence match it literally?
49
-
50
- ### 1.5) Resolve merge order from active batch specs
51
-
52
- - When **`coordination.md`** defines **`Merge order` / landing order**, merge **only** in that order after mapping branch names to specs/worktrees without guessing.
53
- - When multiple active batches disagree or mapping is unclear, stop and report.
54
- - When no explicit order exists, use the user’s branch list order sequentially.
55
- - **Pause →** Would merging in a different order violate a written batch plan?
56
-
57
- ### 2) Ensure clean state on the original current branch
58
-
59
- - Inspect `git status`. If unrelated uncommitted changes block a safe merge, stop and report—**MUST NOT** stash or discard without user direction.
60
- - **Pause →** Am I still on the **same** authoritative target branch I started with?
61
-
62
- ### 3) Merge branches sequentially in the resolved order
63
-
64
- For each in-scope branch:
65
-
66
- 1. `git checkout <current-branch>`
67
- 2. `git merge <branch-name> --no-ff -m "Merge branch '<branch-name>' into <current-branch>"`
68
- 3. On conflicts: use **`merge-conflict-resolver`**; then `git add` resolved paths.
69
- 4. If resolution is ambiguous, prefer behavior that preserves tests, documented intent, and minimal semantic drift.
70
- 5. Complete the merge commit if Git did not auto-complete.
71
-
72
- ### 4) Verify merged state
73
-
74
- - After conflictful merges, run the most relevant targeted tests or builds for touched areas.
75
- - After all merges, run the repo’s usual validation (`npm test`, `cargo test`, etc.) when applicable.
76
- - **Pause →** Did verification fail? **MUST** fix on the current branch before pruning or **`commit-and-push`**—**do not** hide red tests behind a merge report.
77
-
78
- ### 5) Prune merged sources (after verified success only)
79
-
80
- - `git worktree list`; remove worktrees for successfully merged branches when safe.
81
- - `git branch -d <branch-name>` only for verified merges; refuse **`-D`** when **`-d`** fails—report instead.
82
- - **Never** delete the original target branch, the checked-out branch, or branches that failed / were skipped.
83
-
84
- ### 6) Submit via **`commit-and-push`** (local commit; push optional)
85
-
86
- - Stage the post-merge / fix-up intent per user scope.
87
- - Run **`commit-and-push`** through **commit**: inspect, classify gates, mandated reviews where applicable, **`submission-readiness-check`**, then commit with conventional message—**omit push** unless the user explicitly requested remote update in this thread ( **`commit-and-push`** step **7**).
88
- - **MUST NOT** reintroduce **`archive-specs`** as a sibling step controlled by **this** skill; if **`submission-readiness-check`** routes archival work, **`commit-and-push`** owns that decision.
89
- - **Pause →** Am I about to push without an explicit user request for remote publication?
90
- - **Pause →** Does `git diff --cached` match intended merge scope—no stray unrelated paths?
91
-
92
- ### 7) Report
93
-
94
- - List merged vs skipped branches and why.
95
- - Current branch name; confirmation merges landed on original target.
96
- - Conflicts resolved and brief rationale.
97
- - Verification commands executed.
98
- - State whether completion stopped at **local HEAD** (**no push**) or included push per explicit user ask.
99
-
100
- ## Sample hints
101
-
102
- - **Skip**: candidate shows no commits ahead of current—record “already merged / empty”.
103
- - **`coordination.md`**: landing order **`api-layer`** then **`cli-wrapper`** ⇒ merge matching branches in that sequence even if creation dates differ.
104
- - **`commit-and-push` without push**: user said “merge and commit locally”—run **`commit-and-push`** gates and commit; report `HEAD` hash; **no** **`git push`**.
105
-
106
- ## Working Rules
107
-
108
- - Never force-push from this workflow.
109
- - Preserve functionality over winning either branch’s raw diff verbatim.
110
- - Do not merge ambiguously matched or unrelated branches.
111
- - Do not delete merged sources until merge commit **and** verification succeed.
112
- - When batch merge-order documentation applies, follow it unless you stop with evidence it is stale.
113
-
114
- Resolve conflicts using **`merge-conflict-resolver`**.
48
+ ## 參考資料
49
+ - `commit-and-push/SKILL.md`:最終提交、submission-readiness 與是否允許推送的權威流程。
50
+ - `merge-conflict-resolver/SKILL.md`:衝突需要精確合成時的輔助技能。
51
+ - `docs/plans/**/coordination.md`:batch 規劃存在時的 landing order 與分支映射依據。
@@ -52,104 +52,13 @@ Designed to be reusable by other skills that know the issue title and evidence b
52
52
  5. Return publication result
53
53
  - Always return publication mode, issue URL when created, rendered issue body, and any publish error.
54
54
 
55
- ## Deterministic command
56
-
57
- Use the bundled command. Prefer `--payload-file` for all rich issue content because inline shell arguments can corrupt Markdown code spans such as `` `symbol` `` before the script starts.
58
-
59
- Safe problem issue payload:
60
-
61
- ```bash
62
- cat > /tmp/open-github-issue-payload.json <<'JSON'
63
- {
64
- "issue_type": "problem",
65
- "title": "[Log] <short symptom>",
66
- "problem_description": "Expected Behavior (BDD)\nGiven ...\nWhen ...\nThen `literal_code_span` should remain unchanged\n\nCurrent Behavior (BDD)\nGiven ...\nWhen ...\nThen ...\n\nBehavior Gap\n- Expected: ...\n- Actual: ...\n- Difference/Impact: ...\n\nEvidence\n- symptom: ...\n- impact: ...\n- key evidence: ...",
67
- "suspected_cause": "<path:line + causal chain + confidence>",
68
- "reproduction": "<steps/conditions or leave empty>"
69
- }
70
- JSON
71
-
72
- apltk open-github-issue --payload-file /tmp/open-github-issue-payload.json --repo <owner/repo>
73
- ```
74
-
75
- Safe feature proposal payload:
76
-
77
- ```bash
78
- cat > /tmp/open-github-issue-payload.json <<'JSON'
79
- {
80
- "issue_type": "feature",
81
- "title": "[Feature] <short proposal>",
82
- "proposal": "<what should be added or changed>",
83
- "reason": "<why this matters now, user value, constraints>",
84
- "suggested_architecture": "<modules, boundaries, implementation direction>"
85
- }
86
- JSON
87
-
88
- apltk open-github-issue --payload-file /tmp/open-github-issue-payload.json --repo <owner/repo>
89
- ```
90
-
91
- Safe individual field files are also supported:
92
-
93
- ```bash
94
- apltk open-github-issue --repo <owner/repo> \
95
- --issue-type problem \
96
- --title "[Log] <short symptom>" \
97
- --problem-description @/tmp/problem-description.md \
98
- --suspected-cause @/tmp/suspected-cause.md
99
- ```
100
-
101
- Performance issue:
102
-
103
- ```bash
104
- apltk open-github-issue \
105
- --issue-type performance \
106
- --title "[Performance] Slow dashboard query under large tenants" \
107
- --problem-description @/tmp/performance-problem.md \
108
- --impact @/tmp/performance-impact.md \
109
- --evidence @/tmp/performance-evidence.md \
110
- --suggested-action @/tmp/performance-action.md \
111
- --repo <owner/repo>
112
- ```
113
-
114
- Security issue:
115
-
116
- ```bash
117
- apltk open-github-issue \
118
- --issue-type security \
119
- --title "[Security] Missing authorization check on admin export" \
120
- --problem-description @/tmp/security-risk.md \
121
- --severity high \
122
- --affected-scope "/admin/export endpoint and exported customer data" \
123
- --impact @/tmp/security-impact.md \
124
- --evidence @/tmp/security-evidence.md \
125
- --suggested-action @/tmp/security-action.md \
126
- --repo <owner/repo>
127
- ```
128
-
129
- Docs issue:
130
-
131
- ```bash
132
- apltk open-github-issue \
133
- --issue-type docs \
134
- --title "[Docs] Deployment guide omits required Redis configuration" \
135
- --problem-description @/tmp/docs-gap.md \
136
- --evidence @/tmp/docs-evidence.md \
137
- --suggested-action @/tmp/docs-action.md \
138
- --repo <owner/repo>
139
- ```
140
-
141
- Observability issue:
142
-
143
- ```bash
144
- apltk open-github-issue \
145
- --issue-type observability \
146
- --title "[Observability] Missing request identifiers in payment retry logs" \
147
- --problem-description @/tmp/observability-gap.md \
148
- --impact @/tmp/observability-impact.md \
149
- --evidence @/tmp/observability-evidence.md \
150
- --suggested-action @/tmp/observability-action.md \
151
- --repo <owner/repo>
152
- ```
55
+ ## CLI reference
56
+
57
+ Run `apltk open-github-issue --help` for the live flag reference, examples, expected results, and issue-type-specific payload rules.
58
+
59
+ - Prefer the bundled `apltk` command over calling the Python helper directly.
60
+ - Prefer payload files or `@file` inputs for rich Markdown so shell quoting cannot corrupt the content before Python receives it.
61
+ - Keep one confirmed issue or one accepted proposal per invocation.
153
62
 
154
63
  ## Output contract
155
64
 
@@ -13,23 +13,24 @@ description: Use prompt engineering to optimise agent skill. Use it when you nee
13
13
  ## 工作流程
14
14
 
15
15
  1. 識別交付物
16
- 完整閱讀整個技能的`SKILL.md`文檔,以及其引用的所有額檔案,包括但不限於`references/`, `scripts/`。基於獲取到的技能上下文資訊,總結出該技能的最終交付產物。
16
+ 完整閱讀整個技能的 `SKILL.md` 文檔,以及其引用的所有額檔案,包括但不限於 `references/` , `scripts/` 。基於獲取到的技能上下文資訊,總結出該技能的最終交付產物。
17
17
 
18
18
  2. 制定驗收條件
19
19
  制定驗收條件,從而確保LLM能夠穩定、可復現地按照驗收條件產出符合要求高質量最終交付物
20
20
 
21
21
  3. 重寫技能
22
- 將整個技能的`SKILL.md`重寫。重寫後的技能應該只包含以下幾個關鍵組成部分:
22
+ 將整個技能的 `SKILL.md` 重寫。重寫後的技能應該只包含以下幾個關鍵組成部分:
23
23
  - 技能目標
24
24
  - 技能驗收條件
25
25
  - 技能工作流程
26
26
  - 技能使用範例
27
27
  - 技能參考資料索引
28
- 對於技能有幫助的內但不符合上述技能架構規範,則應該被分類放置在`references/`下的markdown檔案。
28
+ 對於技能有幫助的內但不符合上述技能架構規範,則應該被分類放置在 `references/` 下的markdown檔案。
29
29
 
30
30
  ## 範例
31
- - "一個專注在提示LLM agent進行自我迭代,並為代碼庫帶來性能優化的技能需要被優化"-> "定義驗收條件為優化後性能相較優化前至少提升X個百分比,並且項目之中不存在任何O(n^2)級別時間複雜度的函式和邏輯,並按照標準架構重寫技能。"
32
- - "一個有大量前端開發範例被包含在`SKILL.md`之中的前端開發技能需要被優化" -> "定義驗收條件為前端頁面`reference`之中提供的大量建議範例重寫且不包含任何建議示例之中明確拒絕的設計,然後按照技能優化流程對技能進行全面的重寫。"
31
+ - "一個專注在提示LLM agent進行自我迭代,並為repo帶來性能優化的技能需要被優化" -> "定義驗收條件為優化後性能相較優化前至少提升X個百分比,並且項目之中不存在任何O(n^2)級別時間複雜度的函式和邏輯,並按照標準架構重寫技能。"
32
+ - "一個有大量前端開發範例被包含在 `SKILL.md` 之中的前端開發技能需要被優化" -> "定義驗收條件為前端頁面 `reference` 之中提供的大量建議範例重寫且不包含任何建議示例之中明確拒絕的設計,然後按照技能優化流程對技能進行全面的重寫。"
33
33
 
34
34
  ## 參考資料
35
- - `references/example_skill.md` - 優化後的技能範例
35
+ - `references/example_skill.md` - 優化後的技能範例,在進行技能優化時必須閱讀並嚴格遵照當中格式 **(必讀)**
36
+ - `references/definition.md` - 技能之中各個區塊的定義 **(必讀)**
@@ -0,0 +1,38 @@
1
+ ## 驗收條件
2
+ 驗收條件是一個技能的**宏觀目標**。其描述的必須是agent完成所有任務之後,交付產物的狀態,如:
3
+
4
+ **建議實踐**:
5
+ - "嚴格遵守風格規範的前端頁面"
6
+ - "嚴格遵從模板生成的spec"
7
+ - "代碼審查的完整報告總結及改進建議"
8
+
9
+ **錯誤實踐**:
10
+ - "完成所有spec的閱讀,並理解用戶需求。" - spec的閱讀是執行步驟,而不是最終的交付產物。
11
+ - "所有風格規範已經被閱讀。" - 同上
12
+ - "所有代碼已經被仔細審查" - 這看似是驗收條件,但實際上因為不可量化,並不是一個好的驗收條件。代碼審查的報告和改進建議是能夠被直觀衡量的交付產物。
13
+
14
+ ## 工作流程
15
+ 工作流程是一個技能核心要素。需要專注在告訴agent **「做什麼」**,而不是 **「如何去做」**。
16
+
17
+ **建議實踐**:
18
+ - "按照本次變更的實際內容,創建符合通用開發規範的git分支並在分支上提交變更。"
19
+ - "在結束任務之前閱讀並確認所有檢查項目是否被勾選為完成。"
20
+ - "閱讀spec之中的 `spec.md` 來完整理解用戶需求"
21
+
22
+ **錯誤實踐**:
23
+ - "使用 `git diff --stat` 閱讀目前變更。然後使用 `git branch -b <branch_name>` 來創建專屬分支。最後通過 `git commit -m "<commit_message>"` 完成提交。"
24
+ - "在結束任務之前,使用 `cd completion-criteria/` 進入檢查項目所處目錄,通過 `cat checklist.md` 來閱讀整個檢查項目清單,並確認當中的markdown checkboxes是否被勾選為完成。"
25
+ - "使用 `ls` 找到spec目錄,並使用 `cd spec/` 進入spec所出目錄。然後使用 `cat spec.md` 來理解用戶的需求。"
26
+
27
+ ## 範例
28
+ 範例是一個技能之中讓效果達到預期的重要基礎。其本質上是通過**對比交付產物在執行工作流程前及執行工作流程後的狀態**,讓agent在調用工作流程自行工作的時候對目標有著清晰的認知,從而避免在執行時成為無頭蒼蠅並在上下文之中迷失。
29
+
30
+ **建議實踐**:
31
+ 用一個用於優化提示詞技能的技能作為示例:
32
+ - "一個專注在提示LLM agent進行自我迭代,並為repo帶來性能優化的技能需要被優化" -> "定義驗收條件為優化後性能相較優化前至少提升X個百分比,並且項目之中不存在任何O(n^2)級別時間複雜度的函式和邏輯,並按照標準架構重寫技能。"
33
+ - "一個有大量前端開發範例被包含在 `SKILL.md` 之中的前端開發技能需要被優化" -> "定義驗收條件為前端頁面 `reference` 之中提供的大量建議範例重寫且不包含任何建議示例之中明確拒絕的設計,然後按照技能優化流程對技能進行全面的重寫。"
34
+
35
+ **錯誤實踐**:
36
+ 用一個專門用於前端開發的提示詞技能作為示例:
37
+ - "前端頁面非常混亂。" -> "找到前端頁面所出目錄,列出所有前端頁面檔案,並對前端頁面進行整理" - 前面的找到目錄、列出檔案,這些都是隱含前提,不需要額外列出。我們需要關注並對比的是執行工作流程前後交付物的狀態。
38
+ - "測試覆蓋率低。" -> "執行工作流程補全測試" - 這裏沒有描述好最終的狀態,應該是 `補齊低測試覆蓋率模塊的高價值測試,確保業務邏輯正確無誤。` ,這樣能夠更清晰展現輸入輸出之間的對應關係。
@@ -13,23 +13,24 @@ description: Use prompt engineering to optimise agent skill. Use it when you nee
13
13
  ## 工作流程
14
14
 
15
15
  1. 識別交付物
16
- 完整閱讀整個技能的`SKILL.md`文檔,以及其引用的所有額檔案,包括但不限於`references/`, `scripts/`。基於獲取到的技能上下文資訊,總結出該技能的最終交付產物。
16
+ 完整閱讀整個技能的 `SKILL.md` 文檔,以及其引用的所有額檔案,包括但不限於 `references/` , `scripts/` 。基於獲取到的技能上下文資訊,總結出該技能的最終交付產物。
17
17
 
18
18
  2. 制定驗收條件
19
19
  制定驗收條件,從而確保LLM能夠穩定、可復現地按照驗收條件產出符合要求高質量最終交付物
20
20
 
21
21
  3. 重寫技能
22
- 將整個技能的`SKILL.md`重寫。重寫後的技能應該只包含以下幾個關鍵組成部分:
22
+ 將整個技能的 `SKILL.md` 重寫。重寫後的技能應該只包含以下幾個關鍵組成部分:
23
23
  - 技能目標
24
24
  - 技能驗收條件
25
25
  - 技能工作流程
26
26
  - 技能使用範例
27
27
  - 技能參考資料索引
28
- 對於技能有幫助的內但不符合上述技能架構規範,則應該被分類放置在`references/`下的markdown檔案。
28
+ 對於技能有幫助的內但不符合上述技能架構規範,則應該被分類放置在 `references/` 下的markdown檔案。
29
29
 
30
30
  ## 範例
31
- - "一個專注在提示LLM agent進行自我迭代,並為代碼庫帶來性能優化的技能需要被優化"-> "定義驗收條件為優化後性能相較優化前至少提升X個百分比,並且項目之中不存在任何O(n^2)級別時間複雜度的函式和邏輯,並按照標準架構重寫技能。"
32
- - "一個有大量前端開發範例被包含在`SKILL.md`之中的前端開發技能需要被優化" -> "定義驗收條件為前端頁面`reference`之中提供的大量建議範例重寫且不包含任何建議示例之中明確拒絕的設計,然後按照技能優化流程對技能進行全面的重寫。"
31
+ - "一個專注在提示LLM agent進行自我迭代,並為repo帶來性能優化的技能需要被優化" -> "定義驗收條件為優化後性能相較優化前至少提升X個百分比,並且項目之中不存在任何O(n^2)級別時間複雜度的函式和邏輯,並按照標準架構重寫技能。"
32
+ - "一個有大量前端開發範例被包含在 `SKILL.md` 之中的前端開發技能需要被優化" -> "定義驗收條件為前端頁面 `reference` 之中提供的大量建議範例重寫且不包含任何建議示例之中明確拒絕的設計,然後按照技能優化流程對技能進行全面的重寫。"
33
33
 
34
34
  ## 參考資料
35
- - `references/example_skill.md` - 優化後的技能範例
35
+ - `references/example_skill.md` - 優化後的技能範例,在進行技能優化時必須閱讀並嚴格遵照當中格式 **(必讀)**
36
+ - `references/definition.md` - 技能之中各個區塊的定義 **(必讀)**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laitszkin/apollo-toolkit",
3
- "version": "3.11.7",
3
+ "version": "3.12.0",
4
4
  "description": "Apollo Toolkit npm installer for managed skill copying across Codex, OpenClaw, and Trae.",
5
5
  "license": "MIT",
6
6
  "author": "LaiTszKin",
@@ -33,44 +33,16 @@ description: Read and search remote GitHub issues via GitHub CLI (`gh`). Use whe
33
33
 
34
34
  ### 2) Find candidate issues with the bundled CLI
35
35
 
36
- - Preferred command:
37
-
38
- ```bash
39
- apltk find-github-issues --limit 50 --state open
40
- ```
41
-
42
- - Optional filters:
43
- - `--repo owner/name`
44
- - `--label bug`
45
- - `--search "panic in parser"`
36
+ - Use `apltk find-github-issues --help` as the live command reference for filters, output modes, and examples.
46
37
  - Raw `gh` fallback when the script is missing or broken:
47
-
48
- ```bash
49
- gh issue list --limit 50 --state open
50
- ```
51
-
52
- - Add `--repo <owner>/<repo>`, `--label <label>`, or `--search "<text>"` as needed.
38
+ - `gh issue list --limit 50 --state open`
53
39
  - If the issue target is still unclear, present top candidates and ask which issue number or URL should be inspected next.
54
40
 
55
41
  ### 3) Read a specific issue in detail
56
42
 
57
- - Preferred command:
58
-
59
- ```bash
60
- apltk read-github-issue 123 --comments
61
- ```
62
-
63
- - Optional flags:
64
- - `--repo owner/name`
65
- - `--json`
66
- - `--comments`
43
+ - Use `apltk read-github-issue --help` as the live command reference for issue selection, comments, JSON output, and examples.
67
44
  - Raw `gh` fallback when the script is missing or broken:
68
-
69
- ```bash
70
- gh issue view 123 --comments
71
- ```
72
-
73
- - Use `--repo <owner>/<repo>` when targeting a different repository.
45
+ - `gh issue view 123 --comments`
74
46
  - Use the returned title, body, labels, assignees, state, timestamps, and comments to summarize the issue precisely.
75
47
 
76
48
  ### 4) Summarize gaps before any follow-up action
@@ -78,18 +50,6 @@ gh issue view 123 --comments
78
50
  - Identify missing acceptance criteria, repro details, affected components, or environment context.
79
51
  - If issue text and comments are insufficient, state exactly what is missing instead of inventing a fix plan.
80
52
 
81
- ## Included CLI
82
-
83
- ### `apltk find-github-issues`
84
-
85
- - Purpose: consistent remote issue listing via `gh issue list`.
86
- - Outputs a readable table by default, or JSON with `--output json`.
87
- - Uses only GitHub CLI so it reflects remote GitHub state.
88
- - Treat it as a convenience wrapper, not a hard dependency.
89
-
90
- ### `apltk read-github-issue`
53
+ ## CLI reference
91
54
 
92
- - Purpose: deterministic issue detail retrieval via `gh issue view`.
93
- - Outputs either a human-readable summary or full JSON for downstream automation.
94
- - Can include issue comments so the agent can read the latest discussion before taking any other step.
95
- - Treat it as a convenience wrapper, not a hard dependency.
55
+ Use `apltk find-github-issues --help` and `apltk read-github-issue --help` as the authoritative command references. This skill keeps the retrieval workflow and fallback rules, not the flag catalog.