@fitlab-ai/agent-infra 0.8.4 → 0.9.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.
Files changed (443) hide show
  1. package/bin/cli.ts +2 -2
  2. package/dist/bin/cli.js +2 -2
  3. package/dist/bin/internal-cli.js +98 -0
  4. package/dist/lib/decide.js +81 -90
  5. package/dist/lib/defaults.json +9 -0
  6. package/dist/lib/git/review-snapshot.js +79 -0
  7. package/dist/lib/git/workflow.js +101 -0
  8. package/dist/lib/init.js +5 -0
  9. package/dist/lib/internal/git-workflow.js +42 -0
  10. package/dist/lib/internal/platform-checks.js +119 -0
  11. package/dist/lib/internal/platform-comment.js +129 -0
  12. package/dist/lib/internal/platform-context.js +46 -0
  13. package/dist/lib/internal/platform-issue.js +142 -0
  14. package/dist/lib/internal/platform-pr.js +146 -0
  15. package/dist/lib/internal/release-workflow.js +217 -0
  16. package/dist/lib/internal/task-artifact.js +67 -0
  17. package/dist/lib/internal/task-context.js +43 -0
  18. package/dist/lib/internal/task-event.js +70 -0
  19. package/dist/lib/internal/task-ledger.js +114 -0
  20. package/dist/lib/internal/task-lifecycle.js +58 -0
  21. package/dist/lib/internal/task-short-id.js +83 -0
  22. package/dist/lib/internal/task-snapshot.js +47 -0
  23. package/dist/lib/internal/task-verify.js +50 -0
  24. package/dist/lib/internal/task-warning.js +74 -0
  25. package/dist/lib/platform/adapters.js +14 -0
  26. package/dist/lib/platform/context.js +146 -0
  27. package/dist/lib/platform/github-client.js +124 -0
  28. package/dist/lib/platform/issue-comments.js +409 -0
  29. package/dist/lib/platform/issue-metadata.js +183 -0
  30. package/dist/lib/platform/issues.js +617 -0
  31. package/dist/lib/platform/metadata-labels.js +28 -0
  32. package/dist/lib/platform/pr-checks.js +216 -0
  33. package/dist/lib/platform/pr-summary.js +88 -0
  34. package/dist/lib/platform/pull-request-metadata.js +38 -0
  35. package/dist/lib/platform/pull-requests.js +338 -0
  36. package/dist/lib/platform/releases.js +82 -0
  37. package/dist/lib/platform/types.js +22 -0
  38. package/dist/lib/platform/verification-required.js +78 -0
  39. package/dist/lib/platform/verification-sync.js +1014 -0
  40. package/dist/lib/platform/verification.js +6 -0
  41. package/dist/lib/release/channels.js +31 -0
  42. package/dist/lib/release/workflow.js +32 -0
  43. package/dist/lib/render.js +3 -2
  44. package/dist/lib/run/index.js +24 -7
  45. package/dist/lib/sandbox/capture.js +25 -3
  46. package/dist/lib/sandbox/commands/create.js +66 -26
  47. package/dist/lib/sandbox/commands/enter.js +34 -11
  48. package/dist/lib/sandbox/commands/list-running.js +10 -8
  49. package/dist/lib/sandbox/commands/show.js +2 -2
  50. package/dist/lib/sandbox/commands/start.js +53 -15
  51. package/dist/lib/sandbox/engine.js +33 -3
  52. package/dist/lib/sandbox/engines/colima.js +2 -2
  53. package/dist/lib/sandbox/index.js +6 -6
  54. package/dist/lib/sandbox/mounts.js +36 -0
  55. package/dist/lib/sandbox/recovery.js +562 -0
  56. package/dist/lib/sandbox/runtimes/base.dockerfile +4 -0
  57. package/dist/lib/sandbox/task-resolver.js +5 -1
  58. package/dist/lib/sandbox/tools.js +19 -0
  59. package/dist/lib/server/daemon.js +9 -0
  60. package/dist/lib/server/process-control.js +66 -73
  61. package/dist/lib/server/process-state.js +168 -0
  62. package/dist/lib/server/protocol.js +5 -5
  63. package/dist/lib/task/activity-log.js +61 -0
  64. package/dist/lib/task/artifact-lifecycle.js +427 -0
  65. package/dist/lib/task/command-options.js +30 -0
  66. package/dist/lib/task/commands/cat.js +36 -6
  67. package/dist/lib/task/commands/decisions.js +80 -46
  68. package/dist/lib/task/commands/files.js +21 -7
  69. package/dist/lib/task/commands/grep.js +55 -7
  70. package/dist/lib/task/commands/issue-body.js +23 -14
  71. package/dist/lib/task/commands/log.js +27 -70
  72. package/dist/lib/task/commands/show.js +20 -7
  73. package/dist/lib/task/commands/status.js +18 -8
  74. package/dist/lib/task/decision-intents.js +154 -0
  75. package/dist/lib/task/decision-items.js +53 -0
  76. package/dist/lib/task/events.js +318 -0
  77. package/dist/lib/task/frontmatter.js +159 -1
  78. package/dist/lib/task/implementation-inputs.js +117 -0
  79. package/dist/lib/task/index.js +12 -9
  80. package/dist/lib/task/issue-form.js +19 -6
  81. package/dist/lib/task/ledger-intents.js +185 -0
  82. package/dist/lib/task/ledger.js +65 -35
  83. package/dist/lib/task/lifecycle.js +484 -0
  84. package/dist/lib/task/resolve-ref.js +152 -32
  85. package/dist/lib/task/review-artifacts.js +101 -0
  86. package/dist/lib/task/review-fingerprint.js +46 -0
  87. package/dist/lib/task/sections.js +358 -4
  88. package/dist/lib/task/short-id.js +292 -7
  89. package/dist/lib/task/snapshot.js +95 -0
  90. package/dist/lib/task/verification-checks.js +8 -0
  91. package/dist/lib/task/verification-config.js +14 -0
  92. package/dist/lib/task/verification-engine.js +906 -0
  93. package/dist/lib/task/verification-review.js +3 -0
  94. package/dist/lib/task/verification-types.js +2 -0
  95. package/dist/lib/task/verification.js +113 -0
  96. package/dist/lib/task/workflow-warning-intents.js +131 -0
  97. package/dist/lib/task/workflow-warnings.js +10 -78
  98. package/dist/lib/task/write.js +241 -0
  99. package/dist/lib/update.js +2 -0
  100. package/lib/decide.ts +57 -97
  101. package/lib/defaults.json +9 -0
  102. package/lib/git/review-snapshot.ts +73 -0
  103. package/lib/git/workflow.ts +101 -0
  104. package/lib/init.ts +9 -0
  105. package/lib/internal/git-workflow.ts +37 -0
  106. package/lib/internal/platform-checks.ts +101 -0
  107. package/lib/internal/platform-comment.ts +99 -0
  108. package/lib/internal/platform-context.ts +33 -0
  109. package/lib/internal/platform-issue.ts +116 -0
  110. package/lib/internal/platform-pr.ts +119 -0
  111. package/lib/internal/release-workflow.ts +186 -0
  112. package/lib/internal/task-artifact.ts +47 -0
  113. package/lib/internal/task-context.ts +35 -0
  114. package/lib/internal/task-event.ts +51 -0
  115. package/lib/internal/task-ledger.ts +86 -0
  116. package/lib/internal/task-lifecycle.ts +41 -0
  117. package/lib/internal/task-short-id.ts +55 -0
  118. package/lib/internal/task-snapshot.ts +32 -0
  119. package/lib/internal/task-verify.ts +33 -0
  120. package/lib/internal/task-warning.ts +50 -0
  121. package/lib/platform/adapters.ts +30 -0
  122. package/lib/platform/context.ts +164 -0
  123. package/lib/platform/github-client.ts +146 -0
  124. package/lib/platform/issue-comments.ts +479 -0
  125. package/lib/platform/issue-metadata.ts +250 -0
  126. package/lib/platform/issues.ts +691 -0
  127. package/lib/platform/metadata-labels.ts +33 -0
  128. package/lib/platform/pr-checks.ts +246 -0
  129. package/lib/platform/pr-summary.ts +90 -0
  130. package/lib/platform/pull-request-metadata.ts +69 -0
  131. package/lib/platform/pull-requests.ts +380 -0
  132. package/lib/platform/releases.ts +71 -0
  133. package/lib/platform/types.ts +74 -0
  134. package/lib/platform/verification-required.ts +83 -0
  135. package/{templates/.agents/scripts/platform-adapters/platform-sync.github.js → lib/platform/verification-sync.ts} +221 -363
  136. package/lib/platform/verification.ts +11 -0
  137. package/lib/release/channels.ts +30 -0
  138. package/lib/release/workflow.ts +31 -0
  139. package/lib/render.ts +3 -2
  140. package/lib/run/index.ts +25 -7
  141. package/lib/sandbox/capture.ts +29 -3
  142. package/lib/sandbox/commands/create.ts +75 -28
  143. package/lib/sandbox/commands/enter.ts +38 -11
  144. package/lib/sandbox/commands/list-running.ts +10 -8
  145. package/lib/sandbox/commands/show.ts +2 -2
  146. package/lib/sandbox/commands/start.ts +50 -16
  147. package/lib/sandbox/engine.ts +37 -3
  148. package/lib/sandbox/engines/colima.ts +2 -2
  149. package/lib/sandbox/index.ts +6 -6
  150. package/lib/sandbox/mounts.ts +55 -0
  151. package/lib/sandbox/recovery.ts +828 -0
  152. package/lib/sandbox/runtimes/base.dockerfile +4 -0
  153. package/lib/sandbox/task-resolver.ts +5 -1
  154. package/lib/sandbox/tools.ts +31 -0
  155. package/lib/server/daemon.ts +9 -0
  156. package/lib/server/process-control.ts +70 -71
  157. package/lib/server/process-state.ts +183 -0
  158. package/lib/server/protocol.ts +5 -5
  159. package/lib/task/activity-log.ts +62 -0
  160. package/lib/task/artifact-lifecycle.ts +484 -0
  161. package/lib/task/command-options.ts +32 -0
  162. package/lib/task/commands/cat.ts +22 -9
  163. package/lib/task/commands/decisions.ts +49 -47
  164. package/lib/task/commands/files.ts +14 -6
  165. package/lib/task/commands/grep.ts +34 -7
  166. package/lib/task/commands/issue-body.ts +16 -16
  167. package/lib/task/commands/log.ts +17 -70
  168. package/lib/task/commands/show.ts +14 -6
  169. package/lib/task/commands/status.ts +17 -7
  170. package/lib/task/decision-intents.ts +163 -0
  171. package/lib/task/decision-items.ts +64 -0
  172. package/lib/task/events.ts +320 -0
  173. package/lib/task/frontmatter.ts +202 -2
  174. package/lib/task/implementation-inputs.ts +137 -0
  175. package/lib/task/index.ts +12 -9
  176. package/lib/task/issue-form.ts +20 -6
  177. package/lib/task/ledger-intents.ts +201 -0
  178. package/lib/task/ledger.ts +77 -31
  179. package/lib/task/lifecycle.ts +458 -0
  180. package/lib/task/resolve-ref.ts +197 -36
  181. package/{templates/.agents/scripts/lib/review-artifacts.js → lib/task/review-artifacts.ts} +11 -12
  182. package/{templates/.agents/scripts/lib/post-review-commit.js → lib/task/review-fingerprint.ts} +20 -10
  183. package/lib/task/sections.ts +486 -4
  184. package/lib/task/short-id.ts +403 -9
  185. package/lib/task/snapshot.ts +143 -0
  186. package/lib/task/verification-checks.ts +9 -0
  187. package/lib/task/verification-config.ts +20 -0
  188. package/{templates/.agents/scripts/validate-artifact.js → lib/task/verification-engine.ts} +257 -451
  189. package/lib/task/verification-review.ts +9 -0
  190. package/lib/task/verification-types.ts +29 -0
  191. package/lib/task/verification.ts +156 -0
  192. package/lib/task/workflow-warning-intents.ts +142 -0
  193. package/lib/task/workflow-warnings.ts +10 -78
  194. package/lib/task/write.ts +468 -0
  195. package/lib/update.ts +6 -0
  196. package/package.json +5 -2
  197. package/templates/.agents/README.en.md +6 -3
  198. package/templates/.agents/README.zh-CN.md +6 -3
  199. package/templates/.agents/rules/README.en.md +6 -5
  200. package/templates/.agents/rules/README.zh-CN.md +6 -5
  201. package/templates/.agents/rules/create-issue.en.md +1 -1
  202. package/templates/.agents/rules/create-issue.github.en.md +5 -184
  203. package/templates/.agents/rules/create-issue.github.zh-CN.md +12 -178
  204. package/templates/.agents/rules/create-issue.zh-CN.md +1 -1
  205. package/templates/.agents/rules/human-decision-context.en.md +36 -0
  206. package/templates/.agents/rules/human-decision-context.zh-CN.md +36 -0
  207. package/templates/.agents/rules/issue-fields.github.en.md +4 -148
  208. package/templates/.agents/rules/issue-fields.github.zh-CN.md +9 -144
  209. package/templates/.agents/rules/issue-pr-commands.en.md +43 -3
  210. package/templates/.agents/rules/issue-pr-commands.github.en.md +15 -220
  211. package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +23 -213
  212. package/templates/.agents/rules/issue-pr-commands.zh-CN.md +45 -3
  213. package/templates/.agents/rules/issue-sync.en.md +1 -1
  214. package/templates/.agents/rules/issue-sync.github.en.md +14 -301
  215. package/templates/.agents/rules/issue-sync.github.zh-CN.md +36 -287
  216. package/templates/.agents/rules/issue-sync.zh-CN.md +1 -1
  217. package/templates/.agents/rules/milestone-inference.en.md +1 -1
  218. package/templates/.agents/rules/milestone-inference.github.en.md +7 -119
  219. package/templates/.agents/rules/milestone-inference.github.zh-CN.md +8 -108
  220. package/templates/.agents/rules/milestone-inference.zh-CN.md +1 -1
  221. package/templates/.agents/rules/next-step-output.en.md +12 -11
  222. package/templates/.agents/rules/next-step-output.zh-CN.md +12 -11
  223. package/templates/.agents/rules/no-mid-flow-questions.en.md +3 -3
  224. package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +3 -3
  225. package/templates/.agents/rules/pr-checks-commands.en.md +16 -3
  226. package/templates/.agents/rules/pr-checks-commands.github.en.md +10 -54
  227. package/templates/.agents/rules/pr-checks-commands.github.zh-CN.md +19 -47
  228. package/templates/.agents/rules/pr-checks-commands.zh-CN.md +30 -3
  229. package/templates/.agents/rules/pr-sync.en.md +30 -3
  230. package/templates/.agents/rules/pr-sync.github.en.md +12 -115
  231. package/templates/.agents/rules/pr-sync.github.zh-CN.md +26 -104
  232. package/templates/.agents/rules/pr-sync.zh-CN.md +43 -3
  233. package/templates/.agents/rules/review-handshake.en.md +13 -9
  234. package/templates/.agents/rules/review-handshake.zh-CN.md +13 -9
  235. package/templates/.agents/rules/task-management.en.md +11 -2
  236. package/templates/.agents/rules/task-management.zh-CN.md +11 -3
  237. package/templates/.agents/rules/task-short-id.en.md +25 -29
  238. package/templates/.agents/rules/task-short-id.zh-CN.md +20 -23
  239. package/templates/.agents/scripts/lib/agent-infra-package.js +141 -0
  240. package/templates/.agents/scripts/task-short-id.js +71 -533
  241. package/templates/.agents/skills/analyze-task/SKILL.en.md +22 -55
  242. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +26 -59
  243. package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -3
  244. package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -3
  245. package/templates/.agents/skills/block-task/SKILL.en.md +21 -47
  246. package/templates/.agents/skills/block-task/SKILL.zh-CN.md +23 -47
  247. package/templates/.agents/skills/block-task/config/verify.json +1 -2
  248. package/templates/.agents/skills/cancel-task/SKILL.en.md +16 -45
  249. package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +16 -45
  250. package/templates/.agents/skills/cancel-task/config/verify.json +1 -2
  251. package/templates/.agents/skills/check-task/SKILL.en.md +6 -3
  252. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +6 -3
  253. package/templates/.agents/skills/close-codescan/SKILL.en.md +6 -24
  254. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +6 -24
  255. package/templates/.agents/skills/close-dependabot/SKILL.en.md +6 -24
  256. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +6 -24
  257. package/templates/.agents/skills/code-task/SKILL.en.md +22 -35
  258. package/templates/.agents/skills/code-task/SKILL.zh-CN.md +28 -44
  259. package/templates/.agents/skills/code-task/config/verify.en.json +3 -3
  260. package/templates/.agents/skills/code-task/config/verify.zh-CN.json +3 -3
  261. package/templates/.agents/skills/code-task/reference/dual-mode.en.md +13 -9
  262. package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +13 -9
  263. package/templates/.agents/skills/code-task/reference/fix-mode.en.md +1 -1
  264. package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +1 -1
  265. package/templates/.agents/skills/code-task/reference/report-template.en.md +11 -1
  266. package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +11 -1
  267. package/templates/.agents/skills/commit/SKILL.en.md +18 -14
  268. package/templates/.agents/skills/commit/SKILL.zh-CN.md +18 -14
  269. package/templates/.agents/skills/commit/config/verify.json +1 -2
  270. package/templates/.agents/skills/commit/reference/commit-message.en.md +1 -11
  271. package/templates/.agents/skills/commit/reference/commit-message.zh-CN.md +1 -11
  272. package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +4 -8
  273. package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +4 -8
  274. package/templates/.agents/skills/commit/reference/pr-summary-sync.en.md +6 -18
  275. package/templates/.agents/skills/commit/reference/pr-summary-sync.zh-CN.md +5 -17
  276. package/templates/.agents/skills/commit/reference/task-status-update.en.md +42 -2
  277. package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +42 -2
  278. package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +13 -36
  279. package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +13 -36
  280. package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -3
  281. package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -3
  282. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +10 -54
  283. package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +10 -79
  284. package/templates/.agents/skills/complete-task/SKILL.en.md +59 -63
  285. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +59 -63
  286. package/templates/.agents/skills/complete-task/config/verify.en.json +11 -6
  287. package/templates/.agents/skills/complete-task/config/verify.zh-CN.json +11 -6
  288. package/templates/.agents/skills/create-pr/SKILL.en.md +19 -44
  289. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +19 -43
  290. package/templates/.agents/skills/create-pr/config/verify.json +1 -2
  291. package/templates/.agents/skills/create-pr/reference/comment-publish.en.md +8 -12
  292. package/templates/.agents/skills/create-pr/reference/comment-publish.zh-CN.md +7 -11
  293. package/templates/.agents/skills/create-task/SKILL.en.md +12 -13
  294. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +12 -13
  295. package/templates/.agents/skills/create-task/config/verify.json +1 -2
  296. package/templates/.agents/skills/import-codescan/SKILL.en.md +2 -2
  297. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -2
  298. package/templates/.agents/skills/import-codescan/config/verify.json +1 -2
  299. package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
  300. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
  301. package/templates/.agents/skills/import-dependabot/config/verify.json +1 -2
  302. package/templates/.agents/skills/import-issue/SKILL.en.md +9 -13
  303. package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +10 -14
  304. package/templates/.agents/skills/import-issue/config/verify.json +1 -2
  305. package/templates/.agents/skills/init-milestones/SKILL.en.md +2 -2
  306. package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +2 -2
  307. package/templates/.agents/skills/init-milestones/scripts/init-milestones.github.sh +5 -4
  308. package/templates/.agents/skills/plan-task/SKILL.en.md +17 -42
  309. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +22 -49
  310. package/templates/.agents/skills/plan-task/config/verify.en.json +1 -3
  311. package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +1 -3
  312. package/templates/.agents/skills/post-release/SKILL.en.md +11 -81
  313. package/templates/.agents/skills/post-release/SKILL.zh-CN.md +8 -78
  314. package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
  315. package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
  316. package/templates/.agents/skills/release/SKILL.en.md +16 -163
  317. package/templates/.agents/skills/release/SKILL.zh-CN.md +15 -162
  318. package/templates/.agents/skills/restore-task/SKILL.en.md +11 -29
  319. package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +11 -29
  320. package/templates/.agents/skills/restore-task/config/verify.json +1 -2
  321. package/templates/.agents/skills/review-analysis/SKILL.en.md +13 -25
  322. package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +13 -33
  323. package/templates/.agents/skills/review-analysis/config/verify.en.json +3 -4
  324. package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +3 -4
  325. package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +9 -12
  326. package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +9 -12
  327. package/templates/.agents/skills/review-analysis/reference/report-template.en.md +9 -2
  328. package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +9 -2
  329. package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +7 -0
  330. package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +7 -0
  331. package/templates/.agents/skills/review-code/SKILL.en.md +22 -36
  332. package/templates/.agents/skills/review-code/SKILL.zh-CN.md +23 -41
  333. package/templates/.agents/skills/review-code/config/verify.en.json +5 -5
  334. package/templates/.agents/skills/review-code/config/verify.zh-CN.json +5 -5
  335. package/templates/.agents/skills/review-code/reference/output-templates.en.md +56 -18
  336. package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +56 -18
  337. package/templates/.agents/skills/review-code/reference/report-template.en.md +12 -4
  338. package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +12 -4
  339. package/templates/.agents/skills/review-code/reference/review-criteria.en.md +7 -0
  340. package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +7 -0
  341. package/templates/.agents/skills/review-plan/SKILL.en.md +13 -25
  342. package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +13 -33
  343. package/templates/.agents/skills/review-plan/config/verify.en.json +3 -4
  344. package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +3 -4
  345. package/templates/.agents/skills/review-plan/reference/output-templates.en.md +9 -12
  346. package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +9 -12
  347. package/templates/.agents/skills/review-plan/reference/report-template.en.md +9 -2
  348. package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +9 -2
  349. package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +7 -0
  350. package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +7 -0
  351. package/templates/.agents/skills/update-agent-infra/SKILL.en.md +6 -3
  352. package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +6 -3
  353. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +177 -151
  354. package/templates/.agents/skills/watch-pr/SKILL.en.md +24 -14
  355. package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +25 -15
  356. package/templates/.agents/skills/watch-pr/config/verify.json +1 -2
  357. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.en.md +2 -2
  358. package/templates/.agents/skills/watch-pr/reference/monitor-and-heal.zh-CN.md +2 -2
  359. package/templates/.agents/templates/task.en.md +6 -1
  360. package/templates/.agents/templates/task.zh-CN.md +6 -1
  361. package/templates/.claude/commands/analyze-task.en.md +1 -1
  362. package/templates/.claude/commands/analyze-task.zh-CN.md +1 -1
  363. package/templates/.claude/commands/block-task.en.md +1 -1
  364. package/templates/.claude/commands/block-task.zh-CN.md +1 -1
  365. package/templates/.claude/commands/cancel-task.en.md +1 -1
  366. package/templates/.claude/commands/cancel-task.zh-CN.md +1 -1
  367. package/templates/.claude/commands/check-task.en.md +1 -1
  368. package/templates/.claude/commands/check-task.zh-CN.md +1 -1
  369. package/templates/.claude/commands/code-task.en.md +1 -1
  370. package/templates/.claude/commands/code-task.zh-CN.md +1 -1
  371. package/templates/.claude/commands/commit.en.md +1 -0
  372. package/templates/.claude/commands/commit.zh-CN.md +1 -0
  373. package/templates/.claude/commands/complete-manual-validation.en.md +1 -1
  374. package/templates/.claude/commands/complete-manual-validation.zh-CN.md +1 -1
  375. package/templates/.claude/commands/complete-task.en.md +1 -1
  376. package/templates/.claude/commands/complete-task.zh-CN.md +1 -1
  377. package/templates/.claude/commands/create-pr.en.md +1 -1
  378. package/templates/.claude/commands/create-pr.zh-CN.md +1 -1
  379. package/templates/.claude/commands/plan-task.en.md +1 -1
  380. package/templates/.claude/commands/plan-task.zh-CN.md +1 -1
  381. package/templates/.claude/commands/review-analysis.en.md +1 -1
  382. package/templates/.claude/commands/review-analysis.zh-CN.md +1 -1
  383. package/templates/.claude/commands/review-code.en.md +1 -1
  384. package/templates/.claude/commands/review-code.zh-CN.md +1 -1
  385. package/templates/.claude/commands/review-plan.en.md +1 -1
  386. package/templates/.claude/commands/review-plan.zh-CN.md +1 -1
  387. package/templates/.claude/commands/watch-pr.en.md +1 -1
  388. package/templates/.claude/commands/watch-pr.zh-CN.md +1 -1
  389. package/templates/.gemini/commands/_project_/analyze-task.en.toml +2 -0
  390. package/templates/.gemini/commands/_project_/analyze-task.zh-CN.toml +2 -0
  391. package/templates/.gemini/commands/_project_/block-task.en.toml +2 -0
  392. package/templates/.gemini/commands/_project_/block-task.zh-CN.toml +2 -0
  393. package/templates/.gemini/commands/_project_/cancel-task.en.toml +2 -0
  394. package/templates/.gemini/commands/_project_/cancel-task.zh-CN.toml +2 -0
  395. package/templates/.gemini/commands/_project_/check-task.en.toml +2 -0
  396. package/templates/.gemini/commands/_project_/check-task.zh-CN.toml +2 -0
  397. package/templates/.gemini/commands/_project_/code-task.en.toml +2 -0
  398. package/templates/.gemini/commands/_project_/code-task.zh-CN.toml +2 -0
  399. package/templates/.gemini/commands/_project_/commit.en.toml +4 -0
  400. package/templates/.gemini/commands/_project_/commit.zh-CN.toml +4 -0
  401. package/templates/.gemini/commands/_project_/complete-manual-validation.en.toml +2 -0
  402. package/templates/.gemini/commands/_project_/complete-manual-validation.zh-CN.toml +2 -0
  403. package/templates/.gemini/commands/_project_/complete-task.en.toml +2 -0
  404. package/templates/.gemini/commands/_project_/complete-task.zh-CN.toml +2 -0
  405. package/templates/.gemini/commands/_project_/create-pr.en.toml +2 -0
  406. package/templates/.gemini/commands/_project_/create-pr.zh-CN.toml +2 -0
  407. package/templates/.gemini/commands/_project_/plan-task.en.toml +2 -0
  408. package/templates/.gemini/commands/_project_/plan-task.zh-CN.toml +2 -0
  409. package/templates/.gemini/commands/_project_/review-analysis.en.toml +2 -0
  410. package/templates/.gemini/commands/_project_/review-analysis.zh-CN.toml +2 -0
  411. package/templates/.gemini/commands/_project_/review-code.en.toml +2 -0
  412. package/templates/.gemini/commands/_project_/review-code.zh-CN.toml +2 -0
  413. package/templates/.gemini/commands/_project_/review-plan.en.toml +2 -0
  414. package/templates/.gemini/commands/_project_/review-plan.zh-CN.toml +2 -0
  415. package/templates/.gemini/commands/_project_/watch-pr.en.toml +2 -0
  416. package/templates/.gemini/commands/_project_/watch-pr.zh-CN.toml +2 -0
  417. package/templates/.git-hooks/check-large-files.cjs +92 -0
  418. package/templates/.git-hooks/check-version-format.sh +5 -1
  419. package/templates/.git-hooks/pre-commit +1 -0
  420. package/templates/.opencode/commands/analyze-task.en.md +1 -1
  421. package/templates/.opencode/commands/analyze-task.zh-CN.md +1 -1
  422. package/templates/.opencode/commands/check-task.en.md +1 -1
  423. package/templates/.opencode/commands/check-task.zh-CN.md +1 -1
  424. package/templates/.opencode/commands/code-task.en.md +1 -1
  425. package/templates/.opencode/commands/code-task.zh-CN.md +1 -1
  426. package/templates/.opencode/commands/commit.en.md +2 -0
  427. package/templates/.opencode/commands/commit.zh-CN.md +2 -0
  428. package/templates/.opencode/commands/complete-task.en.md +1 -1
  429. package/templates/.opencode/commands/complete-task.zh-CN.md +1 -1
  430. package/templates/.opencode/commands/plan-task.en.md +1 -1
  431. package/templates/.opencode/commands/plan-task.zh-CN.md +1 -1
  432. package/templates/.opencode/commands/review-analysis.en.md +1 -1
  433. package/templates/.opencode/commands/review-analysis.zh-CN.md +1 -1
  434. package/templates/.opencode/commands/review-code.en.md +1 -1
  435. package/templates/.opencode/commands/review-code.zh-CN.md +1 -1
  436. package/templates/.opencode/commands/review-plan.en.md +1 -1
  437. package/templates/.opencode/commands/review-plan.zh-CN.md +1 -1
  438. package/templates/.agents/scripts/platform-adapters/platform-sync.js +0 -13
  439. package/templates/.agents/scripts/review-diff-fingerprint.js +0 -99
  440. package/templates/.agents/scripts/workflow-warnings.js +0 -290
  441. package/templates/.agents/skills/code-task/scripts/detect-mode.js +0 -257
  442. package/templates/.agents/skills/release/scripts/manage-milestones.github.sh +0 -80
  443. package/templates/.agents/skills/release/scripts/manage-milestones.sh +0 -6
@@ -3,6 +3,7 @@ name: plan-task
3
3
  description: >
4
4
  Design a technical plan for a task.
5
5
  Use when a requirement is understood and you need a technical design before coding.
6
+ Only invoke this skill automatically when the conversation includes a resolvable task reference.
6
7
  ---
7
8
 
8
9
  # Design Technical Plan
@@ -22,26 +23,20 @@ After loading workflow / skill / rules instructions, and before any task-state j
22
23
  Run these commands and paste the raw output into both the user-facing reply and this round's `## State Check` section:
23
24
 
24
25
  ```bash
25
- git status -s
26
- ls -la .agents/workspace/active/{task-id}/
27
- tail .agents/workspace/active/{task-id}/task.md
26
+ agent-infra-internal task-snapshot {task-id} --format text
28
27
  ```
29
28
 
30
29
  Before the state check is complete, do not make external-state assertions such as "the code is unchanged", "tests passed", or "there are no other references", including in reasoning. This gate is only a structural floor; evidence pairing and authenticity still require the report template and review discipline.
31
30
 
32
- ## Task id short ref
31
+ ## Task Context Resolution
33
32
 
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.
33
+ > The entry point may omit the task ref and also accepts a legacy positional ref or `--task <ref>` / `-t <ref>`. Separate task scope from the full arguments while preserving every business operand, then call `agent-infra-internal task-context resolve {task-scope}` where `{task-scope}` is empty, one positional ref, or one task flag. Read only `taskId` from the structured result and bind `{task-id}` to that full `TASK-YYYYMMDD-HHMMSS` for downstream commands. Pass through resolution failures without scanning tasks locally.
35
34
 
36
- ## Step Start: Write the started Marker
37
-
38
- After prerequisites pass and before this round's first artifact action, append a started marker to task.md `## Activity Log` (same base action as this round's done entry plus a ` [started]` suffix, note `started`):
35
+ > Resolve the task reference, then confirm that the task is in a state or directory supported by this skill and that `task.md` exists; if it cannot be located, handle it as a missing task and stop.
39
36
 
40
- ```
41
- - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N}) [started]** by {agent} — started
42
- ```
37
+ ## Step Start: Write the started Marker
43
38
 
44
- `ai task log` pairs it with the done entry written on completion (step 7) onto one row (in progress → done). Format and pairing rules: see the "Activity Log started / done dual-marker convention" in `.agents/rules/task-management.md`.
39
+ After resolving the artifact context and before this round's first artifact action, run `agent-infra-internal task-event {task-id} plan.started --agent {agent}` and verify the returned `artifactContext`.
45
40
 
46
41
  ## Steps
47
42
 
@@ -55,16 +50,9 @@ Note: `{task-id}` format is `TASK-{yyyyMMdd-HHmmss}`, for example `TASK-20260306
55
50
 
56
51
  If any required file is missing, prompt the user to complete the prerequisite step first.
57
52
 
58
- ### 2. Determine the Plan Round
59
-
60
- Scan `.agents/workspace/active/{task-id}/` for plan artifact files:
61
- - If neither `plan.md` nor `plan-r*.md` exists -> this is Round 1 and must create `plan.md`
62
- - If `plan.md` exists and no `plan-r*.md` exists -> this is Round 2 and must create `plan-r2.md`
63
- - If `plan-r{N}.md` exists -> this is Round N+1 and must create `plan-r{N+1}.md`
53
+ ### 2. Resolve the Artifact Context
64
54
 
65
- Record:
66
- - `{plan-round}`: the current plan round
67
- - `{plan-artifact}`: the artifact filename for this round
55
+ Run `agent-infra-internal task-artifact {task-id} inspect --family plan`. Continue only for `ready`; take the latest `{analysis-artifact}` from `inputs` and `{plan-round}` / `{plan-artifact}` from `next.round` / `next.name`. Do not scan rounds or construct names in the skill. Then run the started event and verify the returned identity.
68
56
 
69
57
  ### 3. Read Requirements Analysis
70
58
 
@@ -78,7 +66,7 @@ Use it to understand:
78
66
  - identified technical risks
79
67
  - effort and complexity assessment
80
68
 
81
- **Round ≥ 2: respond to the prior review (only when a review artifact exists)**: if the task directory contains `review-plan.md` / `review-plan-r{N}.md`, read the highest-round review report; add a `## Response to Prior Review` section to this round's plan artifact, and for each finding verify it via Read/Grep, then dispose of it with one of the four states in `.agents/rules/review-handshake.md` (`accepted` / `adjusted` / `refuted` / `cannot-judge`) — every state needs commensurate evidence, never defaulting to compliance; write the disposition back to the matching row in the task.md disagreement ledger (stage=plan, round +1). Record any open disagreement under `## Open Questions`. Round 1 has no review, so skip this section.
69
+ **Round ≥ 2: respond to the prior review (only when a review artifact exists)**: if the task directory contains `review-plan.md` / `review-plan-r{N}.md`, read the highest-round review report; add a `## Response to Prior Review` section and verify every finding before choosing `accepted` / `adjusted` / `refuted` / `cannot-judge`. Submit each response through `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {plan-round} --status {state} --evidence {evidence}`. Record open disagreements under `## Open Questions`. Round 1 skips this section.
82
70
 
83
71
  ### 4. Understand the Problem
84
72
 
@@ -99,7 +87,7 @@ Follow the `technical-design` step in `.agents/workflows/feature-development.yam
99
87
  - [ ] Define the verification strategy (tests, manual checks)
100
88
  - [ ] Assess impact and risks
101
89
 
102
- When this round introduces a new key design decision, per `.agents/rules/no-mid-flow-questions.md` write its detail block (background/options/impact/recommendation) into the plan artifact's `## 人工裁决待办` (Pending Human Decisions) section as `### HD-N:<title> [needs-human-decision]` (`HD-N` is globally unique, see `.agents/rules/review-handshake.md`), and write the matching `HD-` ledger row (evidence pointing to `{plan-artifact}#HD-N`); ordinary open questions still go under `## Open Questions`.
90
+ When this round introduces a new key design decision, first run `agent-infra-internal task-ledger {task-id} decision-next-id`, write the returned `HD-N` as a self-contained block under `## 人工裁决待办` (Pending Human Decisions) according to `.agents/rules/human-decision-context.md`, then run `decision-upsert --id {HD-N} --stage plan --artifact {plan-artifact}`. Ordinary open questions still go under `## Open Questions`.
103
91
 
104
92
  **Design principles**:
105
93
  1. **Architectural soundness**: choose the structurally correct approach; diff size is not the primary criterion. Do not pile changes onto an unsound structure just to keep the diff small
@@ -114,17 +102,7 @@ Create `.agents/workspace/active/{task-id}/{plan-artifact}`.
114
102
 
115
103
  ### 7. Update Task Status
116
104
 
117
- Get the current time:
118
-
119
- ```bash
120
- date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
121
- ```
122
-
123
105
  Update `.agents/workspace/active/{task-id}/task.md`:
124
- - `current_step`: technical-design
125
- - `assigned_to`: {current AI agent}
126
- - `updated_at`: {current time}
127
- - `agent_infra_version`: value from `.agents/rules/version-stamp.md`
128
106
  - Record the plan artifact for this round: `{plan-artifact}` (Round `{plan-round}`)
129
107
  - If the task template contains a `## Design` section, update it to link to `{plan-artifact}`
130
108
  - Mark technical-design as complete in workflow progress and include the actual round when the task template supports it
@@ -132,24 +110,21 @@ Update `.agents/workspace/active/{task-id}/task.md`:
132
110
  - Overwrite the `effort` field in frontmatter with the new value
133
111
  - Append a `## Effort Re-estimate` section to this round's plan artifact `{plan-artifact}`, recording: `effort {old} → {new} (rationale: {short basis grounded in this plan})`
134
112
  If the re-estimated value matches the current value, skip it: do not write the `## Effort Re-estimate` section. The Flow A sync that follows reads the possibly updated frontmatter and propagates the new value to the Issue automatically.
135
- - **Append** to `## Activity Log` (do NOT overwrite previous entries):
136
- ```
113
+ After the business fields are updated, run `agent-infra-internal task-event {task-id} plan.completed --agent {agent} --artifact {plan-artifact}` so the core atomically records the link, stage, agent, metadata, and Activity Log.
137
114
  - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N})** by {agent} — Plan completed, awaiting human review → {artifact-filename}
138
115
  ```
139
116
 
140
117
  If task.md contains a valid `issue_number`, perform these sync actions (skip and continue on any failure):
141
- - Read `.agents/rules/issue-sync.md` before syncing, and complete upstream repository detection plus permission detection
142
- - Set `status: pending-design-work` by following issue-sync.md
143
- - Create or update the task comment marker defined in `.agents/rules/issue-sync.md` (follow the task.md comment sync rule in issue-sync.md)
144
- - Publish the `{plan-artifact}` comment
145
- - Read `.agents/rules/issue-fields.md` and follow Flow A to sync every non-empty Issue field (`priority`/`effort`/`start_date`/`target_date`) from `task.md` to the Issue (idempotent; skip without blocking when `has_push=false` or the fetch/write fails)
118
+ - Run `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status pending-design-work --fields`
119
+ - Run `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
120
+ - Run `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {plan-artifact} --agent {agent}`
146
121
 
147
122
  ### 8. Verification Gate
148
123
 
149
124
  Run the verification gate to confirm the task artifact and sync state are valid:
150
125
 
151
126
  ```bash
152
- node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/active/{task-id} {plan-artifact} --format text
127
+ agent-infra-internal task-verify {task-id} plan.completed --artifact {plan-artifact} --format text
153
128
  ```
154
129
 
155
130
  Handle the result as follows:
@@ -163,7 +138,7 @@ Keep the gate output in your reply as fresh evidence. Do not claim completion wi
163
138
 
164
139
  > Execute this step only after the verification gate passes.
165
140
 
166
- > **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 final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the short id `#NN` (falling back to the full TASK-id when unallocated or released); (2) append the `Completed at` line as the very last line of the user-facing output (this applies to every user-facing output — success, error, and early-return paths alike, not only the success path).
141
+ > **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 final output, read `.agents/rules/next-step-output.md` and apply both of its rules: (1) render `{task-ref}` in the "Next steps" commands as the short id `NN` (falling back to the full TASK-id when unallocated or released); (2) append the `Completed at` line as the very last line of the user-facing output (this applies to every user-facing output — success, error, and early-return paths alike, not only the success path).
167
142
 
168
143
  Output format:
169
144
  ```
@@ -3,6 +3,7 @@ name: plan-task
3
3
  description: >
4
4
  为任务设计技术方案和实施计划。
5
5
  当需求已明确、需要在编码前形成技术方案时使用。
6
+ 仅当对话包含可解析的任务引用时才可自动调用本技能。
6
7
  ---
7
8
 
8
9
  # 设计技术方案
@@ -22,26 +23,24 @@ description: >
22
23
  运行以下命令,并把原文粘贴到回复正文和本轮产物的 `## 状态核对` 段:
23
24
 
24
25
  ```bash
25
- git status -s
26
- ls -la .agents/workspace/active/{task-id}/
27
- tail .agents/workspace/active/{task-id}/task.md
26
+ agent-infra-internal task-snapshot {task-id} --format text
28
27
  ```
29
28
 
30
29
  状态核对完成前,禁止任何关于外部状态的断言(例如“代码没变”“测试已通过”“没有其他引用”),包括思考阶段。本门禁只提供结构下限;逐条证据配对和真实性仍需按报告模板与审查要求核对。
31
30
 
32
- ## 任务入参短号别名
31
+ ## 任务上下文解析
33
32
 
34
- > 如果 `{task-id}` 入参匹配 `^[#]?[0-9]+$`(裸数字或带 `#` 前缀),先读取 `.agents/rules/task-short-id.md` 的「SKILL 入参解析」段执行解析;后续命令视 `{task-id}` 为解析后的全长 `TASK-YYYYMMDD-HHMMSS` 形式。
33
+ > 入口允许省略 task ref,也接受旧位置 task ref 或 `--task <ref>` / `-t <ref>`。先从完整参数中分离 task scope 并原样保留其他业务操作数,再调用 `agent-infra-internal task-context resolve {task-scope}`;`{task-scope}` 为空、位置 ref 或 task flag 之一。只读取结构化结果的 `taskId`,后续把 `{task-id}` 绑定为该完整 `TASK-YYYYMMDD-HHMMSS`。解析失败时透传非零退出码,不自行扫描任务。
35
34
 
36
- ## 步骤开始:写入 started 标记
35
+ > 解析任务引用,并确认任务位于本技能支持的状态或目录且存在 `task.md`;无法定位时按未找到任务处理并停止。
37
36
 
38
- 确认前置条件后、本轮第一个产出动作之前,向 task.md `## 活动日志` 追加一条 started 标记(与本轮 done 条目同基名 + ` [started]` 后缀,note 用 `started`):
37
+ ## 步骤开始:声明 started 事件
39
38
 
40
- ```
41
- - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N}) [started]** by {agent} — started
42
- ```
39
+ 确认前置条件和轮次后、本轮第一个产出动作之前执行:
43
40
 
44
- `ai task log` 会把它与步骤完成时(步骤 7)写入的 done 条目配对成一行(进行中 → 已完成)。格式与配对规则见 `.agents/rules/task-management.md` 的「Activity Log started / done 双标记约定」。
41
+ ```bash
42
+ agent-infra-internal task-event {task-id} plan.started --agent {agent}
43
+ ```
45
44
 
46
45
  ## 执行步骤
47
46
  ### 1. 验证前置条件
@@ -54,22 +53,13 @@ tail .agents/workspace/active/{task-id}/task.md
54
53
 
55
54
  如果任一文件缺失,提示用户先完成前置步骤。
56
55
 
57
- ### 2. 确定方案轮次
58
-
59
- 扫描 `.agents/workspace/active/{task-id}/` 目录中的方案产物文件:
60
- - 如果不存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 1 轮,产出 `plan.md`
61
- - 如果存在 `plan.md` 且不存在 `plan-r*.md` → 本轮为第 2 轮,产出 `plan-r2.md`
62
- - 如果存在 `plan-r{N}.md` → 本轮为第 N+1 轮,产出 `plan-r{N+1}.md`
56
+ ### 2. 解析方案上下文
63
57
 
64
- 记录:
65
- - `{plan-round}`:本轮方案轮次
66
- - `{plan-artifact}`:本轮方案产物文件名
58
+ 运行 `agent-infra-internal task-artifact {task-id} inspect --family plan`。仅当结果为 `ready` 时继续;从 `inputs` 取得最新 `{analysis-artifact}`,从 `next.round` / `next.name` 取得 `{plan-round}` / `{plan-artifact}`。不得自行扫描轮次或拼装文件名。随后执行 started 事件并复核返回身份。
67
59
 
68
60
  ### 3. 阅读需求分析
69
61
 
70
- 扫描任务目录中的分析产物文件(`analysis.md`、`analysis-r{N}.md`):
71
- - 如果存在 `analysis-r{N}.md`,读取最高 N 的文件
72
- - 否则读取 `analysis.md`
62
+ 读取步骤 2 核心返回的最新 `{analysis-artifact}`,
73
63
  以理解:
74
64
  - 需求及其背景
75
65
  - 相关文件和代码结构
@@ -77,7 +67,7 @@ tail .agents/workspace/active/{task-id}/task.md
77
67
  - 已识别的技术风险
78
68
  - 工作量和复杂度评估
79
69
 
80
- **Round ≥ 2:响应上一轮审查(仅当存在审查产物时)**:若任务目录存在 `review-plan.md` / `review-plan-r{N}.md`,读取最高轮次的审查报告;在本轮方案产物中新增 `## 对上一轮审查的响应` 段,对每条发现先 Read/Grep 核实,再按 `.agents/rules/review-handshake.md` 的四态(`accepted` / `adjusted` / `refuted` / `cannot-judge`)处置——每态都要附相称证据,不默认顺从;并把处置回写 task.md `## 审查分歧账本` 对应行(stage=plan,round +1)。未决分歧写入 `## 未决问题`。Round 1 无审查,跳过本段。
70
+ **Round ≥ 2:响应上一轮审查(仅当存在审查产物时)**:若任务目录存在 `review-plan.md` / `review-plan-r{N}.md`,读取最高轮次的审查报告;在本轮方案产物中新增 `## 对上一轮审查的响应` 段,对每条发现先 Read/Grep 核实,再按 `.agents/rules/review-handshake.md` 的四态(`accepted` / `adjusted` / `refuted` / `cannot-judge`)处置——每态都要附相称证据,不默认顺从;随后逐条调用 `agent-infra-internal task-ledger {task-id} finding-respond --id {ledger-id} --round {plan-round} --status {四态} --evidence {相称证据}`。未决分歧写入 `## 未决问题`。Round 1 无审查,跳过本段。
81
71
 
82
72
  ### 4. 理解问题
83
73
 
@@ -98,7 +88,7 @@ tail .agents/workspace/active/{task-id}/task.md
98
88
  - [ ] 定义验证策略(测试、手动检查)
99
89
  - [ ] 评估方案的影响和风险
100
90
 
101
- 遇到本轮新增的关键设计决策时,按 `.agents/rules/no-mid-flow-questions.md` 判据,把详情块(背景/选项/影响/推荐)写入方案产物的 `## 人工裁决待办` 段 `### HD-N:<标题> [needs-human-decision]`(`HD-N` 全局唯一,规则见 `.agents/rules/review-handshake.md`),并回写 `HD-` 账本行(evidence 指向 `{plan-artifact}#HD-N`);普通未决问题仍写 `## 未决问题`。
91
+ 遇到本轮新增的关键设计决策时,按 `.agents/rules/no-mid-flow-questions.md` 判据,先调用 `agent-infra-internal task-ledger {task-id} decision-next-id` 取得 `HD-N`,按 `.agents/rules/human-decision-context.md` 写入方案产物的 `## 人工裁决待办` 段 `### HD-N:<标题> [needs-human-decision]`,再调用 `decision-upsert --id {HD-N} --stage plan --artifact {plan-artifact}`;普通未决问题仍写 `## 未决问题`。
102
92
 
103
93
  **设计原则**:
104
94
  1. **架构合理性**:选择结构正确的方案,改动大小不是首要依据。不要为了减少 diff 而在不合理的结构上叠加
@@ -113,42 +103,25 @@ tail .agents/workspace/active/{task-id}/task.md
113
103
 
114
104
  ### 7. 更新任务状态
115
105
 
116
- 获取当前时间:
117
-
118
- ```bash
119
- date "+%Y-%m-%d %H:%M:%S%z" | sed 's/\([+-][0-9][0-9]\)\([0-9][0-9]\)$/\1:\2/'
120
- ```
121
-
122
106
  更新 `.agents/workspace/active/{task-id}/task.md`:
123
- - `current_step`:technical-design
124
- - `assigned_to`:{当前 AI 代理}
125
- - `updated_at`:{当前时间}
126
- - `agent_infra_version`:按 `.agents/rules/version-stamp.md` 取值
127
- - 记录本轮方案产物:`{plan-artifact}`(Round `{plan-round}`)
128
- - 如任务模板包含 `## 设计` 段落,更新为指向 `{plan-artifact}` 的链接
129
- - 在工作流进度中标记 technical-design 为已完成,并注明实际轮次(如果任务模板支持)
107
+ - 仅更新工作量、审查响应等本技能拥有的业务内容;产物链接、阶段与完成日志由 completed 事件统一登记
130
108
  - 在追加工作流 Activity Log 条目之前,基于技术方案(实施步骤数、涉及文件、测试矩阵范围、集成面)重估 `effort`。若重估值与 `task.md` 当前值不一致:
131
109
  - 用新值覆盖 frontmatter 的 `effort` 字段
132
110
  - 在本轮方案产物 `{plan-artifact}` 中追加 `## 工作量重估` 段,记录一条:`effort {old} → {new} (rationale: {基于本轮方案的简短依据})`
133
111
  若重估值与当前值一致,跳过:不写入 `## 工作量重估` 段。后续 Flow A 同步会读取可能更新过的 frontmatter,并自动把新值同步到 Issue。
134
- - **追加**到 `## Activity Log`(不要覆盖之前的记录):
135
- ```
136
- - {YYYY-MM-DD HH:mm:ss±HH:MM} — **Plan Task (Round {N})** by {agent} — Plan completed, awaiting human review → {artifact-filename}
137
- ```
112
+ - 完成业务内容更新后执行 `agent-infra-internal task-event {task-id} plan.completed --agent {agent} --artifact {plan-artifact}`,由核心原子登记链接、阶段、代理、时间、版本和 Activity Log。
138
113
 
139
114
  如果 task.md 中存在有效的 `issue_number`,执行以下同步操作(任一失败则跳过并继续):
140
- - 执行前先读取 `.agents/rules/issue-sync.md`,完成 upstream 仓库检测和权限检测
141
- - 按 issue-sync.md 设置 `status: pending-design-work`
142
- - 创建或更新 `.agents/rules/issue-sync.md` 中定义的 task 评论标记(按 issue-sync.md 的 task.md 评论同步规则)
143
- - 发布 `{plan-artifact}` 评论
144
- - 读取 `.agents/rules/issue-fields.md`,按流程 A 把 `task.md` 中所有非空的 Issue 字段(`priority`/`effort`/`start_date`/`target_date`)同步到 Issue(幂等;`has_push=false` 或取数/写入失败时跳过,不阻断)
115
+ - 调用 `agent-infra-internal platform-issue sync {task-id} --agent {agent} --status pending-design-work --fields`
116
+ - 调用 `agent-infra-internal platform-comment sync {task-id} --kind task --agent {agent}`
117
+ - 调用 `agent-infra-internal platform-comment sync {task-id} --kind artifact --artifact {plan-artifact} --agent {agent}`
145
118
 
146
119
  ### 8. 完成校验
147
120
 
148
121
  运行完成校验,确认任务产物和同步状态符合规范:
149
122
 
150
123
  ```bash
151
- node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/active/{task-id} {plan-artifact} --format text
124
+ agent-infra-internal task-verify {task-id} plan.completed --artifact {plan-artifact} --format text
152
125
  ```
153
126
 
154
127
  处理结果:
@@ -162,7 +135,7 @@ node .agents/scripts/validate-artifact.js gate plan-task .agents/workspace/activ
162
135
 
163
136
  > 仅在校验通过后执行本步骤。
164
137
 
165
- > **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号 `#NN`(未分配/已释放时回退完整 TASK-id);(2) 在面向用户输出的绝对最后一行追加 `Completed at` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
138
+ > **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。 渲染最终输出前,先读取 `.agents/rules/next-step-output.md` 并落实其两类规则:(1) 「下一步」命令把 `{task-ref}` 渲染为短号 `NN`(未分配/已释放时回退完整 TASK-id);(2) 在面向用户输出的绝对最后一行追加 `Completed at` 收尾行(成功、错误、早退等任何面向用户输出都适用,不限于校验通过的成功态)。
166
139
 
167
140
  输出格式:
168
141
  ```
@@ -27,14 +27,12 @@
27
27
  "Verification Strategy",
28
28
  "State Check"
29
29
  ],
30
- "freshness_minutes": 30,
31
30
  "required_patterns": [
32
31
  "^\\$ "
33
32
  ]
34
33
  },
35
34
  "activity-log": {
36
- "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)",
37
- "freshness_minutes": 30
35
+ "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
38
36
  },
39
37
  "review-ledger": {
40
38
  "stage_scope": ["analysis"]
@@ -27,14 +27,12 @@
27
27
  "验证策略",
28
28
  "状态核对"
29
29
  ],
30
- "freshness_minutes": 30,
31
30
  "required_patterns": [
32
31
  "^\\$ "
33
32
  ]
34
33
  },
35
34
  "activity-log": {
36
- "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)",
37
- "freshness_minutes": 30
35
+ "expected_action_pattern": "(Plan Task|Technical Design) \\(Round \\d+\\)"
38
36
  },
39
37
  "review-ledger": {
40
38
  "stage_scope": ["analysis"]
@@ -1,98 +1,28 @@
1
1
  ---
2
2
  name: post-release
3
3
  description: >
4
- Run post-release follow-up tasks.
5
- Use when a release has shipped and follow-up housekeeping is needed.
4
+ Run post-release processing.
5
+ Use after a version has been published and needs finalization.
6
6
  ---
7
7
 
8
- # Post-release Tasks
8
+ # Post-release
9
9
 
10
- Run the standard follow-up workflow after a release tag has been pushed.
11
-
12
- ## Execution Flow
13
-
14
- ### 1. Detect the Latest Released Version
15
-
16
- ```bash
17
- git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
18
- ```
19
-
20
- - Detect the latest `vX.Y.Z` tag, then strip the `v` prefix when you need the version number in later steps
21
- - If no tag is found, error: "No released version tag found. Please create and push a release tag first."
22
-
23
- ### 2. Verify Clean Workspace
24
-
25
- ```bash
26
- git status --short
27
- ```
28
-
29
- - If there are uncommitted changes, error: "Workspace has uncommitted changes. Please commit or stash first."
30
-
31
- ### 3. Prepare the Next Development Version
32
-
33
- <!-- TODO: Replace this step with your project's version bump command -->
34
-
35
- ```bash
36
- # TODO: Replace with your project's post-release version bump command
37
- # npm version prerelease --preid=alpha --no-git-tag-version
38
- ```
39
-
40
- - Update lockfiles or generated version metadata if your project needs them
41
- - Keep all version references in sync after the bump
42
-
43
- ### 4. Rebuild Generated Artifacts
44
-
45
- <!-- TODO: Replace this step with your project's rebuild command -->
10
+ ## 1. Inspect Channel Facts
46
11
 
47
12
  ```bash
48
- # TODO: Replace with your project's artifact rebuild command
13
+ agent-infra-internal release-workflow inspect {version}
49
14
  ```
50
15
 
51
- - Rebuild any generated files, embedded assets, or inline templates affected by the new version
52
- - If your project has no generated artifacts, remove this step in the project-specific copy
16
+ Pending or unknown is blocked; a definite failure is failed.
53
17
 
54
- ### 5. Run Other Post-release Tasks (Optional)
55
-
56
- <!-- TODO: Add project-specific follow-up tasks such as demo capture, docs publishing, or downstream notifications -->
57
-
58
- - Examples: record a terminal demo, refresh a docs site, notify downstream teams, update release dashboards
59
- - If a task here displays or captures the just-released version (e.g., recording a CLI demo), move it **before** Step 3 — otherwise it will reflect the next development version, not the release
60
- - If there are no extra tasks, remove this step in the project-specific copy
61
-
62
- ### 6. Create the Follow-up Commit
18
+ ## 2. Run Post-release
63
19
 
64
20
  ```bash
65
- git add -A
66
- git commit -m "chore: prepare next dev iteration after v{released-version}"
21
+ agent-infra-internal release-workflow post {version}
67
22
  ```
68
23
 
69
- ### 7. Output Summary
70
-
71
- > **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).
72
-
73
- ```
74
- Post-release tasks completed.
75
-
76
- Summary:
77
- - Released version: {released-version}
78
- - Next development version: {new-version}
79
- - Extra tasks completed: {summary}
80
-
81
- Next step (manual):
82
- - Push branch: git push origin {current-branch}
83
- ```
84
-
85
- ## Notes
86
-
87
- 1. **No arguments**: Detect the released version from the latest tag instead of asking the user to repeat it
88
- 2. **Clean workspace required**: Avoid mixing unrelated edits into the post-release commit
89
- 3. **Project-specific customization**: Replace the TODO steps with the commands your project actually needs
90
- 4. **Local-only workflow**: This skill prepares local changes and does not push automatically
24
+ The core owns build, next development version, inline artifacts, explicit-path commit, normal push, and post-write inspection.
91
25
 
92
- ## Error Handling
26
+ ## 3. Report the Snapshot
93
27
 
94
- - No release tag found: Prompt the user to finish the release first
95
- - Dirty workspace: Prompt the user to commit or stash changes
96
- - Version bump failed: Display the command error and stop
97
- - Artifact rebuild failed: Display the build error and stop
98
- - Git commit failed: Display the error and leave the workspace intact for manual recovery
28
+ Report channel, smoke, commit, and push facts without presenting degraded or blocked as complete.
@@ -7,92 +7,22 @@ description: >
7
7
 
8
8
  # 发布后处理
9
9
 
10
- 在版本标签推送完成后,执行标准化的发布后收尾流程。
11
-
12
- ## 执行流程
13
-
14
- ### 1. 检测最新发布版本
15
-
16
- ```bash
17
- git tag --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1
18
- ```
19
-
20
- - 检测最新 `vX.Y.Z` 标签,并在后续步骤中去除 `v` 前缀得到版本号
21
- - 如果没有找到标签,报错:"No released version tag found. Please create and push a release tag first."
22
-
23
- ### 2. 验证工作区干净
24
-
25
- ```bash
26
- git status --short
27
- ```
28
-
29
- - 如果存在未提交变更,报错:"Workspace has uncommitted changes. Please commit or stash first."
30
-
31
- ### 3. 准备下一个开发版本
32
-
33
- <!-- TODO: 将此步骤替换为你的项目版本 bump 命令 -->
34
-
35
- ```bash
36
- # TODO: 替换为你的项目发布后版本 bump 命令
37
- # npm version prerelease --preid=alpha --no-git-tag-version
38
- ```
39
-
40
- - 如果项目需要,记得同步锁文件或其他版本元数据
41
- - 版本 bump 后保持所有版本引用一致
42
-
43
- ### 4. 重新生成构建产物
44
-
45
- <!-- TODO: 将此步骤替换为你的项目产物重建命令 -->
10
+ ## 1. 检查渠道事实
46
11
 
47
12
  ```bash
48
- # TODO: 替换为你的项目产物重建命令
13
+ agent-infra-internal release-workflow inspect {version}
49
14
  ```
50
15
 
51
- - 重建所有受新版本号影响的生成文件、内嵌产物或内联模板
52
- - 如果项目没有生成产物,请在项目特化版本中删除此步骤
16
+ pending/unknown 必须 blocked,确定失败必须 failed。
53
17
 
54
- ### 5. 执行其他发布后任务(可选)
55
-
56
- <!-- TODO: 添加项目特定的发布后任务,例如录制演示、发布文档站或通知下游 -->
57
-
58
- - 示例:录制终端演示、刷新文档站、通知下游团队、更新发布面板
59
- - 如果这一步里的任务需要显示或捕获刚发布的版本号(例如录制 CLI 演示),把它挪到**第 3 步「准备下一个开发版本」之前**——否则会反映下一个开发版本号,而不是 released 版本号
60
- - 如果没有额外任务,请在项目特化版本中删除此步骤
61
-
62
- ### 6. 创建后处理提交
18
+ ## 2. 执行后处理
63
19
 
64
20
  ```bash
65
- git add -A
66
- git commit -m "chore: prepare next dev iteration after v{released-version}"
21
+ agent-infra-internal release-workflow post {version}
67
22
  ```
68
23
 
69
- ### 7. 输出摘要
70
-
71
- > **重要**:以下「下一步」中列出的所有 TUI 命令格式必须完整输出,不要只展示当前 AI 代理对应的格式。如果 `.agents/.airc.json` 中配置了自定义 TUI(`customTUIs`),读取每个工具的 `name` 和 `invoke`,按同样格式补充对应命令行(`${skillName}` 替换为技能名,`${projectName}` 替换为项目名)。
72
-
73
- ```
74
- 发布后处理已完成。
75
-
76
- 结果摘要:
77
- - 已发布版本:{released-version}
78
- - 新开发版本:{new-version}
79
- - 额外任务完成情况:{summary}
80
-
81
- 下一步(手动执行):
82
- - 推送分支:git push origin {current-branch}
83
- ```
84
-
85
- ## 注意事项
86
-
87
- 1. **无参数设计**:从最新标签自动检测已发布版本,不要求用户重复输入
88
- 2. **需要干净工作区**:避免把无关改动带入发布后提交
89
- 3. **项目定制**:将带 TODO 的步骤替换为你的项目实际命令
90
- 4. **仅本地执行**:本技能只准备本地变更,不自动推送
24
+ core 负责 build、下一开发版本、内联产物、显式路径 commit 与普通 push,并在写后复核。
91
25
 
92
- ## 错误处理
26
+ ## 3. 输出摘要
93
27
 
94
- - 未找到发布标签:提示用户先完成发布
95
- - 工作区不干净:提示先提交或暂存
96
- - 版本 bump 失败:显示命令错误并停止
97
- - 产物重建失败:显示构建错误并停止
98
- - Git 提交失败:显示错误并保留当前工作区供人工处理
28
+ 报告全部渠道、smoke、commit 与 push 事实,不把 degraded/blocked 表述为完成。
@@ -60,7 +60,7 @@ If the user confirms:
60
60
  - for an Issue, update the title by following the "Update Issues" command in `.agents/rules/issue-pr-commands.md`
61
61
  - for a PR, update the title by following the "Update PRs" command in `.agents/rules/issue-pr-commands.md`
62
62
 
63
- Title changes require write permission. Follow the permission-degradation rules in `.agents/rules/issue-pr-commands.md` and `.agents/rules/issue-sync.md`; if permission is unavailable, skip the change and inform the user.
63
+ Before changing a title, run `agent-infra-internal platform-context resolve` for upstream and capabilities, then follow the Issue metadata intent contract in `.agents/rules/issue-pr-commands.md`; if permission is unavailable, skip the change and inform the user.
64
64
 
65
65
  ### 5. Inform User
66
66
 
@@ -60,7 +60,7 @@ Issue/PR #{id} 分析结果:
60
60
  - 对于 Issue:按 `.agents/rules/issue-pr-commands.md` 中的 “Issue 更新” 命令设置标题
61
61
  - 对于 PR:按 `.agents/rules/issue-pr-commands.md` 中的 “PR 更新” 命令设置标题
62
62
 
63
- 标题修改需要写权限,按 `.agents/rules/issue-pr-commands.md` 与 `.agents/rules/issue-sync.md` 中的权限降级规则执行;无权限时跳过修改操作并告知用户。
63
+ 标题修改前调用 `agent-infra-internal platform-context resolve` 取得 upstream 与 capabilities,再按 `.agents/rules/issue-pr-commands.md` 的 Issue metadata intent 契约执行;无权限时跳过修改操作并告知用户。
64
64
 
65
65
  ### 5. 告知用户
66
66