@laitszkin/apollo-toolkit 3.12.0 → 3.12.1

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 (68) hide show
  1. package/AGENTS.md +6 -6
  2. package/CHANGELOG.md +7 -4
  3. package/README.md +9 -10
  4. package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
  5. package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
  6. package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
  7. package/commit-and-push/SKILL.md +1 -3
  8. package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
  9. package/enhance-existing-features/SKILL.md +21 -37
  10. package/generate-spec/SKILL.md +7 -10
  11. package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
  12. package/init-project-html/SKILL.md +15 -17
  13. package/iterative-code-performance/SKILL.md +1 -1
  14. package/iterative-code-quality/SKILL.md +1 -1
  15. package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
  16. package/maintain-project-constraints/SKILL.md +18 -22
  17. package/merge-changes-from-local-branches/SKILL.md +23 -34
  18. package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
  19. package/open-source-pr-workflow/SKILL.md +4 -7
  20. package/optimise-skill/SKILL.md +8 -8
  21. package/optimise-skill/references/definition.md +1 -0
  22. package/optimise-skill/references/example_skill.md +8 -8
  23. package/package.json +1 -1
  24. package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
  25. package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
  26. package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
  27. package/review-spec-related-changes/SKILL.md +30 -38
  28. package/ship-github-issue-fix/SKILL.md +2 -2
  29. package/solve-issues-found-during-review/SKILL.md +8 -43
  30. package/spec-to-project-html/SKILL.md +2 -2
  31. package/submission-readiness-check/SKILL.md +3 -19
  32. package/systematic-debug/SKILL.md +2 -2
  33. package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
  34. package/version-release/SKILL.md +3 -3
  35. package/discover-edge-cases/CHANGELOG.md +0 -19
  36. package/discover-edge-cases/LICENSE +0 -21
  37. package/discover-edge-cases/README.md +0 -87
  38. package/discover-edge-cases/SKILL.md +0 -32
  39. package/discover-edge-cases/agents/openai.yaml +0 -4
  40. package/discover-edge-cases/references/architecture-edge-cases.md +0 -41
  41. package/discover-edge-cases/references/code-edge-cases.md +0 -46
  42. package/discover-security-issues/CHANGELOG.md +0 -32
  43. package/discover-security-issues/LICENSE +0 -21
  44. package/discover-security-issues/README.md +0 -35
  45. package/discover-security-issues/SKILL.md +0 -54
  46. package/discover-security-issues/agents/openai.yaml +0 -4
  47. package/discover-security-issues/references/agent-attack-catalog.md +0 -117
  48. package/discover-security-issues/references/common-software-attack-catalog.md +0 -168
  49. package/discover-security-issues/references/red-team-extreme-scenarios.md +0 -81
  50. package/discover-security-issues/references/risk-checklist.md +0 -78
  51. package/discover-security-issues/references/security-test-patterns-agent.md +0 -101
  52. package/discover-security-issues/references/security-test-patterns-finance.md +0 -88
  53. package/discover-security-issues/references/test-snippets.md +0 -73
  54. package/recover-missing-plan/SKILL.md +0 -85
  55. package/recover-missing-plan/agents/openai.yaml +0 -4
  56. package/review-change-set/LICENSE +0 -21
  57. package/review-change-set/README.md +0 -55
  58. package/review-change-set/SKILL.md +0 -46
  59. package/review-change-set/agents/openai.yaml +0 -4
  60. package/review-codebases/LICENSE +0 -21
  61. package/review-codebases/README.md +0 -69
  62. package/review-codebases/SKILL.md +0 -46
  63. package/review-codebases/agents/openai.yaml +0 -4
  64. package/scheduled-runtime-health-check/LICENSE +0 -21
  65. package/scheduled-runtime-health-check/README.md +0 -107
  66. package/scheduled-runtime-health-check/SKILL.md +0 -135
  67. package/scheduled-runtime-health-check/agents/openai.yaml +0 -4
  68. package/scheduled-runtime-health-check/references/output-format.md +0 -20
@@ -1,47 +1,39 @@
1
1
  ---
2
2
  name: review-spec-related-changes
3
- description: >-
4
- 面向spec合規性的只讀審查技能。先唯一確定本次變更受哪一套 `docs/plans/...` 規劃文件約束,再按業務目標逐條判定 `Met`、`Partially met`、`Not met` 或 `Deferred/N/A`;`tasks.md` 的勾選不算證據。若範圍涉及代碼實作,完成業務結論後還必須對同一範圍追加 `review-change-set`、`discover-edge-cases` 與 `discover-security-issues`,並保持固定報告順序。
3
+ description: 當你需要審查規格文檔相關變更時,調用此技能
5
4
  ---
6
5
 
7
6
  ## 目標
8
- 輸出一份只讀的spec合規審查報告,先回答「這次變更是否真的滿足規劃中的業務要求」,再補充邊界、安全與代碼審查發現。報告需要對每條關鍵需求給出可追溯的狀態判定、證據來源、缺口說明、通過證據與剩餘不確定性;本技能不負責修改代碼或更新規劃文件。
7
+
8
+ 輸出一份 spec 相關變更審查報告,先回答「這次變更是否真的滿足規劃中的業務要求」,再補充邊界、安全與代碼審查發現。每條關鍵需求需給出可追溯的狀態判定、證據來源、缺口說明與剩餘不確定性;不負責修改代碼或更新規劃文件。
9
9
 
10
10
  ## 驗收條件
11
- - 在給出任何合規結論前,已唯一確定 governing spec;若存在兩個同樣合理的規劃根目錄且無法由倉庫證據消歧,必須停止並報告歧義,不能猜測。
12
- - 每條業務目標或驗收項只能根據可驗證證據判定為 `Met`、`Partially met`、`Not met` 或 `Deferred/N/A`;證據可來自代碼、測試、命令、日誌或追蹤,`tasks.md` 勾選本身不算證據。
13
- - 未滿足或部分滿足的必選業務要求永遠是最高嚴重度,報告排序中不得被安全、邊界或可維護性意見壓過。
14
- - 若範圍涉及代碼實作,完成業務結論後必須在同一範圍追加 `review-change-set`、`discover-edge-cases` 與 `discover-security-issues`;任一依賴不可用時,不得輸出「完整通過」結論。
15
- - 全流程保持只讀:不得修改實作、測試、spec、archive、commit、push、tag 或 release。
16
- - 最終交付物固定按以下順序輸出:業務缺口 → 邊界情況 → 安全問題 → 代碼審查問題 → 已滿足要求的通過證據 → 剩餘不確定性。
11
+
12
+ - 生成完整的 code review report,內容涵蓋6個維度的代碼審查結果及改進建議。
17
13
 
18
14
  ## 工作流程
19
- 1. 確定 governing spec。
20
- - 若使用者已指定具體路徑,直接以該規劃目錄為準,閱讀 `spec.md`、`tasks.md`、`checklist.md`、`contract.md`、`design.md`,以及存在時的 `coordination.md`。
21
- - 若使用者未指定,需根據 `git status`、diff、相關路徑、近期提交與計劃目錄證據回推出唯一 spec;若仍有歧義,立即停止。
22
- 2. 建立spec基線。
23
- - governing spec 中抽取業務目標、驗收條件、非目標、已明示的延期項與要求執行的驗證。
24
- - 將「產品必須做到什麼」和「代碼寫得是否漂亮」明確分開。
25
- 3. 蒐集實作證據並先做業務判定。
26
- - 閱讀最小必要代碼路徑、相關 diff、提交與測試,必要時執行 spec 點名且安全可跑的驗證命令。
27
- - 對每條需求給出 `Met`、`Partially met`、`Not met` 或 `Deferred/N/A`,並附上精確 spec 引用與代碼/測試證據。
28
- - 若 spec 中存在完全獨立的需求群組,可用只讀 subagent 並行評分;但最終排序、嚴重度與跨需求衝突整理由主代理負責。
29
- 4. 對代碼範圍追加次級審查。
30
- - 若審查對象包含代碼實作,必須在同一範圍追加 `review-change-set`、`discover-edge-cases` 與 `discover-security-issues`。
31
- - 優先以一個只讀 subagent 對應一個次級技能並行執行,主代理只負責聚合結果,不重跑已委派分析。
32
- - 若次級審查結果反過來影響某條業務需求的判定,必須先回寫業務結論,再輸出最終報告。
33
- 5. 生成固定順序的最終報告。
34
- - 先列出 `Not met` 與 `Partially met` 的業務缺口,再依序列出邊界情況、安全問題、代碼審查問題。
35
- - 接著補上所有已確認 `Met` 的通過證據。
36
- - 最後列出未驗證命令、無法映射的 spec 段落、外部依賴不可驗證處與其他剩餘不確定性。
37
-
38
- ## 使用範例
39
- - 「這個 PR 有沒有滿足 `coordination.md` 和 `spec.md`?」-> 先唯一確定 governing spec,再按業務要求逐條打分,最後補上同範圍的邊界、安全與變更集審查。
40
- - 「請檢查 `docs/plans/2026-05-01/foo/` 對應的實作是否完成」-> 直接以指定目錄為準做只讀合規審查,不依賴聊天上下文猜測。
41
- - 「`tasks.md` 都打勾了,應該算完成吧?」-> 不能直接採信,仍需用代碼、測試、命令或追蹤證據重新驗證每條要求。
42
- - 「先跟我講哪個 requirement 沒達成,再看程式碼好不好」-> 報告必須先輸出業務缺口,不能先用重構或風格意見掩蓋未滿足的spec要求。
43
-
44
- ## 參考資料索引
45
- - `review-change-set`:在相同代碼範圍上補做架構與簡化審查,避免將spec合規與代碼品質混為一談。
46
- - `discover-edge-cases`:在相同範圍上補做可重現邊界情況審查,補齊失敗路徑、併發與可觀測性風險。
47
- - `discover-security-issues`:在相同範圍上補做可重現安全審查,補齊攻擊面、授權與資料外洩風險。
15
+
16
+ ### 1. 建立審查範圍
17
+
18
+ 閱讀用戶指定的 spec ,並按照 spec 之中定義的實作範圍,檢索並閱讀相關代碼。
19
+ 如果外部環境允許使用 subagents,建議通過調度 subagents 完成代碼的深度閱讀。
20
+
21
+ ### 2. 進行多維度審查
22
+
23
+ 對所有實作代碼多維度的審查,確保代碼:
24
+ - 無幻覺代碼
25
+ - 無冗余代碼
26
+ - 代碼無與 spec 之間的實作偏移
27
+ - spec 實作遺漏
28
+ - 無架構瑕疵
29
+ - 無性能隱患
30
+
31
+ 如果有代碼違反了上述6個原則,將他們紀錄在案。
32
+ 如果外部環境允許使用 subagents,建議通過調度 subagents 完成對代碼的多維度審查。
33
+
34
+ ### 3. 生成 code review report
35
+
36
+ 將上一步發現的所有問題代碼總結,並按照問題嚴重程度排序,生成code review report。report需要包含以下元素:
37
+ - 問題描述、嚴重度及影響
38
+ - 涉及的代碼檔案、行數
39
+ - 建議修正方案
@@ -7,7 +7,7 @@ description: Resolve a GitHub issue in an existing repository and submit the fix
7
7
 
8
8
  ## Dependencies
9
9
 
10
- - Required: `read-github-issue`, `enhance-existing-features`, `recover-missing-plan`, and `commit-and-push`.
10
+ - Required: `read-github-issue`, `enhance-existing-features`, and `commit-and-push`.
11
11
  - Conditional: `systematic-debug` when the issue is primarily a bug investigation or failing behavior report.
12
12
  - Optional: none.
13
13
  - Fallback: If any required dependency is unavailable, stop and report which dependency blocked the workflow.
@@ -32,7 +32,7 @@ description: Resolve a GitHub issue in an existing repository and submit the fix
32
32
  ### 2) Explore the codebase and decide whether specs are required
33
33
 
34
34
  - After reading the issue, inspect the real entrypoints, affected modules, tests, and existing planning files.
35
- - If the user references an expected `docs/plans/...` path that is missing or archived unexpectedly, run `$recover-missing-plan` before treating the issue as unspecced work.
35
+
36
36
  - Run `$enhance-existing-features` to decide whether specs are required from the actual change surface.
37
37
  - Default to direct implementation for clearly localized bug fixes, regressions, narrow optimizations, or small workflow corrections, even when the issue wording sounds broad.
38
38
  - Require specs when the explored change touches critical money movement, permissions, high-risk concurrency, or multi-module behavior changes that need approval traceability.
@@ -1,58 +1,23 @@
1
1
  ---
2
2
  name: solve-issues-found-during-review
3
- description: >-
4
- 用於根據已確認的 review finding 清單逐項修復問題。必須按嚴重度排序、最小化修改、
5
- 每項修完立即驗證,並在結束前證明 spec 合規與相關安全 / edge-case finding 已真正清乾淨。
3
+ description: 當你需要修復 code review report 之中發現的問題時,調用這個技能。
6
4
  ---
7
5
 
8
- # 修復審查發現的問題
9
-
10
- ## Dependencies
11
-
12
- - Required: 使用者必須提供既有 review 報告或可重建的 finding 清單
13
- - Conditional: `review-spec-related-changes`、`review-change-set`、`systematic-debug`、`discover-security-issues`、`discover-edge-cases`、`commit-and-push`
14
- - Optional: 無
15
- - Fallback: 若沒有可重建的 finding 清單就必須停止;若 `review-change-set` 不可用,至少要用針對性測試與 diff 證據補足;若使用者要求提交或推送但 `commit-and-push` 不可用,也必須停止
16
-
17
- ## Standards
18
-
19
- - Evidence: 每個修改都要能對應到一條已確認 finding、受影響程式碼與驗證證據
20
- - Execution: 依嚴重度由高到低處理,每項 finding 修完就驗證,再進入下一項;最後再做全域重驗證
21
- - Quality: 僅修確認問題,不夾帶順手重構或推測性 hardening;不能重現時必須留下 `Could not reproduce` 證據
22
- - Output: 交付逐項狀態、驗證證據、spec 合規結果、 ancillary review 清理結果,以及是否真正完成本輪修復
23
-
24
6
  ## 技能目標
25
7
 
26
- review 報告中的 confirmed findings 轉成一條可追蹤、可驗證、可收斂的修復流程,避免只做表面修改,並在結束前證明相關spec、安全與 edge-case 要求沒有留下實質風險。
8
+ 遵照 code review report 之中的建議方案,逐一將所有發現的代碼問題修正。
27
9
 
28
10
  ## 驗收條件
29
11
 
30
- - 每個程式碼改動都能對應到明確的 finding,且沒有混入無關修補
31
- - 所有 finding 均按嚴重度順序處理,並在每項修復後留下通過的驗證證據
32
- - 若此範圍受 `docs/plans/...`、`spec.md`、`tasks.md`、`checklist.md` 或 contract 約束,最終已有 spec 合規證據
33
- - 安全、edge-case 與其他隨附 review finding 已被修復或以可重現證據標記 `Could not reproduce`;若仍有 `Deferred`,只有在使用者明確縮 scope 時才能宣稱本輪完成
12
+ - 所有 code review report 之中明確列出的問題都已經被完全修復。
34
13
 
35
14
  ## 工作流程
36
15
 
37
- 1. 先完整閱讀 report 與受影響程式碼;若使用者只說「修 review finding」但沒提供內容,先嘗試從近期輸出或 diff 重建清單,重建失敗就停止
38
- 2. 擷取每條 finding 的嚴重度、標題、證據位置與重現方式,並排除沒有被 reviewer 明確確認的猜測性項目
39
- 3. 按 Critical -> High -> Medium -> Low 排序;只有在工作空間完全隔離且檔案不重疊時,才允許平行處理不同群組,否則一律串行
40
- 4. 逐條處理 finding:先讀程式碼與重現路徑,再用最小修改修復,立刻執行最窄且足夠的驗證;若驗證結果不清楚,交給 `systematic-debug`
41
- 5. 全部 finding 處理完後,對修改範圍做整體重驗證;若是 code-affecting 變更,重新跑 `review-change-set`
42
- 6. 若存在綁定 spec 或計劃檔,使用 `review-spec-related-changes` 證明已重新符合要求;若 inbound package 含安全或 edge-case finding,使用 `discover-security-issues` 或 `discover-edge-cases` 的 rerun / scoped proof 證明該維度已清空
43
- 7. 向使用者輸出逐項狀態、驗證命令、殘留阻塞與本輪是否真的完成;若要求提交或推送,再交給 `commit-and-push`
44
-
45
- ## 使用範例
16
+ ### 1. 完整閱讀 code review report
46
17
 
47
- - 「修這份 review 裡的 HIGH SSRF finding」-> 只修該 finding 對應路徑,跑針對性測試與重現命令,確認通過後才處理下一條
48
- - 「report 裡還有 edge-case 與 security finding」-> 修完主問題後,還要補 rerun / scoped proof,不能只靠口頭說明就宣稱完成
49
- - 「reviewer 指的路徑現在不存在」-> 記錄檢查過的 commit 與路徑,若無法重現則標成 `Could not reproduce`,而不是虛構一個修復
18
+ 完整閱讀 code review report,並深入閱讀相關受影響代碼,理解建議修復方案。
19
+ 如果外部環境允許使用 subagents,建議通過subagents完成對代碼的深度閱讀。
50
20
 
51
- ## 參考資料索引
21
+ ### 2. 修復發現的問題
52
22
 
53
- - `review-spec-related-changes`:驗證修復後仍符合 spec / plan
54
- - `review-change-set`:修復後的 code-affecting 差異重審
55
- - `systematic-debug`:修復過程中遇到不明測試或 runtime 問題時使用
56
- - `discover-security-issues`:清理安全 finding 時的 scoped proof
57
- - `discover-edge-cases`:清理 edge-case / hardening finding 時的 scoped proof
58
- - `commit-and-push`:使用者要求提交或推送時的最終交付流程
23
+ 按照 code review report之中的嚴重度排序,從最高嚴重度的問題開始建議方案修復。
@@ -20,7 +20,7 @@ description: >-
20
20
 
21
21
  ## 工作流程
22
22
 
23
- 1. 先定位本次規劃目錄;使用者明確給出路徑時優先使用,否則結合 `coordination.md` 或 `recover-missing-plan` 找到正確 plan 集,並整理相關需求編號用於追蹤。
23
+ 1. 先定位本次規劃目錄;使用者明確給出路徑時優先使用,否則結合 `coordination.md` 找到正確 plan 集,並整理相關需求編號用於追蹤。
24
24
  2. 執行 `apltk architecture --help` 取得最新命令形態,然後按 `spec.md`、`design.md`、`contract.md`、`coordination.md` 的順序讀取內容,確定哪些功能、子模組、邊、變數或錯誤語義會發生變化。
25
25
  3. 先只列出受影響功能,不要提前把所有原始碼塞進主 agent。除了直接變更的功能,也要納入跨功能邊另一端的功能,確保 overlay 中的跨邊界關係完整。
26
26
  4. 為每個受影響功能派發一個可寫子 agent。每個子 agent 只負責自己功能內的 overlay 寫入:子模組、函式、變數、資料流、錯誤,以及功能內邊;若規劃領先於程式碼,則在角色、用途或資料流文案中明確標註 `planned`、`gap` 或 `TBD`。
@@ -37,6 +37,6 @@ description: >-
37
37
 
38
38
  - `init-project-html/SKILL.md`:基礎語義規則、邊類型與子模組表達約束。
39
39
  - `references/TEMPLATE_SPEC.md`:overlay 模式下的欄位、列舉與 diff 配對規則速查表。
40
- - `recover-missing-plan`:當 plan 路徑缺失或不明確時用於恢復正確 spec 集。
40
+
41
41
  - `generate-spec`、`implement-specs*`:需求編號和規劃流程的上游來源。
42
42
  - `apltk architecture --help`:`--spec` 模式命令與參數的唯一真源。
@@ -5,23 +5,7 @@ description: >-
5
5
  專案文件、`AGENTS.md` / `CLAUDE.md` 與已完成的 planning artifacts 是否都已更新到可提交狀態。
6
6
  ---
7
7
 
8
- # 提交前就緒檢查
9
-
10
- ## Dependencies
11
-
12
- - Required: `align-project-documents`、`maintain-project-constraints`
13
- - Conditional: `archive-specs`
14
- - Optional: 無
15
- - Fallback: 若必需技能不可用,或明確需要 spec 歸檔但 `archive-specs` 不可用,必須停止並回報,不得給出虛假的 ready verdict
16
-
17
- ## Standards
18
-
19
- - Evidence: 以實際 git diff、staged set、planning artifacts、`CHANGELOG.md` 與現有專案文件作為就緒判斷依據
20
- - Execution: 先確認下游提交類型,再處理 spec 歸檔、文件同步與 changelog,最後才給出 ready 或 blocking verdict
21
- - Quality: 所有命中的條件 gate 都必須真正完成;不能把 stale changelog、未同步文件或仍活躍的 plan set 當成小問題略過
22
- - Output: 回傳清楚的可提交判定,列出已同步項目與仍阻塞下游提交流程的問題
23
-
24
- ## 技能目標
8
+ ## 目標
25
9
 
26
10
  在任何提交、推送、開 PR 或發版前,先把 repository 的外部說明、內部約束與 planning artifacts 同步到一致狀態,避免把未整理完成的變更交給下一個提交流程。
27
11
 
@@ -42,13 +26,13 @@ description: >-
42
26
  5. 檢查 `CHANGELOG.md`:對 commit / PR 流程,要讓 `Unreleased` 精準反映這次待提交內容,同時保留其他未出貨工作;對 release 流程,`Unreleased` 必須非空且已整理成可直接切版的 release notes
43
27
  6. 彙整哪些項目已同步、哪些仍阻塞;若還有未完成的 gate,明確回報 blocking item,而不是把責任留給下一個技能
44
28
 
45
- ## 使用範例
29
+ ## 範例
46
30
 
47
31
  - 「準備提交這批變更」-> 檢查是否有未同步 changelog、文件與已完成但尚未歸檔的 spec
48
32
  - 「準備開 PR」-> 確保 `Unreleased` 反映當前 PR 範圍,並把 `AGENTS.md` / `CLAUDE.md` 與 docs 同步好
49
33
  - 「準備發版」-> 確保 `Unreleased` 非空且可直接作為 release notes,並先完成任何必要的 spec 歸檔與文件標準化
50
34
 
51
- ## 參考資料索引
35
+ ## 參考資料
52
36
 
53
37
  - `align-project-documents`:同步 `docs/features/`、`docs/architecture/`、`docs/principles/`
54
38
  - `maintain-project-constraints`:同步 `AGENTS.md` / `CLAUDE.md`
@@ -10,7 +10,7 @@ description: >-
10
10
  ## Dependencies
11
11
 
12
12
  - Required: 無
13
- - Conditional: 視情況可搭配 `test-case-strategy`、`analyse-app-logs`、`scheduled-runtime-health-check`
13
+ - Conditional: 視情況可搭配 `test-case-strategy`、`analyse-app-logs`
14
14
  - Optional: 無
15
15
  - Fallback: 無
16
16
 
@@ -52,4 +52,4 @@ description: >-
52
52
 
53
53
  - `test-case-strategy`:需要補重現測試或 drift check 時使用
54
54
  - `analyse-app-logs`:問題主要來自應用日誌時使用
55
- - `scheduled-runtime-health-check`:需要有界執行與執行後分析時使用
55
+
@@ -10,7 +10,7 @@ description: >-
10
10
  ## Dependencies
11
11
 
12
12
  - Required: `commit-and-push`、`submission-readiness-check`
13
- - Conditional: `review-change-set`、`archive-specs`
13
+ - Conditional: `archive-specs`
14
14
  - Optional: 無
15
15
  - Fallback: 缺少必需技能時必須停止,不能憑印象手動補一個發版流程
16
16
 
@@ -29,14 +29,14 @@ description: >-
29
29
 
30
30
  - 已先確認這是明確的 release / semver 請求;若只是 commit 或 push,必須改走 `commit-and-push`
31
31
  - 在修改任何版本相關檔案前,已清楚說出 current -> next 版本與將建立的 tag 字串
32
- - `submission-readiness-check`、必要的 `review-change-set` `archive-specs` 都已完成,且 `CHANGELOG.md` 的 `Unreleased` 內容足以支撐本次發版
32
+ - `submission-readiness-check` 與必要的 `archive-specs` 都已完成,且 `CHANGELOG.md` 的 `Unreleased` 內容足以支撐本次發版
33
33
  - 最終已同步版本檔、發布說明、commit、tag、remote refs 與 GitHub Release;若使用者明確要求不發布 Release,需在結果中清楚註明
34
34
 
35
35
  ## 工作流程
36
36
 
37
37
  1. 先確認使用者是否真的要求 release、publish、tag、patch、minor、major 或其他明確 semver 動作;若沒有,改用 `commit-and-push`
38
38
  2. 檢查目前 git 狀態、版本檔、既有 tag、本地與remote是否已有同版本 tag,以及 GitHub 上是否已有同版本 Release,避免重複發版
39
- 3. 對 code-affecting 範圍先完成 `review-change-set`,再執行 `submission-readiness-check`;若它要求 `archive-specs` 或 changelog/文件同步,必須先完成
39
+ 3. 對 code-affecting 範圍執行 `submission-readiness-check`;若它要求 `archive-specs` 或 changelog/文件同步,必須先完成
40
40
  4. 根據版本檔、repo 歷史與使用者指示決定 current -> next 版本與 tag 格式;若語意不明,優先選較小 bump 並請使用者確認
41
41
  5. 一致更新所有版本入口,並把 `CHANGELOG.md` 的 `Unreleased` 移到新的版本區塊;release notes 只能來自整理過的 changelog 內容
42
42
  6. 建立 release commit 與 tag;若是 prerelease retarget,保留版本號不變,只把 tag / Release 移到新的 commit
@@ -1,19 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- ## [v0.2.1] - 2026-02-17
6
-
7
- ### Changed
8
- - Remove `submit-changes` skill dependency from no-diff release flow while keeping the PR workflow.
9
- - Update skill and README guidance to use direct git commit/push before opening a PR.
10
-
11
- ## [v0.2.0] - 2026-02-17
12
-
13
- ### Added
14
- - Add no-diff workflow guidance to scan the whole codebase for actionable edge cases.
15
- - Add release-flow guidance for no-diff fixes: create worktree, use `submit-changes`, and open a PR.
16
-
17
- ### Changed
18
- - Clarify scope selection logic: `git diff` path uses changed files only; no-diff path uses full-codebase scan.
19
- - Expand README examples to include a no-diff prompt and expected execution path.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 LaiTszKin
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,87 +0,0 @@
1
- # discover-edge-cases
2
-
3
- `discover-edge-cases` is a Codex skill for discovering reproducible edge-case risks and coverage gaps.
4
-
5
- ## Brief introduction
6
-
7
- This skill is discovery-oriented. It scans the current diff by default, or the full codebase
8
- when there is no diff, then validates the highest-risk edge cases with concrete evidence.
9
- It does not write tests, patch code, or open PRs.
10
-
11
- It follows a strict workflow:
12
- 1. Detect whether `git diff` exists.
13
- 2. Inspect only changed files plus minimal dependencies, or perform a full-project scan when no diff exists.
14
- 3. Run `discover-security-issues` as an adversarial dependency for code-affecting scope.
15
- 4. Probe the highest-risk edge cases and gather concrete evidence.
16
- 5. Reproduce confirmed issues at least twice and check nearby variants.
17
- 6. Prioritize confirmed findings and report hardening guidance only.
18
-
19
- ## When to use
20
-
21
- Use this skill when a task asks you to:
22
- - find edge-case risks in a diff or codebase,
23
- - validate unusual inputs and error paths,
24
- - assess hardening gaps around null/empty/boundary handling,
25
- - review retries, timeouts, degradation paths, or stateful failure modes.
26
-
27
- ## Core principles
28
-
29
- - Scope is `git diff` plus the minimal dependency chain by default.
30
- - If `git diff` is empty, run a full-codebase scan focused on high-risk modules.
31
- - Treat prior authorship as irrelevant; even code written earlier in the same conversation must be challenged like third-party code.
32
- - Decisions must be evidence-based; speculative ideas stay marked as hypotheses.
33
- - Keep only reproducible findings with exact evidence.
34
- - Run `discover-security-issues` as a required adversarial cross-check for code-affecting scope.
35
- - Report recommended fixes and test ideas, but do not implement them in this skill.
36
-
37
- ## External API requirements
38
-
39
- When the selected scope involves external API calls, this skill requires checks for:
40
- - health/availability handling,
41
- - graceful handling of `429` and `500` responses,
42
- - actionable error logging (status code, request id, retry count, latency).
43
-
44
- ## Example
45
-
46
- Prompt example:
47
-
48
- ```text
49
- Please review this PR diff and find the 3 highest-risk edge cases.
50
- Validate null input, boundary timestamp, and API 429 retry behavior.
51
- Only report confirmed findings with reproduction evidence and suggested test coverage.
52
- ```
53
-
54
- Expected behavior:
55
- - only changed files and minimal dependency chain are investigated,
56
- - each finding includes reproducible evidence,
57
- - speculative ideas are separated from confirmed issues,
58
- - the output stays discovery-only with no code edits.
59
-
60
- No-diff prompt example:
61
-
62
- ```text
63
- There is no git diff in this repo. Scan the whole codebase for high-risk edge cases.
64
- If you find any actionable issues, reproduce them with evidence and report the highest-priority findings only.
65
- ```
66
-
67
- ## References
68
-
69
- - [`SKILL.md`](./SKILL.md) - full workflow and execution rules.
70
- - [`references/architecture-edge-cases.md`](./references/architecture-edge-cases.md) - cross-module/system-level edge-case checklist.
71
- - [`references/code-edge-cases.md`](./references/code-edge-cases.md) - code-level input, boundary, and error-path checklist.
72
-
73
- ## Repository structure
74
-
75
- ```text
76
- .
77
- ├── LICENSE
78
- ├── SKILL.md
79
- ├── README.md
80
- └── references
81
- ├── architecture-edge-cases.md
82
- └── code-edge-cases.md
83
- ```
84
-
85
- ## License
86
-
87
- MIT
@@ -1,32 +0,0 @@
1
- ---
2
- name: discover-edge-cases
3
- description: 審查代碼在邊界狀況時可能會出現的問題。當你需要進行代碼審查時,調用此技能
4
- ---
5
-
6
- ## 目標
7
-
8
- 審查代碼並輸出一份代碼邊界問題審查報告,僅保留可重現、可驗證的風險。報告需要按優先級列出問題標題、證據、重現方式、受影響不變式、風險評估、加固建議與剩餘不確定性。
9
-
10
- ## 驗收條件
11
-
12
- - 完整的代碼審查報告與建議修正。包括但不限於對代碼進行:資料完整性、靜默失敗、重試風暴、資源耗盡、部分提交/回滾失敗與跨模組傳播等審查結果。
13
-
14
- ## 工作流程
15
-
16
- ### 1. 深入閱讀相關代碼
17
-
18
- 通過用戶指引或目前git變更狀態,定義審查範圍。完整閱讀並閱讀相關代碼片段並理解代碼。重點關注常見邊界問題。
19
-
20
- ### 2. 報告整理及輸出
21
-
22
- 將發現的邊界問題按嚴重程度排序,並輸出一份完整的審查報告
23
-
24
- ## 使用範例
25
-
26
- - "幫我檢查這次 parser 改動有沒有邊界風險" -> "閱讀本次改動的相關代碼,檢查常見邊界問題是否存在,並輸出完整的驗證報告"
27
- - "看看這個支付狀態機還有哪些不容易被測到的問題" -> "優先檢查重試、部分提交、回滾、併發重入、順序依賴與可觀測性缺口。"
28
-
29
- ## 參考資料索引
30
-
31
- - `references/architecture-edge-cases.md`:常見系統級邊界情況清單,涵蓋併發、背壓、分散式一致性、超時取消、回滾與部署漂移。
32
- - `references/code-edge-cases.md`:常見代碼級邊界情況清單,涵蓋輸入、數值、排序、錯誤處理、狀態污染、安全驗證與性能上限。
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: "Discover Edge Cases"
3
- short_description: "Find reproducible edge-case risks with evidence-only reporting"
4
- default_prompt: "Use $discover-edge-cases to scan the current diff first (or the full codebase when there is no diff), discard any bias toward code written earlier in the conversation, run $discover-security-issues as an adversarial cross-check for code-affecting scope, identify the highest-risk reproducible edge-case findings, validate them with concrete evidence, prioritize the confirmed risks, and report hardening and test recommendations without modifying code."
@@ -1,41 +0,0 @@
1
- # Common Architecture-level Edge Cases (Reference List)
2
-
3
- ## How to use
4
- - Pick only 2-5 items directly related to the current change; avoid exhaustive scans.
5
- - If changes involve external dependencies/concurrency/scheduling/messaging, prioritize matching sections.
6
-
7
- ## Concurrency and synchronization
8
- - Race conditions: concurrent updates to the same resource cause overwrite/lost updates
9
- - Deadlock/livelock: inconsistent lock ordering, reentrant lock misuse, or busy-wait loops
10
- - Visibility/memory consistency: cross-thread state is not synchronized
11
- - Async task leaks: background tasks not cancelled or cleaned up
12
-
13
- ## Backpressure and resources
14
- - Backpressure failure: slow downstream causes upstream queue growth, OOM, or queue saturation
15
- - Resource starvation: high-priority tasks monopolize resources
16
- - Connection pool exhaustion: unreleased or delayed-release connections
17
- - File/socket leaks: exception paths skip close/release
18
-
19
- ## Distributed systems
20
- - Network partition/intermittent unreachable state: requires retry/degrade/isolation strategy
21
- - Retry storms: retry amplification under failure
22
- - Consistency gaps: stale reads or partial writes
23
- - Duplicate messages: at-least-once delivery causes duplicate processing
24
- - Message ordering: reordering/out-of-order events corrupt state
25
- - Clock skew: time-based ordering/expiration becomes incorrect
26
-
27
- ## Timeout and cancellation
28
- - Timeout not propagated: child tasks continue and consume resources
29
- - Non-reentrant cancellation: retry causes inconsistent state
30
- - Timeout boundary flapping: unstable behavior near timeout thresholds
31
-
32
- ## Error handling and rollback
33
- - Partial success: multi-step writes complete only partially
34
- - Rollback failure: compensation action fails and leaves inconsistent data
35
- - Swallowed exceptions: errors are neither surfaced nor logged
36
- - Missing idempotency: retries create duplicate side effects
37
-
38
- ## Deployment and versioning
39
- - Rolling upgrade mismatch: old/new versions run together with inconsistent behavior
40
- - Config drift: node configurations diverge
41
- - Hot reload instability: temporary unavailability or state loss during reload
@@ -1,46 +0,0 @@
1
- # Common Code-level Edge Cases (Reference List)
2
-
3
- ## How to use
4
- - Pick only 2-5 items directly related to the current change.
5
- - Prioritize observable failures and high-risk inputs.
6
-
7
- ## Input and typing
8
- - Null/missing fields: None/null, empty string, empty collection
9
- - Unexpected types: string-number mixing, boolean-integer confusion
10
- - Oversized input: long strings, large arrays, deeply nested objects
11
- - Encoding issues: UTF-8/non-ASCII, invisible characters
12
-
13
- ## Boundaries and numerics
14
- - Off-by-one: index 0/1 and length boundaries
15
- - Overflow/underflow: integer/timestamp boundaries
16
- - NaN/Inf: floating-point special values
17
- - Precision loss: money/ratio calculations
18
- - Negative values where invalid
19
-
20
- ## Structure and ordering
21
- - Duplicate elements: dedup/accumulation logic
22
- - Ordering assumptions: sorting stability, input-order dependence
23
- - Empty/singleton collections: reduce/min/max/avg behavior
24
- - Mutable/immutable mismatch: in-place mutation of input data
25
-
26
- ## Exceptions and error handling
27
- - Parsing failures: date/timezone, JSON, CSV
28
- - External dependency failures: 429/500/timeout
29
- - Swallowed errors: `except pass` or missing logs
30
- - Recovery strategy: retry count, backoff, degradation
31
-
32
- ## State and side effects
33
- - Reentrancy: same request invoked multiple times
34
- - Global state contamination: cache/singleton bleed-through
35
- - Mutable default parameters: Python list/dict defaults
36
- - Resource release: file/connection not closed
37
-
38
- ## Security and validation
39
- - Insufficient authorization behavior
40
- - Validation bypass via null/0/False
41
- - Path/injection risks from string concatenation
42
-
43
- ## Performance and limits
44
- - N+1 query patterns inside loops
45
- - Large-data stress: timeout/memory pressure
46
- - Hotspots: lock contention under high-frequency calls
@@ -1,32 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on Keep a Changelog and this project follows Semantic Versioning.
6
-
7
- ## [v0.0.3] - 2026-05-06
8
-
9
- ### Changed
10
- - Rename skill directory and identifier from `harden-app-security` to `discover-security-issues`; refresh `SKILL.md`, `README.md`, and agent display metadata to match discovery-only semantics.
11
-
12
- ## [v0.0.2] - 2026-03-11
13
-
14
- ### Changed
15
- - Reworked the skill into a single discovery-only workflow and removed interaction/auto mode selection.
16
- - Removed proactive remediation behavior from the core workflow (no direct patching or PR delivery).
17
- - Expanded module scope from agent/finance only to include a new `software-system` domain for common software and web vulnerabilities.
18
- - Updated skill metadata and README to reflect adversarial finding/reporting-only behavior.
19
-
20
- ### Added
21
- - Added `references/common-software-attack-catalog.md` covering SQL injection, XSS, CSRF, SSRF, path traversal, IDOR/BOLA, command injection, session/token risks, unsafe upload, and misconfiguration checks.
22
-
23
- ## [v0.0.1] - 2026-02-17
24
-
25
- ### Added
26
- - Documented explicit interaction and auto execution modes in the security hardening workflow.
27
- - Clarified handoff behavior for interaction mode and delivery expectations for auto mode.
28
-
29
- ### Changed
30
- - Removed mandatory `$submit-changes` dependency from auto-mode PR delivery.
31
- - Switched auto-mode delivery guidance to standard git push plus PR creation workflow (prefer `gh pr create`).
32
- - Updated agent interface metadata to reflect interaction-first execution behavior.
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 LaiTszKin
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,35 +0,0 @@
1
- # discover-security-issues
2
-
3
- Evidence-first, **discovery-only** adversarial security workflow across agent, financial, and general software surfaces.
4
-
5
- ## What this skill provides
6
-
7
- - Reproduce exploitable behavior with payloads, requests, and `path:line` proof—**no patches or PRs**.
8
- - Modules: `agent-system`, `financial-program`, `software-system`, and `combined` (cross-boundary chains).
9
- - Catalog-driven scenarios (SQLi, XSS, CSRF, SSRF, IDOR, prompt injection, money-path races, …).
10
- - Prioritized reporting plus advisory hardening notes and residual risk.
11
-
12
- ## Layout
13
-
14
- - `SKILL.md` — workflow, modules, output shape.
15
- - `agents/openai.yaml` — metadata and default prompt.
16
- - `references/*` — attack catalogs and optional test-pattern snippets.
17
-
18
- ## Typical use
19
-
20
- 1. Pick module(s) and trust boundaries.
21
- 2. Walk selected reference catalogs; record only **double-reproduced** issues.
22
- 3. Prioritize and report; stop before implementation—hand off confirmed findings if fixes are needed.
23
-
24
- ## Example
25
-
26
- ```text
27
- Use $discover-security-issues in discovery-only mode.
28
- Module: combined (agent-system + software-system).
29
- Focus: prompt injection to privileged tools, SQL injection, IDOR.
30
- Deliver severity-ordered findings with exploit steps and path:line evidence.
31
- ```
32
-
33
- ## License
34
-
35
- MIT. See [LICENSE](LICENSE).