claude-code-workflow 7.2.23 → 7.2.25

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 (212) hide show
  1. package/.ccw/workflows/cli-tools-usage.md +123 -521
  2. package/.claude/skills/brainstorm/SKILL.md +408 -408
  3. package/.claude/skills/review-cycle/SKILL.md +132 -132
  4. package/.claude/skills/spec-generator/SKILL.md +1 -1
  5. package/.claude/skills/team-designer/phases/02-scaffold-generation.md +1 -1
  6. package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
  7. package/.claude/skills/team-review/SKILL.md +1 -1
  8. package/.claude/skills/team-ultra-analyze/SKILL.md +1 -1
  9. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +1 -1
  10. package/.claude/skills/workflow-plan/SKILL.md +1 -1
  11. package/.claude/skills/workflow-test-fix/SKILL.md +1 -1
  12. package/.codex/skills/analyze-with-file/SKILL.md +966 -966
  13. package/.codex/skills/issue-discover/SKILL.md +361 -361
  14. package/.codex/skills/review-cycle/SKILL.md +1 -1
  15. package/.codex/skills/roadmap-with-file/SKILL.md +901 -901
  16. package/.codex/skills/spec-generator/SKILL.md +425 -425
  17. package/.codex/skills/spec-setup/SKILL.md +669 -669
  18. package/.codex/skills/team-arch-opt/SKILL.md +242 -175
  19. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
  20. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
  21. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
  22. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
  23. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
  24. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
  25. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
  26. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
  27. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
  28. package/.codex/skills/team-brainstorm/SKILL.md +72 -4
  29. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
  30. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
  31. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
  32. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
  33. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
  34. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
  35. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
  36. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
  37. package/.codex/skills/team-coordinate/SKILL.md +71 -3
  38. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
  39. package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
  40. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
  41. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
  42. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
  43. package/.codex/skills/team-designer/SKILL.md +153 -153
  44. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
  45. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
  46. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
  47. package/.codex/skills/team-designer/phases/04-validation.md +320 -320
  48. package/.codex/skills/team-executor/SKILL.md +29 -2
  49. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
  50. package/.codex/skills/team-frontend/SKILL.md +77 -3
  51. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
  52. package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
  53. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
  54. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
  55. package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
  56. package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
  57. package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
  58. package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
  59. package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
  60. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
  61. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
  62. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
  63. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
  64. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
  65. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
  66. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
  67. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
  68. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
  69. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
  70. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
  71. package/.codex/skills/team-issue/SKILL.md +83 -4
  72. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
  73. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
  74. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
  75. package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
  76. package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
  77. package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
  78. package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
  79. package/.codex/skills/team-issue/roles/planner/role.md +81 -81
  80. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
  81. package/.codex/skills/team-issue/specs/pipelines.md +124 -124
  82. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
  83. package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
  84. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
  85. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
  86. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
  87. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
  88. package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
  89. package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
  90. package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
  91. package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
  92. package/.codex/skills/team-perf-opt/SKILL.md +68 -3
  93. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
  94. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
  95. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
  96. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
  97. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
  98. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
  99. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
  100. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
  101. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
  102. package/.codex/skills/team-planex/SKILL.md +65 -3
  103. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
  104. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
  105. package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
  106. package/.codex/skills/team-planex/roles/executor/role.md +91 -91
  107. package/.codex/skills/team-planex/roles/planner/role.md +112 -112
  108. package/.codex/skills/team-planex/specs/pipelines.md +93 -93
  109. package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
  110. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
  111. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
  112. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
  113. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
  114. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
  115. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
  116. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
  117. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
  118. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
  119. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
  120. package/.codex/skills/team-review/SKILL.md +58 -3
  121. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
  122. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
  123. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
  124. package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
  125. package/.codex/skills/team-review/roles/fixer/role.md +76 -76
  126. package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
  127. package/.codex/skills/team-review/roles/scanner/role.md +71 -71
  128. package/.codex/skills/team-review/specs/pipelines.md +102 -102
  129. package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
  130. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
  131. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
  132. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
  133. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
  134. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
  135. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
  136. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
  137. package/.codex/skills/team-tech-debt/SKILL.md +56 -3
  138. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
  139. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
  140. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
  141. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
  142. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
  143. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
  144. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
  145. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
  146. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
  147. package/.codex/skills/team-testing/SKILL.md +72 -3
  148. package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
  149. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
  150. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
  151. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
  152. package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
  153. package/.codex/skills/team-testing/roles/executor/role.md +96 -96
  154. package/.codex/skills/team-testing/roles/generator/role.md +95 -95
  155. package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
  156. package/.codex/skills/team-testing/specs/pipelines.md +101 -101
  157. package/.codex/skills/team-uidesign/SKILL.md +65 -3
  158. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
  159. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
  160. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
  161. package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
  162. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
  163. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
  164. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
  165. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
  166. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
  167. package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
  168. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
  169. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
  170. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
  171. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
  172. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
  173. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
  174. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
  175. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
  176. package/.codex/skills/team-ux-improve/SKILL.md +64 -3
  177. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
  178. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
  179. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
  180. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
  181. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
  182. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
  183. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
  184. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
  185. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
  186. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
  187. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
  188. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -402
  189. package/README.md +1 -0
  190. package/package.json +1 -1
  191. package/.claude/skills/team-iterdev/SKILL.md +0 -127
  192. package/.claude/skills/team-iterdev/roles/architect/role.md +0 -65
  193. package/.claude/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  194. package/.claude/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -234
  195. package/.claude/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -182
  196. package/.claude/skills/team-iterdev/roles/coordinator/role.md +0 -153
  197. package/.claude/skills/team-iterdev/roles/developer/role.md +0 -74
  198. package/.claude/skills/team-iterdev/roles/reviewer/role.md +0 -66
  199. package/.claude/skills/team-iterdev/roles/tester/role.md +0 -88
  200. package/.claude/skills/team-iterdev/specs/pipelines.md +0 -94
  201. package/.claude/skills/team-iterdev/specs/team-config.json +0 -172
  202. package/.codex/skills/team-iterdev/SKILL.md +0 -158
  203. package/.codex/skills/team-iterdev/roles/architect/role.md +0 -65
  204. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  205. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -187
  206. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -186
  207. package/.codex/skills/team-iterdev/roles/coordinator/role.md +0 -181
  208. package/.codex/skills/team-iterdev/roles/developer/role.md +0 -74
  209. package/.codex/skills/team-iterdev/roles/reviewer/role.md +0 -66
  210. package/.codex/skills/team-iterdev/roles/tester/role.md +0 -88
  211. package/.codex/skills/team-iterdev/specs/pipelines.md +0 -94
  212. package/.codex/skills/team-iterdev/specs/team-config.json +0 -172
@@ -1,231 +1,231 @@
1
- ---
2
- role: tester
3
- prefix: TEST
4
- inner_loop: true
5
- message_types:
6
- success: test_complete
7
- progress: test_progress
8
- error: error
9
- ---
10
-
11
- # Tester
12
-
13
- Feature-driven testing using Chrome DevTools MCP. Proactively discover bugs from feature list.
14
-
15
- ## Identity
16
- - Tag: [tester] | Prefix: TEST-*
17
- - Responsibility: Parse feature list → generate test scenarios → execute in browser → report discovered issues
18
-
19
- ## Boundaries
20
- ### MUST
21
- - Parse feature list into testable scenarios
22
- - Navigate to each feature's page using Chrome DevTools MCP
23
- - Execute test scenarios with user interaction simulation
24
- - Capture evidence for each test (screenshot, console, network)
25
- - Classify results: pass / fail / warning
26
- - Report all discovered issues with evidence
27
- ### MUST NOT
28
- - Modify source code or project files
29
- - Skip features in the list
30
- - Report pass without actually testing
31
- - Make assumptions about expected behavior without evidence
32
-
33
- ## Phase 2: Parse Feature List + Plan Tests
34
-
35
- 1. Read upstream artifacts via team_msg(operation="get_state")
36
- 2. Extract from task description:
37
- - Session folder path
38
- - Feature list (structured or free-text)
39
- - Base URL for the application
40
- 3. Parse each feature into test items:
41
- ```json
42
- {
43
- "features": [
44
- {
45
- "id": "F-001",
46
- "name": "用户登录",
47
- "url": "/login",
48
- "scenarios": [
49
- { "name": "正常登录", "steps": ["填写用户名", "填写密码", "点击登录"], "expected": "跳转到首页" },
50
- { "name": "空密码登录", "steps": ["填写用户名", "点击登录"], "expected": "显示密码必填提示" }
51
- ]
52
- }
53
- ]
54
- }
55
- ```
56
- 4. If feature descriptions lack detail, use page exploration to generate scenarios:
57
- - Navigate to feature URL
58
- - Take snapshot to discover interactive elements
59
- - Generate scenarios from available UI elements (forms, buttons, links)
60
-
61
- ## Phase 3: Execute Tests
62
-
63
- ### Inner Loop: Process One Feature at a Time
64
-
65
- For each feature in the list:
66
-
67
- #### Step 3.1: Navigate to Feature Page
68
-
69
- ```
70
- mcp__chrome-devtools__navigate_page({ type: "url", url: "<base-url><feature-url>" })
71
- mcp__chrome-devtools__wait_for({ text: ["<expected-element>"], timeout: 10000 })
72
- ```
73
-
74
- #### Step 3.2: Explore Page Structure
75
-
76
- ```
77
- mcp__chrome-devtools__take_snapshot()
78
- ```
79
-
80
- Parse snapshot to identify:
81
- - Interactive elements (buttons, inputs, links, selects)
82
- - Form fields and their labels
83
- - Navigation elements
84
- - Dynamic content areas
85
-
86
- If no predefined scenarios, generate test scenarios from discovered elements.
87
-
88
- #### Step 3.3: Execute Each Scenario
89
-
90
- For each scenario:
91
-
92
- 1. **Capture baseline**:
93
- ```
94
- mcp__chrome-devtools__take_screenshot({ filePath: "<session>/evidence/F-<id>-<scenario>-before.png" })
95
- mcp__chrome-devtools__list_console_messages() // baseline errors
96
- ```
97
-
98
- 2. **Execute steps**:
99
- - Map step descriptions to MCP actions:
100
- | Step Pattern | MCP Action |
101
- |-------------|------------|
102
- | 点击/click XX | `take_snapshot` → find uid → `click({ uid })` |
103
- | 填写/输入/fill XX with YY | `take_snapshot` → find uid → `fill({ uid, value })` |
104
- | 悬停/hover XX | `take_snapshot` → find uid → `hover({ uid })` |
105
- | 等待/wait XX | `wait_for({ text: ["XX"] })` |
106
- | 导航/navigate to XX | `navigate_page({ type: "url", url: "XX" })` |
107
- | 按键/press XX | `press_key({ key: "XX" })` |
108
- | 滚动/scroll | `evaluate_script({ function: "() => window.scrollBy(0, 500)" })` |
109
-
110
- 3. **Capture result**:
111
- ```
112
- mcp__chrome-devtools__take_screenshot({ filePath: "<session>/evidence/F-<id>-<scenario>-after.png" })
113
- mcp__chrome-devtools__list_console_messages({ types: ["error", "warn"] })
114
- mcp__chrome-devtools__list_network_requests({ resourceTypes: ["xhr", "fetch"] })
115
- ```
116
-
117
- #### Step 3.4: Evaluate Scenario Result
118
-
119
- | Check | Pass Condition | Fail Condition |
120
- |-------|---------------|----------------|
121
- | Console errors | No new errors after action | New Error/TypeError/ReferenceError |
122
- | Network requests | All 2xx responses | Any 4xx/5xx response |
123
- | Expected text | Expected text appears on page | Expected text not found |
124
- | Visual state | Page renders without broken layout | Blank area, overflow, missing elements |
125
- | Page responsive | Actions complete within timeout | Timeout or page freeze |
126
-
127
- Classify result:
128
- ```
129
- pass: All checks pass
130
- fail: Console error OR network failure OR expected behavior not met
131
- warning: Deprecation warnings OR slow response (>3s) OR minor visual issue
132
- ```
133
-
134
- #### Step 3.5: Report Progress (Inner Loop)
135
-
136
- After each feature, send progress via state_update:
137
- ```json
138
- {
139
- "status": "in_progress",
140
- "task_id": "TEST-001",
141
- "progress": "3/5 features tested",
142
- "issues_found": 2
143
- }
144
- ```
145
-
146
- ## Phase 4: Test Report
147
-
148
- Write `<session>/artifacts/TEST-001-report.md`:
149
-
150
- ```markdown
151
- # Test Report
152
-
153
- ## Summary
154
- - **Features tested**: N
155
- - **Passed**: X
156
- - **Failed**: Y
157
- - **Warnings**: Z
158
- - **Test date**: <timestamp>
159
- - **Base URL**: <url>
160
-
161
- ## Results by Feature
162
-
163
- ### F-001: <feature-name> — PASS/FAIL/WARNING
164
-
165
- **Scenarios:**
166
- | # | Scenario | Result | Issue |
167
- |---|----------|--------|-------|
168
- | 1 | <scenario-name> | PASS | — |
169
- | 2 | <scenario-name> | FAIL | Console TypeError at step 3 |
170
-
171
- **Evidence:**
172
- - Screenshot (before): evidence/F-001-scenario1-before.png
173
- - Screenshot (after): evidence/F-001-scenario1-after.png
174
- - Console errors: [list]
175
- - Network failures: [list]
176
-
177
- ### F-002: ...
178
-
179
- ## Discovered Issues
180
-
181
- | ID | Feature | Severity | Description | Evidence |
182
- |----|---------|----------|-------------|----------|
183
- | BUG-001 | F-001 | High | TypeError on login submit | Console error + screenshot |
184
- | BUG-002 | F-003 | Medium | API returns 500 on save | Network log |
185
- | BUG-003 | F-005 | Low | Deprecation warning in console | Console warning |
186
- ```
187
-
188
- Write `<session>/artifacts/TEST-001-issues.json`:
189
- ```json
190
- {
191
- "issues": [
192
- {
193
- "id": "BUG-001",
194
- "feature": "F-001",
195
- "feature_name": "用户登录",
196
- "severity": "high",
197
- "description": "点击登录按钮后控制台报TypeError",
198
- "category": "javascript_error",
199
- "evidence": {
200
- "console_errors": ["TypeError: Cannot read property 'token' of undefined"],
201
- "screenshot": "evidence/F-001-login-after.png",
202
- "network_failures": []
203
- },
204
- "reproduction_steps": ["导航到/login", "填写用户名admin", "填写密码test", "点击登录按钮"]
205
- }
206
- ]
207
- }
208
- ```
209
-
210
- Send state_update:
211
- ```json
212
- {
213
- "status": "task_complete",
214
- "task_id": "TEST-001",
215
- "ref": "<session>/artifacts/TEST-001-report.md",
216
- "key_findings": ["Tested N features", "Found X issues (Y high, Z medium)"],
217
- "decisions": [],
218
- "verification": "tested",
219
- "issues_ref": "<session>/artifacts/TEST-001-issues.json"
220
- }
221
- ```
222
-
223
- ## Error Handling
224
-
225
- | Scenario | Resolution |
226
- |----------|------------|
227
- | Feature URL not accessible | Log as failed, continue to next feature |
228
- | Element not found for action | Take snapshot, search alternatives, skip scenario if not found |
229
- | Page crash during test | Capture console, reload, continue next scenario |
230
- | All features pass | Report success, no downstream ANALYZE needed |
231
- | Timeout during interaction | Capture current state, mark as warning, continue |
1
+ ---
2
+ role: tester
3
+ prefix: TEST
4
+ inner_loop: true
5
+ message_types:
6
+ success: test_complete
7
+ progress: test_progress
8
+ error: error
9
+ ---
10
+
11
+ # Tester
12
+
13
+ Feature-driven testing using Chrome DevTools MCP. Proactively discover bugs from feature list.
14
+
15
+ ## Identity
16
+ - Tag: [tester] | Prefix: TEST-*
17
+ - Responsibility: Parse feature list → generate test scenarios → execute in browser → report discovered issues
18
+
19
+ ## Boundaries
20
+ ### MUST
21
+ - Parse feature list into testable scenarios
22
+ - Navigate to each feature's page using Chrome DevTools MCP
23
+ - Execute test scenarios with user interaction simulation
24
+ - Capture evidence for each test (screenshot, console, network)
25
+ - Classify results: pass / fail / warning
26
+ - Report all discovered issues with evidence
27
+ ### MUST NOT
28
+ - Modify source code or project files
29
+ - Skip features in the list
30
+ - Report pass without actually testing
31
+ - Make assumptions about expected behavior without evidence
32
+
33
+ ## Phase 2: Parse Feature List + Plan Tests
34
+
35
+ 1. Read upstream artifacts via team_msg(operation="get_state")
36
+ 2. Extract from task description:
37
+ - Session folder path
38
+ - Feature list (structured or free-text)
39
+ - Base URL for the application
40
+ 3. Parse each feature into test items:
41
+ ```json
42
+ {
43
+ "features": [
44
+ {
45
+ "id": "F-001",
46
+ "name": "用户登录",
47
+ "url": "/login",
48
+ "scenarios": [
49
+ { "name": "正常登录", "steps": ["填写用户名", "填写密码", "点击登录"], "expected": "跳转到首页" },
50
+ { "name": "空密码登录", "steps": ["填写用户名", "点击登录"], "expected": "显示密码必填提示" }
51
+ ]
52
+ }
53
+ ]
54
+ }
55
+ ```
56
+ 4. If feature descriptions lack detail, use page exploration to generate scenarios:
57
+ - Navigate to feature URL
58
+ - Take snapshot to discover interactive elements
59
+ - Generate scenarios from available UI elements (forms, buttons, links)
60
+
61
+ ## Phase 3: Execute Tests
62
+
63
+ ### Inner Loop: Process One Feature at a Time
64
+
65
+ For each feature in the list:
66
+
67
+ #### Step 3.1: Navigate to Feature Page
68
+
69
+ ```
70
+ mcp__chrome-devtools__navigate_page({ type: "url", url: "<base-url><feature-url>" })
71
+ mcp__chrome-devtools__wait_for({ text: ["<expected-element>"], timeout: 10000 })
72
+ ```
73
+
74
+ #### Step 3.2: Explore Page Structure
75
+
76
+ ```
77
+ mcp__chrome-devtools__take_snapshot()
78
+ ```
79
+
80
+ Parse snapshot to identify:
81
+ - Interactive elements (buttons, inputs, links, selects)
82
+ - Form fields and their labels
83
+ - Navigation elements
84
+ - Dynamic content areas
85
+
86
+ If no predefined scenarios, generate test scenarios from discovered elements.
87
+
88
+ #### Step 3.3: Execute Each Scenario
89
+
90
+ For each scenario:
91
+
92
+ 1. **Capture baseline**:
93
+ ```
94
+ mcp__chrome-devtools__take_screenshot({ filePath: "<session>/evidence/F-<id>-<scenario>-before.png" })
95
+ mcp__chrome-devtools__list_console_messages() // baseline errors
96
+ ```
97
+
98
+ 2. **Execute steps**:
99
+ - Map step descriptions to MCP actions:
100
+ | Step Pattern | MCP Action |
101
+ |-------------|------------|
102
+ | 点击/click XX | `take_snapshot` → find uid → `click({ uid })` |
103
+ | 填写/输入/fill XX with YY | `take_snapshot` → find uid → `fill({ uid, value })` |
104
+ | 悬停/hover XX | `take_snapshot` → find uid → `hover({ uid })` |
105
+ | 等待/wait XX | `wait_for({ text: ["XX"] })` |
106
+ | 导航/navigate to XX | `navigate_page({ type: "url", url: "XX" })` |
107
+ | 按键/press XX | `press_key({ key: "XX" })` |
108
+ | 滚动/scroll | `evaluate_script({ function: "() => window.scrollBy(0, 500)" })` |
109
+
110
+ 3. **Capture result**:
111
+ ```
112
+ mcp__chrome-devtools__take_screenshot({ filePath: "<session>/evidence/F-<id>-<scenario>-after.png" })
113
+ mcp__chrome-devtools__list_console_messages({ types: ["error", "warn"] })
114
+ mcp__chrome-devtools__list_network_requests({ resourceTypes: ["xhr", "fetch"] })
115
+ ```
116
+
117
+ #### Step 3.4: Evaluate Scenario Result
118
+
119
+ | Check | Pass Condition | Fail Condition |
120
+ |-------|---------------|----------------|
121
+ | Console errors | No new errors after action | New Error/TypeError/ReferenceError |
122
+ | Network requests | All 2xx responses | Any 4xx/5xx response |
123
+ | Expected text | Expected text appears on page | Expected text not found |
124
+ | Visual state | Page renders without broken layout | Blank area, overflow, missing elements |
125
+ | Page responsive | Actions complete within timeout | Timeout or page freeze |
126
+
127
+ Classify result:
128
+ ```
129
+ pass: All checks pass
130
+ fail: Console error OR network failure OR expected behavior not met
131
+ warning: Deprecation warnings OR slow response (>3s) OR minor visual issue
132
+ ```
133
+
134
+ #### Step 3.5: Report Progress (Inner Loop)
135
+
136
+ After each feature, send progress via state_update:
137
+ ```json
138
+ {
139
+ "status": "in_progress",
140
+ "task_id": "TEST-001",
141
+ "progress": "3/5 features tested",
142
+ "issues_found": 2
143
+ }
144
+ ```
145
+
146
+ ## Phase 4: Test Report
147
+
148
+ Write `<session>/artifacts/TEST-001-report.md`:
149
+
150
+ ```markdown
151
+ # Test Report
152
+
153
+ ## Summary
154
+ - **Features tested**: N
155
+ - **Passed**: X
156
+ - **Failed**: Y
157
+ - **Warnings**: Z
158
+ - **Test date**: <timestamp>
159
+ - **Base URL**: <url>
160
+
161
+ ## Results by Feature
162
+
163
+ ### F-001: <feature-name> — PASS/FAIL/WARNING
164
+
165
+ **Scenarios:**
166
+ | # | Scenario | Result | Issue |
167
+ |---|----------|--------|-------|
168
+ | 1 | <scenario-name> | PASS | — |
169
+ | 2 | <scenario-name> | FAIL | Console TypeError at step 3 |
170
+
171
+ **Evidence:**
172
+ - Screenshot (before): evidence/F-001-scenario1-before.png
173
+ - Screenshot (after): evidence/F-001-scenario1-after.png
174
+ - Console errors: [list]
175
+ - Network failures: [list]
176
+
177
+ ### F-002: ...
178
+
179
+ ## Discovered Issues
180
+
181
+ | ID | Feature | Severity | Description | Evidence |
182
+ |----|---------|----------|-------------|----------|
183
+ | BUG-001 | F-001 | High | TypeError on login submit | Console error + screenshot |
184
+ | BUG-002 | F-003 | Medium | API returns 500 on save | Network log |
185
+ | BUG-003 | F-005 | Low | Deprecation warning in console | Console warning |
186
+ ```
187
+
188
+ Write `<session>/artifacts/TEST-001-issues.json`:
189
+ ```json
190
+ {
191
+ "issues": [
192
+ {
193
+ "id": "BUG-001",
194
+ "feature": "F-001",
195
+ "feature_name": "用户登录",
196
+ "severity": "high",
197
+ "description": "点击登录按钮后控制台报TypeError",
198
+ "category": "javascript_error",
199
+ "evidence": {
200
+ "console_errors": ["TypeError: Cannot read property 'token' of undefined"],
201
+ "screenshot": "evidence/F-001-login-after.png",
202
+ "network_failures": []
203
+ },
204
+ "reproduction_steps": ["导航到/login", "填写用户名admin", "填写密码test", "点击登录按钮"]
205
+ }
206
+ ]
207
+ }
208
+ ```
209
+
210
+ Send state_update:
211
+ ```json
212
+ {
213
+ "status": "task_complete",
214
+ "task_id": "TEST-001",
215
+ "ref": "<session>/artifacts/TEST-001-report.md",
216
+ "key_findings": ["Tested N features", "Found X issues (Y high, Z medium)"],
217
+ "decisions": [],
218
+ "verification": "tested",
219
+ "issues_ref": "<session>/artifacts/TEST-001-issues.json"
220
+ }
221
+ ```
222
+
223
+ ## Error Handling
224
+
225
+ | Scenario | Resolution |
226
+ |----------|------------|
227
+ | Feature URL not accessible | Log as failed, continue to next feature |
228
+ | Element not found for action | Take snapshot, search alternatives, skip scenario if not found |
229
+ | Page crash during test | Capture console, reload, continue next scenario |
230
+ | All features pass | Report success, no downstream ANALYZE needed |
231
+ | Timeout during interaction | Capture current state, mark as warning, continue |