@fitlab-ai/agent-infra 0.6.4 → 0.7.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/README.md +63 -27
- package/README.zh-CN.md +61 -25
- package/bin/cli.ts +18 -6
- package/dist/bin/cli.js +20 -6
- package/dist/lib/cp.js +127 -0
- package/dist/lib/defaults.json +1 -0
- package/dist/lib/init.js +3 -0
- package/dist/lib/sandbox/clipboard/bridge.js +23 -4
- package/dist/lib/sandbox/clipboard/index.js +12 -3
- package/dist/lib/sandbox/commands/create.js +11 -2
- package/dist/lib/sandbox/commands/enter.js +29 -6
- package/dist/lib/sandbox/commands/list-running.js +108 -0
- package/dist/lib/sandbox/commands/ls.js +24 -45
- package/dist/lib/sandbox/commands/rebuild.js +15 -7
- package/dist/lib/sandbox/config.js +3 -0
- package/dist/lib/sandbox/index.js +6 -4
- package/dist/lib/sandbox/readme-scaffold.js +148 -0
- package/dist/lib/sandbox/runtimes/ai-tools.dockerfile +12 -6
- package/dist/lib/sandbox/runtimes/base.dockerfile +3 -3
- package/dist/lib/sandbox/tools.js +213 -8
- package/dist/lib/update.js +12 -1
- package/lib/cp.ts +177 -0
- package/lib/defaults.json +1 -0
- package/lib/init.ts +10 -0
- package/lib/sandbox/clipboard/bridge.ts +23 -4
- package/lib/sandbox/clipboard/index.ts +12 -3
- package/lib/sandbox/commands/create.ts +18 -2
- package/lib/sandbox/commands/enter.ts +48 -6
- package/lib/sandbox/commands/list-running.ts +135 -0
- package/lib/sandbox/commands/ls.ts +28 -49
- package/lib/sandbox/commands/rebuild.ts +24 -7
- package/lib/sandbox/config.ts +7 -0
- package/lib/sandbox/index.ts +6 -4
- package/lib/sandbox/readme-scaffold.ts +177 -0
- package/lib/sandbox/runtimes/ai-tools.dockerfile +12 -6
- package/lib/sandbox/runtimes/base.dockerfile +3 -3
- package/lib/sandbox/tools.ts +248 -9
- package/lib/update.ts +15 -1
- package/package.json +1 -1
- package/templates/.agents/QUICKSTART.en.md +1 -1
- package/templates/.agents/QUICKSTART.zh-CN.md +1 -1
- package/templates/.agents/README.en.md +79 -2
- package/templates/.agents/README.zh-CN.md +79 -2
- package/templates/.agents/rules/create-issue.en.md +1 -1
- package/templates/.agents/rules/create-issue.github.en.md +1 -1
- package/templates/.agents/rules/create-issue.github.zh-CN.md +1 -1
- package/templates/.agents/rules/create-issue.zh-CN.md +1 -1
- package/templates/.agents/rules/issue-sync.github.en.md +6 -5
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +6 -5
- package/templates/.agents/rules/milestone-inference.github.en.md +2 -2
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +2 -2
- package/templates/.agents/rules/no-mid-flow-questions.en.md +57 -0
- package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +57 -0
- package/templates/.agents/rules/pr-sync.github.en.md +4 -5
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +4 -5
- package/templates/.agents/rules/task-management.en.md +9 -6
- package/templates/.agents/rules/task-management.zh-CN.md +9 -6
- package/templates/.agents/rules/testing-discipline.en.md +2 -2
- package/templates/.agents/rules/testing-discipline.zh-CN.md +2 -2
- package/templates/.agents/scripts/validate-artifact.js +1 -1
- package/templates/.agents/skills/analyze-task/SKILL.en.md +16 -4
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +16 -4
- package/templates/.agents/skills/check-task/SKILL.en.md +43 -32
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +42 -31
- package/templates/.agents/skills/code-task/SKILL.en.md +117 -0
- package/templates/.agents/skills/{implement-task → code-task}/SKILL.zh-CN.md +51 -24
- package/templates/.agents/skills/{implement-task → code-task}/config/verify.en.json +4 -4
- package/templates/.agents/skills/{implement-task → code-task}/config/verify.zh-CN.json +4 -4
- package/templates/.agents/skills/{implement-task → code-task}/reference/branch-management.zh-CN.md +2 -2
- package/templates/.agents/skills/{implement-task/reference/implementation-rules.en.md → code-task/reference/code-rules.en.md} +6 -6
- package/templates/.agents/skills/{implement-task/reference/implementation-rules.zh-CN.md → code-task/reference/code-rules.zh-CN.md} +3 -3
- package/templates/.agents/skills/code-task/reference/dual-mode.en.md +69 -0
- package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +69 -0
- package/templates/.agents/skills/{refine-task/reference/fix-workflow.en.md → code-task/reference/fix-mode.en.md} +12 -12
- package/templates/.agents/skills/{refine-task/reference/fix-workflow.zh-CN.md → code-task/reference/fix-mode.zh-CN.md} +8 -8
- package/templates/.agents/skills/code-task/reference/output-template.en.md +20 -0
- package/templates/.agents/skills/code-task/reference/output-template.zh-CN.md +20 -0
- package/templates/.agents/skills/{implement-task → code-task}/reference/report-template.en.md +4 -4
- package/templates/.agents/skills/{implement-task → code-task}/reference/report-template.zh-CN.md +3 -3
- package/templates/.agents/skills/code-task/scripts/detect-mode.js +370 -0
- package/templates/.agents/skills/commit/SKILL.en.md +2 -2
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +10 -6
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +10 -6
- package/templates/.agents/skills/complete-task/SKILL.en.md +5 -3
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +5 -3
- package/templates/.agents/skills/create-pr/SKILL.en.md +17 -1
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +17 -1
- package/templates/.agents/skills/import-codescan/SKILL.en.md +1 -1
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-issue/SKILL.en.md +3 -3
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +3 -3
- package/templates/.agents/skills/plan-task/SKILL.en.md +4 -4
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/restore-task/SKILL.en.md +4 -3
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +4 -3
- package/templates/.agents/skills/review-analysis/SKILL.en.md +76 -0
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +102 -0
- package/templates/.agents/skills/review-analysis/config/verify.en.json +51 -0
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +51 -0
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +87 -0
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +87 -0
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +90 -0
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +91 -0
- package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +47 -0
- package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +47 -0
- package/templates/.agents/skills/{review-task → review-code}/SKILL.en.md +11 -9
- package/templates/.agents/skills/{review-task → review-code}/SKILL.zh-CN.md +15 -9
- package/templates/.agents/skills/{review-task → review-code}/config/verify.en.json +7 -5
- package/templates/.agents/skills/{review-task → review-code}/config/verify.zh-CN.json +6 -4
- package/templates/.agents/skills/{review-task → review-code}/reference/output-templates.en.md +21 -17
- package/templates/.agents/skills/{review-task → review-code}/reference/output-templates.zh-CN.md +19 -15
- package/templates/.agents/skills/{review-task → review-code}/reference/report-template.en.md +5 -6
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +91 -0
- package/templates/.agents/skills/review-code/reference/review-criteria.en.md +48 -0
- package/templates/.agents/skills/{review-task → review-code}/reference/review-criteria.zh-CN.md +10 -4
- package/templates/.agents/skills/review-plan/SKILL.en.md +76 -0
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +102 -0
- package/templates/.agents/skills/{refine-task → review-plan}/config/verify.en.json +14 -10
- package/templates/.agents/skills/{refine-task → review-plan}/config/verify.zh-CN.json +14 -10
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +87 -0
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +87 -0
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +90 -0
- package/templates/.agents/skills/{review-task → review-plan}/reference/report-template.zh-CN.md +3 -3
- package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +47 -0
- package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +47 -0
- package/templates/.agents/skills/test/SKILL.en.md +2 -2
- package/templates/.agents/skills/test/SKILL.zh-CN.md +13 -31
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +1 -0
- package/templates/.agents/templates/task.en.md +3 -3
- package/templates/.agents/templates/task.zh-CN.md +2 -2
- package/templates/.agents/workflows/bug-fix.en.yaml +126 -80
- package/templates/.agents/workflows/bug-fix.zh-CN.yaml +90 -44
- package/templates/.agents/workflows/feature-development.en.yaml +115 -70
- package/templates/.agents/workflows/feature-development.zh-CN.yaml +92 -47
- package/templates/.agents/workflows/refactoring.en.yaml +123 -78
- package/templates/.agents/workflows/refactoring.zh-CN.yaml +89 -44
- package/templates/.claude/commands/code-task.en.md +8 -0
- package/templates/.claude/commands/code-task.zh-CN.md +8 -0
- package/templates/.claude/commands/review-analysis.en.md +8 -0
- package/templates/.claude/commands/review-analysis.zh-CN.md +8 -0
- package/templates/.claude/commands/review-code.en.md +8 -0
- package/templates/.claude/commands/review-code.zh-CN.md +8 -0
- package/templates/.claude/commands/review-plan.en.md +8 -0
- package/templates/.claude/commands/review-plan.zh-CN.md +8 -0
- package/templates/.gemini/commands/_project_/archive-tasks.zh-CN.toml +1 -1
- package/templates/.gemini/commands/_project_/code-task.en.toml +8 -0
- package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +8 -0
- package/templates/.gemini/commands/_project_/init-labels.zh-CN.toml +1 -1
- package/templates/.gemini/commands/_project_/init-milestones.zh-CN.toml +1 -1
- package/templates/.gemini/commands/_project_/review-analysis.en.toml +8 -0
- package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +8 -0
- package/templates/.gemini/commands/_project_/review-code.en.toml +8 -0
- package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +8 -0
- package/templates/.gemini/commands/_project_/review-plan.en.toml +8 -0
- package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +8 -0
- package/templates/.opencode/commands/code-task.en.md +11 -0
- package/templates/.opencode/commands/code-task.zh-CN.md +11 -0
- package/templates/.opencode/commands/review-analysis.en.md +11 -0
- package/templates/.opencode/commands/review-analysis.zh-CN.md +11 -0
- package/templates/.opencode/commands/review-code.en.md +11 -0
- package/templates/.opencode/commands/review-code.zh-CN.md +11 -0
- package/templates/.opencode/commands/review-plan.en.md +11 -0
- package/templates/.opencode/commands/review-plan.zh-CN.md +11 -0
- package/templates/.agents/skills/implement-task/SKILL.en.md +0 -173
- package/templates/.agents/skills/implement-task/reference/output-template.en.md +0 -20
- package/templates/.agents/skills/implement-task/reference/output-template.zh-CN.md +0 -20
- package/templates/.agents/skills/refine-task/SKILL.en.md +0 -153
- package/templates/.agents/skills/refine-task/SKILL.zh-CN.md +0 -153
- package/templates/.agents/skills/refine-task/reference/report-template.en.md +0 -64
- package/templates/.agents/skills/refine-task/reference/report-template.zh-CN.md +0 -64
- package/templates/.agents/skills/review-task/reference/review-criteria.en.md +0 -42
- package/templates/.claude/commands/implement-task.en.md +0 -8
- package/templates/.claude/commands/implement-task.zh-CN.md +0 -8
- package/templates/.claude/commands/refine-task.en.md +0 -8
- package/templates/.claude/commands/refine-task.zh-CN.md +0 -8
- package/templates/.claude/commands/review-task.en.md +0 -8
- package/templates/.claude/commands/review-task.zh-CN.md +0 -8
- package/templates/.gemini/commands/_project_/implement-task.en.toml +0 -8
- package/templates/.gemini/commands/_project_/implement-task.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/refine-task.en.toml +0 -8
- package/templates/.gemini/commands/_project_/refine-task.zh-CN.toml +0 -8
- package/templates/.gemini/commands/_project_/review-task.en.toml +0 -8
- package/templates/.gemini/commands/_project_/review-task.zh-CN.toml +0 -8
- package/templates/.opencode/commands/implement-task.en.md +0 -11
- package/templates/.opencode/commands/implement-task.zh-CN.md +0 -11
- package/templates/.opencode/commands/refine-task.en.md +0 -11
- package/templates/.opencode/commands/refine-task.zh-CN.md +0 -11
- package/templates/.opencode/commands/review-task.en.md +0 -11
- package/templates/.opencode/commands/review-task.zh-CN.md +0 -11
- /package/templates/.agents/skills/{implement-task → code-task}/reference/branch-management.en.md +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"skill": "review-
|
|
2
|
+
"skill": "review-code",
|
|
3
3
|
"checks": {
|
|
4
4
|
"task-meta": {
|
|
5
5
|
"required_fields": [
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
"agent_infra_version",
|
|
13
13
|
"current_step",
|
|
14
14
|
"assigned_to"
|
|
15
|
-
]
|
|
15
|
+
],
|
|
16
|
+
"expected_step": "code-review"
|
|
16
17
|
},
|
|
17
18
|
"artifact": {
|
|
18
|
-
"file_pattern": "review.md|review-r{N}.md",
|
|
19
|
+
"file_pattern": "review-code.md|review-code-r{N}.md",
|
|
19
20
|
"required_sections": [
|
|
20
21
|
"审查摘要",
|
|
21
22
|
"问题清单",
|
|
@@ -26,7 +27,8 @@
|
|
|
26
27
|
],
|
|
27
28
|
"required_patterns": [
|
|
28
29
|
"^### 审查决定$",
|
|
29
|
-
"^\\$ "
|
|
30
|
+
"^\\$ ",
|
|
31
|
+
"^- \\*\\*总体结论\\*\\*[::]\\s*(?:通过|需要修改|拒绝|Approved|Changes Requested|Rejected)\\s*$"
|
|
30
32
|
],
|
|
31
33
|
"freshness_minutes": 30
|
|
32
34
|
},
|
package/templates/.agents/skills/{review-task → review-code}/reference/output-templates.en.md
RENAMED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Read this file before presenting the final review result to the user.
|
|
4
4
|
|
|
5
|
+
> This file describes the four **user reply** categories (Branches A/B/C/D) used in the "Inform User" step. It is **not** the value of the review-code artifact's `**Overall Verdict**:` field — that field is fixed to one of three canonical tokens (`Approved` / `Changes Requested` / `Rejected`, or zh-CN `通过` / `需要修改` / `拒绝`). Do not mix the two.
|
|
6
|
+
|
|
5
7
|
## Choose Exactly One Output Branch
|
|
6
8
|
|
|
7
9
|
Apply these rules in order (**note: env-blocked counts do not participate in selection**):
|
|
@@ -30,7 +32,7 @@ Next step - commit the code:
|
|
|
30
32
|
- Codex CLI: $commit
|
|
31
33
|
|
|
32
34
|
[When env-blocked > 0, append this final line:]
|
|
33
|
-
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /
|
|
35
|
+
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /code-task.
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
### Branch B: Approved with Findings
|
|
@@ -40,18 +42,18 @@ Task {task-id} review completed. Verdict: approved.
|
|
|
40
42
|
- Blockers: 0 | Major: {n} | Minor: {n}[ | env-blocked: {n} (outside AI repair scope)]
|
|
41
43
|
- Review report: .agents/workspace/active/{task-id}/{review-artifact}
|
|
42
44
|
|
|
43
|
-
Next step -
|
|
44
|
-
- Claude Code / OpenCode: /
|
|
45
|
-
- Gemini CLI: /agent-infra:
|
|
46
|
-
- Codex CLI: $
|
|
45
|
+
Next step - fix before commit (recommended):
|
|
46
|
+
- Claude Code / OpenCode: /code-task {task-id}
|
|
47
|
+
- Gemini CLI: /agent-infra:code-task {task-id}
|
|
48
|
+
- Codex CLI: $code-task {task-id}
|
|
47
49
|
|
|
48
|
-
Or commit directly (skip
|
|
50
|
+
Or commit directly (skip fix):
|
|
49
51
|
- Claude Code / OpenCode: /commit
|
|
50
52
|
- Gemini CLI: /agent-infra:commit
|
|
51
53
|
- Codex CLI: $commit
|
|
52
54
|
|
|
53
55
|
[When env-blocked > 0, append this final line:]
|
|
54
|
-
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /
|
|
56
|
+
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /code-task.
|
|
55
57
|
```
|
|
56
58
|
|
|
57
59
|
### Branch C: Changes Requested
|
|
@@ -62,26 +64,28 @@ Task {task-id} review completed. Verdict: changes requested.
|
|
|
62
64
|
- Review report: .agents/workspace/active/{task-id}/{review-artifact}
|
|
63
65
|
|
|
64
66
|
Next step - fix the findings:
|
|
65
|
-
- Claude Code / OpenCode: /
|
|
66
|
-
- Gemini CLI: /agent-infra:
|
|
67
|
-
- Codex CLI: $
|
|
67
|
+
- Claude Code / OpenCode: /code-task {task-id}
|
|
68
|
+
- Gemini CLI: /agent-infra:code-task {task-id}
|
|
69
|
+
- Codex CLI: $code-task {task-id}
|
|
68
70
|
|
|
69
71
|
[When env-blocked > 0, append this final line:]
|
|
70
|
-
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /
|
|
72
|
+
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /code-task.
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
### Branch D: Rejected
|
|
74
76
|
|
|
75
77
|
```text
|
|
76
|
-
Task {task-id} review completed. Verdict: rejected,
|
|
78
|
+
Task {task-id} review completed. Verdict: rejected, re-design the technical plan.
|
|
77
79
|
- Blockers: {n} | Major: {n} | Minor: {n}[ | env-blocked: {n} (outside AI repair scope)]
|
|
78
80
|
- Review report: .agents/workspace/active/{task-id}/{review-artifact}
|
|
79
81
|
|
|
80
|
-
Next step - re-
|
|
81
|
-
- Claude Code / OpenCode: /
|
|
82
|
-
- Gemini CLI: /agent-infra:
|
|
83
|
-
- Codex CLI: $
|
|
82
|
+
Next step - re-design the technical plan:
|
|
83
|
+
- Claude Code / OpenCode: /plan-task {task-id}
|
|
84
|
+
- Gemini CLI: /agent-infra:plan-task {task-id}
|
|
85
|
+
- Codex CLI: $plan-task {task-id}
|
|
86
|
+
|
|
87
|
+
> Note: Rejected means the implementation direction needs to be reworked end-to-end, not patched locally. `code-task/scripts/detect-mode.js` branch #7 refuses a direct `/code-task` and requires a fresh plan first.
|
|
84
88
|
|
|
85
89
|
[When env-blocked > 0, append this final line:]
|
|
86
|
-
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /
|
|
90
|
+
Reminder: env-blocked findings must be carried in the PR description as a "manual verification required" checklist and should not trigger /code-task.
|
|
87
91
|
```
|
package/templates/.agents/skills/{review-task → review-code}/reference/output-templates.zh-CN.md
RENAMED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
在向用户汇报最终审查结论之前先读取本文件。
|
|
4
4
|
|
|
5
|
+
> 本文件描述的是**用户回执文本**的 4 个分类(场景 A/B/C/D),用于「向用户汇报结论」步骤。它**不是** review-code 产物的 `**总体结论**:` 字段值——字段值固定为 3 个规范 token(`通过` / `需要修改` / `拒绝`,或 EN 对应 `Approved` / `Changes Requested` / `Rejected`)。两者不可混用。
|
|
6
|
+
|
|
5
7
|
## 选择唯一输出场景
|
|
6
8
|
|
|
7
9
|
按以下顺序判断(**注意:env-blocked 数量不参与判断**):
|
|
@@ -30,7 +32,7 @@
|
|
|
30
32
|
- Codex CLI:$commit
|
|
31
33
|
|
|
32
34
|
[当 env-blocked > 0 时,在最后附加一行:]
|
|
33
|
-
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /
|
|
35
|
+
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /code-task。
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
### 场景 B:通过但有问题
|
|
@@ -41,9 +43,9 @@
|
|
|
41
43
|
- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
|
|
42
44
|
|
|
43
45
|
下一步 - 修复问题后提交(推荐):
|
|
44
|
-
- Claude Code / OpenCode:/
|
|
45
|
-
- Gemini CLI:/agent-infra:
|
|
46
|
-
- Codex CLI:$
|
|
46
|
+
- Claude Code / OpenCode:/code-task {task-id}
|
|
47
|
+
- Gemini CLI:/agent-infra:code-task {task-id}
|
|
48
|
+
- Codex CLI:$code-task {task-id}
|
|
47
49
|
|
|
48
50
|
或直接提交(跳过修复):
|
|
49
51
|
- Claude Code / OpenCode:/commit
|
|
@@ -51,7 +53,7 @@
|
|
|
51
53
|
- Codex CLI:$commit
|
|
52
54
|
|
|
53
55
|
[当 env-blocked > 0 时,在最后附加一行:]
|
|
54
|
-
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /
|
|
56
|
+
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /code-task。
|
|
55
57
|
```
|
|
56
58
|
|
|
57
59
|
### 场景 C:需要修改
|
|
@@ -62,26 +64,28 @@
|
|
|
62
64
|
- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
|
|
63
65
|
|
|
64
66
|
下一步 - 修复问题:
|
|
65
|
-
- Claude Code / OpenCode:/
|
|
66
|
-
- Gemini CLI:/agent-infra:
|
|
67
|
-
- Codex CLI:$
|
|
67
|
+
- Claude Code / OpenCode:/code-task {task-id}
|
|
68
|
+
- Gemini CLI:/agent-infra:code-task {task-id}
|
|
69
|
+
- Codex CLI:$code-task {task-id}
|
|
68
70
|
|
|
69
71
|
[当 env-blocked > 0 时,在最后附加一行:]
|
|
70
|
-
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /
|
|
72
|
+
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /code-task。
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
### 场景 D:拒绝
|
|
74
76
|
|
|
75
77
|
```text
|
|
76
|
-
任务 {task-id}
|
|
78
|
+
任务 {task-id} 代码审查完成。结论:拒绝,需要重新设计方案。
|
|
77
79
|
- 阻塞项:{n} | 主要问题:{n} | 次要问题:{n}[ | 环境性遗留:{n}(不在 AI 修复范围)]
|
|
78
80
|
- 审查报告:.agents/workspace/active/{task-id}/{review-artifact}
|
|
79
81
|
|
|
80
|
-
下一步 -
|
|
81
|
-
- Claude Code / OpenCode:/
|
|
82
|
-
- Gemini CLI:/agent-infra:
|
|
83
|
-
- Codex CLI:$
|
|
82
|
+
下一步 - 重新设计技术方案:
|
|
83
|
+
- Claude Code / OpenCode:/plan-task {task-id}
|
|
84
|
+
- Gemini CLI:/agent-infra:plan-task {task-id}
|
|
85
|
+
- Codex CLI:$plan-task {task-id}
|
|
86
|
+
|
|
87
|
+
> 注意:Rejected 表示实现方向需要整体重做,不是局部修复。`code-task/scripts/detect-mode.js` 分支 #7 会拒绝直接 `/code-task`,要求先重新方案设计。
|
|
84
88
|
|
|
85
89
|
[当 env-blocked > 0 时,在最后附加一行:]
|
|
86
|
-
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /
|
|
90
|
+
提醒:env-blocked 项需在 PR description 的「待人工验证」清单中承接,不应触发 /code-task。
|
|
87
91
|
```
|
package/templates/.agents/skills/{review-task → review-code}/reference/report-template.en.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Review Report Template
|
|
2
2
|
|
|
3
|
-
Use this template when writing `review.md` or `review-r{N}.md`.
|
|
3
|
+
Use this template when writing `review-code.md` or `review-code-r{N}.md`.
|
|
4
4
|
|
|
5
5
|
## Output Template
|
|
6
6
|
|
|
@@ -9,9 +9,8 @@ Use this template when writing `review.md` or `review-r{N}.md`.
|
|
|
9
9
|
|
|
10
10
|
- **Review Round**: Round {review-round}
|
|
11
11
|
- **Artifact File**: `{review-artifact}`
|
|
12
|
-
- **
|
|
13
|
-
- `{
|
|
14
|
-
- `{refinement-artifact}` (if present)
|
|
12
|
+
- **Review Input**:
|
|
13
|
+
- `{code-artifact}`
|
|
15
14
|
|
|
16
15
|
## State Check
|
|
17
16
|
|
|
@@ -22,7 +21,7 @@ Use this template when writing `review.md` or `review-r{N}.md`.
|
|
|
22
21
|
- **Reviewer**: {reviewer-name}
|
|
23
22
|
- **Review Time**: {timestamp}
|
|
24
23
|
- **Scope**: {file-count and major modules}
|
|
25
|
-
- **Overall Verdict**: {Approved / Changes Requested / Rejected}
|
|
24
|
+
- **Overall Verdict**: {Approved / Changes Requested / Rejected} (pick exactly one; combined phrases will fail the verify gate)
|
|
26
25
|
- **Findings (AI-actionable)**: 0 blockers, 0 majors, 0 minors / **env-blocked**: 0
|
|
27
26
|
|
|
28
27
|
## Findings
|
|
@@ -49,7 +48,7 @@ Use this template when writing `review.md` or `review-r{N}.md`.
|
|
|
49
48
|
|
|
50
49
|
## Environment-Blocked Findings
|
|
51
50
|
|
|
52
|
-
> Items the AI agent cannot close in the current execution environment; they do not participate in the next
|
|
51
|
+
> Items the AI agent cannot close in the current execution environment; they do not participate in the next code round. Maintainers carry them in the PR description as a "manual verification required" checklist.
|
|
53
52
|
|
|
54
53
|
#### 1. {environment-blocked finding title}
|
|
55
54
|
**File**: `{file-path}:{line-number}` (if applicable)
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# 审查报告模板
|
|
2
|
+
|
|
3
|
+
编写 `review-code.md` 或 `review-code-r{N}.md` 时使用本模板。
|
|
4
|
+
|
|
5
|
+
## 输出模板
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# 代码审查报告
|
|
9
|
+
|
|
10
|
+
- **审查轮次**:第 {review-round} 轮
|
|
11
|
+
- **产物文件**:`{review-artifact}`
|
|
12
|
+
- **审查输入**:
|
|
13
|
+
- `{code-artifact}`
|
|
14
|
+
- `{code-artifact}`(如存在)
|
|
15
|
+
|
|
16
|
+
## 状态核对
|
|
17
|
+
|
|
18
|
+
> 粘贴状态核对命令原文;每条命令以 `$ ` 开头。
|
|
19
|
+
|
|
20
|
+
## 审查摘要
|
|
21
|
+
|
|
22
|
+
- **审查者**:{reviewer-name}
|
|
23
|
+
- **审查时间**:{timestamp}
|
|
24
|
+
- **审查范围**:{file-count and major modules}
|
|
25
|
+
- **总体结论**:{通过 / 需要修改 / 拒绝}(恰取一个;禁止写组合短语,否则 verify gate 失败)
|
|
26
|
+
- **发现(AI 可处理)**:0 阻塞项,0 主要,0 次要 / **env-blocked**:0
|
|
27
|
+
|
|
28
|
+
## 问题清单
|
|
29
|
+
|
|
30
|
+
### 阻塞项(必须修复)
|
|
31
|
+
|
|
32
|
+
#### 1. {问题标题}
|
|
33
|
+
**文件**:`{file-path}:{line-number}`
|
|
34
|
+
**说明**:{details}
|
|
35
|
+
**修复建议**:{fix suggestion}
|
|
36
|
+
|
|
37
|
+
### 主要问题(建议修复)
|
|
38
|
+
|
|
39
|
+
#### 1. {问题标题}
|
|
40
|
+
**文件**:`{file-path}:{line-number}`
|
|
41
|
+
**说明**:{details}
|
|
42
|
+
**修复建议**:{fix suggestion}
|
|
43
|
+
|
|
44
|
+
### 次要问题(可选改进)
|
|
45
|
+
|
|
46
|
+
#### 1. {改进点}
|
|
47
|
+
**文件**:`{file-path}:{line-number}`
|
|
48
|
+
**建议**:{improvement suggestion}
|
|
49
|
+
|
|
50
|
+
## 环境性遗留
|
|
51
|
+
|
|
52
|
+
> AI agent 在本执行环境无法闭环的项;不参与下一轮 refine。维护者在 PR description 中以「待人工验证」清单承接。
|
|
53
|
+
|
|
54
|
+
#### 1. {环境性项标题}
|
|
55
|
+
**文件**:`{file-path}:{line-number}`(如适用)
|
|
56
|
+
**说明**:{details}
|
|
57
|
+
**所需环境**:{e.g. Docker 沙箱 / macOS host / 特权 root / 第三方账号}
|
|
58
|
+
**待人工执行的验证步骤**:{steps for the human verifier}
|
|
59
|
+
|
|
60
|
+
> 如本轮无 env-blocked 项,保留段落标题并写「(无)」。
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## 证据原文
|
|
64
|
+
|
|
65
|
+
> 每条“我验证了 X”断言都要配对对应 tool output 原文;gate 仅校验本段存在和至少一行 `$ `。
|
|
66
|
+
|
|
67
|
+
- 断言:{verified claim}
|
|
68
|
+
```text
|
|
69
|
+
$ {command}
|
|
70
|
+
{raw output}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 亮点
|
|
74
|
+
|
|
75
|
+
- {what went well}
|
|
76
|
+
|
|
77
|
+
## 与方案一致性
|
|
78
|
+
|
|
79
|
+
- [ ] 实现与技术方案一致
|
|
80
|
+
- [ ] 没有意外的范围扩张
|
|
81
|
+
|
|
82
|
+
## 结论与建议
|
|
83
|
+
|
|
84
|
+
### 审查决定
|
|
85
|
+
- [ ] 通过
|
|
86
|
+
- [ ] 需要修改
|
|
87
|
+
- [ ] 拒绝
|
|
88
|
+
|
|
89
|
+
### 下一步
|
|
90
|
+
{recommended next step}
|
|
91
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Review Criteria
|
|
2
|
+
|
|
3
|
+
Read this file before reviewing code or classifying finding severity.
|
|
4
|
+
|
|
5
|
+
## Code Review
|
|
6
|
+
|
|
7
|
+
Follow the `code-review` step in `.agents/workflows/feature-development.yaml`.
|
|
8
|
+
|
|
9
|
+
**Required review areas**:
|
|
10
|
+
- [ ] Code quality and project style
|
|
11
|
+
- [ ] Bugs and risk identification
|
|
12
|
+
- [ ] Test coverage and test quality
|
|
13
|
+
- [ ] Error handling and edge cases
|
|
14
|
+
- [ ] Performance and security risks
|
|
15
|
+
- [ ] Comments and documentation
|
|
16
|
+
- [ ] Consistency with the approved technical plan
|
|
17
|
+
|
|
18
|
+
**Common anti-examples**:
|
|
19
|
+
- Checking only whether tests pass without reading the actual diff
|
|
20
|
+
- Treating wording preferences as reproducible code problems
|
|
21
|
+
- Misclassifying environment-limited verification gaps as blockers
|
|
22
|
+
|
|
23
|
+
## Common Review Principles
|
|
24
|
+
|
|
25
|
+
1. **Strict but fair**: identify issues and acknowledge solid work
|
|
26
|
+
2. **Specific**: cite exact file paths and line numbers
|
|
27
|
+
3. **Actionable**: suggest a concrete fix
|
|
28
|
+
4. **Severity-based**: clearly distinguish blockers, major issues, and minor issues
|
|
29
|
+
|
|
30
|
+
## Environment-Blocked Classification
|
|
31
|
+
|
|
32
|
+
Some findings cannot be closed by an AI agent in the current execution environment, for example:
|
|
33
|
+
|
|
34
|
+
- Missing Docker / sandbox access for end-to-end validation
|
|
35
|
+
- Missing a specific OS for macOS-only behavior
|
|
36
|
+
- Missing third-party accounts / OAuth
|
|
37
|
+
- Missing privileged operations such as root, sudo, or special network access
|
|
38
|
+
|
|
39
|
+
**Decision tree**: "Can the AI agent close this item independently without changing the environment?"
|
|
40
|
+
- Yes -> blocker / major / minor, based on risk
|
|
41
|
+
- No -> **env-blocked** (a meta-category, not part of severity ordering)
|
|
42
|
+
|
|
43
|
+
Where env-blocked items go:
|
|
44
|
+
- Record them in an independent review report section named "Environment-Blocked Findings"
|
|
45
|
+
- Include them at the end of the numeric summary, for example `(+ 1 env-blocked)`
|
|
46
|
+
- Do **not** include them in the code-task fix loop; maintainers carry them in the PR description under manual verification
|
|
47
|
+
|
|
48
|
+
Also inspect `git diff`, the latest code artifact, latest technical-plan review artifact, and `task.md` Activity Log so the report reflects the full change context.
|
package/templates/.agents/skills/{review-task → review-code}/reference/review-criteria.zh-CN.md
RENAMED
|
@@ -13,9 +13,15 @@
|
|
|
13
13
|
- [ ] 错误处理和边界情况
|
|
14
14
|
- [ ] 性能与安全风险
|
|
15
15
|
- [ ] 代码注释和文档
|
|
16
|
-
- [ ]
|
|
16
|
+
- [ ] 与已批准技术方案的一致性
|
|
17
|
+
|
|
18
|
+
**常见反例**:
|
|
19
|
+
- 只检查测试是否通过,没有阅读实际 diff
|
|
20
|
+
- 用自然语言措辞偏好替代可复现的代码问题
|
|
21
|
+
- 把环境缺失导致无法验证的事项误归类为 blocker
|
|
22
|
+
|
|
23
|
+
## 通用审查原则
|
|
17
24
|
|
|
18
|
-
**审查原则**:
|
|
19
25
|
1. **严格但公正**:既要指出问题,也要承认做得好的部分
|
|
20
26
|
2. **具体**:引用准确的文件路径和行号
|
|
21
27
|
3. **可执行**:给出明确可落地的修复建议
|
|
@@ -37,6 +43,6 @@
|
|
|
37
43
|
env-blocked 项的去向:
|
|
38
44
|
- 写入 review 报告独立段落「环境性遗留」
|
|
39
45
|
- 在数字摘要末尾附带显示(如 `(+ 1 env-blocked)`)
|
|
40
|
-
- **不**进入
|
|
46
|
+
- **不**进入 code-task 修复循环;维护者在 PR description 中以「待人工验证」清单形式承接
|
|
41
47
|
|
|
42
|
-
同时检查 `git diff
|
|
48
|
+
同时检查 `git diff`、最新实现产物、最新技术方案审查产物和 `task.md` Activity Log,确保报告反映完整的变更上下文。
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-plan
|
|
3
|
+
description: "Review the technical plan"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Technical Plan Review
|
|
7
|
+
|
|
8
|
+
Review the latest plan artifact and produce `review-plan.md` or `review-plan-r{N}.md`.
|
|
9
|
+
|
|
10
|
+
## Boundary / Critical Rules
|
|
11
|
+
|
|
12
|
+
- This skill only reviews plan artifacts and writes a report; it does not modify product code.
|
|
13
|
+
- After executing this skill, you **must** immediately update task.md.
|
|
14
|
+
|
|
15
|
+
Version stamp rule: when creating or updating `task.md` frontmatter, read `.agents/rules/version-stamp.md` first and write or refresh `agent_infra_version`.
|
|
16
|
+
|
|
17
|
+
## Step 0: State Check (pre-execution hard gate)
|
|
18
|
+
|
|
19
|
+
After loading workflow / skill / rules instructions, and before any task-state judgment or user-visible conclusion, run the state check first.
|
|
20
|
+
|
|
21
|
+
Run these commands and paste the raw output into both the user-facing reply and this round's `## State Check` section:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
git status -s
|
|
25
|
+
ls -la .agents/workspace/active/{task-id}/
|
|
26
|
+
tail .agents/workspace/active/{task-id}/task.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Steps
|
|
30
|
+
|
|
31
|
+
### 1. Verify Prerequisites
|
|
32
|
+
|
|
33
|
+
Require `task.md` and at least one plan artifact: `plan.md` or `plan-r{N}.md`.
|
|
34
|
+
|
|
35
|
+
### 2. Determine Review Round
|
|
36
|
+
|
|
37
|
+
Record `{plan-artifact}`, `{review-round}`, and `{review-artifact}` (`review-plan.md` or `review-plan-r{N}.md`).
|
|
38
|
+
|
|
39
|
+
### 3. Read Plan Context
|
|
40
|
+
|
|
41
|
+
Read `{plan-artifact}`, the latest analysis artifact, `task.md`, and Issue context when available.
|
|
42
|
+
|
|
43
|
+
### 4. Perform Review
|
|
44
|
+
|
|
45
|
+
Check simplicity, executability, risk control, test strategy, file coverage, and phase boundaries.
|
|
46
|
+
|
|
47
|
+
> Read `reference/review-criteria.md` before this step.
|
|
48
|
+
|
|
49
|
+
### 5. Write Review Report
|
|
50
|
+
|
|
51
|
+
Create `.agents/workspace/active/{task-id}/{review-artifact}`.
|
|
52
|
+
|
|
53
|
+
> Read `reference/report-template.md` before writing the report.
|
|
54
|
+
|
|
55
|
+
### 6. Update Task Status
|
|
56
|
+
|
|
57
|
+
Get the current time:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
date "+%Y-%m-%d %H:%M:%S%:z"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Set `current_step` to `technical-design-review`, refresh task metadata, and append:
|
|
64
|
+
`- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Review (Round {N})** by {agent} — Verdict: {Approved/Changes Requested/Rejected}, blockers: {n}, major: {n}, minor: {n}[ (+ {n} env-blocked)] → {review-artifact}`
|
|
65
|
+
|
|
66
|
+
If task.md has a valid `issue_number`, read `.agents/rules/issue-sync.md`, sync the task comment, and publish the `{review-artifact}` comment.
|
|
67
|
+
|
|
68
|
+
### 7. Run Completion Gate
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
node .agents/scripts/validate-artifact.js gate review-plan .agents/workspace/active/{task-id} {review-artifact} --format text
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 8. Tell the User
|
|
75
|
+
|
|
76
|
+
Use the conclusion branch in `reference/output-templates.md` and show all TUI command formats.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-plan
|
|
3
|
+
description: "审查技术方案"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 技术方案审查
|
|
7
|
+
|
|
8
|
+
审查最新技术方案产物,并产出 `review-plan.md` 或 `review-plan-r{N}.md`。
|
|
9
|
+
|
|
10
|
+
## 行为边界 / 关键规则
|
|
11
|
+
|
|
12
|
+
- 本技能只审查方案产物并写报告,不修改业务代码
|
|
13
|
+
- 执行本技能后,你**必须**立即更新 task.md
|
|
14
|
+
|
|
15
|
+
版本戳规则:创建或更新 `task.md` frontmatter 时,先读取 `.agents/rules/version-stamp.md`,并写入或刷新 `agent_infra_version`。
|
|
16
|
+
|
|
17
|
+
## 第 0 步:状态核对(执行前硬约束)
|
|
18
|
+
|
|
19
|
+
在加载 workflow / skill / rules 指令之后、做任何任务状态判断或用户可见结论之前,必须先执行状态核对。指令类文件读取不算对外动作或结论。
|
|
20
|
+
|
|
21
|
+
运行以下命令,并把原文粘贴到回复正文和本轮产物的 `## 状态核对` 段:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
git status -s
|
|
25
|
+
ls -la .agents/workspace/active/{task-id}/
|
|
26
|
+
tail .agents/workspace/active/{task-id}/task.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
状态核对完成前,禁止任何关于外部状态的断言。
|
|
30
|
+
|
|
31
|
+
## 执行步骤
|
|
32
|
+
|
|
33
|
+
### 1. 验证前置条件
|
|
34
|
+
|
|
35
|
+
要求存在:
|
|
36
|
+
- `.agents/workspace/active/{task-id}/task.md`
|
|
37
|
+
- 至少一个方案产物:`plan.md` 或 `plan-r{N}.md`
|
|
38
|
+
|
|
39
|
+
### 2. 确定审查轮次
|
|
40
|
+
|
|
41
|
+
扫描任务目录并记录:
|
|
42
|
+
- `{plan-artifact}`:最高轮次的方案产物
|
|
43
|
+
- `{review-round}`
|
|
44
|
+
- `{review-artifact}`:`review-plan.md` 或 `review-plan-r{N}.md`
|
|
45
|
+
|
|
46
|
+
### 3. 阅读方案上下文
|
|
47
|
+
|
|
48
|
+
读取最新 `{plan-artifact}`、最新分析产物、`task.md` 和关联 Issue 上下文(如有)。
|
|
49
|
+
|
|
50
|
+
### 4. 执行审查
|
|
51
|
+
|
|
52
|
+
重点检查方案的简洁性、可执行性、风险控制、测试策略、文件清单和阶段边界。
|
|
53
|
+
|
|
54
|
+
> 详细审查标准见 `reference/review-criteria.md`。执行此步骤前先读取 `reference/review-criteria.md`。
|
|
55
|
+
|
|
56
|
+
### 5. 编写审查报告
|
|
57
|
+
|
|
58
|
+
创建 `.agents/workspace/active/{task-id}/{review-artifact}`。
|
|
59
|
+
|
|
60
|
+
> 报告格式见 `reference/report-template.md`。写报告前先读取 `reference/report-template.md`。
|
|
61
|
+
|
|
62
|
+
### 6. 更新任务状态
|
|
63
|
+
|
|
64
|
+
获取当前时间:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
date "+%Y-%m-%d %H:%M:%S%:z"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
更新 task.md:
|
|
71
|
+
- `current_step`:technical-design-review
|
|
72
|
+
- `assigned_to`:{当前代理}
|
|
73
|
+
- `updated_at`:{当前时间}
|
|
74
|
+
- `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
|
|
75
|
+
- 追加:
|
|
76
|
+
`- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Review (Round {N})** by {agent} — Verdict: {Approved/Changes Requested/Rejected}, blockers: {n}, major: {n}, minor: {n}[ (+ {n} env-blocked)] → {review-artifact}`
|
|
77
|
+
|
|
78
|
+
如果 task.md 中存在有效的 `issue_number`,执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测,然后同步 task 评论并发布 `{review-artifact}` 评论。
|
|
79
|
+
|
|
80
|
+
### 7. 完成校验
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
node .agents/scripts/validate-artifact.js gate review-plan .agents/workspace/active/{task-id} {review-artifact} --format text
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
校验通过后继续告知用户;校验失败则修复报告或 task 状态后重跑。
|
|
87
|
+
|
|
88
|
+
### 8. 告知用户
|
|
89
|
+
|
|
90
|
+
按 `reference/output-templates.md` 的结论分支输出,并展示所有 TUI 的下一步命令。
|
|
91
|
+
|
|
92
|
+
## 完成检查清单
|
|
93
|
+
|
|
94
|
+
- [ ] 已审查最新方案上下文
|
|
95
|
+
- [ ] 已创建 `{review-artifact}`
|
|
96
|
+
- [ ] 已更新 task.md 并追加 Activity Log
|
|
97
|
+
- [ ] 已展示所有 TUI 的下一步命令
|
|
98
|
+
|
|
99
|
+
## 注意事项
|
|
100
|
+
|
|
101
|
+
- 首轮审查使用 `review-plan.md`,后续轮次使用 `review-plan-r{N}.md`
|
|
102
|
+
- 所有问题都要引用具体文件路径和行号;方案产物问题可引用 `{plan-artifact}` 的行号
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"skill": "
|
|
2
|
+
"skill": "review-plan",
|
|
3
3
|
"checks": {
|
|
4
4
|
"task-meta": {
|
|
5
5
|
"required_fields": [
|
|
@@ -12,35 +12,39 @@
|
|
|
12
12
|
"agent_infra_version",
|
|
13
13
|
"current_step",
|
|
14
14
|
"assigned_to"
|
|
15
|
-
]
|
|
15
|
+
],
|
|
16
|
+
"expected_step": "technical-design-review"
|
|
16
17
|
},
|
|
17
18
|
"artifact": {
|
|
18
|
-
"file_pattern": "
|
|
19
|
+
"file_pattern": "review-plan.md|review-plan-r{N}.md",
|
|
19
20
|
"required_sections": [
|
|
20
|
-
"Review
|
|
21
|
-
"
|
|
21
|
+
"Review Summary",
|
|
22
|
+
"Findings",
|
|
23
|
+
"Environment-Blocked Findings",
|
|
24
|
+
"Conclusion and Recommendations",
|
|
22
25
|
"State Check",
|
|
23
26
|
"Evidence"
|
|
24
27
|
],
|
|
25
|
-
"freshness_minutes": 30,
|
|
26
28
|
"required_patterns": [
|
|
29
|
+
"^### Approval Decision$",
|
|
27
30
|
"^\\$ "
|
|
28
|
-
]
|
|
31
|
+
],
|
|
32
|
+
"freshness_minutes": 30
|
|
29
33
|
},
|
|
30
34
|
"activity-log": {
|
|
31
|
-
"expected_action_pattern": "
|
|
35
|
+
"expected_action_pattern": "Plan Review \\(Round \\d+\\)",
|
|
32
36
|
"freshness_minutes": 30
|
|
33
37
|
},
|
|
34
38
|
"platform-sync": {
|
|
35
39
|
"when": "issue_number_exists",
|
|
36
|
-
"expected_status_label": "status:
|
|
40
|
+
"expected_status_label": "status: pending-design-work",
|
|
37
41
|
"expected_comment_marker": "<!-- sync-issue:{task-id}:{artifact-stem} -->",
|
|
38
42
|
"verify_comment_content": true,
|
|
39
43
|
"verify_task_comment_content": true,
|
|
40
44
|
"verify_issue_type": true,
|
|
41
45
|
"verify_issue_fields": false,
|
|
42
46
|
"verify_milestone": true,
|
|
43
|
-
"expected_status_label_key": "
|
|
47
|
+
"expected_status_label_key": "pendingDesignWork",
|
|
44
48
|
"expected_comment_marker_key": "artifact"
|
|
45
49
|
}
|
|
46
50
|
}
|