@geminix/gxpm 0.1.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 (299) hide show
  1. package/AGENTS.md +148 -0
  2. package/CANON.md +53 -0
  3. package/CLAUDE.md +60 -0
  4. package/CONTEXT.md +49 -0
  5. package/DEBUG.md +59 -0
  6. package/ISSUE_CONTEXT.md +25 -0
  7. package/README.md +143 -0
  8. package/VERSION +1 -0
  9. package/agents/cleanup-auditor/cleanup-auditor.md +56 -0
  10. package/agents/grill-master.md +26 -0
  11. package/agents/implementer.md +32 -0
  12. package/agents/review-army/accessibility-reviewer.md +54 -0
  13. package/agents/review-army/code-quality-reviewer.md +54 -0
  14. package/agents/review-army/security-reviewer.md +56 -0
  15. package/agents/review-army/spec-compliance-reviewer.md +51 -0
  16. package/agents/review-army/test-reviewer.md +55 -0
  17. package/agents/reviewer.md +59 -0
  18. package/agents/ship-audit-army/docs-auditor.md +53 -0
  19. package/agents/ship-audit-army/performance-auditor.md +52 -0
  20. package/agents/ship-audit-army/security-auditor.md +52 -0
  21. package/agents/specifier.md +55 -0
  22. package/agents/triage-officer.md +27 -0
  23. package/bin/gxpm +17 -0
  24. package/bin/gxpm-browser +17 -0
  25. package/bin/gxpm-config +15 -0
  26. package/bin/gxpm-eval +13 -0
  27. package/bin/gxpm-global-discover +15 -0
  28. package/bin/gxpm-init +38 -0
  29. package/bin/gxpm-investigate +194 -0
  30. package/bin/gxpm-uninstall +15 -0
  31. package/bin/gxpm-update-check +165 -0
  32. package/commands/build.md +40 -0
  33. package/commands/help.md +53 -0
  34. package/commands/plan.md +34 -0
  35. package/commands/refine.md +46 -0
  36. package/commands/review.md +34 -0
  37. package/commands/ship.md +37 -0
  38. package/core/ac-check.ts +20 -0
  39. package/core/agent-runtime.ts +363 -0
  40. package/core/artifact-validator.ts +151 -0
  41. package/core/artifacts.ts +313 -0
  42. package/core/autopilot.ts +250 -0
  43. package/core/capabilities.ts +779 -0
  44. package/core/checkpoint.ts +370 -0
  45. package/core/cleanup.ts +32 -0
  46. package/core/command-probe.ts +82 -0
  47. package/core/config.ts +533 -0
  48. package/core/contracts/behavior-spec.schema.ts +38 -0
  49. package/core/contracts/converter.ts +61 -0
  50. package/core/contracts/host.ts +43 -0
  51. package/core/converters/converter.ts +93 -0
  52. package/core/converters/index.ts +8 -0
  53. package/core/converters/managed-artifact.ts +119 -0
  54. package/core/converters/parser.ts +159 -0
  55. package/core/converters/template-renderer.ts +35 -0
  56. package/core/converters/writer.ts +61 -0
  57. package/core/dag-executor.ts +426 -0
  58. package/core/dag-loader.ts +292 -0
  59. package/core/dag-schemas.ts +150 -0
  60. package/core/dispatch.ts +125 -0
  61. package/core/evidence.ts +148 -0
  62. package/core/gate.ts +269 -0
  63. package/core/hook-engine.ts +566 -0
  64. package/core/host-probe.ts +64 -0
  65. package/core/implement.ts +16 -0
  66. package/core/isolation-errors.ts +174 -0
  67. package/core/isolation-resolver.ts +921 -0
  68. package/core/issue-context.ts +381 -0
  69. package/core/issue-readiness.ts +457 -0
  70. package/core/issue-sync.ts +427 -0
  71. package/core/issues.ts +132 -0
  72. package/core/land.ts +108 -0
  73. package/core/orchestrator.ts +54 -0
  74. package/core/phase-artifact.ts +32 -0
  75. package/core/phase-gates.ts +130 -0
  76. package/core/phase-rewind.ts +94 -0
  77. package/core/plan-lint.ts +61 -0
  78. package/core/plan.ts +77 -0
  79. package/core/port-allocation.ts +50 -0
  80. package/core/pr-check.ts +15 -0
  81. package/core/preset-system/preset-resolver.ts +221 -0
  82. package/core/project-init-status.ts +127 -0
  83. package/core/qa.ts +15 -0
  84. package/core/resilience.ts +165 -0
  85. package/core/runs.ts +288 -0
  86. package/core/safe-path.test.ts +80 -0
  87. package/core/safe-path.ts +60 -0
  88. package/core/sdd-gate.test.ts +98 -0
  89. package/core/sdd-gate.ts +134 -0
  90. package/core/self-review.ts +62 -0
  91. package/core/session.ts +70 -0
  92. package/core/ship.ts +86 -0
  93. package/core/specify.ts +173 -0
  94. package/core/state.ts +1002 -0
  95. package/core/template-engine.ts +152 -0
  96. package/core/template-resolver.test.ts +70 -0
  97. package/core/template-resolver.ts +156 -0
  98. package/core/triage.ts +26 -0
  99. package/core/verify.ts +15 -0
  100. package/core/wiki-native.ts +2423 -0
  101. package/core/wiki.ts +27 -0
  102. package/core/workflow-event-emitter.ts +163 -0
  103. package/core/workflows/engine.ts +273 -0
  104. package/core/workflows/expressions.ts +76 -0
  105. package/core/workflows/index.ts +38 -0
  106. package/core/workflows/steps/command.ts +43 -0
  107. package/core/workflows/steps/gate.ts +47 -0
  108. package/core/workflows/steps/gxpm.ts +44 -0
  109. package/core/workflows/steps/linear.ts +31 -0
  110. package/core/workflows/steps/shell.ts +65 -0
  111. package/core/workflows/types.ts +62 -0
  112. package/core/workspace-runtime.ts +227 -0
  113. package/core/worktree-init-steps.ts +647 -0
  114. package/core/worktree-init.ts +330 -0
  115. package/core/worktree-owner.ts +143 -0
  116. package/docs/GXPM_VERIFY.md +98 -0
  117. package/docs/INSTALL_FOR_AGENTS.md +113 -0
  118. package/docs/README.md +57 -0
  119. package/docs/adr/adr-005-multi-platform-skill-converter.md +72 -0
  120. package/docs/agents/domain.md +30 -0
  121. package/docs/agents/issue-tracker.md +30 -0
  122. package/docs/agents/triage-labels.md +32 -0
  123. package/docs/architecture/gxpm-architecture-diagram.md +265 -0
  124. package/docs/architecture/gxpm-current-architecture.md +175 -0
  125. package/docs/architecture/gxpm-current-flow.md +278 -0
  126. package/docs/architecture/gxpm-replacement-architecture.md +211 -0
  127. package/docs/architecture/gxpm-target-architecture.md +449 -0
  128. package/docs/architecture/gxpm-v0-contract.md +311 -0
  129. package/docs/architecture/layered-workflow-boundaries.md +193 -0
  130. package/docs/architecture/preset-system.md +126 -0
  131. package/docs/architecture/scaffold-northstar.md +23 -0
  132. package/docs/brainstorms/2026-05-14-bdd-then-tdd-design.md +320 -0
  133. package/docs/brainstorms/README.md +22 -0
  134. package/docs/brainstorms/docs-knowledge-system-requirements.md +29 -0
  135. package/docs/governance/beta-skill-promotion.md +39 -0
  136. package/docs/governance/development-contract.md +144 -0
  137. package/docs/governance/gherkin-style.md +90 -0
  138. package/docs/governance/host-adapter.md +56 -0
  139. package/docs/governance/skill-authoring.md +87 -0
  140. package/docs/governance/skill-testing.md +356 -0
  141. package/docs/governance/template-authoring.md +53 -0
  142. package/docs/migrations/v0.2.md +51 -0
  143. package/docs/plans/README.md +23 -0
  144. package/docs/plans/bdd-then-tdd-plan.md +1767 -0
  145. package/docs/plans/docs-knowledge-system-plan.md +31 -0
  146. package/docs/plans/spec-kit-sdd-adoption-plan.md +305 -0
  147. package/docs/research/agents-md-best-practices.md +207 -0
  148. package/docs/research/archon-study.md +351 -0
  149. package/docs/research/claude-hooks-study.md +440 -0
  150. package/docs/research/codex-hooks-study.md +624 -0
  151. package/docs/research/everything-claude-code-study.md +252 -0
  152. package/docs/research/from-skills-to-layered-workflow.md +322 -0
  153. package/docs/research/gsd-study.md +69 -0
  154. package/docs/research/kimi-hooks-study.md +274 -0
  155. package/docs/research/mattpocock-skills-comparison.md +429 -0
  156. package/docs/research/mattpocock-skills-study.md +275 -0
  157. package/docs/research/oh-my-codex-study.md +279 -0
  158. package/docs/research/perplexity-agent-skills-design.md +168 -0
  159. package/docs/research/pmc-gstack-skill-study.md +122 -0
  160. package/docs/research/spec-kit-study.md +224 -0
  161. package/docs/research/superpowers-study.md +209 -0
  162. package/docs/roadmap/initial-roadmap.md +53 -0
  163. package/docs/solutions/README.md +45 -0
  164. package/docs/solutions/artifact-nesting-recovery.md +58 -0
  165. package/docs/solutions/session-context-restore-practice.md +67 -0
  166. package/docs/solutions/workflow/version-drift-recovery.md +49 -0
  167. package/docs/solutions/worktree-gate-recovery.md +62 -0
  168. package/docs/specs/README.md +28 -0
  169. package/docs/specs/claude.md +45 -0
  170. package/docs/specs/codex.md +44 -0
  171. package/docs/specs/cursor.md +44 -0
  172. package/hosts/adapters/claude.ts +29 -0
  173. package/hosts/adapters/codex.ts +27 -0
  174. package/hosts/adapters/cursor.ts +27 -0
  175. package/hosts/adapters/kimi.ts +27 -0
  176. package/hosts/claude.ts +23 -0
  177. package/hosts/codex.ts +26 -0
  178. package/hosts/cursor.ts +19 -0
  179. package/hosts/index.ts +33 -0
  180. package/hosts/registry.test.ts +52 -0
  181. package/hosts/registry.ts +57 -0
  182. package/hosts/schema.ts +58 -0
  183. package/package.json +52 -0
  184. package/scripts/browser.ts +185 -0
  185. package/scripts/cleanup.ts +142 -0
  186. package/scripts/commands/artifact.ts +115 -0
  187. package/scripts/commands/autopilot.ts +143 -0
  188. package/scripts/commands/capability.ts +57 -0
  189. package/scripts/commands/config.ts +69 -0
  190. package/scripts/commands/dag.ts +126 -0
  191. package/scripts/commands/feedback.ts +123 -0
  192. package/scripts/commands/gate.ts +291 -0
  193. package/scripts/commands/helpers.ts +126 -0
  194. package/scripts/commands/hook.ts +66 -0
  195. package/scripts/commands/init.ts +515 -0
  196. package/scripts/commands/issue.ts +825 -0
  197. package/scripts/commands/phase.ts +61 -0
  198. package/scripts/commands/preset.ts +159 -0
  199. package/scripts/commands/runtime.ts +199 -0
  200. package/scripts/commands/specify.ts +71 -0
  201. package/scripts/commands/upgrade.ts +243 -0
  202. package/scripts/commands/verify.ts +183 -0
  203. package/scripts/commands/wiki.ts +242 -0
  204. package/scripts/commands/workflow.ts +131 -0
  205. package/scripts/dev-skill.ts +55 -0
  206. package/scripts/discover-skills.ts +116 -0
  207. package/scripts/doctor.ts +410 -0
  208. package/scripts/dogfood-check.ts +125 -0
  209. package/scripts/eval-functional.ts +218 -0
  210. package/scripts/eval.ts +246 -0
  211. package/scripts/gen-skill-docs.ts +201 -0
  212. package/scripts/global-discover.ts +217 -0
  213. package/scripts/governance-check.ts +75 -0
  214. package/scripts/gxpm-check.ts +12 -0
  215. package/scripts/gxpm.ts +216 -0
  216. package/scripts/host-config.ts +62 -0
  217. package/scripts/install-claude-hooks.ts +138 -0
  218. package/scripts/install-codex-hooks.ts +271 -0
  219. package/scripts/install-hooks.ts +128 -0
  220. package/scripts/install-kimi-hooks.ts +92 -0
  221. package/scripts/install-skill.ts +184 -0
  222. package/scripts/phase-artifact-commands.ts +100 -0
  223. package/scripts/post-land-sync.ts +46 -0
  224. package/scripts/scaffold-check.ts +85 -0
  225. package/scripts/skill-naming-check.ts +78 -0
  226. package/scripts/skill-structure-check.ts +157 -0
  227. package/scripts/skills-lock-check.ts +60 -0
  228. package/scripts/sync-markdown-artifacts.ts +172 -0
  229. package/scripts/uninstall.ts +162 -0
  230. package/scripts/version.ts +47 -0
  231. package/scripts/wait-pr-ready.ts +407 -0
  232. package/skills/gxpm/SKILL.md +485 -0
  233. package/skills/gxpm/SKILL.md.tmpl +422 -0
  234. package/skills/gxpm/references/CANON.md +53 -0
  235. package/skills/gxpm/references/key-rules.md +130 -0
  236. package/skills/gxpm-architecture/SKILL.md +106 -0
  237. package/skills/gxpm-architecture/references/DEEPENING.md +37 -0
  238. package/skills/gxpm-architecture/references/INTERFACE-DESIGN.md +44 -0
  239. package/skills/gxpm-autopilot/SKILL.md +116 -0
  240. package/skills/gxpm-autopilot/SKILL.md.tmpl +107 -0
  241. package/skills/gxpm-browser/SKILL.md +105 -0
  242. package/skills/gxpm-browser/SKILL.md.tmpl +41 -0
  243. package/skills/gxpm-browser/references/commands.md +43 -0
  244. package/skills/gxpm-browser/references/evidence-path.md +20 -0
  245. package/skills/gxpm-build/SKILL.md +78 -0
  246. package/skills/gxpm-cleanup/SKILL.md +76 -0
  247. package/skills/gxpm-debug-issue/SKILL.md +39 -0
  248. package/skills/gxpm-diagnose/SKILL.md +220 -0
  249. package/skills/gxpm-diagnose/SKILL.md.tmpl +31 -0
  250. package/skills/gxpm-diagnose/references/feedback-loop.md +34 -0
  251. package/skills/gxpm-diagnose/references/feedback-loops.md +43 -0
  252. package/skills/gxpm-diagnose/references/phases.md +60 -0
  253. package/skills/gxpm-eval/SKILL.md +78 -0
  254. package/skills/gxpm-explore-codebase/SKILL.md +36 -0
  255. package/skills/gxpm-explore-codebase/scripts/summarize-communities.ts +51 -0
  256. package/skills/gxpm-feedback/SKILL.md +122 -0
  257. package/skills/gxpm-grill/SKILL.md +159 -0
  258. package/skills/gxpm-grill/SKILL.md.tmpl +77 -0
  259. package/skills/gxpm-grill/references/documentation-templates.md +56 -0
  260. package/skills/gxpm-grill/references/process.md +25 -0
  261. package/skills/gxpm-handoff/SKILL.md +112 -0
  262. package/skills/gxpm-hygiene/SKILL.md +69 -0
  263. package/skills/gxpm-implementer/SKILL.md +142 -0
  264. package/skills/gxpm-implementer/SKILL.md.tmpl +141 -0
  265. package/skills/gxpm-linear/SKILL.md +282 -0
  266. package/skills/gxpm-linear/SKILL.md.tmpl +86 -0
  267. package/skills/gxpm-linear/references/commands.md +75 -0
  268. package/skills/gxpm-linear/references/workflows.md +120 -0
  269. package/skills/gxpm-planning/SKILL.md +134 -0
  270. package/skills/gxpm-prototype/SKILL.md +64 -0
  271. package/skills/gxpm-refactor-safely/SKILL.md +62 -0
  272. package/skills/gxpm-review-army/SKILL.md +117 -0
  273. package/skills/gxpm-review-changes/SKILL.md +36 -0
  274. package/skills/gxpm-setup/SKILL.md +101 -0
  275. package/skills/gxpm-specifier/SKILL.md +135 -0
  276. package/skills/gxpm-tdd/SKILL.md +187 -0
  277. package/skills/gxpm-tdd/references/interface-design.md +23 -0
  278. package/skills/gxpm-tdd/references/mocking.md +27 -0
  279. package/skills/gxpm-tdd/references/red-green-refactor.md +61 -0
  280. package/skills/gxpm-tdd/references/troubleshooting.md +28 -0
  281. package/skills/gxpm-tdd/references/workflow.md +50 -0
  282. package/skills/gxpm-tdd/testing-anti-patterns.tmpl +304 -0
  283. package/skills/gxpm-triage/SKILL.md +160 -0
  284. package/skills/gxpm-verify/SKILL.md +107 -0
  285. package/skills/gxpm-write-skill/SKILL.md +131 -0
  286. package/skills/gxpm-zoom-out/SKILL.md +69 -0
  287. package/skills/maintain-hygiene-skills-lock/SKILL.md +54 -0
  288. package/skills/maintain-hygiene-skills-lock/SKILL.md.tmpl +53 -0
  289. package/templates/constitution-template.md +63 -0
  290. package/templates/hooks/gxpm-commit-msg +16 -0
  291. package/templates/hooks/gxpm-post-checkout +19 -0
  292. package/templates/hooks/gxpm-post-commit +7 -0
  293. package/templates/hooks/gxpm-post-merge +29 -0
  294. package/templates/hooks/gxpm-pre-commit +39 -0
  295. package/templates/hooks/gxpm-pre-push +33 -0
  296. package/templates/plan-template.md.tmpl +46 -0
  297. package/templates/spec-template.md.tmpl +63 -0
  298. package/templates/specify-stub.tmpl +22 -0
  299. package/templates/tasks-template.md.tmpl +32 -0
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: gxpm-explore-codebase
3
+ description: Navigate and understand codebase structure using the knowledge graph. Use when user asks how code works, wants to understand architecture, trace execution flows, or explore unfamiliar parts of the codebase.
4
+ ---
5
+
6
+ ## gxpm-explore-codebase
7
+
8
+ ### 入口条件
9
+
10
+ **Skill boundary:**
11
+ - If you are debugging a **specific bug or error**, load `/gxpm-debug-issue` or `/gxpm-diagnose` instead.
12
+ - If you are **refactoring** code you do not yet understand, load this skill first, then `/gxpm-refactor-safely`.
13
+
14
+ Use available code intelligence tools (e.g., GitNexus MCP, grep, ReadFile) to explore and understand the codebase.
15
+
16
+ ### 可操作流程
17
+
18
+ 1. Run `list_repos` to discover indexed repositories.
19
+ 2. Run `query` with natural language to find execution flows and symbols.
20
+ 3. Use `context` on a specific symbol for 360-degree view (callers, callees, references).
21
+ 4. Use `impact` before making changes to analyze blast radius.
22
+ 5. Use `route_map` and `shape_check` to understand API consumption patterns.
23
+
24
+ > **Tips**
25
+ > - Start broad (repo list, architecture) then narrow down to specific areas.
26
+ > - Use `cypher` for complex structural queries against the knowledge graph.
27
+ > - Use `detect_changes` to map git diffs to affected execution flows.
28
+
29
+ ### 红旗清单 / 反模式
30
+
31
+ - ALWAYS start with the narrowest query possible, then expand.
32
+ - Use compact output modes when available. Only escalate to full dumps when necessary.
33
+
34
+ ### 验证清单 / 出口条件
35
+
36
+ - Target: complete any review/debug/refactor task in ≤5 tool calls and ≤800 total output tokens.
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Summarize GitNexus community data into a compact markdown table.
4
+ * Reads JSON from stdin (e.g., list_communities output) and writes markdown to stdout.
5
+ *
6
+ * Usage:
7
+ * cat communities.json | bun run summarize-communities.ts
8
+ */
9
+
10
+ interface Community {
11
+ name?: string;
12
+ size?: number;
13
+ cohesion?: number;
14
+ dominantLanguage?: string;
15
+ }
16
+
17
+ const chunks: Buffer[] = [];
18
+ for await (const chunk of Bun.stdin.stream()) {
19
+ chunks.push(Buffer.from(chunk));
20
+ }
21
+
22
+ const json = Buffer.concat(chunks).toString("utf8").trim();
23
+
24
+ if (!json) {
25
+ console.error("No input received. Pipe JSON to stdin.");
26
+ process.exit(1);
27
+ }
28
+
29
+ try {
30
+ const data = JSON.parse(json) as { communities?: Community[] };
31
+ const communities = data.communities ?? [];
32
+
33
+ if (communities.length === 0) {
34
+ console.log("No communities found.");
35
+ process.exit(0);
36
+ }
37
+
38
+ console.log("| Community | Size | Cohesion | Language |");
39
+ console.log("|-----------|------|----------|----------|");
40
+
41
+ for (const community of communities) {
42
+ const name = community.name ?? "unnamed";
43
+ const size = community.size ?? 0;
44
+ const cohesion = community.cohesion != null ? community.cohesion.toFixed(2) : "n/a";
45
+ const language = community.dominantLanguage ?? "mixed";
46
+ console.log(`| ${name} | ${size} | ${cohesion} | ${language} |`);
47
+ }
48
+ } catch (error) {
49
+ console.error("Failed to parse JSON:", error);
50
+ process.exit(1);
51
+ }
@@ -0,0 +1,122 @@
1
+ ---
2
+ name: gxpm-feedback
3
+ description: Create feedback issues in the gxpm source repository when the agent discovers problems or improvement opportunities during gxpm workflow execution. Use when the agent notices a gxpm bug, process flaw, skill deficiency, or has a suggestion for the gxpm tool itself.
4
+ ---
5
+
6
+ # gxpm Feedback
7
+
8
+ Create structured feedback issues in the gxpm source repository so that problems and improvements are tracked, triaged, and eventually resolved.
9
+
10
+ ## 入口条件
11
+
12
+ **何时触发**
13
+ - 代理在执行 gxpm 流程时发现 gxpm **自身**的 bug 或缺陷。
14
+ - 代理发现 gxpm 流程、阶段门控、或 skill 设计存在可改进之处。
15
+ - 代理遇到 gxpm CLI 报错、意外行为、或边界情况未处理。
16
+ - 代理认为某个 skill 的指令存在歧义、遗漏、或反模式未覆盖。
17
+ - 代理发现文档(CANON.md、AGENTS.md、CONTEXT.md、governance docs)与代码实现不一致。
18
+
19
+ **前置条件**
20
+ - `feedback.gxpmSourceRoot` 已配置(指向 gxpm 源码仓库的绝对路径)。
21
+ - 代理已识别问题的具体表现和影响范围。
22
+
23
+ **Skill 边界(什么情况下应该加载别的 skill)**
24
+ - 需要调试定位根因 → `/gxpm-debug-issue`
25
+ - 需要提交代码修复 → `/gxpm-implementer`
26
+ - 需要架构讨论 → `/gxpm-grill`
27
+ - 只是对当前业务 issue 有疑问 → 在当前 skill 内解决,不要创建 feedback issue
28
+
29
+ ## 可操作流程
30
+
31
+ ### 1. 判断是否应该创建反馈 issue
32
+
33
+ 在以下情况**不要**创建 feedback issue:
34
+ - 问题是当前业务项目的代码问题,不是 gxpm 工具本身的问题。
35
+ - 问题只是代理对 gxpm 流程不熟悉(先查文档,确认确实是缺陷再反馈)。
36
+ - 问题是暂时性的网络/环境故障,不可复现。
37
+
38
+ ### 2. 选择反馈分类
39
+
40
+ | 分类 | 说明 | 对应 issueType |
41
+ |---|---|---|
42
+ | `bug` | gxpm CLI 崩溃、状态机异常、artifact 丢失、同步失败等 | `meta` |
43
+ | `enhancement` | 新功能请求、现有功能扩展 | `feature` |
44
+ | `process` | 流程改进、阶段门控调整、skill 结构优化 | `meta` |
45
+ | `documentation` | 文档与代码不一致、文档缺失、术语模糊 | `meta` |
46
+
47
+ 默认 issueType 为 `meta`(轻量级 rigor)。如果是较大的功能请求,用 `feature`。
48
+
49
+ ### 3. 收集反馈内容
50
+
51
+ 在创建 issue 前,收集以下信息:
52
+
53
+ 1. **What** — 具体发现了什么问题或有什么建议(一句话概括)。
54
+ 2. **Context** — 在哪个阶段、执行什么命令、使用什么 skill 时发现的。
55
+ 3. **Reproduction** — 如果是 bug,提供复现步骤或相关日志片段。
56
+ 4. **Impact** — 这个问题对 gxpm 流程的影响程度(阻塞 / 困扰 / 轻微)。
57
+ 5. **Suggestion** — 建议的修复方向或改进方案(可选但推荐)。
58
+
59
+ ### 4. 创建反馈 issue
60
+
61
+ 使用 CLI 命令:
62
+
63
+ ```bash
64
+ gxpm feedback create --auto-id \
65
+ --title "<一句话标题>" \
66
+ --description "<详细描述>" \
67
+ --type meta
68
+ ```
69
+
70
+ 参数说明:
71
+ - `--auto-id`:自动分配下一个可用 ID(推荐)。
72
+ - `--title`:简洁的问题/建议标题(50 字以内)。
73
+ - `--description`:包含 What / Context / Reproduction / Impact / Suggestion 的完整描述。
74
+ - `--type`:`meta`(默认,流程/文档/小缺陷)、`feature`(功能请求)、`spike`(需要调研)。
75
+
76
+ 命令执行后,会返回创建的 issue ID 和在 gxpm 源码目录中的 statePath。
77
+
78
+ ### 5. 记录溯源信息(可选但推荐)
79
+
80
+ 如果当前正在处理某个业务 issue,在业务 issue 的 memory 或 evidence 中记录:
81
+
82
+ ```markdown
83
+ ## Feedback Created
84
+ - 反馈 issue: `<gxpm-source-issue-id>`
85
+ - 原因: <简要说明>
86
+ - 创建时间: <ISO 时间>
87
+ ```
88
+
89
+ 这有助于后续审计时理解为什么当时创建了反馈。
90
+
91
+ ## 红旗清单 / 反模式
92
+
93
+ - **STOP:把业务 bug 当成 gxpm bug。** 如果问题是当前项目代码导致的,修复业务代码,不要创建 gxpm feedback issue。
94
+ - **STOP:空标题或空描述。** 没有上下文的 feedback issue 对维护者毫无价值;必须包含 Context 和 Impact。
95
+ - **STOP:重复反馈。** 创建前先检查 gxpm 源码目录 `.gxpm/issues/` 中是否已有相似标题或描述的 issue。
96
+ - **STOP:在 feedback issue 中讨论业务实现。** Feedback issue 只讨论 gxpm 工具本身。
97
+ - **危险信号:** "这个问题很小,不值得记录。" → 小问题的积累会腐蚀流程纪律。只要确认是 gxpm 的缺陷,就应该记录。
98
+ - **危险信号:** "我现在就顺便修了。" → 如果代理在执行业务 issue 时顺手修 gxpm,会导致业务范围蔓延。创建 feedback issue,让修复走独立的 gxpm 流程。
99
+
100
+ ## 验证清单 / 出口条件
101
+
102
+ - [ ] 确认问题是 gxpm 工具本身的问题,不是业务项目的问题。
103
+ - [ ] 已检查是否存在重复反馈。
104
+ - [ ] 反馈包含完整的 What / Context / Impact(Reproduction 和 Suggestion 视情况)。
105
+ - [ ] 已成功执行 `gxpm feedback create` 并拿到 issue ID。
106
+ - [ ] (可选)在当前业务 issue 的 memory 中记录了反馈溯源。
107
+ - [ ] feedback issue 已自动进入 `triage` 阶段,等待 gxpm 维护者分类。
108
+
109
+ **失败时路由**
110
+ - `feedback.gxpmSourceRoot` 未配置 → 提示用户配置:`gxpm config set feedback.gxpmSourceRoot </absolute/path>`
111
+ - 不确定是 gxpm bug 还是业务 bug → `/gxpm-debug-issue` 先定位根因
112
+ - 反馈内容需要架构讨论 → `/gxpm-grill`
113
+
114
+ ## 常见说辞表
115
+
116
+ | 用户/代理 utterance | 推荐回应 |
117
+ |---|---|
118
+ | "gxpm 又报错了,是不是 bug?" | "先确认报错是 gxpm CLI/流程导致的,还是当前项目代码导致的。如果是 gxpm 本身的问题,收集 Context 和 Reproduction,然后创建 feedback issue。" |
119
+ | "这个 skill 的指令好像有问题。" | "具体哪里有问题?是指令歧义、边界未覆盖、还是与代码实现不一致?确认后创建 feedback issue,附上建议的修改方向。" |
120
+ | "我觉得 gxpm 应该增加某某功能。" | "这是个 enhancement 建议。用 `gxpm feedback create --type feature --title ... --description ...` 记录,描述中要包含使用场景和预期行为。" |
121
+ | "这个问题太小了,不值得记录。" | "小问题不记录会积累成流程债务。只要确认是 gxpm 缺陷,就值得一个 feedback issue。" |
122
+ | "我在跑业务 issue,顺便把 gxpm 这个 bug 修了吧。" | "不要范围蔓延。创建 feedback issue 记录它,让修复走独立的 gxpm 流程,保证业务 issue 的聚焦。" |
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: gxpm-grill
3
+ description: Grilling session that challenges plans against the domain model and sharpens terminology. Use when user wants to stress-test a plan, align on requirements, challenge assumptions, or make architecture decisions.
4
+ ---
5
+ <!-- AUTO-GENERATED from SKILL.md.tmpl - do not edit directly -->
6
+
7
+ # Grill
8
+
9
+ Interview the user relentlessly about every aspect of a plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
10
+
11
+ ## 入口条件
12
+
13
+ **何时触发**
14
+ - 用户 utterances: "grill me", "let's align", "challenge this plan", "does this make sense?"
15
+ - Plan 或 design 存在未解决的依赖、未定义术语或隐含假设。
16
+ - Issue 从 `triage` 移动到 `plan` 时没有书面的 `acceptance-contract`。
17
+ - 出现术语漂移:用户用多个不同名称描述同一概念。
18
+
19
+ **前置条件**
20
+ - 有 plan、design、issue 或概念需要澄清。
21
+
22
+ **Skill 边界(什么情况下应该加载别的 skill)**
23
+ - 用户要求 quick code snippet 或 one-line fix → 直接实现,不 grill
24
+ - 需求已完全明确,有 acceptance criteria,无歧义 → 不 grill,直接进入 plan/implement
25
+ - 用户明确说 "just do it" 或 "no need to discuss" → 不 grill
26
+ - 时间压力极大且错误成本低于讨论成本 → 不 grill
27
+ - 需要代码调试 → `/gxpm-debug-issue`
28
+ - 需要产出实现计划 → `/gxpm-planning`
29
+ - 需要 issue 分类 → `/gxpm-triage`
30
+
31
+ ## 可操作流程
32
+
33
+ ### 1. Ask one question at a time
34
+
35
+ Wait for feedback on each question before continuing. If a question can be answered by exploring the codebase, explore the codebase instead.
36
+
37
+ ### 2. Challenge against the glossary
38
+
39
+ When the user uses a term that conflicts with the existing language in `CONTEXT.md`, call it out immediately:
40
+
41
+ > "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?"
42
+
43
+ ### 3. Sharpen fuzzy language
44
+
45
+ When the user uses vague or overloaded terms, propose a precise canonical term:
46
+
47
+ > "You're saying 'account' — do you mean the Customer or the User? Those are different things."
48
+
49
+ ### 4. Discuss concrete scenarios
50
+
51
+ When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about boundaries between concepts.
52
+
53
+ ### 5. Cross-reference with code
54
+
55
+ When the user states how something works, check whether the code agrees. If you find a contradiction, surface it:
56
+
57
+ > "Your code cancels entire Orders, but you just said partial cancellation is possible — which is right?"
58
+
59
+
60
+ ## 红旗清单 / 反模式
61
+
62
+ - **STOP:不要对 clear one-line fix 进行 grilling。** User says "Add a login button to the header." → 直接实现。Grill 仅当 login flow 涉及 CONTEXT.md 中没有的新领域概念。
63
+ - **STOP:不要对 fully specified、无歧义的需求 grilling。** 浪费用户时间。
64
+ - **STOP:不要跳过 grilling 直接 coding(当涉及新领域概念时)。** User says "Let's build a real-time sync system." → 必须先 grill:WebSockets, SSE, polling, CRDTs?哪种一致性模型?失败模式是什么?
65
+ - **STOP:不要 batch 文档更新。** 决策结晶时立即内联更新文档,不要攒到后面。
66
+ - **危险信号:** grilling 过程中 issue 范围不断扩大 → 停止,要求用户先拆分 issue 再继续。
67
+ - **危险信号:** 同一概念出现多个名称而用户不认为它们是同义词 → 强制选择一个并写入 CONTEXT.md。
68
+
69
+ ## 验证清单 / 出口条件
70
+
71
+ - [ ] 每个设计分支的依赖已逐层解决。
72
+ - [ ] 术语已统一并记录到 `CONTEXT.md`。
73
+ - [ ] `triage → plan` 阶段:`acceptance-contract` 已更新并书面化。
74
+ - [ ] `plan` 阶段:`implementation-plan` 已更新,关键实现决策已解决。
75
+ - [ ] grilling 过程中创建的 ADR 已记录到 issue artifact history(通过 `gxpm artifact write`)。
76
+ - [ ] 用户和代理对 plan 达成 shared understanding。
77
+
78
+ **失败时路由**
79
+ - grilling 后仍无法做架构决策 → `/gxpm-architecture`
80
+ - issue 需要重新分类 → `/gxpm-triage`
81
+ - 需要进一步代码调研 → `/gxpm-explore-codebase`
82
+
83
+ ## 常见说辞表
84
+
85
+ | 用户 utterance | 推荐回应 |
86
+ |----------------|----------|
87
+ | "grill me" / "challenge this plan" | "好。我们从最不确定的假设开始。请确认 [关键假设1] 是否成立?如果变化,会影响哪些决策?" |
88
+ | "let's align" | "我先梳理当前计划中未解决的依赖项和未定义术语,然后逐一确认。" |
89
+ | "does this make sense?" | "我先检查计划与领域模型的一致性,然后指出冲突或缺失的约束。" |
90
+ | "Add a login button to the header."(清晰请求) | "这个请求很清晰,直接实现。如果 login flow 涉及新领域概念,我再 grill。" |
91
+ | "Let's build a real-time sync system."(模糊宏大) | "'Real-time' 涵盖 WebSockets、SSE、polling、CRDTs。我们先对齐:选哪种?一致性模型?失败模式?" |
92
+
93
+ ## Documentation side effects
94
+
95
+ As decisions crystallise, update project documentation inline. Do not batch these up — capture them as they happen.
96
+
97
+ ### Update CONTEXT.md
98
+
99
+ When a term is resolved, update `CONTEXT.md` right there. Use this format:
100
+
101
+ ```markdown
102
+ ## Language
103
+
104
+ **Issue tracker**:
105
+ The tool that hosts a repo's issues — GitHub Issues, Linear, a local markdown convention, or similar.
106
+ _Avoid_: backlog manager, backlog backend, issue host
107
+
108
+ **Issue**:
109
+ A single tracked unit of work inside an **Issue tracker**.
110
+ _Avoid_: ticket
111
+
112
+ ## Relationships
113
+
114
+ - An **Issue tracker** holds many **Issues**
115
+ - An **Issue** carries one **Triage role** at a time
116
+
117
+ ## Flagged ambiguities
118
+
119
+ - "backlog" was previously used to mean both the *tool* and the *body of work* — resolved.
120
+ ```
121
+
122
+ Create `CONTEXT.md` lazily — only when you have the first term to write. Do not couple it to implementation details; only include terms meaningful to domain experts.
123
+
124
+ ### Offer ADRs sparingly
125
+
126
+ Only offer to create an ADR when all three are true:
127
+
128
+ 1. **Hard to reverse** — the cost of changing your mind later is meaningful.
129
+ 2. **Surprising without context** — a future reader will wonder "why did they do it this way?"
130
+ 3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons.
131
+
132
+ If any of the three is missing, skip the ADR. Write ADRs under `docs/adr/` using this format:
133
+
134
+ ```markdown
135
+ # ADR-000N: Title
136
+
137
+ ## Status
138
+
139
+ Accepted
140
+
141
+ ## Context
142
+
143
+ What is the forcing function? What constraints exist?
144
+
145
+ ## Decision
146
+
147
+ What are we doing?
148
+
149
+ ## Consequences
150
+
151
+ What becomes easier? What becomes harder?
152
+ ```
153
+
154
+
155
+ ## gxpm integration
156
+
157
+ - Before leaving `triage`, use grilling to clarify issue scope and write the `acceptance-contract`.
158
+ - During `plan`, use grilling to resolve implementation decisions and write the `implementation-plan`.
159
+ - Record any ADR created during grilling in the issue's artifact history via `gxpm artifact write`.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: gxpm-grill
3
+ description: Grilling session that challenges plans against the domain model and sharpens terminology. Use when user wants to stress-test a plan, align on requirements, challenge assumptions, or make architecture decisions.
4
+ ---
5
+
6
+ # Grill
7
+
8
+ Interview the user relentlessly about every aspect of a plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
9
+
10
+ ## 入口条件
11
+
12
+ **何时触发**
13
+ - 用户 utterances: "grill me", "let's align", "challenge this plan", "does this make sense?"
14
+ - Plan 或 design 存在未解决的依赖、未定义术语或隐含假设。
15
+ - Issue 从 `triage` 移动到 `plan` 时没有书面的 `acceptance-contract`。
16
+ - 出现术语漂移:用户用多个不同名称描述同一概念。
17
+
18
+ **前置条件**
19
+ - 有 plan、design、issue 或概念需要澄清。
20
+
21
+ **Skill 边界(什么情况下应该加载别的 skill)**
22
+ - 用户要求 quick code snippet 或 one-line fix → 直接实现,不 grill
23
+ - 需求已完全明确,有 acceptance criteria,无歧义 → 不 grill,直接进入 plan/implement
24
+ - 用户明确说 "just do it" 或 "no need to discuss" → 不 grill
25
+ - 时间压力极大且错误成本低于讨论成本 → 不 grill
26
+ - 需要代码调试 → `/gxpm-debug-issue`
27
+ - 需要产出实现计划 → `/gxpm-planning`
28
+ - 需要 issue 分类 → `/gxpm-triage`
29
+
30
+ ## 可操作流程
31
+
32
+ {{REFERENCE:process}}
33
+
34
+ ## 红旗清单 / 反模式
35
+
36
+ - **STOP:不要对 clear one-line fix 进行 grilling。** User says "Add a login button to the header." → 直接实现。Grill 仅当 login flow 涉及 CONTEXT.md 中没有的新领域概念。
37
+ - **STOP:不要对 fully specified、无歧义的需求 grilling。** 浪费用户时间。
38
+ - **STOP:不要跳过 grilling 直接 coding(当涉及新领域概念时)。** User says "Let's build a real-time sync system." → 必须先 grill:WebSockets, SSE, polling, CRDTs?哪种一致性模型?失败模式是什么?
39
+ - **STOP:不要 batch 文档更新。** 决策结晶时立即内联更新文档,不要攒到后面。
40
+ - **危险信号:** grilling 过程中 issue 范围不断扩大 → 停止,要求用户先拆分 issue 再继续。
41
+ - **危险信号:** 同一概念出现多个名称而用户不认为它们是同义词 → 强制选择一个并写入 CONTEXT.md。
42
+
43
+ ## 验证清单 / 出口条件
44
+
45
+ - [ ] 每个设计分支的依赖已逐层解决。
46
+ - [ ] 术语已统一并记录到 `CONTEXT.md`。
47
+ - [ ] `triage → plan` 阶段:`acceptance-contract` 已更新并书面化。
48
+ - [ ] `plan` 阶段:`implementation-plan` 已更新,关键实现决策已解决。
49
+ - [ ] grilling 过程中创建的 ADR 已记录到 issue artifact history(通过 `gxpm artifact write`)。
50
+ - [ ] 用户和代理对 plan 达成 shared understanding。
51
+
52
+ **失败时路由**
53
+ - grilling 后仍无法做架构决策 → `/gxpm-architecture`
54
+ - issue 需要重新分类 → `/gxpm-triage`
55
+ - 需要进一步代码调研 → `/gxpm-explore-codebase`
56
+
57
+ ## 常见说辞表
58
+
59
+ | 用户 utterance | 推荐回应 |
60
+ |----------------|----------|
61
+ | "grill me" / "challenge this plan" | "好。我们从最不确定的假设开始。请确认 [关键假设1] 是否成立?如果变化,会影响哪些决策?" |
62
+ | "let's align" | "我先梳理当前计划中未解决的依赖项和未定义术语,然后逐一确认。" |
63
+ | "does this make sense?" | "我先检查计划与领域模型的一致性,然后指出冲突或缺失的约束。" |
64
+ | "Add a login button to the header."(清晰请求) | "这个请求很清晰,直接实现。如果 login flow 涉及新领域概念,我再 grill。" |
65
+ | "Let's build a real-time sync system."(模糊宏大) | "'Real-time' 涵盖 WebSockets、SSE、polling、CRDTs。我们先对齐:选哪种?一致性模型?失败模式?" |
66
+
67
+ ## Documentation side effects
68
+
69
+ As decisions crystallise, update project documentation inline. Do not batch these up — capture them as they happen.
70
+
71
+ {{REFERENCE:documentation-templates}}
72
+
73
+ ## gxpm integration
74
+
75
+ - Before leaving `triage`, use grilling to clarify issue scope and write the `acceptance-contract`.
76
+ - During `plan`, use grilling to resolve implementation decisions and write the `implementation-plan`.
77
+ - Record any ADR created during grilling in the issue's artifact history via `gxpm artifact write`.
@@ -0,0 +1,56 @@
1
+ ### Update CONTEXT.md
2
+
3
+ When a term is resolved, update `CONTEXT.md` right there. Use this format:
4
+
5
+ ```markdown
6
+ ## Language
7
+
8
+ **Issue tracker**:
9
+ The tool that hosts a repo's issues — GitHub Issues, Linear, a local markdown convention, or similar.
10
+ _Avoid_: backlog manager, backlog backend, issue host
11
+
12
+ **Issue**:
13
+ A single tracked unit of work inside an **Issue tracker**.
14
+ _Avoid_: ticket
15
+
16
+ ## Relationships
17
+
18
+ - An **Issue tracker** holds many **Issues**
19
+ - An **Issue** carries one **Triage role** at a time
20
+
21
+ ## Flagged ambiguities
22
+
23
+ - "backlog" was previously used to mean both the *tool* and the *body of work* — resolved.
24
+ ```
25
+
26
+ Create `CONTEXT.md` lazily — only when you have the first term to write. Do not couple it to implementation details; only include terms meaningful to domain experts.
27
+
28
+ ### Offer ADRs sparingly
29
+
30
+ Only offer to create an ADR when all three are true:
31
+
32
+ 1. **Hard to reverse** — the cost of changing your mind later is meaningful.
33
+ 2. **Surprising without context** — a future reader will wonder "why did they do it this way?"
34
+ 3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons.
35
+
36
+ If any of the three is missing, skip the ADR. Write ADRs under `docs/adr/` using this format:
37
+
38
+ ```markdown
39
+ # ADR-000N: Title
40
+
41
+ ## Status
42
+
43
+ Accepted
44
+
45
+ ## Context
46
+
47
+ What is the forcing function? What constraints exist?
48
+
49
+ ## Decision
50
+
51
+ What are we doing?
52
+
53
+ ## Consequences
54
+
55
+ What becomes easier? What becomes harder?
56
+ ```
@@ -0,0 +1,25 @@
1
+ ### 1. Ask one question at a time
2
+
3
+ Wait for feedback on each question before continuing. If a question can be answered by exploring the codebase, explore the codebase instead.
4
+
5
+ ### 2. Challenge against the glossary
6
+
7
+ When the user uses a term that conflicts with the existing language in `CONTEXT.md`, call it out immediately:
8
+
9
+ > "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?"
10
+
11
+ ### 3. Sharpen fuzzy language
12
+
13
+ When the user uses vague or overloaded terms, propose a precise canonical term:
14
+
15
+ > "You're saying 'account' — do you mean the Customer or the User? Those are different things."
16
+
17
+ ### 4. Discuss concrete scenarios
18
+
19
+ When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about boundaries between concepts.
20
+
21
+ ### 5. Cross-reference with code
22
+
23
+ When the user states how something works, check whether the code agrees. If you find a contradiction, surface it:
24
+
25
+ > "Your code cancels entire Orders, but you just said partial cancellation is possible — which is right?"
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: gxpm-handoff
3
+ description: Compact the current session into a handoff document so another agent can continue the work. Use when switching agents, ending a session, or passing work between implementer subagents.
4
+ ---
5
+
6
+ # Handoff
7
+
8
+ Write a handoff document summarising the current session so a fresh agent can continue the work without losing context.
9
+
10
+ ## 入口条件
11
+
12
+ **何时触发**
13
+ - 当前 session 即将结束,需要让下一个 session 接续工作。
14
+ - dispatch 阶段需要将一个 implementer subagent 的工作传递给下一个 subagent。
15
+ - 用户明确说 "handoff"、"summarise for next session"、"pass this to another agent"。
16
+ - 一个 phase 完成,进入下一个 phase 且 agent 上下文可能重置时。
17
+
18
+ **Skill 边界(什么情况下应该加载别的 skill)**
19
+ - 需要代码调试 → `/gxpm-diagnose`
20
+ - 需要对齐需求 → `/gxpm-grill`
21
+ - 需要运行验证流水线 → `/gxpm-verify`
22
+ - 需要提交代码 → `/gxpm-hygiene`
23
+
24
+ ## 可操作流程
25
+
26
+ ### 1. Gather context
27
+
28
+ Collect the essential state from the current session:
29
+
30
+ - **Current phase** — what gxpm phase is the issue in?
31
+ - **What was done** — files changed, tests written, decisions made
32
+ - **What was NOT done** — explicit scope exclusions or deferred items
33
+ - **Blockers** — anything that stopped progress or needs resolution
34
+ - **Next steps** — what the next agent should do first
35
+ - **Relevant artifacts** — paths to PRDs, plans, ADRs, test outputs, screenshots
36
+
37
+ ### 2. Write the handoff doc
38
+
39
+ Save to a temporary path:
40
+
41
+ ```bash
42
+ mktemp -t handoff-XXXXXX.md
43
+ ```
44
+
45
+ Or append to the issue's artifact history:
46
+
47
+ ```bash
48
+ gxpm artifact write <issue-id> handoff --stdin
49
+ ```
50
+
51
+ ### 3. Structure
52
+
53
+ ```markdown
54
+ # Handoff: <issue-id> — <brief description>
55
+
56
+ ## Session summary
57
+ - Host: <Claude/Codex/etc>
58
+ - Date: <ISO date>
59
+ - Phase: <current gxpm phase>
60
+
61
+ ## What was done
62
+ - <item 1>
63
+ - <item 2>
64
+
65
+ ## What remains
66
+ - <item 1>
67
+ - <item 2>
68
+
69
+ ## Blockers / concerns
70
+ - <item 1>
71
+
72
+ ## Next steps (prioritised)
73
+ 1. <first thing the next agent should do>
74
+ 2. <second thing>
75
+
76
+ ## Key artifacts
77
+ - Plan: <path or URL>
78
+ - Spec: <path or URL>
79
+ - Test results: <path or summary>
80
+ - Screenshots / evidence: <paths>
81
+
82
+ ## Skills to load next
83
+ - <e.g. /gxpm-tdd for remaining implementation>
84
+ - <e.g. /gxpm-verify for running tests>
85
+ ```
86
+
87
+ ### 4. Do not duplicate
88
+
89
+ Do not duplicate content already captured in other artifacts (PRDs, plans, ADRs, issues, commits, diffs). Reference them by path or URL instead.
90
+
91
+ ## 红旗清单 / 反模式
92
+
93
+ - **STOP:不要复制粘贴整段代码。** 引用文件路径,不要内联代码块。
94
+ - **STOP:不要遗漏阻塞物。** 如果工作被阻塞,必须明确说明阻塞原因和已尝试的解决方案。
95
+ - **STOP:不要假设下一个 agent 知道上下文。** 即使是显而易见的状态,也要明确写出。
96
+ - **危险信号:** Handoff 文档超过 200 行 → 过度详细,应拆分为 artifact 引用。
97
+ - **危险信号:** 没有 "Next steps" 部分 → 下一个 agent 不知道从何开始。
98
+
99
+ ## 验证清单 / 出口条件
100
+
101
+ - [ ] 当前 phase 和 issue 状态已明确记录。
102
+ - [ ] 已完成工作和剩余工作已区分。
103
+ - [ ] 任何阻塞物已记录,包括已尝试的解决方案。
104
+ - [ ] 下一步已按优先级列出。
105
+ - [ ] 已有 artifact 被引用而非复制。
106
+ - [ ] 建议了下一个 agent 应加载的 skills。
107
+ - [ ] 文档已保存到临时路径或 issue artifact。
108
+
109
+ **失败时路由**
110
+ - 阻塞物需要调试 → `/gxpm-diagnose`
111
+ - 阻塞物是需求不清 → `/gxpm-grill`
112
+ - 需要验证当前工作 → `/gxpm-verify`