@laitszkin/apollo-toolkit 3.12.0 → 3.13.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.
- package/AGENTS.md +6 -6
- package/CHANGELOG.md +18 -1
- package/README.md +9 -10
- package/analyse-app-logs/scripts/__pycache__/filter_logs_by_time.cpython-312.pyc +0 -0
- package/analyse-app-logs/scripts/__pycache__/log_cli_utils.cpython-312.pyc +0 -0
- package/analyse-app-logs/scripts/__pycache__/search_logs.cpython-312.pyc +0 -0
- package/archive-specs/SKILL.md +0 -6
- package/commit-and-push/SKILL.md +4 -12
- package/docs-to-voice/scripts/__pycache__/docs_to_voice.cpython-312.pyc +0 -0
- package/enhance-existing-features/SKILL.md +21 -37
- package/generate-spec/SKILL.md +32 -17
- package/generate-spec/references/definition.md +12 -0
- package/generate-spec/scripts/__pycache__/create-specscpython-312.pyc +0 -0
- package/init-project-html/SKILL.md +19 -25
- package/init-project-html/references/definition.md +12 -0
- package/katex/scripts/__pycache__/render_katex.cpython-312.pyc +0 -0
- package/maintain-project-constraints/SKILL.md +13 -25
- package/merge-changes-from-local-branches/SKILL.md +13 -37
- package/open-github-issue/scripts/__pycache__/open_github_issue.cpython-312.pyc +0 -0
- package/open-source-pr-workflow/SKILL.md +4 -7
- package/optimise-skill/SKILL.md +8 -8
- package/optimise-skill/references/definition.md +1 -0
- package/optimise-skill/references/example_skill.md +8 -8
- package/package.json +1 -1
- package/read-github-issue/scripts/__pycache__/find_issues.cpython-312.pyc +0 -0
- package/read-github-issue/scripts/__pycache__/read_issue.cpython-312.pyc +0 -0
- package/resolve-review-comments/scripts/__pycache__/review_threads.cpython-312.pyc +0 -0
- package/review-spec-related-changes/SKILL.md +30 -38
- package/ship-github-issue-fix/SKILL.md +2 -2
- package/solve-issues-found-during-review/SKILL.md +8 -43
- package/systematic-debug/SKILL.md +12 -39
- package/test-case-strategy/SKILL.md +10 -37
- package/text-to-short-video/scripts/__pycache__/enforce_video_aspect_ratio.cpython-312.pyc +0 -0
- package/update-project-html/SKILL.md +19 -24
- package/update-project-html/references/definition.md +12 -0
- package/version-release/SKILL.md +16 -37
- package/discover-edge-cases/CHANGELOG.md +0 -19
- package/discover-edge-cases/LICENSE +0 -21
- package/discover-edge-cases/README.md +0 -87
- package/discover-edge-cases/SKILL.md +0 -32
- package/discover-edge-cases/agents/openai.yaml +0 -4
- package/discover-edge-cases/references/architecture-edge-cases.md +0 -41
- package/discover-edge-cases/references/code-edge-cases.md +0 -46
- package/discover-security-issues/CHANGELOG.md +0 -32
- package/discover-security-issues/LICENSE +0 -21
- package/discover-security-issues/README.md +0 -35
- package/discover-security-issues/SKILL.md +0 -54
- package/discover-security-issues/agents/openai.yaml +0 -4
- package/discover-security-issues/references/agent-attack-catalog.md +0 -117
- package/discover-security-issues/references/common-software-attack-catalog.md +0 -168
- package/discover-security-issues/references/red-team-extreme-scenarios.md +0 -81
- package/discover-security-issues/references/risk-checklist.md +0 -78
- package/discover-security-issues/references/security-test-patterns-agent.md +0 -101
- package/discover-security-issues/references/security-test-patterns-finance.md +0 -88
- package/discover-security-issues/references/test-snippets.md +0 -73
- package/iterative-code-performance/LICENSE +0 -21
- package/iterative-code-performance/README.md +0 -34
- package/iterative-code-performance/SKILL.md +0 -116
- package/iterative-code-performance/agents/openai.yaml +0 -4
- package/iterative-code-performance/references/algorithmic-complexity.md +0 -58
- package/iterative-code-performance/references/allocation-and-hot-loops.md +0 -53
- package/iterative-code-performance/references/caching-and-memoization.md +0 -64
- package/iterative-code-performance/references/concurrency-and-pipelines.md +0 -61
- package/iterative-code-performance/references/coupled-hot-path-strategy.md +0 -78
- package/iterative-code-performance/references/io-batching-and-queries.md +0 -55
- package/iterative-code-performance/references/iteration-gates.md +0 -133
- package/iterative-code-performance/references/job-selection.md +0 -92
- package/iterative-code-performance/references/measurement-and-benchmarking.md +0 -78
- package/iterative-code-performance/references/module-coverage.md +0 -133
- package/iterative-code-performance/references/repository-scan.md +0 -69
- package/iterative-code-quality/LICENSE +0 -21
- package/iterative-code-quality/README.md +0 -45
- package/iterative-code-quality/SKILL.md +0 -112
- package/iterative-code-quality/agents/openai.yaml +0 -4
- package/iterative-code-quality/references/coupled-core-file-strategy.md +0 -73
- package/iterative-code-quality/references/iteration-gates.md +0 -127
- package/iterative-code-quality/references/job-selection.md +0 -78
- package/iterative-code-quality/references/logging-alignment.md +0 -67
- package/iterative-code-quality/references/module-boundaries.md +0 -83
- package/iterative-code-quality/references/module-coverage.md +0 -126
- package/iterative-code-quality/references/naming-and-simplification.md +0 -73
- package/iterative-code-quality/references/repository-scan.md +0 -65
- package/iterative-code-quality/references/testing-strategy.md +0 -95
- package/merge-conflict-resolver/SKILL.md +0 -46
- package/merge-conflict-resolver/agents/openai.yaml +0 -5
- package/recover-missing-plan/SKILL.md +0 -85
- package/recover-missing-plan/agents/openai.yaml +0 -4
- package/review-change-set/LICENSE +0 -21
- package/review-change-set/README.md +0 -55
- package/review-change-set/SKILL.md +0 -46
- package/review-change-set/agents/openai.yaml +0 -4
- package/review-codebases/LICENSE +0 -21
- package/review-codebases/README.md +0 -69
- package/review-codebases/SKILL.md +0 -46
- package/review-codebases/agents/openai.yaml +0 -4
- package/scheduled-runtime-health-check/LICENSE +0 -21
- package/scheduled-runtime-health-check/README.md +0 -107
- package/scheduled-runtime-health-check/SKILL.md +0 -135
- package/scheduled-runtime-health-check/agents/openai.yaml +0 -4
- package/scheduled-runtime-health-check/references/output-format.md +0 -20
- package/spec-to-project-html/SKILL.md +0 -42
- package/spec-to-project-html/agents/openai.yaml +0 -11
- package/spec-to-project-html/references/TEMPLATE_SPEC.md +0 -113
- package/submission-readiness-check/SKILL.md +0 -55
- package/submission-readiness-check/agents/openai.yaml +0 -4
package/optimise-skill/SKILL.md
CHANGED
|
@@ -12,19 +12,19 @@ description: Use prompt engineering to optimise agent skill. Use it when you nee
|
|
|
12
12
|
|
|
13
13
|
## 工作流程
|
|
14
14
|
|
|
15
|
-
1. 識別交付物
|
|
15
|
+
### 1. 識別交付物
|
|
16
16
|
完整閱讀整個技能的 `SKILL.md` 文檔,以及其引用的所有額檔案,包括但不限於 `references/` , `scripts/` 。基於獲取到的技能上下文資訊,總結出該技能的最終交付產物。
|
|
17
17
|
|
|
18
|
-
2. 制定驗收條件
|
|
18
|
+
### 2. 制定驗收條件
|
|
19
19
|
制定驗收條件,從而確保LLM能夠穩定、可復現地按照驗收條件產出符合要求高質量最終交付物
|
|
20
20
|
|
|
21
|
-
3. 重寫技能
|
|
21
|
+
### 3. 重寫技能
|
|
22
22
|
將整個技能的 `SKILL.md` 重寫。重寫後的技能應該只包含以下幾個關鍵組成部分:
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
23
|
+
- 目標
|
|
24
|
+
- 驗收條件
|
|
25
|
+
- 工作流程
|
|
26
|
+
- 範例
|
|
27
|
+
- 參考資料
|
|
28
28
|
對於技能有幫助的內但不符合上述技能架構規範,則應該被分類放置在 `references/` 下的markdown檔案。
|
|
29
29
|
|
|
30
30
|
## 範例
|
|
@@ -12,19 +12,19 @@ description: Use prompt engineering to optimise agent skill. Use it when you nee
|
|
|
12
12
|
|
|
13
13
|
## 工作流程
|
|
14
14
|
|
|
15
|
-
1. 識別交付物
|
|
15
|
+
### 1. 識別交付物
|
|
16
16
|
完整閱讀整個技能的 `SKILL.md` 文檔,以及其引用的所有額檔案,包括但不限於 `references/` , `scripts/` 。基於獲取到的技能上下文資訊,總結出該技能的最終交付產物。
|
|
17
17
|
|
|
18
|
-
2. 制定驗收條件
|
|
18
|
+
### 2. 制定驗收條件
|
|
19
19
|
制定驗收條件,從而確保LLM能夠穩定、可復現地按照驗收條件產出符合要求高質量最終交付物
|
|
20
20
|
|
|
21
|
-
3. 重寫技能
|
|
21
|
+
### 3. 重寫技能
|
|
22
22
|
將整個技能的 `SKILL.md` 重寫。重寫後的技能應該只包含以下幾個關鍵組成部分:
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
23
|
+
- 目標
|
|
24
|
+
- 驗收條件
|
|
25
|
+
- 工作流程
|
|
26
|
+
- 範例
|
|
27
|
+
- 參考資料
|
|
28
28
|
對於技能有幫助的內但不符合上述技能架構規範,則應該被分類放置在 `references/` 下的markdown檔案。
|
|
29
29
|
|
|
30
30
|
## 範例
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
-
|
|
7
|
+
|
|
8
|
+
輸出一份 spec 相關變更審查報告,先回答「這次變更是否真的滿足規劃中的業務要求」,再補充邊界、安全與代碼審查發現。每條關鍵需求需給出可追溯的狀態判定、證據來源、缺口說明與剩餘不確定性;不負責修改代碼或更新規劃文件。
|
|
9
9
|
|
|
10
10
|
## 驗收條件
|
|
11
|
-
|
|
12
|
-
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
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`,
|
|
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
|
-
|
|
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
|
-
|
|
8
|
+
遵照 code review report 之中的建議方案,逐一將所有發現的代碼問題修正。
|
|
27
9
|
|
|
28
10
|
## 驗收條件
|
|
29
11
|
|
|
30
|
-
-
|
|
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.
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
- 「reviewer 指的路徑現在不存在」-> 記錄檢查過的 commit 與路徑,若無法重現則標成 `Could not reproduce`,而不是虛構一個修復
|
|
18
|
+
完整閱讀 code review report,並深入閱讀相關受影響代碼,理解建議修復方案。
|
|
19
|
+
如果外部環境允許使用 subagents,建議通過subagents完成對代碼的深度閱讀。
|
|
50
20
|
|
|
51
|
-
|
|
21
|
+
### 2. 修復發現的問題
|
|
52
22
|
|
|
53
|
-
|
|
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 之中的嚴重度排序,從最高嚴重度的問題開始建議方案修復。
|
|
@@ -1,55 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: systematic-debug
|
|
3
|
-
description:
|
|
4
|
-
用於系統化排查程式問題。先釐清預期與實際行為,再對所有合理原因做可重現驗證,
|
|
5
|
-
找出真正根因並以最小修復完成驗證;凡是出現 observed-vs-expected mismatch 都應優先使用。
|
|
3
|
+
description: 當你需要系統性排查用戶指出的非預期行為時,調用這個技能。
|
|
6
4
|
---
|
|
7
5
|
|
|
8
|
-
# 系統化除錯
|
|
9
|
-
|
|
10
|
-
## Dependencies
|
|
11
|
-
|
|
12
|
-
- Required: 無
|
|
13
|
-
- Conditional: 視情況可搭配 `test-case-strategy`、`analyse-app-logs`、`scheduled-runtime-health-check`
|
|
14
|
-
- Optional: 無
|
|
15
|
-
- Fallback: 無
|
|
16
|
-
|
|
17
|
-
## Standards
|
|
18
|
-
|
|
19
|
-
- Evidence: 先收集預期與實際行為、程式碼路徑、測試輸出與單一可信 runtime artifact,再判斷原因
|
|
20
|
-
- Execution: 為每個合理假設建立可重現證據,定位最後一個成功階段,再區分工具鏈、測試契約、測試隔離與產品邏輯問題
|
|
21
|
-
- Quality: 修復只針對真實根因;不能重現的假設必須明確排除;不得混用不同執行批次的證據
|
|
22
|
-
- Output: 產出根因候選、重現方式、最終分類、最小修復、驗證結果,以及在 runtime 問題中使用的 canonical evidence
|
|
23
|
-
|
|
24
6
|
## 技能目標
|
|
25
7
|
|
|
26
|
-
|
|
8
|
+
用流程化的方式重現用戶發現的非預期行為,並通過回歸測試避免該問題再次出現。
|
|
27
9
|
|
|
28
10
|
## 驗收條件
|
|
29
11
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- 已區分問題屬於工具鏈 / 平台、測試契約過期、測試干擾、流程編排,還是真正的產品邏輯缺陷
|
|
33
|
-
- 最終修復是最小且聚焦的,並由失敗後轉成功的測試或 bounded rerun 證明有效
|
|
12
|
+
- 非預期行為被修復。
|
|
13
|
+
- 相關回歸測試被建立。
|
|
34
14
|
|
|
35
15
|
## 工作流程
|
|
36
16
|
|
|
37
|
-
1.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
4. 若失敗只在平行執行、共享 shell-out、共享暫存路徑或舊報告路徑下出現,先調查測試隔離、共享狀態與 artifact routing 問題
|
|
41
|
-
5. 用重現證據確認真正根因,並明確排除非原因;若測試失敗其實來自 stale assertion 或 fixture drift,先修正測試契約,不要反向削弱產品行為
|
|
42
|
-
6. 實作最小修復並反覆驗證,直到所有重現案例、相關測試或 bounded rerun 都通過
|
|
43
|
-
7. 向使用者回報根因清單、最終分類、修復摘要、驗證結果,以及任何仍受限於執行環境或資料品質的部分
|
|
17
|
+
### 1. 分析問題
|
|
18
|
+
|
|
19
|
+
按照用戶給出的資訊,結合相關代碼實作片段閱讀,排查可能導致問題的原因。
|
|
44
20
|
|
|
45
|
-
|
|
21
|
+
### 2. 滲透測試
|
|
46
22
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- 「bounded run 幾乎沒有事件發生」-> 先沿著 lifecycle funnel 判斷停在哪個階段,再確認是 profile 過度破壞、編排錯誤,還是實際業務邏輯問題
|
|
23
|
+
整理所有可能導致問題的原因,撰寫測試案例嘗試重現該問題。
|
|
24
|
+
如果你發現所有你構思的可能性均無法重現該非預期行為,你需要重新構思,直至該非預期行為被測試有效重現。
|
|
50
25
|
|
|
51
|
-
|
|
26
|
+
### 3. 修復代碼
|
|
52
27
|
|
|
53
|
-
|
|
54
|
-
- `analyse-app-logs`:問題主要來自應用日誌時使用
|
|
55
|
-
- `scheduled-runtime-health-check`:需要有界執行與執行後分析時使用
|
|
28
|
+
對代碼進行修復,直至重現測試全數通過。
|
|
@@ -1,56 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test-case-strategy
|
|
3
|
-
description:
|
|
4
|
-
為實作工作選擇最小且足夠的測試組合。當 spec、功能開發、功能增強、重構或 bug 修復
|
|
5
|
-
需要明確決定單元、回歸、property、integration、E2E、對抗性測試或 drift check 時使用。
|
|
3
|
+
description: 當你需要設計測試策略時,調用這個技能。
|
|
6
4
|
---
|
|
7
5
|
|
|
8
|
-
# 測試案例策略
|
|
9
|
-
|
|
10
|
-
## Dependencies
|
|
11
|
-
|
|
12
|
-
- Required: 無
|
|
13
|
-
- Conditional: 無
|
|
14
|
-
- Optional: 無
|
|
15
|
-
- Fallback: 無
|
|
16
|
-
|
|
17
|
-
## Standards
|
|
18
|
-
|
|
19
|
-
- Evidence: 只根據需求、風險、受影響模組、依賴形態與現有覆蓋情況選擇測試,不為了湊數加測試
|
|
20
|
-
- Execution: 先盤點風險與 oracle,再選最小可證明風險的測試層級,必要時才升級到更重的測試
|
|
21
|
-
- Quality: 每個測試都要有可重現、可驗證的明確 oracle,而不是從新寫出的實作反推
|
|
22
|
-
- Output: 產出可直接執行的測試決策,包含測試 ID、目標、層級、oracle、fixture/mock 策略、驗證命令與 `N/A` 理由
|
|
23
|
-
|
|
24
6
|
## 技能目標
|
|
25
7
|
|
|
26
|
-
|
|
8
|
+
基於當前需求,規劃完整的測試策略。
|
|
27
9
|
|
|
28
10
|
## 驗收條件
|
|
29
11
|
|
|
30
|
-
-
|
|
31
|
-
- 每個測試決策都選擇了最小但足以證明風險的測試層級,而不是預設往大測試堆
|
|
32
|
-
- 每個測試都有明確 oracle、fixture 或 mock 策略,以及可執行的驗證方式
|
|
33
|
-
- 若某種測試層級不適用,已留下具體 `N/A` 理由而非含糊跳過
|
|
12
|
+
- 所有需求及實作任務存在關鍵性驗證測試
|
|
34
13
|
|
|
35
14
|
## 工作流程
|
|
36
15
|
|
|
37
|
-
1.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
4. 在實作前先定義 oracle,來源只能是 `spec.md`、`design.md`、`contract.md`、官方文件或既有正確行為,不能從新實作反推
|
|
41
|
-
5. 對每個非平凡原子任務補上 unit drift check;若做不到,必須記錄最小替代檢查與具體原因
|
|
42
|
-
6. 用統一格式記錄測試決策,讓後續技能可以直接執行與驗證
|
|
16
|
+
### 1. 理解用戶需求並閱讀相關代碼
|
|
17
|
+
|
|
18
|
+
理解用戶需求。同時,閱讀相關代碼實作,了解可用測試方式。
|
|
43
19
|
|
|
44
|
-
|
|
20
|
+
### 2. 設計測試策略
|
|
45
21
|
|
|
46
|
-
|
|
47
|
-
- 「新增排序與去重邏輯」-> 使用 property-based tests 驗證單調性、資料保留與重播不變量
|
|
48
|
-
- 「改動 repository、service 與 API handler 的協作」-> 使用 integration tests 驗證跨模組資料流與錯誤處理
|
|
49
|
-
- 「高價值結帳流程可能被權限與狀態機影響」-> 僅在 unit / integration 不足以證明風險時才加最小 E2E
|
|
22
|
+
閱讀相關參考資料,了解在不同場景下常見的測試策略,並由此設計用戶需求及實作任務的驗證測試。
|
|
50
23
|
|
|
51
|
-
##
|
|
24
|
+
## 參考資料
|
|
52
25
|
|
|
53
26
|
- `references/unit-tests.md`:單元測試與 drift check 設計
|
|
54
27
|
- `references/property-based-tests.md`:property tests 的選擇與 oracle 設計
|
|
55
28
|
- `references/integration-tests.md`:整合測試與外部狀態場景設計
|
|
56
|
-
- `references/e2e-tests.md`:E2E 決策與替代規則
|
|
29
|
+
- `references/e2e-tests.md`:E2E 決策與替代規則
|
|
Binary file
|
|
@@ -1,40 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: update-project-html
|
|
3
|
-
description:
|
|
4
|
-
使用 `apltk architecture` 按真實程式碼 diff 刷新基礎專案 HTML 架構圖譜。先確定 diff 範圍並過濾出真正影響執行時行為的變更,再按受影響功能分派可寫子 agent 處理功能內更新;主 agent 必須等待全部子 agent 完成後,才能補跨功能邊並執行 `render` 與 `validate`。該技能只更新基礎 atlas,不使用 `--spec`。
|
|
3
|
+
description: 當你發現項目架構圖過時,與實際代碼實作脫節,需要更新時,調用這個技能。
|
|
5
4
|
---
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
## 技能目標
|
|
6
|
+
## 目標
|
|
10
7
|
|
|
11
8
|
根據目前分支、工作區或指定提交範圍內的真實程式碼變更,增量刷新 `resources/project-architecture/` 下的基礎 atlas 與渲染 HTML,使圖譜持續和實際程式碼保持一致。
|
|
12
9
|
|
|
13
10
|
## 驗收條件
|
|
14
11
|
|
|
15
|
-
-
|
|
16
|
-
- 在讀取原始碼前就明確本次 diff 範圍,並在報告中保留所執行的原始命令;過濾掉純文件、靜態資源、鎖檔、生成物和純格式化變更,同時記錄被跳過的類別與原因。
|
|
17
|
-
- 選定範圍內每個真正影響行為的 hunk,都要麼體現在功能內元件更新或跨功能邊變化上,要麼在交付報告中明確標註「對圖譜無影響」及原因。
|
|
18
|
-
- 按「每個受影響功能一個可寫子 agent」執行;主 agent 必須等全部子 agent 完成後,才允許修改跨功能 `edge`、共享 `meta` 或補充跨功能上下文。
|
|
19
|
-
- 更新後的圖譜繼續滿足 `init-project-html` 的語義要求,且 `apltk architecture validate` 通過。
|
|
12
|
+
- 所有架構圖已經貼合最新的代碼實作狀態。
|
|
20
13
|
|
|
21
14
|
## 工作流程
|
|
22
15
|
|
|
23
|
-
1.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
### 1. 查看現有架構圖
|
|
17
|
+
|
|
18
|
+
閱讀現有架構圖,整理當前功能模塊之間的關係、子模塊之間的關係等重要資訊。
|
|
19
|
+
|
|
20
|
+
### 2. 對照代碼庫及當前架構圖
|
|
21
|
+
|
|
22
|
+
閱讀當前 repo,驗證當前架構圖是否存在錯誤、遺漏。
|
|
23
|
+
如果外部環境允許使用 subagents,建議通過調度 subagents 完成代碼與架構圖的對照任務。
|
|
29
24
|
|
|
30
|
-
|
|
25
|
+
### 3. 通過 `apltk` cli 工具更新當前架構圖
|
|
31
26
|
|
|
32
|
-
|
|
33
|
-
-
|
|
27
|
+
使用 `apltk` cli工具,協助完成整個架構圖的更新,確保架構圖完全描述了:
|
|
28
|
+
- 功能模塊之間的關係
|
|
29
|
+
- 子模塊之間的關係
|
|
30
|
+
- 項目資料庫、錯誤處理
|
|
34
31
|
|
|
35
|
-
##
|
|
32
|
+
## 參考資料
|
|
36
33
|
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
39
|
-
- `README.md`:本技能的簡要用途說明。
|
|
40
|
-
- `apltk architecture --help`:命令、參數和子命令的唯一真源。
|
|
34
|
+
- `references/definition.md` - 功能模塊與子模塊的定義
|
|
35
|
+
- `apltk architecture --help` - cli 工具的指引
|
package/version-release/SKILL.md
CHANGED
|
@@ -1,53 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: version-release
|
|
3
|
-
description:
|
|
4
|
-
用於明確的 semver 發版流程。必須先完成 `commit-and-push` 共用 gate 與
|
|
5
|
-
`submission-readiness-check`,再決定版本、更新 changelog、建立 tag、推送並發布 GitHub Release。
|
|
3
|
+
description: 當你需要協助用戶完成版本發佈時,使用這個技能。
|
|
6
4
|
---
|
|
7
5
|
|
|
8
|
-
# 版本發佈
|
|
9
|
-
|
|
10
|
-
## Dependencies
|
|
11
|
-
|
|
12
|
-
- Required: `commit-and-push`、`submission-readiness-check`
|
|
13
|
-
- Conditional: `review-change-set`、`archive-specs`
|
|
14
|
-
- Optional: 無
|
|
15
|
-
- Fallback: 缺少必需技能時必須停止,不能憑印象手動補一個發版流程
|
|
16
|
-
|
|
17
|
-
## Standards
|
|
18
|
-
|
|
19
|
-
- Evidence: 以版本檔、`CHANGELOG.md`、本地/remote tag、既有 GitHub Release 與使用者明確的 bump 意圖作為依據
|
|
20
|
-
- Execution: 先確認這真的是 release 請求,再完成所有 gate,之後才更新版本、切 changelog、打 tag、推送與發布 Release
|
|
21
|
-
- Quality: 不猜版本、不重複發版、不用原始 diff 臨時拼 release notes;所有版本入口必須同步一致
|
|
22
|
-
- Output: 交付可驗證的版本發佈結果,包含版本號、tag、remote驗證與 GitHub Release URL
|
|
23
|
-
|
|
24
6
|
## 技能目標
|
|
25
7
|
|
|
26
|
-
|
|
8
|
+
幫用戶完成自動化版本發佈流程
|
|
27
9
|
|
|
28
10
|
## 驗收條件
|
|
29
11
|
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
- `submission-readiness-check`、必要的 `review-change-set` 與 `archive-specs` 都已完成,且 `CHANGELOG.md` 的 `Unreleased` 內容足以支撐本次發版
|
|
33
|
-
- 最終已同步版本檔、發布說明、commit、tag、remote refs 與 GitHub Release;若使用者明確要求不發布 Release,需在結果中清楚註明
|
|
12
|
+
- `CHANGELOG.md`, `docs/` 下所有項目文檔已經被同步到最新狀態
|
|
13
|
+
- Github release, Github version tag 被完成創建
|
|
34
14
|
|
|
35
15
|
## 工作流程
|
|
36
16
|
|
|
37
|
-
1.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
17
|
+
### 1. 檢查並確認 repo 狀態
|
|
18
|
+
|
|
19
|
+
閱讀目前的 repo 狀態。查看是否依然存在未提交變更。如有,使用 `commit-and-push` 技能將目前為提交的變更暫存並提交。推送到 remote。
|
|
20
|
+
|
|
21
|
+
### 2. 更新項目文檔狀態
|
|
22
|
+
|
|
23
|
+
完整閱讀上一次發佈版本至今的所有變更,並檢查文檔之中的表述是否存在錯誤或遺漏。如有,使用 `align-project-documents`, `maintain-project-constraints` 這兩個技能將所有項目文檔同步到最新狀態。
|
|
24
|
+
如果外部環境允許使用 subagents,建議通過調度subagents完成變更的逐行深度閱讀。
|
|
45
25
|
|
|
46
|
-
|
|
26
|
+
### 3. 發佈版本
|
|
47
27
|
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
28
|
+
確認所有文檔都已經被更新之後,更新 repo 的版本文件(如 pyproject.toml, cargo.toml)。
|
|
29
|
+
使用 `commit-and-push` 技能將所有變更提交並推送到 remote。
|
|
30
|
+
最後,將用戶要求的版本所對應的 version tag 推送到 remote 並建立 github release。
|
|
51
31
|
|
|
52
32
|
## 參考資料索引
|
|
53
33
|
|
|
@@ -56,4 +36,3 @@ description: >-
|
|
|
56
36
|
- `references/branch-naming.md`:分支命名慣例
|
|
57
37
|
- `references/changelog-writing.md`:`CHANGELOG.md` 與 `Unreleased` 維護規則
|
|
58
38
|
- `references/readme-writing.md`:README 只在必要時同步更新
|
|
59
|
-
- `commit-and-push`:共享的 git 檢查、提交與推送 discipline
|
|
@@ -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.
|