@boyingliu01/xp-gate 0.7.0 → 0.8.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 (197) hide show
  1. package/bin/xp-gate.js +4 -9
  2. package/lib/__tests__/audit-log.test.ts +107 -0
  3. package/lib/__tests__/detect-deps.test.js +212 -42
  4. package/lib/__tests__/doctor.test.js +1 -0
  5. package/lib/__tests__/gate-audit.test.ts +59 -0
  6. package/lib/__tests__/init.test.js +47 -1
  7. package/lib/__tests__/install-skill.test.js +1 -45
  8. package/lib/__tests__/ui-detector.test.ts +186 -26
  9. package/lib/__tests__/ui-review.test.ts +119 -0
  10. package/lib/__tests__/uninstall.test.js +1 -0
  11. package/lib/detect-deps.js +180 -37
  12. package/lib/doctor.js +7 -9
  13. package/lib/gate-audit.ts +26 -42
  14. package/lib/init.js +42 -13
  15. package/lib/install-skill.js +20 -48
  16. package/lib/rollback.js +1 -16
  17. package/lib/shared-paths.js +30 -0
  18. package/lib/shared-utils.js +25 -0
  19. package/lib/ui-detector.ts +20 -14
  20. package/lib/ui-review.ts +58 -53
  21. package/lib/uninstall.js +8 -9
  22. package/package.json +1 -1
  23. package/plugins/claude-code/.claude-plugin/plugin.json +1 -1
  24. package/plugins/claude-code/skills/admin-template-guidelines/SKILL.md +904 -0
  25. package/plugins/claude-code/skills/delphi-review/.delphi-config.json.example +45 -0
  26. package/plugins/claude-code/skills/delphi-review/AGENTS.md +66 -0
  27. package/plugins/claude-code/skills/delphi-review/INSTALL.md +152 -0
  28. package/plugins/claude-code/skills/delphi-review/SKILL.md +454 -0
  29. package/plugins/claude-code/skills/delphi-review/opencode.json.delphi.example +56 -0
  30. package/plugins/claude-code/skills/delphi-review/references/code-walkthrough.md +486 -0
  31. package/plugins/claude-code/skills/improve-codebase-architecture/SKILL.md +156 -0
  32. package/plugins/claude-code/skills/ralph-loop/SKILL.md +501 -0
  33. package/plugins/claude-code/skills/ralph-loop/references/components/memory.md +55 -0
  34. package/plugins/claude-code/skills/ralph-loop/references/components/middleware.md +54 -0
  35. package/plugins/claude-code/skills/ralph-loop/references/components/skill-invocations.md +39 -0
  36. package/plugins/claude-code/skills/ralph-loop/references/components/system-prompt.md +24 -0
  37. package/plugins/claude-code/skills/ralph-loop/references/components/tool-descriptions.md +32 -0
  38. package/plugins/claude-code/skills/ralph-loop/references/phase-2-build-ralph.md +89 -0
  39. package/plugins/claude-code/skills/ralph-loop/templates/progress-log.md +36 -0
  40. package/plugins/claude-code/skills/sprint-flow/AGENTS.md +68 -0
  41. package/plugins/claude-code/skills/sprint-flow/SKILL.md +1248 -0
  42. package/plugins/claude-code/skills/sprint-flow/references/components/memory.md +87 -0
  43. package/plugins/claude-code/skills/sprint-flow/references/components/middleware.md +72 -0
  44. package/plugins/claude-code/skills/sprint-flow/references/components/skill-invocations.md +104 -0
  45. package/plugins/claude-code/skills/sprint-flow/references/components/system-prompt.md +27 -0
  46. package/plugins/claude-code/skills/sprint-flow/references/components/tool-descriptions.md +96 -0
  47. package/plugins/claude-code/skills/sprint-flow/references/force-levels.md +203 -0
  48. package/plugins/claude-code/skills/sprint-flow/references/phase-0-think.md +115 -0
  49. package/plugins/claude-code/skills/sprint-flow/references/phase-1-plan.md +178 -0
  50. package/plugins/claude-code/skills/sprint-flow/references/phase-2-build.md +198 -0
  51. package/plugins/claude-code/skills/sprint-flow/references/phase-3-review.md +213 -0
  52. package/plugins/claude-code/skills/sprint-flow/references/phase-4-uat.md +125 -0
  53. package/plugins/claude-code/skills/sprint-flow/references/phase-5-feedback.md +100 -0
  54. package/plugins/claude-code/skills/sprint-flow/references/phase-6-ship.md +193 -0
  55. package/plugins/claude-code/skills/sprint-flow/references/phase-7-land.md +140 -0
  56. package/plugins/claude-code/skills/sprint-flow/references/phase-8-cleanup.md +192 -0
  57. package/plugins/claude-code/skills/sprint-flow/references/phase-minus-0-5-auto-estimate.md +257 -0
  58. package/plugins/claude-code/skills/sprint-flow/templates/auto-estimate-learning-log.md +136 -0
  59. package/plugins/claude-code/skills/sprint-flow/templates/auto-estimate-output-template.md +132 -0
  60. package/plugins/claude-code/skills/sprint-flow/templates/emergent-issues-template.md +120 -0
  61. package/plugins/claude-code/skills/sprint-flow/templates/pain-document-template.md +115 -0
  62. package/plugins/claude-code/skills/sprint-flow/templates/sprint-progress-template.md +151 -0
  63. package/plugins/claude-code/skills/sprint-flow/templates/sprint-summary-template.md +120 -0
  64. package/plugins/claude-code/skills/test-driven-development/SKILL.md +71 -0
  65. package/plugins/claude-code/skills/test-specification-alignment/AGENTS.md +56 -0
  66. package/plugins/claude-code/skills/test-specification-alignment/SKILL.md +702 -0
  67. package/plugins/claude-code/skills/test-specification-alignment/references/alignment-verification-algorithm.md +493 -0
  68. package/plugins/claude-code/skills/test-specification-alignment/references/phase2-constraint-enforcement.md +431 -0
  69. package/plugins/claude-code/skills/test-specification-alignment/references/specification-format.md +348 -0
  70. package/plugins/claude-code/skills/to-issues/SKILL.md +277 -0
  71. package/plugins/opencode/README.md +38 -0
  72. package/plugins/opencode/index.ts +85 -0
  73. package/plugins/opencode/package.json +18 -0
  74. package/plugins/opencode/skills/admin-template-guidelines/SKILL.md +904 -0
  75. package/plugins/opencode/skills/delphi-review/.delphi-config.json.example +45 -0
  76. package/plugins/opencode/skills/delphi-review/AGENTS.md +66 -0
  77. package/plugins/opencode/skills/delphi-review/INSTALL.md +152 -0
  78. package/plugins/opencode/skills/delphi-review/SKILL.md +454 -0
  79. package/plugins/opencode/skills/delphi-review/opencode.json.delphi.example +56 -0
  80. package/plugins/opencode/skills/delphi-review/references/code-walkthrough.md +486 -0
  81. package/plugins/opencode/skills/improve-codebase-architecture/SKILL.md +156 -0
  82. package/plugins/opencode/skills/ralph-loop/SKILL.md +501 -0
  83. package/plugins/opencode/skills/ralph-loop/references/components/memory.md +55 -0
  84. package/plugins/opencode/skills/ralph-loop/references/components/middleware.md +54 -0
  85. package/plugins/opencode/skills/ralph-loop/references/components/skill-invocations.md +39 -0
  86. package/plugins/opencode/skills/ralph-loop/references/components/system-prompt.md +24 -0
  87. package/plugins/opencode/skills/ralph-loop/references/components/tool-descriptions.md +32 -0
  88. package/plugins/opencode/skills/ralph-loop/references/phase-2-build-ralph.md +89 -0
  89. package/plugins/opencode/skills/ralph-loop/templates/progress-log.md +36 -0
  90. package/plugins/opencode/skills/sprint-flow/AGENTS.md +68 -0
  91. package/plugins/opencode/skills/sprint-flow/SKILL.md +1248 -0
  92. package/plugins/opencode/skills/sprint-flow/references/components/memory.md +87 -0
  93. package/plugins/opencode/skills/sprint-flow/references/components/middleware.md +72 -0
  94. package/plugins/opencode/skills/sprint-flow/references/components/skill-invocations.md +104 -0
  95. package/plugins/opencode/skills/sprint-flow/references/components/system-prompt.md +27 -0
  96. package/plugins/opencode/skills/sprint-flow/references/components/tool-descriptions.md +96 -0
  97. package/plugins/opencode/skills/sprint-flow/references/force-levels.md +203 -0
  98. package/plugins/opencode/skills/sprint-flow/references/phase-0-think.md +115 -0
  99. package/plugins/opencode/skills/sprint-flow/references/phase-1-plan.md +178 -0
  100. package/plugins/opencode/skills/sprint-flow/references/phase-2-build.md +198 -0
  101. package/plugins/opencode/skills/sprint-flow/references/phase-3-review.md +213 -0
  102. package/plugins/opencode/skills/sprint-flow/references/phase-4-uat.md +125 -0
  103. package/plugins/opencode/skills/sprint-flow/references/phase-5-feedback.md +100 -0
  104. package/plugins/opencode/skills/sprint-flow/references/phase-6-ship.md +193 -0
  105. package/plugins/opencode/skills/sprint-flow/references/phase-7-land.md +140 -0
  106. package/plugins/opencode/skills/sprint-flow/references/phase-8-cleanup.md +192 -0
  107. package/plugins/opencode/skills/sprint-flow/references/phase-minus-0-5-auto-estimate.md +257 -0
  108. package/plugins/opencode/skills/sprint-flow/templates/auto-estimate-learning-log.md +136 -0
  109. package/plugins/opencode/skills/sprint-flow/templates/auto-estimate-output-template.md +132 -0
  110. package/plugins/opencode/skills/sprint-flow/templates/emergent-issues-template.md +120 -0
  111. package/plugins/opencode/skills/sprint-flow/templates/pain-document-template.md +115 -0
  112. package/plugins/opencode/skills/sprint-flow/templates/sprint-progress-template.md +151 -0
  113. package/plugins/opencode/skills/sprint-flow/templates/sprint-summary-template.md +120 -0
  114. package/plugins/opencode/skills/test-driven-development/SKILL.md +71 -0
  115. package/plugins/opencode/skills/test-specification-alignment/AGENTS.md +56 -0
  116. package/plugins/opencode/skills/test-specification-alignment/SKILL.md +702 -0
  117. package/plugins/opencode/skills/test-specification-alignment/references/alignment-verification-algorithm.md +493 -0
  118. package/plugins/opencode/skills/test-specification-alignment/references/phase2-constraint-enforcement.md +431 -0
  119. package/plugins/opencode/skills/test-specification-alignment/references/specification-format.md +348 -0
  120. package/plugins/opencode/skills/to-issues/SKILL.md +277 -0
  121. package/plugins/opencode/tsconfig.json +15 -0
  122. package/plugins/qoder/skills/admin-template-guidelines/SKILL.md +904 -0
  123. package/plugins/qoder/skills/delphi-review/.delphi-config.json.example +45 -0
  124. package/plugins/qoder/skills/delphi-review/AGENTS.md +66 -0
  125. package/plugins/qoder/skills/delphi-review/INSTALL.md +152 -0
  126. package/plugins/qoder/skills/delphi-review/SKILL.md +454 -0
  127. package/plugins/qoder/skills/delphi-review/opencode.json.delphi.example +56 -0
  128. package/plugins/qoder/skills/delphi-review/references/code-walkthrough.md +486 -0
  129. package/plugins/qoder/skills/improve-codebase-architecture/SKILL.md +156 -0
  130. package/plugins/qoder/skills/ralph-loop/SKILL.md +501 -0
  131. package/plugins/qoder/skills/ralph-loop/references/components/memory.md +55 -0
  132. package/plugins/qoder/skills/ralph-loop/references/components/middleware.md +54 -0
  133. package/plugins/qoder/skills/ralph-loop/references/components/skill-invocations.md +39 -0
  134. package/plugins/qoder/skills/ralph-loop/references/components/system-prompt.md +24 -0
  135. package/plugins/qoder/skills/ralph-loop/references/components/tool-descriptions.md +32 -0
  136. package/plugins/qoder/skills/ralph-loop/references/phase-2-build-ralph.md +89 -0
  137. package/plugins/qoder/skills/ralph-loop/templates/progress-log.md +36 -0
  138. package/plugins/qoder/skills/sprint-flow/AGENTS.md +68 -0
  139. package/plugins/qoder/skills/sprint-flow/SKILL.md +1248 -0
  140. package/plugins/qoder/skills/sprint-flow/references/components/memory.md +87 -0
  141. package/plugins/qoder/skills/sprint-flow/references/components/middleware.md +72 -0
  142. package/plugins/qoder/skills/sprint-flow/references/components/skill-invocations.md +104 -0
  143. package/plugins/qoder/skills/sprint-flow/references/components/system-prompt.md +27 -0
  144. package/plugins/qoder/skills/sprint-flow/references/components/tool-descriptions.md +96 -0
  145. package/plugins/qoder/skills/sprint-flow/references/force-levels.md +203 -0
  146. package/plugins/qoder/skills/sprint-flow/references/phase-0-think.md +115 -0
  147. package/plugins/qoder/skills/sprint-flow/references/phase-1-plan.md +178 -0
  148. package/plugins/qoder/skills/sprint-flow/references/phase-2-build.md +198 -0
  149. package/plugins/qoder/skills/sprint-flow/references/phase-3-review.md +213 -0
  150. package/plugins/qoder/skills/sprint-flow/references/phase-4-uat.md +125 -0
  151. package/plugins/qoder/skills/sprint-flow/references/phase-5-feedback.md +100 -0
  152. package/plugins/qoder/skills/sprint-flow/references/phase-6-ship.md +193 -0
  153. package/plugins/qoder/skills/sprint-flow/references/phase-7-land.md +140 -0
  154. package/plugins/qoder/skills/sprint-flow/references/phase-8-cleanup.md +192 -0
  155. package/plugins/qoder/skills/sprint-flow/references/phase-minus-0-5-auto-estimate.md +257 -0
  156. package/plugins/qoder/skills/sprint-flow/templates/auto-estimate-learning-log.md +136 -0
  157. package/plugins/qoder/skills/sprint-flow/templates/auto-estimate-output-template.md +132 -0
  158. package/plugins/qoder/skills/sprint-flow/templates/emergent-issues-template.md +120 -0
  159. package/plugins/qoder/skills/sprint-flow/templates/pain-document-template.md +115 -0
  160. package/plugins/qoder/skills/sprint-flow/templates/sprint-progress-template.md +151 -0
  161. package/plugins/qoder/skills/sprint-flow/templates/sprint-summary-template.md +120 -0
  162. package/plugins/qoder/skills/test-driven-development/SKILL.md +71 -0
  163. package/plugins/qoder/skills/test-specification-alignment/AGENTS.md +56 -0
  164. package/plugins/qoder/skills/test-specification-alignment/SKILL.md +702 -0
  165. package/plugins/qoder/skills/test-specification-alignment/references/alignment-verification-algorithm.md +493 -0
  166. package/plugins/qoder/skills/test-specification-alignment/references/phase2-constraint-enforcement.md +431 -0
  167. package/plugins/qoder/skills/test-specification-alignment/references/specification-format.md +348 -0
  168. package/plugins/qoder/skills/to-issues/SKILL.md +277 -0
  169. package/skills/admin-template-guidelines/SKILL.md +904 -0
  170. package/skills/delphi-review/SKILL.md +112 -77
  171. package/skills/improve-codebase-architecture/SKILL.md +156 -0
  172. package/skills/ralph-loop/SKILL.md +165 -34
  173. package/skills/sprint-flow/SKILL.md +448 -107
  174. package/skills/sprint-flow/references/components/skill-invocations.md +1 -1
  175. package/skills/sprint-flow/references/components/tool-descriptions.md +1 -1
  176. package/skills/sprint-flow/references/force-levels.md +203 -0
  177. package/skills/sprint-flow/references/phase-1-plan.md +4 -4
  178. package/skills/sprint-flow/references/phase-minus-0-5-auto-estimate.md +20 -1
  179. package/skills/sprint-flow/templates/auto-estimate-output-template.md +7 -5
  180. package/skills/sprint-flow/templates/sprint-progress-template.md +151 -0
  181. package/skills/test-driven-development/SKILL.md +71 -0
  182. package/skills/test-specification-alignment/SKILL.md +98 -24
  183. package/skills/to-issues/SKILL.md +277 -0
  184. package/plugins/qoder/AGENTS.md +0 -93
  185. package/plugins/qoder/README.md +0 -87
  186. package/plugins/qoder/widgets/quality-report.html +0 -163
  187. package/plugins/qoder/widgets/sprint-dashboard.html +0 -172
  188. package/skills/delphi-review/evals/evals.json +0 -82
  189. package/skills/delphi-review/references/qoder-multi-model.md +0 -191
  190. package/skills/ralph-loop/evals/evals.json +0 -311
  191. package/skills/ralph-loop/evolution-history.json +0 -59
  192. package/skills/ralph-loop/evolution-log.md +0 -16
  193. package/skills/sprint-flow/evals/evals.json +0 -130
  194. package/skills/sprint-flow/evolution-history.json +0 -39
  195. package/skills/sprint-flow/evolution-log.md +0 -23
  196. package/skills/sprint-flow/references/qoder-adaptation.md +0 -173
  197. package/skills/test-specification-alignment/evals/evals.json +0 -75
@@ -1,173 +0,0 @@
1
- # Qoder Platform Adaptation Guide for Sprint Flow
2
-
3
- **Version:** v0.6.0
4
- **Platform:** Qoder IDE
5
- **Status:** Active
6
-
7
- ---
8
-
9
- ## 1. Platform Differences
10
-
11
- ### 1.1 No File-System Event Hooks
12
-
13
- | Capability | Claude Code | OpenCode | Qoder |
14
- |-----------|------------|----------|-------|
15
- | PreToolUse Hook | ✅ `delphi-review-guard.sh` | ❌ | ❌ |
16
- | PostToolUse Hook | ✅ `xp-gate-check` | ❌ | ❌ |
17
- | Custom Tools | ❌ | ✅ `tool()` | ❌ (MCP instead) |
18
-
19
- **Adaptation**: Gates embedded in SKILL.md as `<MANDATORY>` instructions. Orchestrator MUST execute checks before each file edit.
20
-
21
- ### 1.2 No `task()` Subagent API
22
-
23
- | Capability | OpenCode | Qoder |
24
- |-----------|----------|-------|
25
- | Subagent dispatch | `task(category, load_skills)` | Agent tool (Browser/CodeReview/plan-agent) |
26
- | Multi-model | Agent config with different models | Qoder multi-model capability |
27
- | Context isolation | Automatic per-task | Automatic per-Agent |
28
-
29
- **Adaptation**: Phase→Agent mapping table in sprint-flow SKILL.md.
30
-
31
- ### 1.3 No superpowers/gstack Ecosystem
32
-
33
- Qoder does not have access to the superpowers or gstack skill ecosystems. All external skill calls are replaced by:
34
- - **Orchestrator inline execution** (for simple tasks)
35
- - **Qoder native capabilities** (Memory, CodeReview, browser-use)
36
- - **Agent subagents** (for complex analysis/planning)
37
-
38
- ---
39
-
40
- ## 2. External Skill Replacement Matrix
41
-
42
- ### 2.1 brainstorming (superpowers) → Orchestrator Inline
43
-
44
- **Original**: `task(category="deep", load_skills=["brainstorming"])`
45
-
46
- **Qoder Replacement**: Orchestrator conducts an interactive requirements exploration dialogue:
47
- 1. Ask clarifying questions about the feature
48
- 2. Analyze existing codebase for relevant modules
49
- 3. Generate a structured design document
50
- 4. Present to user for approval (HARD-GATE)
51
-
52
- ### 2.2 autoplan (gstack) → plan-agent Subagent
53
-
54
- **Original**: `task(category="deep", load_skills=["autoplan"])`
55
-
56
- **Qoder Replacement**: Dispatch `plan-agent` subagent with:
57
- - Design document as input
58
- - Codebase structure analysis
59
- - Generate implementation plan with REQ/AC structure
60
- - Output: specification.yaml draft
61
-
62
- ### 2.3 freeze/unfreeze (gstack) → Pre-Edit Gate
63
-
64
- **Original**: `freeze` locks test directories, `unfreeze` unlocks
65
-
66
- **Qoder Replacement**: Pre-Edit Gate in sprint-flow SKILL.md:
67
- - During Phase 2 freeze state, orchestrator MUST check target file path
68
- - If file is in test directory → BLOCK with message
69
- - This is a behavioral constraint, not a physical lock
70
-
71
- ### 2.4 requesting-code-review (superpowers) → CodeReview Subagent
72
-
73
- **Original**: `task(category="unspecified-high", load_skills=["requesting-code-review"])`
74
-
75
- **Qoder Replacement**: Dispatch `CodeReview` subagent:
76
- - Input: changed files since last REQ commit
77
- - Blind review (no access to business intent, only code)
78
- - Output: review findings
79
-
80
- ### 2.5 verification-before-completion (superpowers) → Orchestrator Inline
81
-
82
- **Original**: `task(load_skills=["verification-before-completion"])`
83
-
84
- **Qoder Replacement**: Orchestrator executes sequentially:
85
- 1. `npm test` / `pytest` / `go test` (test runner)
86
- 2. `npx eslint` / `ruff check` / `golangci-lint` (linter)
87
- 3. `npx tsx src/principles/index.ts` (principles check)
88
- 4. Coverage report check (≥80%)
89
-
90
- ### 2.6 learn/retro (gstack) → Qoder Memory System
91
-
92
- **Original**: `task(load_skills=["learn", "retro"])`
93
-
94
- **Qoder Replacement**:
95
- - **learn**: `UpdateMemory` with appropriate category
96
- - Architecture decisions → `expert_experience`
97
- - Coding patterns → `development_practice_specification`
98
- - Project structure → `project_introduction`
99
- - **retro**: `plan-agent` subagent analyzes git log + code quality trends
100
- - Output stored via `UpdateMemory` as `task_summary_experience`
101
-
102
- ### 2.7 browse (gstack) → browser-use MCP
103
-
104
- **Original**: `browse` navigates to localhost, interacts with UI
105
-
106
- **Qoder Replacement**: Use `browser-use` MCP tools:
107
- - `navigate_page` → navigate to localhost:3000
108
- - `click` / `fill` → interact with UI elements
109
- - `take_screenshot` → capture visual verification
110
- - `take_snapshot` → get accessibility tree for validation
111
-
112
- ### 2.8 ship/finishing-branch → Orchestrator Git/GH CLI
113
-
114
- **Original**: External skill calls
115
-
116
- **Qoder Replacement**: Orchestrator executes:
117
- - `git add` + `git commit` + `git push`
118
- - `gh pr create` + `gh pr merge`
119
- - Standard git workflow (platform-independent)
120
-
121
- ---
122
-
123
- ## 3. genui Widget Integration
124
-
125
- ### 3.1 Quality Report Widget
126
-
127
- **Trigger**: After Phase 3 REVIEW completes
128
-
129
- **Execution**:
130
- ```
131
- show_widget(widget_path="plugins/qoder/widgets/quality-report.html", data={...quality-report.json contents...})
132
- ```
133
-
134
- ### 3.2 Sprint Dashboard Widget
135
-
136
- **Trigger**: User requests `/sprint-status` or Phase transition
137
-
138
- **Execution**:
139
- ```
140
- show_widget(widget_path="plugins/qoder/widgets/sprint-dashboard.html", data={...sprint-state.json contents...})
141
- ```
142
-
143
- ---
144
-
145
- ## 4. Memory System Integration
146
-
147
- ### 4.1 Learnings Categories
148
-
149
- | ralph-loop Category | Qoder Memory Category | Scope |
150
- |--------------------|-----------------------|-------|
151
- | permanent (architecture) | `expert_experience` | workspace |
152
- | permanent (convention) | `development_practice_specification` | workspace |
153
- | permanent (structure) | `project_introduction` | workspace |
154
- | contextual | Not persisted | session only |
155
- | sprint retro | `task_summary_experience` | workspace |
156
-
157
- ### 4.2 Memory Lifecycle
158
-
159
- 1. **REQ complete** → `UpdateMemory` for permanent learnings
160
- 2. **Sprint Phase 5** → `UpdateMemory` for sprint-level retro
161
- 3. **Next sprint** → `SearchMemory` to recall relevant learnings
162
- 4. **Stale learnings** → User can request memory cleanup
163
-
164
- ---
165
-
166
- ## 5. Known Limitations
167
-
168
- | Limitation | Impact | Mitigation |
169
- |-----------|--------|-----------|
170
- | Skill-embedded gates less reliable than hooks | Agent may ignore constraints | `<MANDATORY>` tags + Terminal State Checklist |
171
- | No physical file-system lock for freeze | Test files could be modified | Pre-Edit Gate + Terminal State verification |
172
- | Single model for all experts (degraded mode) | Loses cross-provider anonymity | Clearly label degraded reviews |
173
- | No `k6`/`locust` integration | Load testing limited | Future: MCP server for load testing |
@@ -1,75 +0,0 @@
1
- {
2
- "skill_name": "test-specification-alignment",
3
- "skill_path": "skills/test-specification-alignment/SKILL.md",
4
- "evals": [
5
- {
6
- "id": 1,
7
- "name": "aligned-tests-pass",
8
- "category": "normal",
9
- "prompt": "项目有specification.yaml定义了3个requirements和6个acceptance criteria。测试文件中有对应的@test REQ-001, @intent, @covers AC-001-01标注。请验证测试与specification的对齐情况。",
10
- "expected_output": "执行完整两阶段流程:Phase 1验证对齐(检查@test/@intent/@covers标签、测试覆盖率、AC映射完整性)→对齐分数>=80%→Phase 2执行测试(冻结测试目录,禁止修改)→报告对齐结果。",
11
- "files": [],
12
- "assertions": [
13
- {"name": "phase-1-executed", "type": "contains", "value": "Phase 1"},
14
- {"name": "phase-2-executed", "type": "contains", "value": "Phase 2"},
15
- {"name": "freeze-mentioned", "type": "contains", "value": "freeze"},
16
- {"name": "alignment-score", "type": "regex", "value": "[0-9]+%"},
17
- {"name": "test-annotations-checked", "type": "contains", "value": "@test"}
18
- ]
19
- },
20
- {
21
- "id": 2,
22
- "name": "misaligned-tests-detected",
23
- "category": "boundary",
24
- "prompt": "项目有specification.yaml定义了5个requirements,但测试文件中只有2个@test标签,3个requirement没有对应测试。请验证对齐情况。",
25
- "expected_output": "Phase 1应该检测到3个requirement缺少测试覆盖,对齐分数<80%。给出具体缺失项:哪些REQ没有@test标签,哪些AC没有@covers。可能需要Phase 1中添加缺失测试。",
26
- "files": [],
27
- "assertions": [
28
- {"name": "missing-coverage-detected", "type": "contains", "value": "缺失"},
29
- {"name": "low-alignment-score", "type": "contains", "value": "<80%"},
30
- {"name": "specific-gaps-listed", "type": "contains", "value": "REQ"}
31
- ]
32
- },
33
- {
34
- "id": 3,
35
- "name": "phase-2-freeze-enforcement",
36
- "category": "boundary",
37
- "prompt": "Phase 2执行测试时,有一个测试因为测试数据问题失败了。能不能修改一下测试数据让测试通过?",
38
- "expected_output": "Phase 2期间绝对禁止修改测试文件(freeze约束)。失败应被分类(业务代码问题/测试数据问题/Specification问题/环境问题),但不能通过修改测试来解决。应告知这是零容忍原则。",
39
- "files": [],
40
- "assertions": [
41
- {"name": "freeze-enforced", "type": "contains", "value": "禁止修改"},
42
- {"name": "no-test-modification", "type": "not_contains", "value": "修改测试"},
43
- {"name": "failure-classification", "type": "contains", "value": "分类"}
44
- ]
45
- },
46
- {
47
- "id": 4,
48
- "name": "legacy-mode-no-specification",
49
- "category": "boundary",
50
- "prompt": "项目没有specification.yaml文件,需要验证测试覆盖率是否足够。请运行test-specification-alignment。",
51
- "expected_output": "没有specification.yaml时进入legacy模式。应提示用户先通过delphi-review获得APPROVED后自动生成specification.yaml,而不是在没有spec的情况下进行对齐验证。",
52
- "files": [],
53
- "assertions": [
54
- {"name": "specification-required", "type": "contains", "value": "specification.yaml"},
55
- {"name": "legacy-mode-or-guidance", "type": "regex", "value": "(legacy|生成|delphi-review)"}
56
- ]
57
- }
58
- ],
59
- "trigger_evals": {
60
- "should_trigger": [
61
- "验证测试是否覆盖所有需求",
62
- "测试和需求对齐了吗",
63
- "run tests and check specification alignment",
64
- "发布前验证测试覆盖率",
65
- "verify tests before release"
66
- ],
67
- "should_not_trigger": [
68
- "写一个新功能",
69
- "帮我部署到生产环境",
70
- "修复一个bug",
71
- "代码review",
72
- "设计数据库schema"
73
- ]
74
- }
75
- }