@fitlab-ai/agent-infra 0.7.1 → 0.7.2
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/bin/cli.ts +11 -0
- package/dist/bin/cli.js +12 -0
- package/dist/lib/sandbox/commands/create.js +10 -2
- package/dist/lib/sandbox/commands/enter.js +8 -7
- package/dist/lib/sandbox/commands/list-running.js +21 -32
- package/dist/lib/sandbox/commands/ls.js +20 -22
- package/dist/lib/sandbox/index.js +7 -3
- package/dist/lib/sandbox/task-resolver.js +1 -1
- package/dist/lib/sandbox/tools.js +1 -1
- package/dist/lib/table.js +29 -0
- package/dist/lib/task/commands/ls.js +122 -0
- package/dist/lib/task/commands/show.js +135 -0
- package/dist/lib/task/frontmatter.js +32 -0
- package/dist/lib/task/index.js +41 -0
- package/dist/lib/task/short-id.js +80 -0
- package/lib/sandbox/commands/create.ts +11 -2
- package/lib/sandbox/commands/enter.ts +8 -7
- package/lib/sandbox/commands/list-running.ts +23 -37
- package/lib/sandbox/commands/ls.ts +25 -25
- package/lib/sandbox/index.ts +7 -3
- package/lib/sandbox/task-resolver.ts +1 -1
- package/lib/sandbox/tools.ts +1 -1
- package/lib/table.ts +32 -0
- package/lib/task/commands/ls.ts +138 -0
- package/lib/task/commands/show.ts +139 -0
- package/lib/task/frontmatter.ts +30 -0
- package/lib/task/index.ts +44 -0
- package/lib/task/short-id.ts +97 -0
- package/package.json +1 -1
- package/templates/.agents/hooks/auto-resume.sh +87 -0
- 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/milestone-inference.github.en.md +4 -1
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +4 -1
- package/templates/.agents/rules/next-step-output.en.md +59 -0
- package/templates/.agents/rules/next-step-output.zh-CN.md +59 -0
- package/templates/.agents/rules/task-short-id.en.md +54 -62
- package/templates/.agents/rules/task-short-id.zh-CN.md +35 -54
- package/templates/.agents/scripts/platform-adapters/platform-sync.github.js +17 -0
- package/templates/.agents/scripts/task-short-id.js +32 -189
- package/templates/.agents/skills/analyze-task/SKILL.en.md +10 -12
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +10 -12
- package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -1
- package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -1
- package/templates/.agents/skills/block-task/SKILL.en.md +6 -6
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/block-task/config/verify.json +1 -1
- package/templates/.agents/skills/cancel-task/SKILL.en.md +6 -6
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/cancel-task/config/verify.json +1 -1
- package/templates/.agents/skills/check-task/SKILL.en.md +12 -10
- package/templates/.agents/skills/check-task/SKILL.zh-CN.md +12 -10
- package/templates/.agents/skills/close-codescan/SKILL.en.md +6 -6
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +6 -6
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/code-task/SKILL.en.md +10 -6
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +11 -6
- package/templates/.agents/skills/code-task/config/verify.en.json +2 -1
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +2 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +10 -5
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +10 -5
- package/templates/.agents/skills/code-task/reference/output-template.en.md +3 -3
- package/templates/.agents/skills/code-task/reference/output-template.zh-CN.md +3 -3
- package/templates/.agents/skills/code-task/reference/report-template.en.md +8 -0
- package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +8 -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 +9 -9
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +9 -9
- package/templates/.agents/skills/complete-task/SKILL.en.md +6 -2
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +6 -2
- package/templates/.agents/skills/complete-task/config/verify.en.json +1 -1
- package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +1 -1
- package/templates/.agents/skills/create-pr/SKILL.en.md +6 -6
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/create-pr/config/verify.json +2 -1
- package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +1 -1
- package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +1 -1
- package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +3 -3
- package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +3 -3
- package/templates/.agents/skills/create-task/SKILL.en.md +17 -17
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +17 -17
- package/templates/.agents/skills/create-task/config/verify.json +1 -1
- package/templates/.agents/skills/import-codescan/SKILL.en.md +8 -8
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/import-codescan/config/verify.json +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +8 -8
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/import-dependabot/config/verify.json +1 -1
- package/templates/.agents/skills/import-issue/SKILL.en.md +7 -7
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +7 -7
- package/templates/.agents/skills/plan-task/SKILL.en.md +10 -12
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +10 -12
- package/templates/.agents/skills/plan-task/config/verify.en.json +1 -1
- package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +1 -1
- package/templates/.agents/skills/restore-task/SKILL.en.md +1 -1
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/review-analysis/SKILL.en.md +4 -2
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +4 -2
- package/templates/.agents/skills/review-analysis/config/verify.en.json +3 -2
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +3 -2
- package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +15 -15
- package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +15 -15
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +7 -1
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +7 -1
- package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +2 -0
- package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +2 -0
- package/templates/.agents/skills/review-code/SKILL.en.md +5 -2
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +5 -2
- package/templates/.agents/skills/review-code/config/verify.en.json +3 -2
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +3 -2
- package/templates/.agents/skills/review-code/reference/output-templates.en.md +9 -9
- package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +9 -9
- package/templates/.agents/skills/review-code/reference/report-template.en.md +7 -1
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +7 -1
- package/templates/.agents/skills/review-code/reference/review-criteria.en.md +2 -0
- package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +2 -0
- package/templates/.agents/skills/review-plan/SKILL.en.md +4 -2
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +4 -2
- package/templates/.agents/skills/review-plan/config/verify.en.json +3 -2
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +3 -2
- package/templates/.agents/skills/review-plan/reference/output-templates.en.md +15 -15
- package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +15 -15
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +7 -1
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +7 -1
- package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +2 -0
- package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +2 -0
- package/templates/.agents/templates/task.en.md +0 -1
- package/templates/.agents/templates/task.zh-CN.md +0 -1
- package/templates/.agents/workflows/bug-fix.en.yaml +1 -1
- package/templates/.agents/workflows/bug-fix.zh-CN.yaml +1 -1
- package/templates/.agents/workflows/feature-development.en.yaml +1 -1
- package/templates/.agents/workflows/feature-development.zh-CN.yaml +1 -1
- package/templates/.agents/workflows/refactoring.en.yaml +1 -1
- package/templates/.agents/workflows/refactoring.zh-CN.yaml +1 -1
- package/templates/.claude/settings.json +11 -0
|
@@ -21,7 +21,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
|
|
|
21
21
|
|
|
22
22
|
## Task id short ref
|
|
23
23
|
|
|
24
|
-
> If `{task-id}`
|
|
24
|
+
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
25
25
|
|
|
26
26
|
## Steps
|
|
27
27
|
|
|
@@ -56,7 +56,7 @@ Update `.agents/workspace/active/{task-id}/task.md`:
|
|
|
56
56
|
- `agent_infra_version`: value from `.agents/rules/version-stamp.md`
|
|
57
57
|
- **Append** to `## Activity Log` (do NOT overwrite previous entries):
|
|
58
58
|
```
|
|
59
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
59
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Block Task** by {agent} — {one-line reason}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Add a blocking information section to task.md.
|
|
@@ -106,7 +106,7 @@ Keep the gate output in your reply as fresh evidence. Do not claim completion wi
|
|
|
106
106
|
|
|
107
107
|
> Execute this step only after the verification gate passes.
|
|
108
108
|
|
|
109
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
109
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name). Before rendering the "Next steps" commands, read `.agents/rules/next-step-output.md` and use its short-id snippet to render `{task-ref}` in the commands as the short id `#NN` (falling back to the full TASK-id when unallocated or released).
|
|
110
110
|
|
|
111
111
|
Output format:
|
|
112
112
|
```
|
|
@@ -121,9 +121,9 @@ To unblock when the issue is resolved:
|
|
|
121
121
|
# Then update task.md: status -> active, remove blocked_at
|
|
122
122
|
|
|
123
123
|
Next step - check task status after unblocking:
|
|
124
|
-
- Claude Code / OpenCode: /check-task {task-
|
|
125
|
-
- Gemini CLI: /{{project}}:check-task {task-
|
|
126
|
-
- Codex CLI: $check-task {task-
|
|
124
|
+
- Claude Code / OpenCode: /check-task {task-ref}
|
|
125
|
+
- Gemini CLI: /{{project}}:check-task {task-ref}
|
|
126
|
+
- Codex CLI: $check-task {task-ref}
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
|
|
@@ -21,7 +21,7 @@ description: "标记任务为阻塞状态并记录原因"
|
|
|
21
21
|
|
|
22
22
|
## 任务入参短号别名
|
|
23
23
|
|
|
24
|
-
> 如果 `{task-id}`
|
|
24
|
+
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
25
25
|
|
|
26
26
|
## 执行步骤
|
|
27
27
|
### 1. 验证任务存在
|
|
@@ -55,7 +55,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
55
55
|
- `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
|
|
56
56
|
- **追加**到 `## Activity Log`(不要覆盖之前的记录):
|
|
57
57
|
```
|
|
58
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
58
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Block Task** by {agent} — {一行原因}
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
在 task.md 中添加阻塞信息部分。
|
|
@@ -105,7 +105,7 @@ node .agents/scripts/validate-artifact.js gate block-task .agents/workspace/bloc
|
|
|
105
105
|
|
|
106
106
|
> 仅在校验通过后执行本步骤。
|
|
107
107
|
|
|
108
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
108
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染「下一步」命令前,先读取 `.agents/rules/next-step-output.md`,按其取短号片段把命令中的 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id)。
|
|
109
109
|
|
|
110
110
|
输出格式:
|
|
111
111
|
```
|
|
@@ -120,9 +120,9 @@ node .agents/scripts/validate-artifact.js gate block-task .agents/workspace/bloc
|
|
|
120
120
|
# 然后更新 task.md:status -> active,移除 blocked_at
|
|
121
121
|
|
|
122
122
|
下一步 - 检查任务状态(解除阻塞后):
|
|
123
|
-
- Claude Code / OpenCode:/check-task {task-
|
|
124
|
-
- Gemini CLI:/agent-infra:check-task {task-
|
|
125
|
-
- Codex CLI:$check-task {task-
|
|
123
|
+
- Claude Code / OpenCode:/check-task {task-ref}
|
|
124
|
+
- Gemini CLI:/agent-infra:check-task {task-ref}
|
|
125
|
+
- Codex CLI:$check-task {task-ref}
|
|
126
126
|
```
|
|
127
127
|
|
|
128
128
|
|
|
@@ -15,7 +15,7 @@ Version stamp rule: when creating or updating `task.md` frontmatter, read `.agen
|
|
|
15
15
|
|
|
16
16
|
## Task id short ref
|
|
17
17
|
|
|
18
|
-
> If `{task-id}`
|
|
18
|
+
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
19
19
|
|
|
20
20
|
## Steps
|
|
21
21
|
|
|
@@ -57,7 +57,7 @@ Update `task.md` in the task directory:
|
|
|
57
57
|
- `agent_infra_version`: value from `.agents/rules/version-stamp.md`
|
|
58
58
|
- **Append** to `## Activity Log` (do NOT overwrite previous entries):
|
|
59
59
|
```
|
|
60
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
60
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Cancel Task** by {agent} — {one-line cancellation reason}
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
### 4. Move the Task
|
|
@@ -119,7 +119,7 @@ Keep the gate output in your reply as fresh evidence. Do not claim completion wi
|
|
|
119
119
|
|
|
120
120
|
> Execute this step only after the verification gate passes.
|
|
121
121
|
|
|
122
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
122
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name). Before rendering the "Next steps" commands, read `.agents/rules/next-step-output.md` and use its short-id snippet to render `{task-ref}` in the commands as the short id `#NN` (falling back to the full TASK-id when unallocated or released).
|
|
123
123
|
|
|
124
124
|
Output format:
|
|
125
125
|
```
|
|
@@ -130,9 +130,9 @@ Status label: {status-label or skipped}
|
|
|
130
130
|
Target path: .agents/workspace/completed/{task-id}/
|
|
131
131
|
|
|
132
132
|
Next step - inspect the moved task:
|
|
133
|
-
- Claude Code / OpenCode: /check-task {task-
|
|
134
|
-
- Gemini CLI: /{{project}}:check-task {task-
|
|
135
|
-
- Codex CLI: $check-task {task-
|
|
133
|
+
- Claude Code / OpenCode: /check-task {task-ref}
|
|
134
|
+
- Gemini CLI: /{{project}}:check-task {task-ref}
|
|
135
|
+
- Codex CLI: $check-task {task-ref}
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
|
|
@@ -15,7 +15,7 @@ description: "取消不再需要的任务并转移"
|
|
|
15
15
|
|
|
16
16
|
## 任务入参短号别名
|
|
17
17
|
|
|
18
|
-
> 如果 `{task-id}`
|
|
18
|
+
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
19
19
|
|
|
20
20
|
## 执行步骤
|
|
21
21
|
### 1. 验证任务存在
|
|
@@ -56,7 +56,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
56
56
|
- `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
|
|
57
57
|
- **追加**到 `## Activity Log`(不要覆盖之前记录):
|
|
58
58
|
```
|
|
59
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
59
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Cancel Task** by {agent} — {一行取消原因}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
### 4. 转移任务
|
|
@@ -118,7 +118,7 @@ node .agents/scripts/validate-artifact.js gate cancel-task .agents/workspace/com
|
|
|
118
118
|
|
|
119
119
|
> 仅在校验通过后执行本步骤。
|
|
120
120
|
|
|
121
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
121
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染「下一步」命令前,先读取 `.agents/rules/next-step-output.md`,按其取短号片段把命令中的 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id)。
|
|
122
122
|
|
|
123
123
|
输出格式:
|
|
124
124
|
```
|
|
@@ -129,9 +129,9 @@ node .agents/scripts/validate-artifact.js gate cancel-task .agents/workspace/com
|
|
|
129
129
|
目标路径:.agents/workspace/completed/{task-id}/
|
|
130
130
|
|
|
131
131
|
下一步 - 查看已转移任务:
|
|
132
|
-
- Claude Code / OpenCode:/check-task {task-
|
|
133
|
-
- Gemini CLI:/{{project}}:check-task {task-
|
|
134
|
-
- Codex CLI:$check-task {task-
|
|
132
|
+
- Claude Code / OpenCode:/check-task {task-ref}
|
|
133
|
+
- Gemini CLI:/{{project}}:check-task {task-ref}
|
|
134
|
+
- Codex CLI:$check-task {task-ref}
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
|
|
@@ -12,7 +12,7 @@ description: "Check a task's current status and progress"
|
|
|
12
12
|
|
|
13
13
|
## Task id short ref
|
|
14
14
|
|
|
15
|
-
> If `{task-id}`
|
|
15
|
+
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
16
16
|
|
|
17
17
|
## Steps
|
|
18
18
|
|
|
@@ -55,7 +55,7 @@ For versioned artifacts (`analysis`, `review-analysis`, `plan`, `review-plan`, `
|
|
|
55
55
|
Format the status report with a clear structure and status indicators:
|
|
56
56
|
|
|
57
57
|
```
|
|
58
|
-
Task status: {task-id}
|
|
58
|
+
Task status: {task-id} (short id {task-ref})
|
|
59
59
|
=======================
|
|
60
60
|
|
|
61
61
|
Basic info:
|
|
@@ -124,18 +124,20 @@ Recommend the appropriate next skill based on the current workflow state. You mu
|
|
|
124
124
|
> - `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"
|
|
125
125
|
>
|
|
126
126
|
> **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.**
|
|
127
|
+
>
|
|
128
|
+
> Before rendering the commands in the table below, read `.agents/rules/next-step-output.md` and render `{task-ref}` in the commands as the short id `#NN` (falling back to the full TASK-id when unallocated or released).
|
|
127
129
|
|
|
128
130
|
| Current State | Claude Code / OpenCode | Gemini CLI | Codex CLI |
|
|
129
131
|
|----------------------------|-----------------------------------------------------|------------------------------------------|-----------------------------------------------------|
|
|
130
|
-
| Analysis Complete | `/review-analysis {task-
|
|
131
|
-
| Analysis Review Passed | `/plan-task {task-
|
|
132
|
-
| Analysis Review Has Issues | `/analyze-task {task-
|
|
133
|
-
| Plan Complete | `/review-plan {task-
|
|
134
|
-
| Plan Review Passed | `/code-task {task-
|
|
135
|
-
| Plan Review Has Issues | `/plan-task {task-
|
|
136
|
-
| Code Complete | `/review-code {task-
|
|
132
|
+
| Analysis Complete | `/review-analysis {task-ref}` | `/{{project}}:review-analysis {task-ref}` | `$review-analysis {task-ref}` |
|
|
133
|
+
| Analysis Review Passed | `/plan-task {task-ref}` | `/{{project}}:plan-task {task-ref}` | `$plan-task {task-ref}` |
|
|
134
|
+
| Analysis Review Has Issues | `/analyze-task {task-ref}` | `/{{project}}:analyze-task {task-ref}` | `$analyze-task {task-ref}` |
|
|
135
|
+
| Plan Complete | `/review-plan {task-ref}` | `/{{project}}:review-plan {task-ref}` | `$review-plan {task-ref}` |
|
|
136
|
+
| Plan Review Passed | `/code-task {task-ref}` | `/{{project}}:code-task {task-ref}` | `$code-task {task-ref}` |
|
|
137
|
+
| Plan Review Has Issues | `/plan-task {task-ref}` | `/{{project}}:plan-task {task-ref}` | `$plan-task {task-ref}` |
|
|
138
|
+
| Code Complete | `/review-code {task-ref}` | `/{{project}}:review-code {task-ref}` | `$review-code {task-ref}` |
|
|
137
139
|
| Code Review Passed | `/commit` | `/{{project}}:commit` | `$commit` |
|
|
138
|
-
| Code Review Has Issues | `/code-task {task-
|
|
140
|
+
| Code Review Has Issues | `/code-task {task-ref}` | `/{{project}}:code-task {task-ref}` | `$code-task {task-ref}` |
|
|
139
141
|
| Task Blocked | Unblock the task or provide the missing information | — | Unblock the task or provide the missing information |
|
|
140
142
|
| Task Completed | No action needed | — | No action needed |
|
|
141
143
|
|
|
@@ -12,7 +12,7 @@ description: "查看任务的当前状态和进度"
|
|
|
12
12
|
|
|
13
13
|
## 任务入参短号别名
|
|
14
14
|
|
|
15
|
-
> 如果 `{task-id}`
|
|
15
|
+
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
16
16
|
|
|
17
17
|
## 执行步骤
|
|
18
18
|
### 1. 查找任务
|
|
@@ -54,7 +54,7 @@ description: "查看任务的当前状态和进度"
|
|
|
54
54
|
以清晰的结构和状态指示器格式化输出:
|
|
55
55
|
|
|
56
56
|
```
|
|
57
|
-
任务状态:{task-id}
|
|
57
|
+
任务状态:{task-id}(短号 {task-ref})
|
|
58
58
|
=======================
|
|
59
59
|
|
|
60
60
|
基本信息:
|
|
@@ -123,18 +123,20 @@ description: "查看任务的当前状态和进度"
|
|
|
123
123
|
> - `current_step = code-review` 且最新代码审查产物存在,但仍有任何 `Blocker`、`Major` 或 `Minor` 问题,或结论不是无问题通过 → 选择「代码审查有问题」
|
|
124
124
|
>
|
|
125
125
|
> **特别注意:只要最新审查报告中存在任何问题,就不能使用对应「审查通过」行。必须改用对应「审查有问题」行。**
|
|
126
|
+
>
|
|
127
|
+
> 渲染下方表格中的命令前,先读取 `.agents/rules/next-step-output.md`,把命令中的 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id)。
|
|
126
128
|
|
|
127
129
|
| 当前状态 | Claude Code / OpenCode | Gemini CLI | Codex CLI |
|
|
128
130
|
|--------------------|------------------------------|------------------------------------------|------------------------------|
|
|
129
|
-
| 分析完成 | `/review-analysis {task-
|
|
130
|
-
| 需求分析审查通过 | `/plan-task {task-
|
|
131
|
-
| 需求分析审查有问题 | `/analyze-task {task-
|
|
132
|
-
| 计划完成 | `/review-plan {task-
|
|
133
|
-
| 技术方案审查通过 | `/code-task {task-
|
|
134
|
-
| 技术方案审查有问题 | `/plan-task {task-
|
|
135
|
-
| 实现完成 | `/review-code {task-
|
|
131
|
+
| 分析完成 | `/review-analysis {task-ref}` | `/agent-infra:review-analysis {task-ref}` | `$review-analysis {task-ref}` |
|
|
132
|
+
| 需求分析审查通过 | `/plan-task {task-ref}` | `/agent-infra:plan-task {task-ref}` | `$plan-task {task-ref}` |
|
|
133
|
+
| 需求分析审查有问题 | `/analyze-task {task-ref}` | `/agent-infra:analyze-task {task-ref}` | `$analyze-task {task-ref}` |
|
|
134
|
+
| 计划完成 | `/review-plan {task-ref}` | `/agent-infra:review-plan {task-ref}` | `$review-plan {task-ref}` |
|
|
135
|
+
| 技术方案审查通过 | `/code-task {task-ref}` | `/agent-infra:code-task {task-ref}` | `$code-task {task-ref}` |
|
|
136
|
+
| 技术方案审查有问题 | `/plan-task {task-ref}` | `/agent-infra:plan-task {task-ref}` | `$plan-task {task-ref}` |
|
|
137
|
+
| 实现完成 | `/review-code {task-ref}` | `/agent-infra:review-code {task-ref}` | `$review-code {task-ref}` |
|
|
136
138
|
| 代码审查通过 | `/commit` | `/agent-infra:commit` | `$commit` |
|
|
137
|
-
| 代码审查有问题 | `/code-task {task-
|
|
139
|
+
| 代码审查有问题 | `/code-task {task-ref}` | `/agent-infra:code-task {task-ref}` | `$code-task {task-ref}` |
|
|
138
140
|
| 任务被阻塞 | 解除阻塞或提供所需信息 | — | 解除阻塞或提供所需信息 |
|
|
139
141
|
| 任务已完成 | 无需操作 | — | 无需操作 |
|
|
140
142
|
|
|
@@ -9,7 +9,7 @@ Dismiss the specified Code Scanning (CodeQL) alert and record a justified reason
|
|
|
9
9
|
|
|
10
10
|
## Task id short ref
|
|
11
11
|
|
|
12
|
-
> If `{task-id}`
|
|
12
|
+
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
13
13
|
|
|
14
14
|
## Execution Flow
|
|
15
15
|
|
|
@@ -82,7 +82,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
82
82
|
- Add the dismissal record to task.md
|
|
83
83
|
- **Append** to `## Activity Log` (do NOT overwrite previous entries):
|
|
84
84
|
```
|
|
85
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
85
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Codescan** by {agent} — Code Scanning alert #{alert-number} dismissed: {reason}
|
|
86
86
|
```
|
|
87
87
|
- Archive the task
|
|
88
88
|
- **Release short id** (after the archive `mv` succeeded; the script is idempotent):
|
|
@@ -93,7 +93,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
93
93
|
|
|
94
94
|
### 8. Inform User
|
|
95
95
|
|
|
96
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
96
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name). Before rendering the "Next steps" commands, read `.agents/rules/next-step-output.md` and use its short-id snippet to render `{task-ref}` in the commands as the short id `#NN` (falling back to the full TASK-id when unallocated or released).
|
|
97
97
|
|
|
98
98
|
```
|
|
99
99
|
Code Scanning alert #{alert-number} dismissed.
|
|
@@ -108,9 +108,9 @@ View: {html_url}
|
|
|
108
108
|
Note: it can be reopened on the platform if necessary.
|
|
109
109
|
|
|
110
110
|
Next step - complete and archive the task if a related task exists:
|
|
111
|
-
- Claude Code / OpenCode: /complete-task {task-
|
|
112
|
-
- Gemini CLI: /{{project}}:complete-task {task-
|
|
113
|
-
- Codex CLI: $complete-task {task-
|
|
111
|
+
- Claude Code / OpenCode: /complete-task {task-ref}
|
|
112
|
+
- Gemini CLI: /{{project}}:complete-task {task-ref}
|
|
113
|
+
- Codex CLI: $complete-task {task-ref}
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
## Notes
|
|
@@ -9,7 +9,7 @@ description: "关闭 Code Scanning 告警并记录理由"
|
|
|
9
9
|
|
|
10
10
|
## 任务入参短号别名
|
|
11
11
|
|
|
12
|
-
> 如果 `{task-id}`
|
|
12
|
+
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
13
13
|
|
|
14
14
|
## 执行流程
|
|
15
15
|
|
|
@@ -82,7 +82,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
82
82
|
- 添加关闭记录到 task.md
|
|
83
83
|
- **追加**到 `## Activity Log`(不要覆盖之前的记录):
|
|
84
84
|
```
|
|
85
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
85
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Codescan** by {agent} — Code Scanning alert #{alert-number} dismissed: {reason}
|
|
86
86
|
```
|
|
87
87
|
- 归档任务
|
|
88
88
|
- **释放短号**(归档目录已 mv 成功,再 release;脚本幂等):
|
|
@@ -93,7 +93,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
93
93
|
|
|
94
94
|
### 8. 告知用户
|
|
95
95
|
|
|
96
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
96
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染「下一步」命令前,先读取 `.agents/rules/next-step-output.md`,按其取短号片段把命令中的 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id)。
|
|
97
97
|
|
|
98
98
|
```
|
|
99
99
|
Code Scanning 告警 #{alert-number} 已关闭。
|
|
@@ -108,9 +108,9 @@ Code Scanning 告警 #{alert-number} 已关闭。
|
|
|
108
108
|
注意:如有需要,可在 平台上重新打开。
|
|
109
109
|
|
|
110
110
|
下一步 - 完成并归档任务(如有关联任务):
|
|
111
|
-
- Claude Code / OpenCode:/complete-task {task-
|
|
112
|
-
- Gemini CLI:/agent-infra:complete-task {task-
|
|
113
|
-
- Codex CLI:$complete-task {task-
|
|
111
|
+
- Claude Code / OpenCode:/complete-task {task-ref}
|
|
112
|
+
- Gemini CLI:/agent-infra:complete-task {task-ref}
|
|
113
|
+
- Codex CLI:$complete-task {task-ref}
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
## 注意事项
|
|
@@ -9,7 +9,7 @@ Dismiss the specified Dependabot security alert and record a justified reason.
|
|
|
9
9
|
|
|
10
10
|
## Task id short ref
|
|
11
11
|
|
|
12
|
-
> If `{task-id}`
|
|
12
|
+
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
13
13
|
|
|
14
14
|
## Execution Flow
|
|
15
15
|
|
|
@@ -90,7 +90,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
90
90
|
- Add the dismissal record to task.md
|
|
91
91
|
- **Append** to `## Activity Log` (do NOT overwrite previous entries):
|
|
92
92
|
```
|
|
93
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
93
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Dependabot** by {agent} — Dependabot alert #{alert-number} dismissed: {reason}
|
|
94
94
|
```
|
|
95
95
|
- Archive the task
|
|
96
96
|
- **Release short id** (after the archive `mv` succeeded; the script is idempotent):
|
|
@@ -101,7 +101,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
101
101
|
|
|
102
102
|
### 8. Inform User
|
|
103
103
|
|
|
104
|
-
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name).
|
|
104
|
+
> **IMPORTANT**: All TUI command formats listed below must be output in full. Do not show only the format for the current AI agent. If `.agents/.airc.json` configures custom TUIs (via `customTUIs`), read each tool's `name` and `invoke`, then add the matching command line in the same format (`${skillName}` becomes the skill name and `${projectName}` becomes the project name). Before rendering the "Next steps" commands, read `.agents/rules/next-step-output.md` and use its short-id snippet to render `{task-ref}` in the commands as the short id `#NN` (falling back to the full TASK-id when unallocated or released).
|
|
105
105
|
|
|
106
106
|
```
|
|
107
107
|
Security alert #{alert-number} dismissed.
|
|
@@ -116,9 +116,9 @@ View: {alert-url}
|
|
|
116
116
|
Note: it can be reopened on the platform if necessary.
|
|
117
117
|
|
|
118
118
|
Next step - complete and archive the task if a related task exists:
|
|
119
|
-
- Claude Code / OpenCode: /complete-task {task-
|
|
120
|
-
- Gemini CLI: /{{project}}:complete-task {task-
|
|
121
|
-
- Codex CLI: $complete-task {task-
|
|
119
|
+
- Claude Code / OpenCode: /complete-task {task-ref}
|
|
120
|
+
- Gemini CLI: /{{project}}:complete-task {task-ref}
|
|
121
|
+
- Codex CLI: $complete-task {task-ref}
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## Notes
|
|
@@ -9,7 +9,7 @@ description: "关闭 Dependabot 安全告警并记录理由"
|
|
|
9
9
|
|
|
10
10
|
## 任务入参短号别名
|
|
11
11
|
|
|
12
|
-
> 如果 `{task-id}`
|
|
12
|
+
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
13
13
|
|
|
14
14
|
## 执行流程
|
|
15
15
|
|
|
@@ -90,7 +90,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
90
90
|
- 添加关闭记录到 task.md
|
|
91
91
|
- **追加**到 `## Activity Log`(不要覆盖之前的记录):
|
|
92
92
|
```
|
|
93
|
-
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **
|
|
93
|
+
- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Close Dependabot** by {agent} — Dependabot alert #{alert-number} dismissed: {reason}
|
|
94
94
|
```
|
|
95
95
|
- 归档任务
|
|
96
96
|
- **释放短号**(归档目录已 mv 成功,再 release;脚本幂等):
|
|
@@ -101,7 +101,7 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
101
101
|
|
|
102
102
|
### 8. 告知用户
|
|
103
103
|
|
|
104
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
|
|
104
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染「下一步」命令前,先读取 `.agents/rules/next-step-output.md`,按其取短号片段把命令中的 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id)。
|
|
105
105
|
|
|
106
106
|
```
|
|
107
107
|
安全告警 #{alert-number} 已关闭。
|
|
@@ -116,9 +116,9 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
116
116
|
注意:如有需要,可在平台侧重新打开。
|
|
117
117
|
|
|
118
118
|
下一步 - 完成并归档任务(如有关联任务):
|
|
119
|
-
- Claude Code / OpenCode:/complete-task {task-
|
|
120
|
-
- Gemini CLI:/agent-infra:complete-task {task-
|
|
121
|
-
- Codex CLI:$complete-task {task-
|
|
119
|
+
- Claude Code / OpenCode:/complete-task {task-ref}
|
|
120
|
+
- Gemini CLI:/agent-infra:complete-task {task-ref}
|
|
121
|
+
- Codex CLI:$complete-task {task-ref}
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## 注意事项
|
|
@@ -10,7 +10,7 @@ Implement the approved plan and produce `code.md` or `code-r{N}.md`. This skill
|
|
|
10
10
|
## Boundary / Critical Rules
|
|
11
11
|
|
|
12
12
|
- Follow the latest plan artifact: `plan.md` or `plan-r{N}.md`
|
|
13
|
-
- Fix mode
|
|
13
|
+
- Fix mode verifies each finding of the latest `review-code` one by one: fix it if it holds, or rebut it and record it under unresolved if it is unfounded/hallucinated; do not expand to issues the review did not list; env-blocked items are out of scope
|
|
14
14
|
- Never auto-run `git add` or `git commit`
|
|
15
15
|
- Create a new code artifact for each round and never overwrite an older one
|
|
16
16
|
- After executing this skill, you **must** immediately update task.md
|
|
@@ -31,7 +31,7 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
31
31
|
|
|
32
32
|
## Task id short ref
|
|
33
33
|
|
|
34
|
-
> If `{task-id}`
|
|
34
|
+
> If `{task-id}` matches `^[#]?[0-9]+$` (bare numeric or `#`-prefixed), follow the "SKILL parameter resolver" section of `.agents/rules/task-short-id.md`; treat `{task-id}` as the resolved full `TASK-YYYYMMDD-HHMMSS` form for every downstream command.
|
|
35
35
|
|
|
36
36
|
## Steps
|
|
37
37
|
|
|
@@ -45,7 +45,9 @@ Read `reference/branch-management.md`, ensure the current branch matches the tas
|
|
|
45
45
|
|
|
46
46
|
### 3. Narrow the Milestone
|
|
47
47
|
|
|
48
|
-
If task.md has a valid `issue_number`, read `.agents/rules/issue-sync.md`
|
|
48
|
+
**Mandatory; do not skip.** If task.md has a valid `issue_number`, read `.agents/rules/issue-sync.md` first (upstream + permission detection), then `.agents/rules/milestone-inference.md` Phase 2 for `code-task` to narrow the Issue milestone. If `has_triage=false`, keep the existing milestone.
|
|
49
|
+
|
|
50
|
+
> If this step is skipped or the Issue milestone is still a release line `X.Y.x` afterward, the step-11 `validate-artifact` gate will block the `code-task` round via `verify_milestone_specific` and require narrowing to a specific version (e.g. `0.7.1`) before proceeding.
|
|
49
51
|
|
|
50
52
|
### 4. Determine Mode and Round
|
|
51
53
|
|
|
@@ -102,8 +104,8 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
102
104
|
|
|
103
105
|
Set `current_step` to `code`, refresh task metadata, and append one Activity Log entry:
|
|
104
106
|
|
|
105
|
-
- initial implementation: `Code (Round {N})`
|
|
106
|
-
- fix mode: `Code (Round {N}, fix for {review-artifact})`
|
|
107
|
+
- initial implementation: `Code Task (Round {N})`
|
|
108
|
+
- fix mode: `Code Task (Round {N}, fix for {review-artifact})`
|
|
107
109
|
|
|
108
110
|
If task.md has a valid `issue_number`, read `.agents/rules/issue-sync.md`, then:
|
|
109
111
|
- Set `status: in-progress` according to issue-sync.md
|
|
@@ -118,4 +120,6 @@ node .agents/scripts/validate-artifact.js gate code-task .agents/workspace/activ
|
|
|
118
120
|
|
|
119
121
|
### 12. Tell the User
|
|
120
122
|
|
|
121
|
-
Use `reference/output-template.md` and show all TUI command formats.
|
|
123
|
+
Use `reference/output-template.md` (or `reference/fix-mode.md` in fix mode) and show all TUI command formats.
|
|
124
|
+
|
|
125
|
+
> When rendering "Next steps" commands, `{task-ref}` is the current task's short id `#NN` (see `.agents/rules/next-step-output.md` for lookup and fallback; read it before rendering). Other `{task-id}` placeholders (report titles, paths) keep the full TASK-id form.
|
|
@@ -10,7 +10,7 @@ description: "根据技术方案编码任务并输出报告"
|
|
|
10
10
|
## 行为边界 / 关键规则
|
|
11
11
|
|
|
12
12
|
- 严格遵循最新方案产物:`plan.md` 或 `plan-r{N}.md`
|
|
13
|
-
-
|
|
13
|
+
- 修复模式逐条核实最新 `review-code` 的发现:成立则修复,判定为不成立/幻觉则在报告中反驳并记入 unresolved;不擅自扩大到审查未列出的问题;env-blocked 项不在修复范围
|
|
14
14
|
- 绝不自动执行 `git add` 或 `git commit`
|
|
15
15
|
- 每轮实现都创建新的实现产物,不覆盖旧文件
|
|
16
16
|
- 执行本技能后,你**必须**立即更新 task.md
|
|
@@ -27,6 +27,7 @@ description: "根据技术方案编码任务并输出报告"
|
|
|
27
27
|
| 「先写代码再补测试更高效」 | 后补测试常沦为对实现的镜像;目标驱动应先定义可验证用例再让它通过。 |
|
|
28
28
|
| 「方案这里不合理,顺手改更好」 | 偏离 `{plan-artifact}` 必须在报告中记录原因;有异议先停下确认,不擅自改方向。 |
|
|
29
29
|
| 「测试过了,顺便提交一下」 | 本技能绝不执行 `git add`/`git commit`,提交是用户显式发起的独立步骤。 |
|
|
30
|
+
| 「审查既然写了,照着改就行」 | 审查可能基于错误 `file:line` 或幻觉;动手前先 Read/Grep 核实,成立才修,不成立就反驳并记入 unresolved,不盲从。 |
|
|
30
31
|
|
|
31
32
|
## 第 0 步:状态核对(执行前硬约束)
|
|
32
33
|
|
|
@@ -44,7 +45,7 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
44
45
|
|
|
45
46
|
## 任务入参短号别名
|
|
46
47
|
|
|
47
|
-
> 如果 `{task-id}`
|
|
48
|
+
> 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
|
|
48
49
|
|
|
49
50
|
## 执行步骤
|
|
50
51
|
### 1. 验证前置条件
|
|
@@ -70,7 +71,9 @@ tail .agents/workspace/active/{task-id}/task.md
|
|
|
70
71
|
|
|
71
72
|
### 3. 收窄里程碑
|
|
72
73
|
|
|
73
|
-
如果 task.md 中存在有效的 `issue_number`,执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测;再读取 `.agents/rules/milestone-inference.md`,按其中的「阶段 2:`code-task`」收窄 Issue milestone;如果 `has_triage=false`,则保持原 milestone 不变。
|
|
74
|
+
**必须执行,不得跳过。** 如果 task.md 中存在有效的 `issue_number`,执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测;再读取 `.agents/rules/milestone-inference.md`,按其中的「阶段 2:`code-task`」收窄 Issue milestone;如果 `has_triage=false`,则保持原 milestone 不变。
|
|
75
|
+
|
|
76
|
+
> 若此步骤被跳过或收窄后 Issue milestone 仍为 `X.Y.x` 版本线,步骤 11 的 `validate-artifact` gate 会通过 `verify_milestone_specific` 截停本轮 `code-task`,要求重新收窄到具体版本(如 `0.7.1`)后再继续。
|
|
74
77
|
|
|
75
78
|
### 4. 确定模式与轮次
|
|
76
79
|
|
|
@@ -149,8 +152,8 @@ date "+%Y-%m-%d %H:%M:%S%:z"
|
|
|
149
152
|
- 审查 `## 需求` 段落,仅把本轮已由代码实现且有测试通过支撑的条目从 `- [ ]` 勾为 `- [x]`
|
|
150
153
|
- 记录 Round `{code-round}` 的 `{code-artifact}`
|
|
151
154
|
- 追加:
|
|
152
|
-
- 初次实现:`- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Code (Round {N})** by {agent} — Code implemented, {n} files modified, {n} tests passed → {code-artifact}`
|
|
153
|
-
- 修复模式:`- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Code (Round {N}, fix for {review-artifact})** by {agent} — Fixed {n} blockers, {n} major, {n} minor issues[, skipped {n} env-blocked] → {code-artifact}`
|
|
155
|
+
- 初次实现:`- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Code Task (Round {N})** by {agent} — Code implemented, {n} files modified, {n} tests passed → {code-artifact}`
|
|
156
|
+
- 修复模式:`- {YYYY-MM-DD HH:mm:ss±HH:MM} — **Code Task (Round {N}, fix for {review-artifact})** by {agent} — Fixed {n} blockers, {n} major, {n} minor issues[, skipped {n} env-blocked] → {code-artifact}`
|
|
154
157
|
|
|
155
158
|
如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续;执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测):
|
|
156
159
|
- 按 issue-sync.md 设置 `status: in-progress`
|
|
@@ -176,7 +179,9 @@ node .agents/scripts/validate-artifact.js gate code-task .agents/workspace/activ
|
|
|
176
179
|
|
|
177
180
|
> 仅在校验通过后执行本步骤。
|
|
178
181
|
|
|
179
|
-
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。输出格式见 `reference/output-template.md`。
|
|
182
|
+
> **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。输出格式见 `reference/output-template.md`;修复模式输出见 `reference/fix-mode.md`。
|
|
183
|
+
|
|
184
|
+
> 渲染「下一步」命令时,`{task-ref}` 为当前任务短号 `#NN`(取值与回退见 `.agents/rules/next-step-output.md`,渲染前先读取)。其他 `{task-id}` 占位(报告标题、路径)保持完整 TASK-id 形式。
|
|
180
185
|
|
|
181
186
|
## 完成检查清单
|
|
182
187
|
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
34
|
"activity-log": {
|
|
35
|
-
"expected_action_pattern": "Code \\(Round \\d+(?:, fix for review-code(?:-r\\d+)?\\.md)?\\)",
|
|
35
|
+
"expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:, fix for review-code(?:-r\\d+)?\\.md)?\\)",
|
|
36
36
|
"freshness_minutes": 30
|
|
37
37
|
},
|
|
38
38
|
"platform-sync": {
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"verify_issue_type": true,
|
|
45
45
|
"verify_issue_fields": false,
|
|
46
46
|
"verify_milestone": true,
|
|
47
|
+
"verify_milestone_specific": true,
|
|
47
48
|
"expected_status_label_key": "inProgress",
|
|
48
49
|
"expected_comment_marker_key": "artifact"
|
|
49
50
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
34
|
"activity-log": {
|
|
35
|
-
"expected_action_pattern": "Code \\(Round \\d+(?:, fix for review-code(?:-r\\d+)?\\.md)?\\)",
|
|
35
|
+
"expected_action_pattern": "(Code Task|Code) \\(Round \\d+(?:, fix for review-code(?:-r\\d+)?\\.md)?\\)",
|
|
36
36
|
"freshness_minutes": 30
|
|
37
37
|
},
|
|
38
38
|
"platform-sync": {
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"verify_issue_type": true,
|
|
45
45
|
"verify_issue_fields": false,
|
|
46
46
|
"verify_milestone": true,
|
|
47
|
+
"verify_milestone_specific": true,
|
|
47
48
|
"expected_status_label_key": "inProgress",
|
|
48
49
|
"expected_comment_marker_key": "artifact"
|
|
49
50
|
}
|