@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
|
@@ -123,7 +123,7 @@ When a skill creates or imports an Issue, automatically add the current executor
|
|
|
123
123
|
|
|
124
124
|
## `in:` Label Sync
|
|
125
125
|
|
|
126
|
-
> **Trigger timing**: run `in:` label sync only after code is committed (the `commit` skill). Do not run it during `
|
|
126
|
+
> **Trigger timing**: run `in:` label sync only after code is committed (the `commit` skill). Do not run it during `code-task`. During `create-pr`, only copy the labels from the Issue to the PR without recomputing them.
|
|
127
127
|
|
|
128
128
|
Read the `labels.in` mapping from `.agents/.airc.json`.
|
|
129
129
|
|
|
@@ -262,7 +262,7 @@ task comment sync always runs and is never downgraded.
|
|
|
262
262
|
|
|
263
263
|
## Backfill Rules (run before `/complete-task` archives)
|
|
264
264
|
|
|
265
|
-
- Scan `task.md`, `analysis*.md`, `
|
|
265
|
+
- Scan `task.md`, `analysis*.md`, `review-analysis*.md`, `plan*.md`, `review-plan*.md`, `code*.md`, and `review-code*.md` in the task directory
|
|
266
266
|
- Check whether each `{file-stem}` was already published by its hidden marker; publish only missing artifacts
|
|
267
267
|
- Backfill only appends missing comments and never deletes or reorders existing comments
|
|
268
268
|
- Resolve `{agent}` for backfilled comments in this order:
|
|
@@ -281,10 +281,11 @@ Title mapping:
|
|
|
281
281
|
|
|
282
282
|
- `task` -> `Task File`
|
|
283
283
|
- `analysis` / `analysis-r{N}` -> `Requirements Analysis` / `Requirements Analysis (Round {N})`
|
|
284
|
+
- `review-analysis` / `review-analysis-r{N}` -> `Requirements Analysis Review (Round 1)` / `Requirements Analysis Review (Round {N})`
|
|
284
285
|
- `plan` / `plan-r{N}` -> `Technical Plan` / `Technical Plan (Round {N})`
|
|
285
|
-
- `
|
|
286
|
-
- `
|
|
287
|
-
- `
|
|
286
|
+
- `review-plan` / `review-plan-r{N}` -> `Technical Plan Review (Round 1)` / `Technical Plan Review (Round {N})`
|
|
287
|
+
- `code` / `code-r{N}` -> `Code Report (Round 1)` / `Code Report (Round {N})`
|
|
288
|
+
- `review-code` / `review-code-r{N}` -> `Code Review (Round 1)` / `Code Review (Round {N})`
|
|
288
289
|
- `summary` -> `Delivery Summary`
|
|
289
290
|
|
|
290
291
|
Backfilled comments are also not gated by `has_triage` or `has_push`.
|
|
@@ -123,7 +123,7 @@ fi
|
|
|
123
123
|
|
|
124
124
|
## `in:` label 同步
|
|
125
125
|
|
|
126
|
-
> **触发时机**:`in:` label 同步应在代码提交后(commit 技能)执行,不在
|
|
126
|
+
> **触发时机**:`in:` label 同步应在代码提交后(commit 技能)执行,不在 code-task 阶段执行。create-pr 阶段仅从 Issue 复制到 PR,不重新计算。
|
|
127
127
|
|
|
128
128
|
读取 `.agents/.airc.json` 的 `labels.in` 映射。
|
|
129
129
|
|
|
@@ -262,7 +262,7 @@ task 留言同步始终执行,不受权限降级影响。
|
|
|
262
262
|
|
|
263
263
|
## 补发规则(`/complete-task` 归档前执行)
|
|
264
264
|
|
|
265
|
-
- 扫描任务目录中的 `task.md`、`analysis*.md`、`
|
|
265
|
+
- 扫描任务目录中的 `task.md`、`analysis*.md`、`review-analysis*.md`、`plan*.md`、`review-plan*.md`、`code*.md`、`review-code*.md`
|
|
266
266
|
- 对每个 `{file-stem}` 用隐藏标记检查是否已发布;未发布则补发,已发布则跳过
|
|
267
267
|
- 补发只追加缺失评论,不删除或重排已有评论
|
|
268
268
|
- 补发评论的 `{agent}` 按以下顺序确定:
|
|
@@ -281,10 +281,11 @@ task 留言同步始终执行,不受权限降级影响。
|
|
|
281
281
|
|
|
282
282
|
- `task` -> `任务文件`
|
|
283
283
|
- `analysis` / `analysis-r{N}` -> `需求分析` / `需求分析(Round {N})`
|
|
284
|
+
- `review-analysis` / `review-analysis-r{N}` -> `需求分析审查(Round 1)` / `需求分析审查(Round {N})`
|
|
284
285
|
- `plan` / `plan-r{N}` -> `技术方案` / `技术方案(Round {N})`
|
|
285
|
-
- `
|
|
286
|
-
- `
|
|
287
|
-
- `
|
|
286
|
+
- `review-plan` / `review-plan-r{N}` -> `技术方案审查(Round 1)` / `技术方案审查(Round {N})`
|
|
287
|
+
- `code` / `code-r{N}` -> `实现报告(Round 1)` / `实现报告(Round {N})`
|
|
288
|
+
- `review-code` / `review-code-r{N}` -> `代码审查(Round 1)` / `代码审查(Round {N})`
|
|
288
289
|
- `summary` -> `交付摘要`
|
|
289
290
|
|
|
290
291
|
补发评论同样不受 `has_triage` / `has_push` 限制。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Milestone Inference Rules
|
|
2
2
|
|
|
3
|
-
Read this file before the `create-task` platform rule, `
|
|
3
|
+
Read this file before the `create-task` platform rule, `code-task`, or `create-pr` handles a milestone.
|
|
4
4
|
|
|
5
5
|
## General Principles
|
|
6
6
|
|
|
@@ -56,7 +56,7 @@ fi
|
|
|
56
56
|
|
|
57
57
|
If `has_triage=false`, inference returns empty, or `gh issue edit` fails, skip and continue without blocking the `import-issue` workflow.
|
|
58
58
|
|
|
59
|
-
## Phase 2: `
|
|
59
|
+
## Phase 2: `code-task`
|
|
60
60
|
|
|
61
61
|
Goal: narrow the Issue milestone from a release line to a concrete version when implementation starts.
|
|
62
62
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Milestone 推断规则
|
|
2
2
|
|
|
3
|
-
在 `create-task` 的平台规则、`
|
|
3
|
+
在 `create-task` 的平台规则、`code-task` 或 `create-pr` 处理 milestone 之前先读取本文件。
|
|
4
4
|
|
|
5
5
|
## 通用原则
|
|
6
6
|
|
|
@@ -56,7 +56,7 @@ fi
|
|
|
56
56
|
|
|
57
57
|
如果 `has_triage=false`、推断结果为空、或 `gh issue edit` 失败,跳过并继续,不阻断 `import-issue` 工作流。
|
|
58
58
|
|
|
59
|
-
## 阶段 2:`
|
|
59
|
+
## 阶段 2:`code-task`
|
|
60
60
|
|
|
61
61
|
目标:开始开发时,把 Issue milestone 从版本线收窄到具体版本。
|
|
62
62
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# General Rule - No Mid-Flow Questions During SKILL Execution
|
|
2
|
+
|
|
3
|
+
> **Scope**: this rule applies to **all SKILL** executions.
|
|
4
|
+
> Only the two exemption categories below may ask the user; any other mid-flow question is a violation.
|
|
5
|
+
|
|
6
|
+
## Exemption Categories
|
|
7
|
+
|
|
8
|
+
### Exemption 1: Literal clarification of entry-point natural-language input
|
|
9
|
+
|
|
10
|
+
Allowed only when the SKILL's core responsibility is to process **natural-language input the user provided in this invocation**, and that input is unparseable or self-contradictory. The clarification must be about the **literal input itself**; it must not be used to solicit implementation preferences.
|
|
11
|
+
|
|
12
|
+
SKILLs currently covered by this exemption:
|
|
13
|
+
|
|
14
|
+
- `create-task`: may clarify the task description itself when the user-provided description is unclear
|
|
15
|
+
- `refine-title`: requires the user's final confirmation (y/n) for a generated title
|
|
16
|
+
|
|
17
|
+
### Exemption 2: Short confirmation before truly irreversible destructive operations
|
|
18
|
+
|
|
19
|
+
Any SKILL may pause briefly before the following irreversible operations; routine design choices do not qualify:
|
|
20
|
+
|
|
21
|
+
- `git push --force`, `rm -rf` against the user's worktree, etc.
|
|
22
|
+
- Deleting or overwriting shared remote resources (e.g., shared GitHub labels)
|
|
23
|
+
- Overwriting uncommitted local changes
|
|
24
|
+
|
|
25
|
+
SKILLs currently covered by this exemption:
|
|
26
|
+
|
|
27
|
+
- `init-labels`: may confirm before deleting legacy labels not in the final mapping
|
|
28
|
+
- `commit`: may stop and confirm when its plan conflicts with the user's uncommitted changes
|
|
29
|
+
|
|
30
|
+
## No-Mid-Flow-Questions Clause (default behavior)
|
|
31
|
+
|
|
32
|
+
For every SKILL execution context not covered by the two exemptions above, the default behavior is:
|
|
33
|
+
|
|
34
|
+
1. Do not call any user-question tool, including but not limited to `AskUserQuestion` and equivalent mechanisms that ask the user to choose.
|
|
35
|
+
2. When uncertain, proceed with the most robust option without interrupting the flow. Use this priority order:
|
|
36
|
+
1. Prefer the option consistent with existing code, documentation, and rules
|
|
37
|
+
2. Prefer the more reversible option
|
|
38
|
+
3. Prefer the option with the smaller impact area
|
|
39
|
+
3. If assumptions or open questions exist, write them into fixed artifact sections instead of leaving them suspended in the conversation:
|
|
40
|
+
- English artifacts use `## Assumptions` / `## Open Questions`; Chinese artifacts use `## 假设` / `## 未决问题`
|
|
41
|
+
- Meaning: the assumptions section records assumptions used for this run that may be revisited later; the open questions section records unresolved questions for human review
|
|
42
|
+
- If the artifact template does not reserve these sections, append them as needed. If there are no assumptions or open questions, do not force empty sections.
|
|
43
|
+
|
|
44
|
+
## Human Review Checkpoint Semantics
|
|
45
|
+
|
|
46
|
+
A mandatory human review checkpoint means:
|
|
47
|
+
|
|
48
|
+
- Stop after producing the artifact: once the skill finishes an artifact such as `plan.md`, end the current invocation and wait for the user to explicitly trigger the next skill command
|
|
49
|
+
- Do not pause mid-process to ask for input: do not insert interruptions such as "Do you prefer option A or B?" between execution steps
|
|
50
|
+
|
|
51
|
+
If a key decision needs human judgment during execution, follow the assumptions and open questions rule above: record it in the artifact's "Open Questions" / `未决问题` section for the user to address at the review checkpoint.
|
|
52
|
+
|
|
53
|
+
## Anchor Location
|
|
54
|
+
|
|
55
|
+
This rule's sole global anchor lives in the project-level AGENTS.md "AI Behavior Principles" preamble, which every AI tool loads. Individual SKILL.md files no longer reference this rule, so no per-skill duplicate bullet needs to be maintained.
|
|
56
|
+
|
|
57
|
+
When executing any SKILL, if AGENTS.md's preamble notes "follow this rule first," the LLM should **proactively Read** this file to load the complete exemption list and concrete constraints.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# 通用规则 - SKILL 执行禁言
|
|
2
|
+
|
|
3
|
+
> **适用范围**:本规则适用于**所有 SKILL** 的执行过程。
|
|
4
|
+
> 仅以下两类例外可向用户提问;不属于这两类的发问一律按违规处理。
|
|
5
|
+
|
|
6
|
+
## 例外类型
|
|
7
|
+
|
|
8
|
+
### 例外 1:入口式自然语言入参的字面澄清
|
|
9
|
+
|
|
10
|
+
仅当 SKILL 的本职职责就是处理**用户当次提供的自然语言入参**时,如果该入参无法解析或自相矛盾,可直接就**该入参字面**向用户澄清。不允许借此征求实现方案的偏好。
|
|
11
|
+
|
|
12
|
+
当前归入本例外的 SKILL:
|
|
13
|
+
|
|
14
|
+
- `create-task`:用户提供的任务描述不清晰时可澄清描述本身
|
|
15
|
+
- `refine-title`:生成的新标题需要用户最终确认(y/n)
|
|
16
|
+
|
|
17
|
+
### 例外 2:不可逆破坏性操作前的短暂确认
|
|
18
|
+
|
|
19
|
+
任何 SKILL 在以下不可逆操作前可短暂确认;常规方案选择不属于此类:
|
|
20
|
+
|
|
21
|
+
- `git push --force`、`rm -rf` 用户工作树等
|
|
22
|
+
- 删除/覆盖远端共享资源(如 GitHub 共享 label)
|
|
23
|
+
- 覆盖用户未提交的本机改动
|
|
24
|
+
|
|
25
|
+
当前归入本例外的 SKILL:
|
|
26
|
+
|
|
27
|
+
- `init-labels`:删除不在最终映射中的旧 label 前可确认
|
|
28
|
+
- `commit`:检测到与用户未提交改动冲突时可停下确认
|
|
29
|
+
|
|
30
|
+
## 禁言条款(默认行为)
|
|
31
|
+
|
|
32
|
+
不属于上述两类例外的所有 SKILL 执行场景,遵循以下默认行为:
|
|
33
|
+
|
|
34
|
+
1. **禁止调用**任何向用户发问的工具(包括但不限于 `AskUserQuestion` 及等价的「征求用户选择」机制)。
|
|
35
|
+
2. **不确定时**,按「最稳健方案」自主推进,不中断对话。最稳健方案的判定优先级:
|
|
36
|
+
1. 与现有代码 / 文档 / 规则一致的方案优先
|
|
37
|
+
2. 可逆性更高的方案优先
|
|
38
|
+
3. 影响面更小的方案优先
|
|
39
|
+
3. **如存在假设或未决问题**,写入产物中的固定段落,不在对话中悬置:
|
|
40
|
+
- 中文产物用 `## 假设` / `## 未决问题`;英文产物用 `## Assumptions` / `## Open Questions`
|
|
41
|
+
- 含义:`假设` 段记录本次按某假设推进、未来若假设不成立可推翻;`未决问题` 段记录本次未决、需要人工审查时裁定的问题
|
|
42
|
+
- 产物模板未预留这两段时,按需追加;没有假设或未决问题时不必强行写空段。
|
|
43
|
+
|
|
44
|
+
## 人工审查检查点语义
|
|
45
|
+
|
|
46
|
+
「强制性人工审查检查点」(mandatory human review checkpoint)的语义是:
|
|
47
|
+
|
|
48
|
+
- **产出后停止**:技能完成产物(如 `plan.md`)后立即结束本轮调用,等待用户主动触发下一个技能命令
|
|
49
|
+
- **不是过程中暂停征求意见**:不允许在执行步骤之间插入「请问您倾向 A 还是 B?」之类的中断
|
|
50
|
+
|
|
51
|
+
如果在执行过程中发现需要用户裁定的关键决策,按上文「假设与未决问题」处理,记录到产物的「未决问题」/`Open Questions` 段落,由用户在审查检查点统一回应。
|
|
52
|
+
|
|
53
|
+
## 锚点位置
|
|
54
|
+
|
|
55
|
+
本规则的唯一全局锚点在项目级 AGENTS.md 的「AI 行为准则」preamble,所有 AI 工具加载 AGENTS.md 时即可见。各 SKILL.md 不再单独引用本规则,避免在每个 SKILL 顶部维护重复 bullet。
|
|
56
|
+
|
|
57
|
+
LLM 在执行任一 SKILL 时,若 AGENTS.md 的 preamble 已说明「优先遵循本规则」,应**主动 Read** 本文件以获取完整的例外列表与具体约束。
|
|
@@ -24,14 +24,13 @@ Within one PR, a given `{task-id}` must have only one summary comment with this
|
|
|
24
24
|
|
|
25
25
|
Aggregate the latest artifacts in the task directory:
|
|
26
26
|
- `plan.md` or the latest `plan-r{N}.md`
|
|
27
|
-
- `
|
|
28
|
-
- `review.md` or the latest `review-r{N}.md`
|
|
29
|
-
- `refinement.md` or the latest `refinement-r{N}.md`
|
|
27
|
+
- `code.md` or the latest `code-r{N}.md`
|
|
28
|
+
- `review-code.md` or the latest `review-code-r{N}.md`
|
|
30
29
|
|
|
31
30
|
Aggregation rules:
|
|
32
31
|
- extract 2-4 self-contained technical decisions from `plan*`
|
|
33
|
-
- build the review-history table from `review*` and `
|
|
34
|
-
- extract the test summary from `
|
|
32
|
+
- build the review-history table from `review-code*` and `code*`
|
|
33
|
+
- extract the test summary from `code*`
|
|
35
34
|
- if one artifact class is missing, treat it as "no data for this stage" and continue
|
|
36
35
|
|
|
37
36
|
## Comment Body Template
|
|
@@ -24,14 +24,13 @@
|
|
|
24
24
|
|
|
25
25
|
聚合当前任务目录中的最新产物:
|
|
26
26
|
- `plan.md` 或最新 `plan-r{N}.md`
|
|
27
|
-
- `
|
|
28
|
-
- `review.md` 或最新 `review-r{N}.md`
|
|
29
|
-
- `refinement.md` 或最新 `refinement-r{N}.md`
|
|
27
|
+
- `code.md` 或最新 `code-r{N}.md`
|
|
28
|
+
- `review-code.md` 或最新 `review-code-r{N}.md`
|
|
30
29
|
|
|
31
30
|
聚合规则:
|
|
32
31
|
- 从 `plan*` 提取 2-4 条自包含的关键技术决策
|
|
33
|
-
- 用 `review*` 与 `
|
|
34
|
-
- 从 `
|
|
32
|
+
- 用 `review-code*` 与 `code*` 构建审查历程表
|
|
33
|
+
- 从 `code*` 提取测试结果摘要
|
|
35
34
|
- 某一类产物缺失时,按“无该阶段数据”处理并继续生成
|
|
36
35
|
|
|
37
36
|
## 评论体模板
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
Map user intent to the corresponding workflow command:
|
|
6
6
|
- "analyze issue #123" -> `import-issue`
|
|
7
7
|
- "analyze task TASK-20260306-143022" -> `analyze-task`
|
|
8
|
+
- "review requirement analysis" -> `review-analysis`
|
|
8
9
|
- "design a plan" -> `plan-task`
|
|
9
|
-
- "
|
|
10
|
-
- "
|
|
11
|
-
- "
|
|
10
|
+
- "review a plan" or "review technical design" -> `review-plan`
|
|
11
|
+
- "implement" or "build" -> `code-task`
|
|
12
|
+
- "code review" or "review code" -> `review-code`
|
|
13
|
+
- "fix review feedback" -> `code-task`
|
|
12
14
|
|
|
13
15
|
## Task State Management
|
|
14
16
|
|
|
@@ -25,10 +27,11 @@ Map user intent to the corresponding workflow command:
|
|
|
25
27
|
- `import-dependabot`: update `current_step`, `updated_at`, `assigned_to`, `agent_infra_version`
|
|
26
28
|
- `restore-task`: update `status`, `updated_at`, `assigned_to`, `agent_infra_version`
|
|
27
29
|
- `analyze-task`: update `current_step`, `updated_at`, `assigned_to`, `agent_infra_version`
|
|
30
|
+
- `review-analysis`: update `current_step`, `updated_at`, `agent_infra_version`
|
|
28
31
|
- `plan-task`: update `current_step`, `updated_at`, `agent_infra_version`
|
|
29
|
-
- `
|
|
30
|
-
- `
|
|
31
|
-
- `
|
|
32
|
+
- `review-plan`: update `current_step`, `updated_at`, `agent_infra_version`
|
|
33
|
+
- `code-task`: update `current_step`, `updated_at`, `agent_infra_version`
|
|
34
|
+
- `review-code`: update `current_step`, `updated_at`, `agent_infra_version`
|
|
32
35
|
- `create-pr`: update `pr_number`, `updated_at`, `agent_infra_version`
|
|
33
36
|
- `commit`: update `updated_at`, `agent_infra_version`; update `current_step` when needed (see `commit/reference/task-status-update.md`)
|
|
34
37
|
- `complete-task`: update `status`, `current_step`, `completed_at`, `updated_at`, `agent_infra_version`
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
根据用户意图自动映射到对应工作流命令:
|
|
6
6
|
- “分析 issue #123” -> `import-issue`
|
|
7
7
|
- “分析任务 TASK-20260306-143022” -> `analyze-task`
|
|
8
|
+
- “审查需求分析” -> `review-analysis`
|
|
8
9
|
- “设计方案” -> `plan-task`
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
10
|
+
- “审查方案/审查技术方案” -> `review-plan`
|
|
11
|
+
- “实施/实现” -> `code-task`
|
|
12
|
+
- “审查代码/代码审查” -> `review-code`
|
|
13
|
+
- “修复审查问题” -> `code-task`
|
|
12
14
|
|
|
13
15
|
## 任务状态管理
|
|
14
16
|
|
|
@@ -25,10 +27,11 @@
|
|
|
25
27
|
- `import-dependabot`:更新 `current_step`、`updated_at`、`assigned_to`、`agent_infra_version`
|
|
26
28
|
- `restore-task`:更新 `status`、`updated_at`、`assigned_to`、`agent_infra_version`
|
|
27
29
|
- `analyze-task`:更新 `current_step`、`updated_at`、`assigned_to`、`agent_infra_version`
|
|
30
|
+
- `review-analysis`:更新 `current_step`、`updated_at`、`agent_infra_version`
|
|
28
31
|
- `plan-task`:更新 `current_step`、`updated_at`、`agent_infra_version`
|
|
29
|
-
- `
|
|
30
|
-
- `
|
|
31
|
-
- `
|
|
32
|
+
- `review-plan`:更新 `current_step`、`updated_at`、`agent_infra_version`
|
|
33
|
+
- `code-task`:更新 `current_step`、`updated_at`、`agent_infra_version`
|
|
34
|
+
- `review-code`:更新 `current_step`、`updated_at`、`agent_infra_version`
|
|
32
35
|
- `create-pr`:更新 `pr_number`、`updated_at`、`agent_infra_version`
|
|
33
36
|
- `commit`:更新 `updated_at`、`agent_infra_version`;必要时更新 `current_step`(详见 `commit/reference/task-status-update.md`)
|
|
34
37
|
- `complete-task`:更新 `status`、`current_step`、`completed_at`、`updated_at`、`agent_infra_version`
|
|
@@ -12,13 +12,13 @@ When a positive assertion already covers the expected behavior, do not add anoth
|
|
|
12
12
|
|
|
13
13
|
Bad:
|
|
14
14
|
```ts
|
|
15
|
-
assert.match(content, /^name:
|
|
15
|
+
assert.match(content, /^name: code-task$/m); // The positive assertion already covers the expected value.
|
|
16
16
|
assert.doesNotMatch(content, /^name: wrong-name$/m); // Redundant: permanently remembers a value that should not appear.
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Good:
|
|
20
20
|
```ts
|
|
21
|
-
assert.match(content, /^name:
|
|
21
|
+
assert.match(content, /^name: code-task$/m); // The positive assertion is enough.
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
If the positive assertion passes, the value is correct. The extra negative assertion adds no protection, only maintenance cost, and can become a test that permanently remembers a concept after the feature is gone.
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
❌ 反例:
|
|
14
14
|
```ts
|
|
15
|
-
assert.match(content, /^name:
|
|
15
|
+
assert.match(content, /^name: code-task$/m); // 正向已覆盖期望值
|
|
16
16
|
assert.doesNotMatch(content, /^name: wrong-name$/m); // 多余:永久记住一个不该出现的值
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
✅ 正例:
|
|
20
20
|
```ts
|
|
21
|
-
assert.match(content, /^name:
|
|
21
|
+
assert.match(content, /^name: code-task$/m); // 正向断言已足够
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
正向断言通过即证明值正确;额外的反向断言不增加保护,只增加维护成本,并会在功能删除后退化为"测试永久记住一个不再存在的概念"。
|
|
@@ -115,6 +115,18 @@ Create `.agents/workspace/active/{task-id}/{analysis-artifact}`.
|
|
|
115
115
|
## Dependencies
|
|
116
116
|
- {Required dependencies and coordination with other modules}
|
|
117
117
|
|
|
118
|
+
## Assumptions
|
|
119
|
+
|
|
120
|
+
> If this analysis depends on assumptions, list them here; omit this section if there are none.
|
|
121
|
+
|
|
122
|
+
- {assumption}
|
|
123
|
+
|
|
124
|
+
## Open Questions
|
|
125
|
+
|
|
126
|
+
> If there are unresolved questions for human review, list them here; omit this section if there are none.
|
|
127
|
+
|
|
128
|
+
- {open question}
|
|
129
|
+
|
|
118
130
|
## Effort and Complexity Assessment
|
|
119
131
|
- Complexity: {High/Medium/Low}
|
|
120
132
|
- Risk level: {High/Medium/Low}
|
|
@@ -189,10 +201,10 @@ Summary:
|
|
|
189
201
|
Output file:
|
|
190
202
|
- Analysis report: .agents/workspace/active/{task-id}/{analysis-artifact}
|
|
191
203
|
|
|
192
|
-
Next step -
|
|
193
|
-
- Claude Code / OpenCode: /
|
|
194
|
-
- Gemini CLI: /{{project}}:
|
|
195
|
-
- Codex CLI: $
|
|
204
|
+
Next step - review the analysis:
|
|
205
|
+
- Claude Code / OpenCode: /review-analysis {task-id}
|
|
206
|
+
- Gemini CLI: /{{project}}:review-analysis {task-id}
|
|
207
|
+
- Codex CLI: $review-analysis {task-id}
|
|
196
208
|
```
|
|
197
209
|
|
|
198
210
|
## Completion Checklist
|
|
@@ -115,6 +115,18 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
115
115
|
## 依赖关系
|
|
116
116
|
- {需要的依赖和与其他模块的协调}
|
|
117
117
|
|
|
118
|
+
## 假设
|
|
119
|
+
|
|
120
|
+
> 如本次分析依赖某些假设,列在此处;没有则可省略本段。
|
|
121
|
+
|
|
122
|
+
- {本轮分析所依赖的假设}
|
|
123
|
+
|
|
124
|
+
## 未决问题
|
|
125
|
+
|
|
126
|
+
> 如有需要人工裁定的未决问题,列在此处;没有则可省略本段。
|
|
127
|
+
|
|
128
|
+
- {未决问题}
|
|
129
|
+
|
|
118
130
|
## 工作量和复杂度评估
|
|
119
131
|
- 复杂度:{高/中/低}
|
|
120
132
|
- 风险等级:{高/中/低}
|
|
@@ -189,10 +201,10 @@ node .agents/scripts/validate-artifact.js gate analyze-task .agents/workspace/ac
|
|
|
189
201
|
产出文件:
|
|
190
202
|
- 分析报告:.agents/workspace/active/{task-id}/{analysis-artifact}
|
|
191
203
|
|
|
192
|
-
下一步 -
|
|
193
|
-
- Claude Code / OpenCode:/
|
|
194
|
-
- Gemini CLI:/agent-infra:
|
|
195
|
-
- Codex CLI:$
|
|
204
|
+
下一步 - 审查需求分析:
|
|
205
|
+
- Claude Code / OpenCode:/review-analysis {task-id}
|
|
206
|
+
- Gemini CLI:/agent-infra:review-analysis {task-id}
|
|
207
|
+
- Codex CLI:$review-analysis {task-id}
|
|
196
208
|
```
|
|
197
209
|
|
|
198
210
|
## 完成检查清单
|
|
@@ -36,11 +36,12 @@ Extract from `task.md`:
|
|
|
36
36
|
Scan and record the existence, round, and status of these artifact types:
|
|
37
37
|
- `analysis.md`, `analysis-r{N}.md` - Requirement analysis
|
|
38
38
|
- `plan.md`, `plan-r{N}.md` - Technical plan
|
|
39
|
-
- `
|
|
40
|
-
- `
|
|
41
|
-
- `review.md`, `review-
|
|
39
|
+
- `code.md`, `code-r2.md`, ... - Code reports
|
|
40
|
+
- `review-analysis.md`, `review-analysis-r{N}.md` - Requirement analysis review reports
|
|
41
|
+
- `review-plan.md`, `review-plan-r{N}.md` - Technical plan review reports
|
|
42
|
+
- `review-code.md`, `review-code-r{N}.md` - Code review reports
|
|
42
43
|
|
|
43
|
-
For versioned artifacts (`analysis`, `plan`, `
|
|
44
|
+
For versioned artifacts (`analysis`, `review-analysis`, `plan`, `review-plan`, `code`, `review-code`):
|
|
44
45
|
- Scan all versioned files of the same artifact type in the task directory
|
|
45
46
|
- Record the latest round, latest file path, and total number of rounds for each artifact type
|
|
46
47
|
- If the latest round is recorded in `task.md` Activity Log, cross-check it against the actual file when possible
|
|
@@ -64,28 +65,30 @@ Basic info:
|
|
|
64
65
|
|
|
65
66
|
Workflow progress:
|
|
66
67
|
[done] Requirement Analysis analysis-r2.md (Round 2, latest)
|
|
68
|
+
[done] Analysis Review review-analysis.md (Round 1, latest)
|
|
67
69
|
[done] Technical Design plan.md (Round 1)
|
|
68
|
-
[
|
|
69
|
-
[
|
|
70
|
-
[pending] Code Review review.md (Round 1 will be created next)
|
|
70
|
+
[done] Plan Review review-plan.md (Round 1, latest)
|
|
71
|
+
[current] Code code.md (Round 1)
|
|
72
|
+
[pending] Code Review review-code.md (Round 1 will be created next)
|
|
71
73
|
[pending] Final Commit
|
|
72
74
|
|
|
73
75
|
Context files:
|
|
74
76
|
- analysis.md: Exists (Round 1)
|
|
75
77
|
- analysis-r2.md: Exists (Round 2, latest)
|
|
78
|
+
- review-analysis.md: Exists (Round 1, latest)
|
|
76
79
|
- plan.md: Exists (Round 1, latest)
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
- review.md:
|
|
80
|
+
- review-plan.md: Exists (Round 1, latest)
|
|
81
|
+
- code.md: Exists (Round 1, latest)
|
|
82
|
+
- review-code.md: Not started
|
|
80
83
|
|
|
81
84
|
If multiple rounds exist, show all rounds and mark the latest, for example:
|
|
82
|
-
- plan.md:
|
|
83
|
-
- plan-r2.md:
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
- review.md:
|
|
88
|
-
- review-r2.md:
|
|
85
|
+
- plan.md: Exists (Round 1)
|
|
86
|
+
- plan-r2.md: Exists (Round 2, latest)
|
|
87
|
+
- review-plan.md: Exists (Round 1)
|
|
88
|
+
- code.md: Exists (Round 1)
|
|
89
|
+
- code-r2.md: Exists (Round 2, latest)
|
|
90
|
+
- review-code.md: Exists (Round 1)
|
|
91
|
+
- review-code-r2.md: Exists (Round 2, latest)
|
|
89
92
|
|
|
90
93
|
Next step:
|
|
91
94
|
Complete implementation, then run code review
|
|
@@ -107,26 +110,34 @@ Recommend the appropriate next skill based on the current workflow state. You mu
|
|
|
107
110
|
> - `status = blocked` -> choose "Task Blocked"
|
|
108
111
|
> - `status = completed` -> choose "Task Completed"
|
|
109
112
|
> - `current_step = requirement-analysis` and the latest analysis artifact is complete -> choose "Analysis Complete"
|
|
113
|
+
> - `current_step = requirement-analysis-review` and the latest analysis review artifact is approved -> choose "Analysis Review Passed"
|
|
114
|
+
> - `current_step = requirement-analysis-review` and the latest analysis review artifact exists but is not approved or has findings -> choose "Analysis Review Has Issues"
|
|
110
115
|
> - `current_step = technical-design` and the latest plan artifact is complete -> choose "Plan Complete"
|
|
111
|
-
> -
|
|
112
|
-
> -
|
|
113
|
-
> - The latest
|
|
116
|
+
> - `current_step = technical-design-review` and the latest plan review artifact is approved -> choose "Plan Review Passed"
|
|
117
|
+
> - `current_step = technical-design-review` and the latest plan review artifact exists but is not approved or has findings -> choose "Plan Review Has Issues"
|
|
118
|
+
> - The latest code artifact exists and there is still no latest code review artifact -> choose "Code Complete"
|
|
119
|
+
> - `current_step = code-review` and the latest code review artifact exists, the verdict is `Approved`, and `Blocker = 0`, `Major = 0`, `Minor = 0` -> choose "Code Review Passed"
|
|
120
|
+
> - `current_step = code-review` and the latest code review artifact exists, but any `Blocker`, `Major`, or `Minor` issue remains, or the verdict is not a clean approval -> choose "Code Review Has Issues"
|
|
114
121
|
>
|
|
115
|
-
> **Important: if the latest review report contains any issue at all, do not use the
|
|
116
|
-
|
|
117
|
-
| Current State
|
|
118
|
-
|
|
119
|
-
| Analysis Complete
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
| Review
|
|
124
|
-
|
|
|
125
|
-
|
|
|
122
|
+
> **Important: if the latest review report contains any issue at all, do not use the corresponding review-passed row. Use the corresponding has-issues row instead.**
|
|
123
|
+
|
|
124
|
+
| Current State | Claude Code / OpenCode | Gemini CLI | Codex CLI |
|
|
125
|
+
|----------------------------|-----------------------------------------------------|------------------------------------------|-----------------------------------------------------|
|
|
126
|
+
| Analysis Complete | `/review-analysis {task-id}` | `/{{project}}:review-analysis {task-id}` | `$review-analysis {task-id}` |
|
|
127
|
+
| Analysis Review Passed | `/plan-task {task-id}` | `/{{project}}:plan-task {task-id}` | `$plan-task {task-id}` |
|
|
128
|
+
| Analysis Review Has Issues | `/analyze-task {task-id}` | `/{{project}}:analyze-task {task-id}` | `$analyze-task {task-id}` |
|
|
129
|
+
| Plan Complete | `/review-plan {task-id}` | `/{{project}}:review-plan {task-id}` | `$review-plan {task-id}` |
|
|
130
|
+
| Plan Review Passed | `/code-task {task-id}` | `/{{project}}:code-task {task-id}` | `$code-task {task-id}` |
|
|
131
|
+
| Plan Review Has Issues | `/plan-task {task-id}` | `/{{project}}:plan-task {task-id}` | `$plan-task {task-id}` |
|
|
132
|
+
| Code Complete | `/review-code {task-id}` | `/{{project}}:review-code {task-id}` | `$review-code {task-id}` |
|
|
133
|
+
| Code Review Passed | `/commit` | `/{{project}}:commit` | `$commit` |
|
|
134
|
+
| Code Review Has Issues | `/code-task {task-id}` | `/{{project}}:code-task {task-id}` | `$code-task {task-id}` |
|
|
135
|
+
| Task Blocked | Unblock the task or provide the missing information | — | Unblock the task or provide the missing information |
|
|
136
|
+
| Task Completed | No action needed | — | No action needed |
|
|
126
137
|
|
|
127
138
|
## Notes
|
|
128
139
|
|
|
129
140
|
1. **Read-only**: This skill only reads and reports -- it does not modify files
|
|
130
141
|
2. **Multi-directory search**: Always check active, blocked, and completed
|
|
131
142
|
3. **Quick reference**: Use this skill any time you need to see where a task is in the workflow
|
|
132
|
-
4. **Versioned artifacts**: `analysis`, `plan`, `
|
|
143
|
+
4. **Versioned artifacts**: `analysis`, `review-analysis`, `plan`, `review-plan`, `code`, and `review-code` must all report the actual round, not only the base filename
|