forge-orkes 0.3.11 → 0.3.13
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/package.json +1 -1
- package/template/.claude/agents/executor.md +44 -95
- package/template/.claude/agents/planner.md +46 -75
- package/template/.claude/agents/researcher.md +34 -70
- package/template/.claude/agents/reviewer.md +54 -117
- package/template/.claude/agents/verifier.md +51 -102
- package/template/.claude/skills/discussing/SKILL.md +69 -121
- package/template/.claude/skills/forge/SKILL.md +129 -129
- package/template/.claude/skills/initializing/SKILL.md +72 -174
- package/template/.claude/skills/planning/SKILL.md +92 -118
- package/template/.claude/skills/reviewing/SKILL.md +82 -177
- package/template/.forge/templates/constitution.md +10 -0
- package/template/.forge/templates/project.yml +17 -0
- package/template/CLAUDE.md +105 -115
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: discussing
|
|
3
|
-
description: "Talk through approach, trade-offs, or concerns before committing
|
|
3
|
+
description: "Talk through approach, trade-offs, or concerns before committing. Between researching/planning, or revisits plans on demand. Decisions only — no plans, no code."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Discussing
|
|
7
7
|
|
|
8
|
-
Structured conversation
|
|
8
|
+
Structured conversation: approach, trade-offs, decisions. Clarity, not artifacts.
|
|
9
9
|
|
|
10
10
|
## When to Invoke
|
|
11
11
|
|
|
12
12
|
| Trigger | Context |
|
|
13
13
|
|---------|---------|
|
|
14
|
-
| Pre-planning | After `researching`, before `planning`. Research
|
|
15
|
-
| Post-planning |
|
|
16
|
-
| Mid-workflow | User
|
|
14
|
+
| Pre-planning | After `researching`, before `planning`. Research available -- decide what to do. |
|
|
15
|
+
| Post-planning | "Discuss Phase 2" or "rethink auth." Plan exists, user revisits. |
|
|
16
|
+
| Mid-workflow | User uncertain -- "wait," "alternatives?" Available from any skill. |
|
|
17
17
|
|
|
18
18
|
## Boundaries
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
- Only output:
|
|
20
|
+
- No plans, code, or `.forge/` writes
|
|
21
|
+
- No phase/plan required
|
|
22
|
+
- Only output: conversation + decision summary next skill honors
|
|
23
23
|
|
|
24
24
|
## Pre-Planning Discussion
|
|
25
25
|
|
|
26
26
|
### Step 0: Load Context
|
|
27
27
|
|
|
28
|
-
If
|
|
28
|
+
If fresh (after `/clear`):
|
|
29
29
|
|
|
30
30
|
```
|
|
31
31
|
Read: .forge/state/milestone-{id}.yml → current position, progress
|
|
@@ -34,27 +34,17 @@ Read: .forge/context.md → existing locked decisions (if exists)
|
|
|
34
34
|
Read: .forge/constitution.md → active gates (if exists)
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
Check
|
|
37
|
+
Check `.forge/phases/` for research. If inline-only: *"Summarize findings, or re-scan?"*
|
|
38
38
|
|
|
39
39
|
### Step 1: Present Decisions with AskUserQuestion
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
Structure around decisions, not data dump. **`AskUserQuestion` per decision**, batch up to 4.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Per decision: brief intro (2-3 sentences), then `AskUserQuestion` with `question` (ending `?`), `header` (short label), `options` (2-4, rec first + "(Recommended)", each with trade-off `description`), `multiSelect` (false if exclusive).
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
1. Write a brief prose intro (2-3 sentences max) setting context.
|
|
47
|
-
2. Call `AskUserQuestion` with:
|
|
48
|
-
- `question`: The decision stated plainly, ending with `?`
|
|
49
|
-
- `header`: Short label (e.g., "Strategy", "Scope")
|
|
50
|
-
- `options`: 2-4 approaches. Each gets a `label` (1-5 words, recommendation first with "(Recommended)" suffix) and `description` (trade-offs — gains and costs).
|
|
51
|
-
- `multiSelect`: false for mutually exclusive, true when combinations are valid.
|
|
45
|
+
Batch related into 1-2 calls. Skip for open-ended -- discrete choices only.
|
|
52
46
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
**Skip AskUserQuestion for open-ended exploration** (e.g., "Walk me through the ideal user flow"). The tool is for decisions with discrete choices.
|
|
56
|
-
|
|
57
|
-
Example structure:
|
|
47
|
+
Example:
|
|
58
48
|
|
|
59
49
|
```
|
|
60
50
|
Brief context paragraph from research.
|
|
@@ -68,21 +58,21 @@ Brief context paragraph from research.
|
|
|
68
58
|
- "Migration + constraints" / "Let sweep handle it" / ...
|
|
69
59
|
```
|
|
70
60
|
|
|
71
|
-
Surface
|
|
61
|
+
Surface 3-5 decisions that matter.
|
|
72
62
|
|
|
73
63
|
### Step 2: Facilitate, Don't Dictate
|
|
74
64
|
|
|
75
|
-
|
|
65
|
+
Help user think deeper, don't push preference. `AskUserQuestion` for decisions; prose for open-ended.
|
|
76
66
|
|
|
77
67
|
| Good | Bad |
|
|
78
68
|
|------|-----|
|
|
79
|
-
| Name
|
|
80
|
-
| Reference earlier decisions to refine later
|
|
81
|
-
|
|
|
69
|
+
| Name tension, offer AskUserQuestion options | Options as prose paragraphs |
|
|
70
|
+
| Reference earlier decisions to refine later | "What do you think?" without reaction material |
|
|
71
|
+
| `description` names costs | Edge cases before main path clear |
|
|
82
72
|
|
|
83
|
-
### Step 3: Probe
|
|
73
|
+
### Step 3: Probe Hidden Constraints
|
|
84
74
|
|
|
85
|
-
|
|
75
|
+
Uncover unstated knowledge. `AskUserQuestion` for structured probes:
|
|
86
76
|
|
|
87
77
|
```
|
|
88
78
|
AskUserQuestion:
|
|
@@ -97,17 +87,11 @@ AskUserQuestion:
|
|
|
97
87
|
description: "Do it right, scope is flexible"
|
|
98
88
|
```
|
|
99
89
|
|
|
100
|
-
|
|
101
|
-
- *"Tried something similar before? What went wrong?"*
|
|
102
|
-
- *"Anything you definitely want or don't want?"*
|
|
103
|
-
|
|
104
|
-
One or two questions at a time.
|
|
90
|
+
Open-ended via prose: *"Tried before?" / "Must-haves or must-nots?"* 1-2 at a time.
|
|
105
91
|
|
|
106
92
|
### Step 4: Functionality Distillation
|
|
107
93
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
**Five question layers per feature/requirement:**
|
|
94
|
+
Per feature, force behavioral clarity. Surface assumptions + edge cases. **Five layers:**
|
|
111
95
|
|
|
112
96
|
| Layer | Focus | When to use |
|
|
113
97
|
|-------|-------|-------------|
|
|
@@ -117,35 +101,15 @@ Walk through each major feature and ask targeted questions that force clarity ab
|
|
|
117
101
|
| 4. Interactions & Side Effects | Cascading updates, notifications, undo, related features | Features with shared state or dependencies |
|
|
118
102
|
| 5. Evolution | v1 vs. final shape, scope cuts, likely future changes | Uncertain scope |
|
|
119
103
|
|
|
120
|
-
**
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
**Layer 2 — Boundaries:**
|
|
126
|
-
- *"Who can do this?"*
|
|
127
|
-
- *"Any limits — how many, how often, how large?"*
|
|
128
|
-
- *"What triggers it — user action, schedule, or reaction?"*
|
|
129
|
-
|
|
130
|
-
**Layer 3 — Failures:**
|
|
131
|
-
- *"What if the input is invalid / service is down / user cancels halfway?"*
|
|
132
|
-
- *"Retry, fail gracefully, or alert?"*
|
|
133
|
-
- *"What if two users do this simultaneously?"*
|
|
134
|
-
|
|
135
|
-
**Layer 4 — Side Effects:**
|
|
136
|
-
- *"Does anything else need to update?"*
|
|
137
|
-
- *"Should others be notified? How?"*
|
|
138
|
-
- *"Can this be undone?"*
|
|
104
|
+
**L1:** *"See first?" / "Sequence?" / "Confirms success?"*
|
|
105
|
+
**L2:** *"Who can?" / "Limits?" / "Trigger type?"*
|
|
106
|
+
**L3:** *"Invalid/down/cancel?" / "Retry/fail/alert?" / "Concurrent?"*
|
|
107
|
+
**L4:** *"Else updates?" / "Notify?" / "Undo?"*
|
|
108
|
+
**L5:** *"v1 or final?" / "Essential vs nice-to-have?"*
|
|
139
109
|
|
|
140
|
-
|
|
141
|
-
- *"v1 that expands later, or final shape?"*
|
|
142
|
-
- *"If you cut scope, what's essential vs. nice-to-have?"*
|
|
110
|
+
Not all 5 mechanically. 2-3 questions, deeper on uncertainty. `AskUserQuestion` for discrete; prose to explain.
|
|
143
111
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
Use `AskUserQuestion` for behavior decisions with discrete answers. Use prose when you need the user to describe or explain.
|
|
147
|
-
|
|
148
|
-
Example — Layer 3 as AskUserQuestion:
|
|
112
|
+
Example -- L3:
|
|
149
113
|
```
|
|
150
114
|
question: "When the enrichment API is down, what should the system do?"
|
|
151
115
|
header: "Failure mode"
|
|
@@ -159,19 +123,14 @@ options:
|
|
|
159
123
|
```
|
|
160
124
|
|
|
161
125
|
**Listen for:**
|
|
162
|
-
- **Contradictions**
|
|
163
|
-
- **Vague
|
|
164
|
-
- **Assumed knowledge**
|
|
165
|
-
- **Energy shifts**
|
|
166
|
-
|
|
167
|
-
### Step 5: Converge on Decisions
|
|
126
|
+
- **Contradictions** -- "Simple" + "12 states." Surface.
|
|
127
|
+
- **Vague** -- "Just work." Push for example.
|
|
128
|
+
- **Assumed knowledge** -- "Like Stripe." Confirm specifics.
|
|
129
|
+
- **Energy shifts** -- Excitement/boredom = signal.
|
|
168
130
|
|
|
169
|
-
|
|
131
|
+
### Step 5: Converge
|
|
170
132
|
|
|
171
|
-
|
|
172
|
-
- *[Decision 1]: [what and why]*
|
|
173
|
-
- *[Decision 2]: [what and why]*
|
|
174
|
-
- *[Open question]: [unresolved + how to handle]*
|
|
133
|
+
Summarize decided items, then confirm:
|
|
175
134
|
|
|
176
135
|
```
|
|
177
136
|
question: "Does this match? Ready to move to planning?"
|
|
@@ -185,7 +144,7 @@ options:
|
|
|
185
144
|
description: "Topics we haven't covered yet."
|
|
186
145
|
```
|
|
187
146
|
|
|
188
|
-
Decisions flow into `context.md` as **Locked Decisions**
|
|
147
|
+
Decisions flow into `context.md` as **Locked Decisions** at planning.
|
|
189
148
|
|
|
190
149
|
## Post-Planning Discussion
|
|
191
150
|
|
|
@@ -198,35 +157,29 @@ Read: .forge/context.md → locked decisions
|
|
|
198
157
|
Read: .forge/constitution.md → active gates
|
|
199
158
|
```
|
|
200
159
|
|
|
201
|
-
### Step 2: Present
|
|
160
|
+
### Step 2: Present Plan Simply
|
|
202
161
|
|
|
203
|
-
Translate
|
|
162
|
+
Translate into meaning, don't recite. Example: *"Phase 2: 3 plans, 8 tasks. Plan 01 builds [A] -- creates [X], wires [Y]. Risk: [risk]. Key assumption: [X]. If wrong, 02-03 need rework."*
|
|
204
163
|
|
|
205
|
-
|
|
206
|
-
*Plan 01 builds [feature A] — creates [X], wires to [Y]. Main risk: [risk].*
|
|
207
|
-
*Plan 02 builds [feature B] — [same pattern].*
|
|
208
|
-
*Key assumption: [assumption]. If wrong, plans 02-03 need rework."*
|
|
164
|
+
### Step 3: Surface Concerns
|
|
209
165
|
|
|
210
|
-
|
|
166
|
+
`AskUserQuestion` for:
|
|
167
|
+
- **Either-way decisions** -- options + trade-offs
|
|
168
|
+
- **Scope** -- "Ship admin in v1?" / "Include" / "Defer"
|
|
169
|
+
- **Risks** -- "Add fallback?" / "Add" / "Accept"
|
|
170
|
+
- **Shaky assumptions** -- Prose (confirmation, not choice)
|
|
211
171
|
|
|
212
|
-
|
|
172
|
+
### Step 4: Drill Functionality
|
|
213
173
|
|
|
214
|
-
|
|
215
|
-
- **Scope questions** → AskUserQuestion (e.g., "Ship admin in v1?" — "Include" / "Defer to v2")
|
|
216
|
-
- **Unaddressed risks** → AskUserQuestion (e.g., "Add fallback?" — "Add" / "Accept risk")
|
|
217
|
-
- **Shaky assumptions** → Prose (needs user to confirm/correct, not choose)
|
|
174
|
+
Apply **Functionality Distillation** (Step 4 above), grounded in tasks:
|
|
218
175
|
|
|
219
|
-
|
|
176
|
+
- *"Notification service send failure -- retry or log?"*
|
|
177
|
+
- *"Dashboard-to-API -- poll or push?"*
|
|
178
|
+
- *"Roles but no permissions. Walk through?"*
|
|
220
179
|
|
|
221
|
-
|
|
180
|
+
Plan makes features concrete enough for questions impossible earlier.
|
|
222
181
|
|
|
223
|
-
|
|
224
|
-
- *"Plan 01 wires dashboard to API. Poll for updates or push real-time?"*
|
|
225
|
-
- *"The plan has user roles but requirements don't specify permissions. Walk through them?"*
|
|
226
|
-
|
|
227
|
-
Post-planning discussion earns its keep here — the plan makes features concrete enough for questions impossible during pre-planning.
|
|
228
|
-
|
|
229
|
-
### Step 5: Discuss and Revise
|
|
182
|
+
### Step 5: Revise
|
|
230
183
|
|
|
231
184
|
```
|
|
232
185
|
question: "How to proceed with this plan?"
|
|
@@ -242,16 +195,11 @@ options:
|
|
|
242
195
|
description: "Discuss specific parts further."
|
|
243
196
|
```
|
|
244
197
|
|
|
245
|
-
Drill deeper or move to summarizing based on their response.
|
|
246
|
-
|
|
247
198
|
### Step 6: Summarize Changes
|
|
248
199
|
|
|
249
|
-
If
|
|
200
|
+
If changes:
|
|
250
201
|
|
|
251
|
-
|
|
252
|
-
- *[Change 1]: [what and why]*
|
|
253
|
-
- *[Change 2]: [what and why]*
|
|
254
|
-
- *[Unchanged]: [stays the same]*
|
|
202
|
+
List changes and what stayed same.
|
|
255
203
|
|
|
256
204
|
```
|
|
257
205
|
question: "Ready to update plans, or more to discuss?"
|
|
@@ -263,32 +211,32 @@ options:
|
|
|
263
211
|
description: "Topics we haven't covered yet."
|
|
264
212
|
```
|
|
265
213
|
|
|
266
|
-
|
|
214
|
+
Re-plan? Route to `planning` with summary.
|
|
267
215
|
|
|
268
216
|
## Facilitation Principles
|
|
269
217
|
|
|
270
|
-
1. **
|
|
271
|
-
2. **Name
|
|
272
|
-
3. **Reference
|
|
273
|
-
4. **
|
|
274
|
-
5. **
|
|
218
|
+
1. **Interesting question first.** "Real-time or on-refresh?" beats "Use React?"
|
|
219
|
+
2. **Name trade-off.** "A is better" without "but 2x longer" = dishonest.
|
|
220
|
+
3. **Reference user's words.** "Friday" factors into every rec.
|
|
221
|
+
4. **Stop when clear.** Don't manufacture uncertainty.
|
|
222
|
+
5. **Now vs later.** Flag deferrable vs blocking.
|
|
275
223
|
|
|
276
224
|
## Anti-Patterns
|
|
277
225
|
|
|
278
226
|
| Pattern | Fix |
|
|
279
227
|
|---------|-----|
|
|
280
|
-
| Analysis paralysis
|
|
281
|
-
| False facilitation
|
|
282
|
-
| Premature convergence
|
|
283
|
-
| Scope creep
|
|
284
|
-
|
|
|
228
|
+
| Analysis paralysis -- 30 min on 5-min decision | "Enough. Revisit post-impl." |
|
|
229
|
+
| False facilitation -- asking known answers | Say what research shows. |
|
|
230
|
+
| Premature convergence -- lock before thinking | Don't rush summary. |
|
|
231
|
+
| Scope creep -- "while we're at it..." | Stay focused. |
|
|
232
|
+
| Procrastination -- never approving | Surface it. |
|
|
285
233
|
|
|
286
234
|
## Phase Handoff
|
|
287
235
|
|
|
288
|
-
After
|
|
236
|
+
After convergence:
|
|
289
237
|
|
|
290
|
-
1. **Persist
|
|
291
|
-
2. **Update state**
|
|
292
|
-
3. **Recommend
|
|
238
|
+
1. **Persist** -- Step 5/6 summary flows into `context.md` at planning. Post-planning revisions noted.
|
|
239
|
+
2. **Update state** -- `current.status` = `planning` (`architecting` for Full) in milestone yml
|
|
240
|
+
3. **Recommend clear:**
|
|
293
241
|
|
|
294
242
|
*"Decisions captured. State written. `/clear` then `/forge` to continue with {planning/architecting}."*
|