You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keep scribe option labels short enough for the overlay
Scribe still taught AskUserQuestion-style label-plus-description options, which the 48-character cap now rejects. Examples are short labels; routing and trade-offs go in the transcript.
Changelog notes the wrap and the option-length cap.
Copy file name to clipboardExpand all lines: plugins/corbits-skills/skills/scribe/SKILL.md
+77-98Lines changed: 77 additions & 98 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,16 +50,15 @@ Before processing input, locate the documentation files:
50
50
51
51
## Using the Question Tool
52
52
53
-
Throughout this skill, you will use `ask_operator` to interact with the user. `ask_operator` presents multiple-choice questions with predefined options.
53
+
Throughout this skill, you will use `ask_operator` to interact with the user. It takes a short `question` and an array of short option labels (strings). The operator picks one, types a custom answer, or dismisses.
54
54
55
55
**Key mechanics:**
56
56
57
-
- You can present multiple questions in a single tool call (as an array of questions)
58
-
- Each question has a header, question text, and multiple options
59
-
- Each option has a label and description
60
-
- Users can select one or multiple options (if `multiple: true`)
61
-
- The tool automatically includes a "Type your own answer" option by default
62
-
- Questions are answered together as a batch, but you should make options context-aware based on information you already have
57
+
- Independent questions are parallel `ask_operator` calls in the same turn — not one call with a `questions` array
58
+
- Options are short labels only. Put trade-offs, document routing, and "like [similar feature]" context in the transcript before the tool call
59
+
- Do not invent `{ label, description }` objects, `header`, or `multiple: true` — those are not this tool
60
+
- If the tool rejects a label as too long, put the essay in the transcript and retry with a shorter label
61
+
- Make options context-aware based on information you already have
63
62
64
63
**When to provide context-aware options:**
65
64
@@ -68,52 +67,32 @@ Throughout this skill, you will use `ask_operator` to interact with the user. `a
68
67
- Use project-specific terminology from existing documents
69
68
- When no patterns exist (empty/minimal documents), provide general options as fallbacks
70
69
71
-
**Example invocation:**
72
-
73
-
```json
74
-
{
75
-
"questions": [
76
-
{
77
-
"header": "Document classification",
78
-
"question": "Is 'fast and reliable' a user-facing promise or a system design requirement?",
79
-
"options": [
80
-
{
81
-
"label": "User-facing promise",
82
-
"description": "Add to PRODUCT.md like other user benefits"
83
-
},
84
-
{
85
-
"label": "System design requirement",
86
-
"description": "Add to ARCHITECTURE.md with latency targets"
87
-
},
88
-
{
89
-
"label": "Both",
90
-
"description": "It's a user promise AND a technical constraint"
91
-
}
92
-
]
93
-
},
94
-
{
95
-
"header": "Performance target",
96
-
"question": "Does 'fast' have a concrete target?",
97
-
"options": [
98
-
{
99
-
"label": "Under 5 seconds",
100
-
"description": "Similar to report generation target"
101
-
},
102
-
{
103
-
"label": "Different target",
104
-
"description": "Specify a different performance goal"
105
-
},
106
-
{
107
-
"label": "No specific target",
108
-
"description": "Keep it qualitative for now"
109
-
}
110
-
]
111
-
}
70
+
**Example:** transcript first, then two parallel calls.
71
+
72
+
PRODUCT.md already treats "reports" as a user-facing benefit; ARCHITECTURE.md has latency targets for other services.
73
+
74
+
```
75
+
ask_operator({
76
+
question: "Is 'fast and reliable' a user-facing promise or a system design requirement?",
77
+
options: [
78
+
"User-facing promise",
79
+
"System design requirement",
80
+
"Both"
112
81
]
113
-
}
82
+
})
83
+
84
+
ask_operator({
85
+
question: "Does 'fast' have a concrete target?",
86
+
options: [
87
+
"Under 5 seconds",
88
+
"Different target",
89
+
"No specific target"
90
+
]
91
+
})
114
92
```
115
93
116
-
The tool returns the selected options as an array of labels (e.g., `["Both", "Under 5 seconds"]`).
94
+
Each call returns the selected label (or the operator's custom text).
95
+
117
96
118
97
## Execution Steps
119
98
@@ -180,20 +159,20 @@ If the input is ambiguous or spans multiple categories, do not simply ask "which
180
159
181
160
**If documents have content with patterns to reference:**
182
161
183
-
- When user mentions "fast and reliable", reference existing performance promises or design constraints:
184
-
- "User-facing promise (add to PRODUCT.md like [similar feature])"
185
-
- "System design requirement (add to ARCHITECTURE.md with latency targets)"
186
-
- "Both - it's a user promise AND a technical constraint"
187
-
- When user mentions a component name, reference similar components:
188
-
- "[Component] is user-facing (like [similar component] in PRODUCT.md)"
189
-
- "[Component] is an internal abstraction (add to ARCHITECTURE.md)"
162
+
- When user mentions "fast and reliable", reference existing performance promises or design constraints in the transcript, then ask with short labels:
163
+
- "User-facing promise"
164
+
- "System design requirement"
165
+
- "Both"
166
+
- When user mentions a component name, reference similar components in the transcript, then ask:
167
+
- "User-facing"
168
+
- "Internal abstraction"
190
169
191
170
**If documents are empty/minimal (no patterns to reference):**
192
171
193
172
- Provide general options without specific references:
194
-
- "User-facing promise (add to PRODUCT.md)"
195
-
- "System design requirement (add to ARCHITECTURE.md)"
196
-
- "Both - it's a user promise AND a technical constraint"
173
+
- "User-facing promise"
174
+
- "System design requirement"
175
+
- "Both"
197
176
198
177
3. Route each extracted piece to its appropriate document. A single user statement may result in updates to multiple documents.
199
178
@@ -239,11 +218,11 @@ If you just added an export service to ARCHITECTURE.md, and PRODUCT.md has no me
239
218
Use `ask_operator` with:
240
219
241
220
- Question 1: "Should PRODUCT.md describe data export as a user-facing capability?"
242
-
-**If PRODUCT.md has similar features**: "Add export as dataaccess capability (like reports feature)" / "Add as part of reporting feature"
243
-
-**If PRODUCT.md is minimal**: "Yes, add as new user-facing capability" / "No, exports are internal only"
221
+
-**If PRODUCT.md has similar features**: "Add as data-access capability" / "Fold into reporting"
222
+
-**If PRODUCT.md is minimal**: "Yes, add as user-facing" / "No, internal only"
244
223
- Question 2: "How should IMPLEMENTATION.md describe export generation?"
245
-
-**If IMPLEMENTATION.md describes other services**: "Similar to [existing service], using [library]" / "Different approach (specify details)"
246
-
-**If IMPLEMENTATION.md is minimal**: "Specify library/technology used" / "Defer implementation details for now"
224
+
-**If IMPLEMENTATION.md describes other services**: "Same approach as [service]" / "Different approach"
225
+
-**If IMPLEMENTATION.md is minimal**: "Name the library" / "Defer for now"
247
226
248
227
For each question the user answers, update the corresponding document before proceeding.
249
228
@@ -265,14 +244,14 @@ Use `ask_operator` to present 2-4 probing questions as a batch. Focus on non-obv
265
244
If you just added an export service to ARCHITECTURE.md:
266
245
267
246
- Question 1: "What happens when an export fails mid-generation?"
268
-
-**If other services have retry logic**: "Automatic retry (like [existing service])" / "User must re-trigger" / "Saved as partial export for resume"
269
-
-**If no retry patterns exist**: "Automatic retry" / "User must re-trigger" / "Partial export saved for resume"
247
+
-**If other services have retry logic**: "Automatic retry, like [service]" / "User must re-trigger" / "Save partial for resume"
248
+
-**If no retry patterns exist**: "Automatic retry" / "User must re-trigger" / "Save partial for resume"
270
249
- Question 2: "Are there size or rate limits on exports?"
271
-
-**If similar features have limits**: "Same limits as [similar feature]" / "Different limits (specify)" / "No hard limits - best effort"
272
-
-**If no limits documented**: "10k rows / 100MB max" / "No hard limits - best effort" / "To be determined"
250
+
-**If similar features have limits**: "Same limits as [feature]" / "Different limits" / "No hard limits"
251
+
-**If no limits documented**: "10k rows / 100MB max" / "No hard limits" / "To be determined"
273
252
- Question 3: "Who has permission to trigger exports?"
0 commit comments