@seanyao/roll 3.620.1 → 3.624.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/dist/roll.mjs +4563 -3369
- package/package.json +1 -1
- package/lib/__pycache__/changelog_audit.cpython-314.pyc +0 -0
- package/lib/__pycache__/github_sync.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop-fmt.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop_result_eval.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop_unstick.cpython-314.pyc +0 -0
- package/lib/__pycache__/model_prices.cpython-314.pyc +0 -0
- package/lib/__pycache__/prices_fetcher.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-home.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-loop-status.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll_git.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll_render.cpython-314.pyc +0 -0
- package/lib/__pycache__/slides-render.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/__init__.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/gemini.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/kimi.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/openai.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/pi.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/pi_emit.cpython-314.pyc +0 -0
- package/lib/agent_usage/__pycache__/qwen.cpython-314.pyc +0 -0
- package/skills/README.md +0 -64
- package/skills/docs/skill-authoring.md +0 -74
- package/skills/reports/skill-audit-summary.md +0 -53
- package/skills/roll-.changelog/SKILL.md +0 -47
- package/skills/roll-.changelog/references/full-contract.md +0 -462
- package/skills/roll-.clarify/SKILL.md +0 -64
- package/skills/roll-.dream/SKILL.md +0 -47
- package/skills/roll-.dream/references/full-contract.md +0 -365
- package/skills/roll-.echo/SKILL.md +0 -118
- package/skills/roll-.qa/SKILL.md +0 -47
- package/skills/roll-.qa/references/full-contract.md +0 -256
- package/skills/roll-.review/SKILL.md +0 -148
- package/skills/roll-build/SKILL.md +0 -49
- package/skills/roll-build/references/full-contract.md +0 -968
- package/skills/roll-debug/SKILL.md +0 -48
- package/skills/roll-debug/assets/injectable-bb.js +0 -263
- package/skills/roll-debug/references/full-contract.md +0 -607
- package/skills/roll-design/SKILL.md +0 -52
- package/skills/roll-design/references/engineering-checklist.md +0 -298
- package/skills/roll-design/references/full-contract.md +0 -940
- package/skills/roll-doc-audit/SKILL.md +0 -51
- package/skills/roll-doc-audit/references/full-contract.md +0 -796
- package/skills/roll-doctor/SKILL.md +0 -211
- package/skills/roll-fix/SKILL.md +0 -49
- package/skills/roll-fix/references/full-contract.md +0 -672
- package/skills/roll-idea/SKILL.md +0 -62
- package/skills/roll-loop/SKILL.md +0 -50
- package/skills/roll-loop/references/full-contract.md +0 -534
- package/skills/roll-notes/SKILL.md +0 -107
- package/skills/roll-onboard/SKILL.md +0 -238
- package/skills/roll-peer/SKILL.md +0 -47
- package/skills/roll-peer/references/full-contract.md +0 -323
- package/skills/roll-propose/SKILL.md +0 -155
- package/skills/roll-review-pr/SKILL.md +0 -62
- package/skills/roll-spar/SKILL.md +0 -47
- package/skills/roll-spar/references/full-contract.md +0 -288
- package/skills/route-cases/skills.json +0 -216
- package/skills/scripts/audit-skills.mjs +0 -272
- package/skills/scripts/test-audit-skills.mjs +0 -39
- package/skills/tests/fixtures/skill-audit/block-skill/SKILL.md +0 -12
- package/skills/tests/fixtures/skill-audit/minimal-skill/SKILL.md +0 -8
- package/skills/tests/fixtures/skill-audit/quoted-skill/SKILL.md +0 -10
- package/skills/tests/fixtures/skill-audit/route-cases.json +0 -21
- package/skills/tests/fixtures/skill-audit/spoke-skill/SKILL.md +0 -12
- package/skills/tests/fixtures/skill-audit/spoke-skill/references/runbook.md +0 -3
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
# Full Contract Reference
|
|
2
|
-
|
|
3
|
-
This file preserves the detailed contract extracted from SKILL.md. Read it when the hub points here for exact workflow steps, templates, rubrics, or recovery branches.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Spar
|
|
8
|
-
|
|
9
|
-
Adversarial TDD: two agents collaborate in attack-and-defend mode to build a more robust system.
|
|
10
|
-
|
|
11
|
-
## When to Use
|
|
12
|
-
|
|
13
|
-
**Manual trigger:**
|
|
14
|
-
- User explicitly requests `$roll-spar`
|
|
15
|
-
- Involves core business logic requiring higher quality assurance
|
|
16
|
-
|
|
17
|
-
**Auto trigger (agent judgment):** Recommend enabling when any of these conditions are met
|
|
18
|
-
- Involves authentication / authorization / security
|
|
19
|
-
- Involves money / payments / billing
|
|
20
|
-
- Involves data integrity (writes are irreversible)
|
|
21
|
-
- Complex state machines / concurrency logic
|
|
22
|
-
- Module has had previous bugs (BACKLOG has related FIX records)
|
|
23
|
-
|
|
24
|
-
**Do not use for:**
|
|
25
|
-
- UI styling adjustments, copy changes
|
|
26
|
-
- Simple CRUD
|
|
27
|
-
- Configuration changes
|
|
28
|
-
- Small tasks not worth the overhead of two-agent collaboration
|
|
29
|
-
|
|
30
|
-
## Roles
|
|
31
|
-
|
|
32
|
-
### Attacker (Red Agent)
|
|
33
|
-
|
|
34
|
-
**Goal: Find weaknesses in the code and write tests that break the system.**
|
|
35
|
-
|
|
36
|
-
- Think about boundary conditions, invalid inputs, concurrency scenarios, state inconsistencies
|
|
37
|
-
- Write the trickiest test cases possible
|
|
38
|
-
- Don't care about implementation difficulty — only care about "can the system handle this scenario"
|
|
39
|
-
- Write at least 1 RED test per round, can write multiple
|
|
40
|
-
|
|
41
|
-
### Defender (Green Agent)
|
|
42
|
-
|
|
43
|
-
**Goal: Make all tests pass with the simplest, most robust code possible.**
|
|
44
|
-
|
|
45
|
-
- Cannot modify tests written by the Attacker (unless the test itself has a bug)
|
|
46
|
-
- Aim for minimal implementation, avoid over-engineering
|
|
47
|
-
- Make all tests GREEN each round, then commit
|
|
48
|
-
- May refactor, but must stay GREEN
|
|
49
|
-
|
|
50
|
-
## Workflow
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
User: "$roll-spar implement transfer logic" or agent auto-triggers
|
|
54
|
-
│
|
|
55
|
-
▼
|
|
56
|
-
┌─────────────────────────────────────┐
|
|
57
|
-
│ 0. Setup │
|
|
58
|
-
│ - Define feature scope and AC │
|
|
59
|
-
│ - Create test file skeleton │
|
|
60
|
-
│ - Context brief for Attacker │
|
|
61
|
-
│ and Defender │
|
|
62
|
-
└─────────────┬───────────────────────┘
|
|
63
|
-
│
|
|
64
|
-
▼
|
|
65
|
-
┌─────────────────────────────────────┐
|
|
66
|
-
│ Spar Loop (repeat until converged) │
|
|
67
|
-
│ │
|
|
68
|
-
│ ┌───────────────────────────────┐ │
|
|
69
|
-
│ │ 🔴 Attacker Turn │ │
|
|
70
|
-
│ │ - Analyze current code/API │ │
|
|
71
|
-
│ │ - Write 1+ RED tests │ │
|
|
72
|
-
│ │ - State attack intent: │ │
|
|
73
|
-
│ │ "Test balance consistency│ │
|
|
74
|
-
│ │ during concurrent │ │
|
|
75
|
-
│ │ transfers" │ │
|
|
76
|
-
│ └──────────────┬────────────────┘ │
|
|
77
|
-
│ │ │
|
|
78
|
-
│ ▼ │
|
|
79
|
-
│ ┌───────────────────────────────┐ │
|
|
80
|
-
│ │ 🟢 Defender Turn │ │
|
|
81
|
-
│ │ - Read Attacker's tests │ │
|
|
82
|
-
│ │ - Write minimal code to │ │
|
|
83
|
-
│ │ make tests pass │ │
|
|
84
|
-
│ │ - Run all tests → GREEN │ │
|
|
85
|
-
│ │ - git commit │ │
|
|
86
|
-
│ └──────────────┬────────────────┘ │
|
|
87
|
-
│ │ │
|
|
88
|
-
│ ▼ │
|
|
89
|
-
│ ┌───────────────────────────────┐ │
|
|
90
|
-
│ │ 🔴 Attacker Turn (again) │ │
|
|
91
|
-
│ │ - Review Defender's impl │ │
|
|
92
|
-
│ │ - Find new weaknesses, │ │
|
|
93
|
-
│ │ write new RED tests │ │
|
|
94
|
-
│ │ - Or: "No new weaknesses │ │
|
|
95
|
-
│ │ found" │ │
|
|
96
|
-
│ └──────────────┬────────────────┘ │
|
|
97
|
-
│ │ │
|
|
98
|
-
│ ┌────────┴────────┐ │
|
|
99
|
-
│ │ │ │
|
|
100
|
-
│ Has new tests No new tests │
|
|
101
|
-
│ → Continue loop → Exit Spar │
|
|
102
|
-
│ │
|
|
103
|
-
└─────────────────────────────────────┘
|
|
104
|
-
│
|
|
105
|
-
▼
|
|
106
|
-
┌─────────────────────────────────────┐
|
|
107
|
-
│ Wrap-up │
|
|
108
|
-
│ - Attacker summarizes attack │
|
|
109
|
-
│ coverage │
|
|
110
|
-
│ - Defender summarizes defense │
|
|
111
|
-
│ strategy │
|
|
112
|
-
│ - Merged report │
|
|
113
|
-
│ - Continue normal roll-build │
|
|
114
|
-
│ flow │
|
|
115
|
-
│ (push → CI → deploy → verify) │
|
|
116
|
-
└─────────────────────────────────────┘
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Spar Convergence Conditions
|
|
120
|
-
|
|
121
|
-
Attacker declares completion when any of these are met:
|
|
122
|
-
- Cannot write a new RED test for 2 consecutive rounds
|
|
123
|
-
- Already covered: happy path + boundary values + invalid inputs + concurrency/race conditions + state consistency
|
|
124
|
-
- Reached the agreed maximum number of rounds (default: 5 rounds)
|
|
125
|
-
|
|
126
|
-
## Agent Context Brief
|
|
127
|
-
|
|
128
|
-
### Attacker Brief Template
|
|
129
|
-
|
|
130
|
-
```markdown
|
|
131
|
-
## Role: Attacker (Red Agent)
|
|
132
|
-
|
|
133
|
-
Your goal is to find weaknesses in this code.
|
|
134
|
-
|
|
135
|
-
### Feature Description
|
|
136
|
-
{Feature AC and interface definition}
|
|
137
|
-
|
|
138
|
-
### Current Implementation
|
|
139
|
-
{Defender's latest code, or "not yet implemented"}
|
|
140
|
-
|
|
141
|
-
### Existing Tests
|
|
142
|
-
{Currently existing test cases}
|
|
143
|
-
|
|
144
|
-
### Your Task
|
|
145
|
-
Write 1+ new test cases that make the current implementation fail (RED).
|
|
146
|
-
Directions to explore:
|
|
147
|
-
- Boundary values (0, -1, MAX_INT, empty string, null)
|
|
148
|
-
- Exception flows (network disconnect, timeout, duplicate requests)
|
|
149
|
-
- Concurrency (two requests arriving simultaneously)
|
|
150
|
-
- State consistency (is system state clean after mid-process failure)
|
|
151
|
-
|
|
152
|
-
### Output Format
|
|
153
|
-
For each test, state the attack intent:
|
|
154
|
-
"Attack: {scenario description} — expected system behavior: {expected behavior}"
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Defender Brief Template
|
|
158
|
-
|
|
159
|
-
```markdown
|
|
160
|
-
## Role: Defender (Green Agent)
|
|
161
|
-
|
|
162
|
-
Your goal is to make all tests pass with the simplest implementation.
|
|
163
|
-
|
|
164
|
-
### Feature Description
|
|
165
|
-
{Feature AC and interface definition}
|
|
166
|
-
|
|
167
|
-
### Current Code
|
|
168
|
-
{Your previously written code, or empty}
|
|
169
|
-
|
|
170
|
-
### New RED Tests
|
|
171
|
-
{Tests written by the Attacker this round}
|
|
172
|
-
|
|
173
|
-
### Your Task
|
|
174
|
-
Modify/add code to make all tests (including previous ones) pass.
|
|
175
|
-
Rules:
|
|
176
|
-
- Cannot modify tests written by the Attacker
|
|
177
|
-
- Aim for minimal changes
|
|
178
|
-
- Keep the code clear
|
|
179
|
-
- Commit after all tests are GREEN
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
## Status Report
|
|
183
|
-
|
|
184
|
-
Report to the user after each round:
|
|
185
|
-
|
|
186
|
-
```
|
|
187
|
-
⚔️ Spar Round {N}
|
|
188
|
-
|
|
189
|
-
🔴 Attacker:
|
|
190
|
-
Attack: {scenario 1} — {result}
|
|
191
|
-
Attack: {scenario 2} — {result}
|
|
192
|
-
|
|
193
|
-
🟢 Defender:
|
|
194
|
-
Defense strategy: {brief description of how it was defended}
|
|
195
|
-
Test status: {passed}/{total} ✅
|
|
196
|
-
|
|
197
|
-
📊 Cumulative: {total tests} tests, {total rounds} rounds
|
|
198
|
-
🔄 Next round: Attacker continues looking for weaknesses...
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
## Hard Rules
|
|
202
|
-
|
|
203
|
-
1. **Attacker does not write implementation code** — only writes tests and attack analysis
|
|
204
|
-
2. **Defender does not modify tests** — unless the test itself has a bug (must explain the reason)
|
|
205
|
-
3. **Must commit each round** — Defender commits immediately after making tests GREEN, keeping the repo clean
|
|
206
|
-
4. **Attack intent must be explained** — cannot just write tests without explaining "why this scenario matters"
|
|
207
|
-
5. **Maximum round limit** — default 5 rounds, prevents infinite loops
|
|
208
|
-
|
|
209
|
-
## Integration with roll-build
|
|
210
|
-
|
|
211
|
-
Spar replaces steps 4-5 in roll-build (Test Design + TCR Implementation):
|
|
212
|
-
|
|
213
|
-
```
|
|
214
|
-
roll-build normal flow:
|
|
215
|
-
1. Clarify Story
|
|
216
|
-
2. Split Actions
|
|
217
|
-
3. Define verification
|
|
218
|
-
──────────────────────
|
|
219
|
-
4. Test Design Review ← Spar replaces this step
|
|
220
|
-
5. TCR Implementation ← and this step
|
|
221
|
-
──────────────────────
|
|
222
|
-
6. Local CI check ← Back to normal flow
|
|
223
|
-
7. Quality Review
|
|
224
|
-
...
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
**Auto-switching from roll-build to Spar:**
|
|
228
|
-
|
|
229
|
-
When the agent assesses an Action as high-risk at step 3:
|
|
230
|
-
```
|
|
231
|
-
⚔️ High-risk Action detected: {description}
|
|
232
|
-
Risk factors: {auth/payment/data integrity/...}
|
|
233
|
-
Recommend enabling Spar mode — confirm? [Y/n]
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
After user confirms, enter Spar. Once complete, return to roll-build step 6 to continue.
|
|
237
|
-
|
|
238
|
-
## Example
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
User: "$roll-spar implement user balance transfer"
|
|
242
|
-
|
|
243
|
-
⚔️ Spar: User Balance Transfer
|
|
244
|
-
|
|
245
|
-
── Round 1 ──
|
|
246
|
-
|
|
247
|
-
🔴 Attacker:
|
|
248
|
-
Attack 1: Transfer amount is 0 — should reject
|
|
249
|
-
Attack 2: Transfer amount is negative — should reject
|
|
250
|
-
Attack 3: Transfer amount exceeds balance — should reject and keep balance unchanged
|
|
251
|
-
|
|
252
|
-
🟢 Defender:
|
|
253
|
-
Implementation: transfer(from, to, amount) basic validation
|
|
254
|
-
Tests: 3/3 ✅
|
|
255
|
-
commit: "tcr: transfer basic validation"
|
|
256
|
-
|
|
257
|
-
── Round 2 ──
|
|
258
|
-
|
|
259
|
-
🔴 Attacker:
|
|
260
|
-
Attack 4: Transfer to self — should reject
|
|
261
|
-
Attack 5: Two concurrent transfers whose total exceeds balance — only one should succeed
|
|
262
|
-
|
|
263
|
-
🟢 Defender:
|
|
264
|
-
Implementation: add self-transfer check + optimistic lock
|
|
265
|
-
Tests: 5/5 ✅
|
|
266
|
-
commit: "tcr: transfer self-check and concurrency lock"
|
|
267
|
-
|
|
268
|
-
── Round 3 ──
|
|
269
|
-
|
|
270
|
-
🔴 Attacker:
|
|
271
|
-
Attack 6: Database error mid-transfer — both balances should remain unchanged (atomicity)
|
|
272
|
-
Attack 7: Recipient account does not exist — should reject and keep sender's balance
|
|
273
|
-
|
|
274
|
-
🟢 Defender:
|
|
275
|
-
Implementation: database transaction wrapper + recipient existence check
|
|
276
|
-
Tests: 7/7 ✅
|
|
277
|
-
commit: "tcr: transfer atomicity and recipient validation"
|
|
278
|
-
|
|
279
|
-
── Round 4 ──
|
|
280
|
-
|
|
281
|
-
🔴 Attacker:
|
|
282
|
-
No new weaknesses found. Covered: input validation, self-transfer, concurrency, atomicity, related accounts.
|
|
283
|
-
|
|
284
|
-
⚔️ Spar Complete!
|
|
285
|
-
📊 4 rounds, 7 tests, 3 commits
|
|
286
|
-
🔴 Attack coverage: input boundaries + business rules + concurrency + atomicity
|
|
287
|
-
🟢 Defense strategy: upfront validation + optimistic lock + transactions
|
|
288
|
-
```
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 1,
|
|
3
|
-
"skills": {
|
|
4
|
-
"roll-.changelog": {
|
|
5
|
-
"positive": [
|
|
6
|
-
"build finished, generate CHANGELOG.md from Done backlog stories",
|
|
7
|
-
"after deploy, sync user-facing changelog with acceptance evidence"
|
|
8
|
-
],
|
|
9
|
-
"negative": [
|
|
10
|
-
"design new stories for a feature backlog",
|
|
11
|
-
"fix a failing unit test through TCR"
|
|
12
|
-
]
|
|
13
|
-
},
|
|
14
|
-
"roll-.clarify": {
|
|
15
|
-
"positive": [
|
|
16
|
-
"the fly-mode build request is vague and needs scope questions",
|
|
17
|
-
"the user asked for a feature but boundaries are underspecified"
|
|
18
|
-
],
|
|
19
|
-
"negative": [
|
|
20
|
-
"the user supplied a concrete US-XXX story id",
|
|
21
|
-
"the user only wants intent restated, not scope questions"
|
|
22
|
-
]
|
|
23
|
-
},
|
|
24
|
-
"roll-.dream": {
|
|
25
|
-
"positive": [
|
|
26
|
-
"run the nightly architecture health scan",
|
|
27
|
-
"look for dead code, doc staleness, and refactor candidates"
|
|
28
|
-
],
|
|
29
|
-
"negative": [
|
|
30
|
-
"sample production behavior from deployed endpoints",
|
|
31
|
-
"generate CHANGELOG.md after a release"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
"roll-.echo": {
|
|
35
|
-
"positive": [
|
|
36
|
-
"the user message is contradictory and needs restatement",
|
|
37
|
-
"confirm a rambling request before any implementation"
|
|
38
|
-
],
|
|
39
|
-
"negative": [
|
|
40
|
-
"ask detailed feature scope questions for roll-build fly mode",
|
|
41
|
-
"execute a clearly named US-XXX story"
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
"roll-.qa": {
|
|
45
|
-
"positive": [
|
|
46
|
-
"choose the right test pyramid coverage for a story",
|
|
47
|
-
"decide whether visual, E2E, smoke, or unit tests are required"
|
|
48
|
-
],
|
|
49
|
-
"negative": [
|
|
50
|
-
"perform code review findings after TCR",
|
|
51
|
-
"write a product proposal for backlog candidates"
|
|
52
|
-
]
|
|
53
|
-
},
|
|
54
|
-
"roll-.review": {
|
|
55
|
-
"positive": [
|
|
56
|
-
"self-review code before committing a TCR micro-step",
|
|
57
|
-
"inspect a local diff for bugs, regressions, and security issues"
|
|
58
|
-
],
|
|
59
|
-
"negative": [
|
|
60
|
-
"review a GitHub pull request from another branch",
|
|
61
|
-
"ask another agent for peer negotiation"
|
|
62
|
-
]
|
|
63
|
-
},
|
|
64
|
-
"roll-build": {
|
|
65
|
-
"positive": [
|
|
66
|
-
"execute US-AUTH-001 through TCR and verification",
|
|
67
|
-
"turn this feature request into clarified design, implementation, tests, and backlog write-back"
|
|
68
|
-
],
|
|
69
|
-
"negative": [
|
|
70
|
-
"only discuss architecture options and split backlog stories",
|
|
71
|
-
"fix FIX-123 as a narrow bug repair"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
|
-
"roll-debug": {
|
|
75
|
-
"positive": [
|
|
76
|
-
"mount a browser black-box probe on localhost to diagnose a broken page",
|
|
77
|
-
"collect console, network, DOM, and runtime state before fixing a web bug"
|
|
78
|
-
],
|
|
79
|
-
"negative": [
|
|
80
|
-
"run a nightly code architecture scan",
|
|
81
|
-
"review a pull request diff"
|
|
82
|
-
]
|
|
83
|
-
},
|
|
84
|
-
"roll-deck": {
|
|
85
|
-
"positive": [
|
|
86
|
-
"generate an 18-slide bilingual deck.md for this product topic",
|
|
87
|
-
"create slides from README, backlog, and evidence"
|
|
88
|
-
],
|
|
89
|
-
"negative": [
|
|
90
|
-
"update project documentation index",
|
|
91
|
-
"write a daily owner brief"
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
"roll-design": {
|
|
95
|
-
"positive": [
|
|
96
|
-
"discuss options and split this feature into INVEST stories",
|
|
97
|
-
"model the domain and write backlog/spec artifacts without coding"
|
|
98
|
-
],
|
|
99
|
-
"negative": [
|
|
100
|
-
"execute an existing US-XXX story through TCR",
|
|
101
|
-
"hotfix a specific BUG-XXX item"
|
|
102
|
-
]
|
|
103
|
-
},
|
|
104
|
-
"roll-doc-audit": {
|
|
105
|
-
"positive": [
|
|
106
|
-
"check README guide site and CLI help against implemented behavior",
|
|
107
|
-
"scan docs and generate docs/INDEX.md",
|
|
108
|
-
"find undocumented modules and draft missing documentation"
|
|
109
|
-
],
|
|
110
|
-
"negative": [
|
|
111
|
-
"generate a bilingual presentation deck",
|
|
112
|
-
"diagnose Roll installation health"
|
|
113
|
-
]
|
|
114
|
-
},
|
|
115
|
-
"roll-doctor": {
|
|
116
|
-
"positive": [
|
|
117
|
-
"diagnose Roll toolchain health and config validity",
|
|
118
|
-
"check skill files, templates, symlinks, and conventions sync"
|
|
119
|
-
],
|
|
120
|
-
"negative": [
|
|
121
|
-
"repair a failing feature test",
|
|
122
|
-
"run production patrol sampling"
|
|
123
|
-
]
|
|
124
|
-
},
|
|
125
|
-
"roll-fix": {
|
|
126
|
-
"positive": [
|
|
127
|
-
"fix FIX-123 through the lightweight TCR flow",
|
|
128
|
-
"repair this narrow bug with a regression test and backlog write-back"
|
|
129
|
-
],
|
|
130
|
-
"negative": [
|
|
131
|
-
"design a new feature from vague product input",
|
|
132
|
-
"execute a broad US-XXX feature story"
|
|
133
|
-
]
|
|
134
|
-
},
|
|
135
|
-
"roll-idea": {
|
|
136
|
-
"positive": [
|
|
137
|
-
"capture this short idea into backlog with an auto id",
|
|
138
|
-
"classify a one-line bug or idea note quickly"
|
|
139
|
-
],
|
|
140
|
-
"negative": [
|
|
141
|
-
"turn an idea into full DDD stories",
|
|
142
|
-
"write owner briefing since last release"
|
|
143
|
-
]
|
|
144
|
-
},
|
|
145
|
-
"roll-loop": {
|
|
146
|
-
"positive": [
|
|
147
|
-
"operate the autonomous backlog executor loop",
|
|
148
|
-
"scan Todo stories and dispatch US/FIX/REFACTOR work"
|
|
149
|
-
],
|
|
150
|
-
"negative": [
|
|
151
|
-
"do a one-time nightly architecture scan",
|
|
152
|
-
"write a human product proposal"
|
|
153
|
-
]
|
|
154
|
-
},
|
|
155
|
-
"roll-notes": {
|
|
156
|
-
"positive": [
|
|
157
|
-
"record this development discovery in today's project diary",
|
|
158
|
-
"append a success, failure, or decision to Roll notes"
|
|
159
|
-
],
|
|
160
|
-
"negative": [
|
|
161
|
-
"generate user-facing changelog entries",
|
|
162
|
-
"create a backlog story from a product idea"
|
|
163
|
-
]
|
|
164
|
-
},
|
|
165
|
-
"roll-onboard": {
|
|
166
|
-
"positive": [
|
|
167
|
-
"onboard this legacy project into Roll with interactive questions",
|
|
168
|
-
"produce .roll/onboard-plan.yaml for roll init --apply"
|
|
169
|
-
],
|
|
170
|
-
"negative": [
|
|
171
|
-
"run setup after the project is already onboarded",
|
|
172
|
-
"audit existing skill routing quality"
|
|
173
|
-
]
|
|
174
|
-
},
|
|
175
|
-
"roll-peer": {
|
|
176
|
-
"positive": [
|
|
177
|
-
"the user explicitly says /peer for this design decision",
|
|
178
|
-
"ask another agent to negotiate a high-risk ambiguous plan"
|
|
179
|
-
],
|
|
180
|
-
"negative": [
|
|
181
|
-
"perform local self-review before commit",
|
|
182
|
-
"review a pull request without cross-agent negotiation"
|
|
183
|
-
]
|
|
184
|
-
},
|
|
185
|
-
"roll-propose": {
|
|
186
|
-
"positive": [
|
|
187
|
-
"generate product proposal drafts from current project context",
|
|
188
|
-
"write 1-3 candidate user stories into .roll/proposals.md"
|
|
189
|
-
],
|
|
190
|
-
"negative": [
|
|
191
|
-
"append a confirmed story directly to backlog",
|
|
192
|
-
"execute a Todo story through TCR"
|
|
193
|
-
]
|
|
194
|
-
},
|
|
195
|
-
"roll-review-pr": {
|
|
196
|
-
"positive": [
|
|
197
|
-
"review this PR diff and emit APPROVE or REQUEST_CHANGES",
|
|
198
|
-
"inspect pull request changes with file and line grounded findings"
|
|
199
|
-
],
|
|
200
|
-
"negative": [
|
|
201
|
-
"self-review a local TCR micro-step",
|
|
202
|
-
"run attacker and defender agents for high-risk logic"
|
|
203
|
-
]
|
|
204
|
-
},
|
|
205
|
-
"roll-spar": {
|
|
206
|
-
"positive": [
|
|
207
|
-
"use adversarial TDD for auth or payment logic",
|
|
208
|
-
"spawn attacker tests and defender implementation for complex state logic"
|
|
209
|
-
],
|
|
210
|
-
"negative": [
|
|
211
|
-
"ask for ordinary peer review of a plan",
|
|
212
|
-
"perform routine QA coverage selection"
|
|
213
|
-
]
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|