@rse/ase 0.9.8 → 0.9.10

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 (73) hide show
  1. package/dst/ase-getopt.js +60 -4
  2. package/dst/ase-hook.js +6 -21
  3. package/dst/ase-markdown.js +32 -11
  4. package/dst/ase-mcp.js +22 -8
  5. package/dst/ase-notify.js +32 -0
  6. package/dst/ase-service.js +5 -2
  7. package/dst/ase-setup.js +45 -131
  8. package/dst/ase-skills.js +17 -13
  9. package/dst/ase-statusline.js +8 -12
  10. package/dst/ase-task.js +12 -2
  11. package/package.json +2 -2
  12. package/plugin/.claude-plugin/plugin.json +1 -1
  13. package/plugin/.github/plugin/plugin.json +1 -1
  14. package/plugin/meta/ase-dialog.md +133 -7
  15. package/plugin/meta/ase-format-arch.md +3 -3
  16. package/plugin/meta/ase-format-spec.md +13 -4
  17. package/plugin/meta/ase-getopt.md +40 -28
  18. package/plugin/meta/ase-skill.md +69 -6
  19. package/plugin/package.json +1 -1
  20. package/plugin/skills/ase-arch-analyze/help.md +2 -2
  21. package/plugin/skills/ase-arch-discover/SKILL.md +43 -27
  22. package/plugin/skills/ase-arch-discover/help.md +1 -1
  23. package/plugin/skills/ase-code-analyze/help.md +2 -2
  24. package/plugin/skills/ase-code-craft/SKILL.md +47 -41
  25. package/plugin/skills/ase-code-craft/help.md +2 -2
  26. package/plugin/skills/ase-code-explain/help.md +1 -1
  27. package/plugin/skills/ase-code-insight/SKILL.md +5 -4
  28. package/plugin/skills/ase-code-insight/help.md +1 -1
  29. package/plugin/skills/ase-code-lint/SKILL.md +23 -14
  30. package/plugin/skills/ase-code-lint/help.md +2 -2
  31. package/plugin/skills/ase-code-refactor/SKILL.md +46 -41
  32. package/plugin/skills/ase-code-refactor/help.md +2 -2
  33. package/plugin/skills/ase-code-resolve/SKILL.md +46 -40
  34. package/plugin/skills/ase-code-resolve/help.md +3 -3
  35. package/plugin/skills/ase-docs-distill/help.md +1 -1
  36. package/plugin/skills/ase-docs-proofread/SKILL.md +21 -13
  37. package/plugin/skills/ase-docs-proofread/help.md +1 -1
  38. package/plugin/skills/ase-meta-brainstorm/SKILL.md +24 -5
  39. package/plugin/skills/ase-meta-brainstorm/help.md +1 -1
  40. package/plugin/skills/ase-meta-changelog/help.md +1 -1
  41. package/plugin/skills/ase-meta-chat/help.md +1 -1
  42. package/plugin/skills/ase-meta-commit/help.md +1 -1
  43. package/plugin/skills/ase-meta-diaboli/SKILL.md +4 -4
  44. package/plugin/skills/ase-meta-diaboli/help.md +2 -2
  45. package/plugin/skills/ase-meta-diff/SKILL.md +2 -2
  46. package/plugin/skills/ase-meta-diff/help.md +1 -1
  47. package/plugin/skills/ase-meta-evaluate/help.md +2 -2
  48. package/plugin/skills/ase-meta-persona/help.md +1 -1
  49. package/plugin/skills/ase-meta-quorum/help.md +1 -1
  50. package/plugin/skills/ase-meta-review/SKILL.md +0 -1
  51. package/plugin/skills/ase-meta-review/help.md +2 -2
  52. package/plugin/skills/ase-meta-search/SKILL.md +9 -1
  53. package/plugin/skills/ase-meta-search/help.md +1 -1
  54. package/plugin/skills/ase-meta-steelman/help.md +2 -2
  55. package/plugin/skills/ase-meta-why/SKILL.md +6 -4
  56. package/plugin/skills/ase-meta-why/help.md +1 -1
  57. package/plugin/skills/ase-task-condense/SKILL.md +5 -2
  58. package/plugin/skills/ase-task-condense/help.md +2 -2
  59. package/plugin/skills/ase-task-delete/help.md +2 -2
  60. package/plugin/skills/ase-task-edit/SKILL.md +10 -4
  61. package/plugin/skills/ase-task-edit/help.md +2 -2
  62. package/plugin/skills/ase-task-grill/SKILL.md +5 -2
  63. package/plugin/skills/ase-task-grill/help.md +3 -3
  64. package/plugin/skills/ase-task-id/help.md +2 -2
  65. package/plugin/skills/ase-task-implement/SKILL.md +5 -2
  66. package/plugin/skills/ase-task-implement/help.md +2 -2
  67. package/plugin/skills/ase-task-list/help.md +2 -2
  68. package/plugin/skills/ase-task-preflight/SKILL.md +5 -2
  69. package/plugin/skills/ase-task-preflight/help.md +2 -2
  70. package/plugin/skills/ase-task-reboot/SKILL.md +5 -2
  71. package/plugin/skills/ase-task-reboot/help.md +2 -2
  72. package/plugin/skills/ase-task-rename/help.md +2 -2
  73. package/plugin/skills/ase-task-view/help.md +2 -2
@@ -53,7 +53,9 @@ You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
53
53
  filesystem-modifying tool during this entire skill. The *only*
54
54
  permitted way to persist artifacts is via `ase_task_save(...)`.
55
55
 
56
- 1. **Reason About Problem**:
56
+ <flow>
57
+
58
+ 1. <step id="STEP 1: Reason About Problem">
57
59
 
58
60
  1. If <problem/> matches the regexp `^[PT]\d+$` (i.e. a bare issue
59
61
  identifier like `P1`, `P2`, `T1`, `T2`, ...),
@@ -166,7 +168,9 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
166
168
  verbatim. Omit <optional-diagram/> entirely for simple or
167
169
  purely local situations.
168
170
 
169
- 2. **Investigate Code Base**:
171
+ </step>
172
+
173
+ 2. <step id="STEP 2: Investigate Code Base">
170
174
 
171
175
  1. Check the existing source files for all code which is related to the
172
176
  requested <problem/> resolution.
@@ -174,9 +178,11 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
174
178
  2. Check the architecture of the existing code base to understand the
175
179
  overall structures and dynamics.
176
180
 
177
- 3. Do not output anything in this step.
181
+ 3. Do not output anything in this STEP 2.
178
182
 
179
- 3. **Internalize Problem Resolution Tenets**:
183
+ </step>
184
+
185
+ 3. <step id="STEP 3: Internalize Problem Resolution Tenets">
180
186
 
181
187
  You *MUST* internalize and honor the following tenets when resolving the problem.
182
188
  Do not output anything.
@@ -218,7 +224,9 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
218
224
  *theoretical, fictive, or unexpected* errors *should* be
219
225
  handled more generally and in parent scopes.
220
226
 
221
- 4. **Find Problem Resolution Approaches**:
227
+ </step>
228
+
229
+ 4. <step id="STEP 4: Choose Problem Resolution Approaches">
222
230
 
223
231
  You *MUST* perform the following sub-steps *internally* and *without
224
232
  any output* until and including the recommendation decision. Only
@@ -251,37 +259,18 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
251
259
  anything else in this step:
252
260
 
253
261
  <template>
254
- ● **APPROACH A<n/>**<annotation/>: *<summary/>*
262
+ ● **APPROACH A<n/>**<annotation/>: **<summary/>**
255
263
  ○ [...]
256
- [...]
257
- [...]
258
- ⊕ **PRO**: [...]
259
- ⊖ **CON**: [...]
260
- <optional-diagram/>
264
+ *PRO*: [...]
265
+ *CON*: [...]
261
266
  </template>
262
267
 
263
268
  Hints:
264
269
 
265
270
  - Give a short one-sentence <summary/> of the resolution
266
271
  approach plus *precise* and *ultra brief and concise*
267
- resolution information. Try to keep the number of bullet
268
- points (●) in the range of 1-4.
269
-
270
- - In case of a *complex resolution situation* only,
271
- visualize it with an optional diagram <optional-diagram/>
272
- by building a Mermaid specification <mermaid-spec/>
273
- (e.g. `flowchart TB`, `stateDiagram-v2`, `sequenceDiagram`,
274
- `classDiagram`, or `erDiagram`, depending on intent) and
275
- dispatching the rendering to the `ase-meta-diagram`
276
- sub-agent by calling the tool `Agent(name: "ase-meta-diagram",
277
- description: "Diagram Rendering", subagent_type:
278
- "ase:ase-meta-diagram", prompt: <mermaid-spec/>)`, reproducing
279
- its returned fenced code block verbatim. For *current
280
- vs. proposed* comparisons, render each side as a *separate*
281
- `ase-meta-diagram` invocation and stack the rendered blocks
282
- *vertically* (labels `**Before:**` / `**After:**`); never
283
- side-by-side. Omit <optional-diagram/> entirely for simple
284
- or purely local situations.
272
+ resolution information. Try to keep the number of bullet points
273
+ (`○ [...]`) in the range of 1-4.
285
274
 
286
275
  6. Indicate end of reporting by showing the following <template/>:
287
276
 
@@ -289,28 +278,41 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
289
278
  <ase-tpl-foot title="APPROACHES"/>
290
279
  </template>
291
280
 
292
- 5. **Choose Problem Resolution Approach**:
281
+ 7. <if condition="<getopt-option-auto/> is not `true`">
282
+
283
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
284
+ tool! Instead, you *MUST* just show a custom output, let the
285
+ user enter input, and then you set the result accordingly.
286
+
287
+ Let the user choose the preferred approach A<n/> by raising
288
+ a question with the following custom dialog, where per
289
+ approach A<n/>, you determine an ultra brief summary
290
+ <short-summary/> and then use the answer option `A<n/>:
291
+ ⚝ **RECOMMENDATION** ⚝: <short-summary/>` for your
292
+ recommended approach plus zero or more answer options `A<n/>:
293
+ <short-summary/>` for all other approaches:
294
+
295
+ <expand name="custom-dialog" arg1="--no-other">
296
+ Select Approach: Select your preferred resolution approach to follow?
297
+ A<n/>: <short-summary/>
298
+ [...]
299
+ </expand>
293
300
 
294
- 1. <if condition="<getopt-option-auto/> is not 'true'">
295
- Let the *user interactively choose* the preferred resolution
296
- approach A<n/> with the help of the <user-dialog-tool/> tool.
297
- Use the header `Select Approach`, use `A<n/>: <short-summary/>`
298
- for the option (where <short-summary/> is an ultra brief summary
299
- of the approach A<n/>), and *single-selection* only and provide
300
- small *code change previews*. Mark your recommended resolution
301
- approach with ` ⚝ **RECOMMENDATION** ⚝` here again.
302
301
  </if>
302
+ <else>
303
303
 
304
- 2. <else>
305
304
  Set <n/> to the number of the resolution approach A<n/> you recommend.
306
305
  Output a hint with the following <template/>:
307
306
 
308
307
  <template>
309
308
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
310
309
  </template>
310
+
311
311
  </else>
312
312
 
313
- 6. **Compose Problem Resolution Plan**:
313
+ </step>
314
+
315
+ 5. <step id="STEP 5: Compose Problem Resolution Plan">
314
316
 
315
317
  1. *Compose a plan* with code references, a precise description of the
316
318
  problem, the chosen resolution approach, a preview of the *unified
@@ -398,3 +400,7 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
398
400
  Then call the tool `Skill(skill: "ase:ase-task-edit", args: "<args/>")`.
399
401
  </else>
400
402
 
403
+ </step>
404
+
405
+ </flow>
406
+
@@ -92,6 +92,6 @@ Resolve a previously analyzed issue and hand off to implementation:
92
92
 
93
93
  ## SEE ALSO
94
94
 
95
- `ase-code-craft`, `ase-code-refactor`, `ase-code-analyze`,
96
- `ase-arch-analyze`, `ase-task-edit`, `ase-task-preflight`,
97
- `ase-task-implement`.
95
+ [`ase-code-craft`](../ase-code-craft/help.md), [`ase-code-refactor`](../ase-code-refactor/help.md), [`ase-code-analyze`](../ase-code-analyze/help.md),
96
+ [`ase-arch-analyze`](../ase-arch-analyze/help.md), [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-preflight`](../ase-task-preflight/help.md),
97
+ [`ase-task-implement`](../ase-task-implement/help.md).
@@ -72,5 +72,5 @@ Distill a pasted block of text:
72
72
 
73
73
  ## SEE ALSO
74
74
 
75
- `ase-meta-search`, `ase-docs-proofread`, `ase-meta-why`.
75
+ [`ase-meta-search`](../ase-meta-search/help.md), [`ase-docs-proofread`](../ase-docs-proofread/help.md), [`ase-meta-why`](../ase-meta-why/help.md).
76
76
 
@@ -89,9 +89,12 @@ Analyze documents for spelling, punctuation, or grammar errors
89
89
 
90
90
  3. <step id="STEP 3: Correction">
91
91
 
92
- 1. You *MUST* call the MCP tool `ase_config_set(key: "agent.skill", val:
93
- "ase-docs-proofread", scope: "session:<ase-session-id/>")` of the
94
- `ase` MCP server.
92
+ 1. *Mark this skill as the active edit-capable skill* so that the
93
+ ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
94
+ invocations on *any* invocation path (slash command *or* `Skill`
95
+ tool). Call the `ase_config_set(key: "agent.skill", val:
96
+ "ase-docs-proofread", scope: "session:<ase-session-id/>")` tool
97
+ from the `ase` MCP server. Do not output anything in this substep.
95
98
 
96
99
  2. Iterate over all problems:
97
100
 
@@ -126,7 +129,7 @@ Analyze documents for spelling, punctuation, or grammar errors
126
129
  ```diff
127
130
  --- <file/> (original)
128
131
  +++ <file/> (corrected)
129
- @@ -<old-start/>,<n/> +<new-start/>,<m/> @@
132
+ @@ -<old-start/>,<old-count/> +<new-start/>,<new-count/> @@
130
133
  <context-before/>
131
134
  -<old-text/>
132
135
  +<new-text/>
@@ -140,10 +143,10 @@ Analyze documents for spelling, punctuation, or grammar errors
140
143
  the line of <context-before/> (one before <line/>).
141
144
  - The <new-start/> is the same as <old-start/> (the unchanged
142
145
  <context-before/> line shares the same start in both files).
143
- - The <n/> is the total number of old-side hunk lines, i.e.,
146
+ - The <old-count/> is the total number of old-side hunk lines, i.e.,
144
147
  the number of lines in <context-before/>, <old-text/>, and
145
148
  <context-after/> combined.
146
- - The <m/> is the total number of new-side hunk lines, i.e.,
149
+ - The <new-count/> is the total number of new-side hunk lines, i.e.,
147
150
  the number of lines in <context-before/>, <new-text/>, and
148
151
  <context-after/> combined.
149
152
 
@@ -151,9 +154,11 @@ Analyze documents for spelling, punctuation, or grammar errors
151
154
 
152
155
  4. <if condition="<getopt-option-auto/> is not 'true'">
153
156
 
154
- Ask the user how to proceed via an interactive user dialog:
157
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
158
+ tool! Instead, you *MUST* just show a custom output, let the
159
+ user enter input, and then you set the result accordingly.
155
160
 
156
- <expand name="user-dialog">
161
+ <expand name="custom-dialog" arg1="--other">
157
162
  CORRECTION: How would you like to proceed with this proposed correction?
158
163
  ACCEPT: Apply the proposed correction.
159
164
  REJECT: Skip this proposed correction.
@@ -173,9 +178,9 @@ Analyze documents for spelling, punctuation, or grammar errors
173
178
 
174
179
  Invoke the `Edit` tool to apply the change by replacing
175
180
  <old-text/> with <new-text/> at <file/>:<line/>. The operation
176
- will be auto-approved because of the active proofread marker,
177
- so *no* interactive permission prompt will appear. Then
178
- continue with the next <item/>.
181
+ will be auto-approved by the ASE `pre-tool-use` hook (which
182
+ tracks the active skill), so *no* interactive permission
183
+ prompt will appear. Then continue with the next <item/>.
179
184
 
180
185
  </if>
181
186
 
@@ -202,8 +207,11 @@ Analyze documents for spelling, punctuation, or grammar errors
202
207
 
203
208
  </for>
204
209
 
205
- 3. You *MUST* call the MCP tool `ase_config_delete(key: "agent.skill",
206
- scope: "session:<ase-session-id/>")` of the `ase` MCP server.
210
+ 3. *Clear the active edit-capable skill marker* now that all `Edit`
211
+ invocations are done, so a later unrelated `Edit` is *not*
212
+ auto-approved. Call the `ase_config_delete(key: "agent.skill",
213
+ scope: "session:<ase-session-id/>")` tool from the `ase` MCP
214
+ server. Do not output anything in this substep.
207
215
 
208
216
  4. You *MUST* *NOT* output any further additional explanations or
209
217
  summaries at the end of this skill processing, except for the
@@ -51,4 +51,4 @@ Proofread an entire documentation directory automatically:
51
51
 
52
52
  ## SEE ALSO
53
53
 
54
- `ase-code-lint`, `ase-meta-changelog`.
54
+ [`ase-code-lint`](../ase-code-lint/help.md), [`ase-meta-changelog`](../ase-meta-changelog/help.md).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-meta-brainstorm
3
- argument-hint: "[--help|-h] [--max-clarify|-c=3] [--min-ideas|-i=12] [--min-rank|-r=7] [--max-shortlist|-s=4] <topic>"
3
+ argument-hint: "[--help|-h] [--max-clarify|-c <num>] [--min-ideas|-i <num>] [--min-rank|-r <num>] [--max-shortlist|-s <num>] <topic>"
4
4
  description: >
5
5
  Collaboratively brainstorm a topic by diverging on ideas, converging
6
6
  through clustering and scoring, and distilling a shortlist with
@@ -78,7 +78,7 @@ Honor the following tenets throughout the brainstorming:
78
78
 
79
79
  1. <step id="STEP 1: Restate Topic">
80
80
 
81
- Restate the topic to be brainstormed by output the following <template/>:
81
+ Restate the topic to be brainstormed by outputting the following <template/>:
82
82
 
83
83
  <template>
84
84
  <ase-tpl-bullet-secondary/> **TOPIC**: <topic/>
@@ -121,9 +121,13 @@ Honor the following tenets throughout the brainstorming:
121
121
  question <question-M/>, and let the user select the
122
122
  <answer-M/> out of the candidate answers <answer-M-K/> (leave
123
123
  out the answer lines of those candidate answers you have
124
- not determined)
124
+ not determined).
125
125
 
126
- <expand name="user-dialog">
126
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
127
+ tool! Instead, you *MUST* just show a custom output, let the
128
+ user enter input, and then you set the result accordingly.
129
+
130
+ <expand name="custom-dialog" arg1="--other">
127
131
  <facet-M/>: <question-M/>
128
132
  <answer-M-1/>: (first grounded candidate answer)
129
133
  <answer-M-2/>: (second grounded candidate answer)
@@ -212,15 +216,30 @@ Honor the following tenets throughout the brainstorming:
212
216
 
213
217
  <template>
214
218
  <ase-tpl-bullet-secondary/> **IDEA CLUSTER <C/>/<c/>**: <cluster-C/> - <cluster-summary-C/>,
215
- **IDEAS**: <N/>, <M/>[, ...]
219
+ **IDEAS**: <idea-index-C/>
216
220
  </template>
217
221
 
222
+ Here, <idea-index-C/> is the comma-separated list of the indices
223
+ <N/> of those retained ideas <idea-N/> that belong to cluster
224
+ <cluster-C/> (e.g. `2, 5, 9`).
225
+
218
226
  2. *Score*: for each retained idea <idea-N/> in the clusters, rank its *fit* against the
219
227
  purpose and constraints on a Likert scale of 0 (poor) to 10
220
228
  (excellent), considering *value*, *uniqueness*, *risk*, and
221
229
  *alignment with the existing code base*. Keep only ideas in the
222
230
  clusters with a rank of at least <getopt-option-min-rank/>.
223
231
 
232
+ If *no* idea meets the <getopt-option-min-rank/> floor, the floor
233
+ filter would empty the set and leave the downstream steps without
234
+ any options. In this case, *disregard* the floor and instead keep
235
+ the up-to-<getopt-option-max-shortlist/> highest-ranked ideas, and
236
+ output the following <template/> to flag that even the strongest
237
+ ideas fall below the bar:
238
+
239
+ <template>
240
+ <ase-tpl-bullet-signal/> **NOTICE**: no idea reached the minimum rank of <getopt-option-min-rank/>/10 - shortlisting the highest-ranked ideas regardless.
241
+ </template>
242
+
224
243
  3. From the scored ideas <idea-N/>, distill a *shortlist* of the top
225
244
  <getopt-option-max-shortlist/> options, sorted by rank from highest to lowest.
226
245
 
@@ -84,4 +84,4 @@ and a tighter shortlist:
84
84
 
85
85
  ## SEE ALSO
86
86
 
87
- `ase-meta-evaluate`, `ase-meta-quorum`, `ase-meta-diaboli`
87
+ [`ase-meta-evaluate`](../ase-meta-evaluate/help.md), [`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-meta-diaboli`](../ase-meta-diaboli/help.md)
@@ -30,4 +30,4 @@ Update the most recent ChangeLog section:
30
30
 
31
31
  ## SEE ALSO
32
32
 
33
- `ase-meta-commit`, `ase-docs-proofread`.
33
+ [`ase-meta-commit`](../ase-meta-commit/help.md), [`ase-docs-proofread`](../ase-docs-proofread/help.md).
@@ -42,4 +42,4 @@ Ask Gemini for a brief comparison:
42
42
 
43
43
  ## SEE ALSO
44
44
 
45
- `ase-meta-quorum`, `ase-meta-search`.
45
+ [`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-meta-search`](../ase-meta-search/help.md).
@@ -28,4 +28,4 @@ Craft a commit message for the currently staged changes:
28
28
 
29
29
  ## SEE ALSO
30
30
 
31
- `ase-meta-changelog`.
31
+ [`ase-meta-changelog`](../ase-meta-changelog/help.md).
@@ -2,7 +2,7 @@
2
2
  name: ase-meta-diaboli
3
3
  argument-hint: "[--help|-h] [--count|-c <count>] <thesis>"
4
4
  description: >
5
- Challenge a thesis by playing "Devil’s Advocate" (latin: "Advocatus
5
+ Challenge a thesis by playing "Devil’s Advocate" (Latin: "Advocatus
6
6
  Diaboli"). Use when the user wants a thesis or statement
7
7
  relentlessly challenged or criticised.
8
8
  user-invocable: true
@@ -25,7 +25,7 @@ effort: xhigh
25
25
  </expand>
26
26
 
27
27
  <objective>
28
- Play "Devil’s Advocate" (latin: "Advocatus Diaboli") by relentlessly
28
+ Play "Devil’s Advocate" (Latin: "Advocatus Diaboli") by relentlessly
29
29
  challenging or criticising the thesis: <thesis><getopt-arguments/></thesis>
30
30
  </objective>
31
31
 
@@ -48,7 +48,7 @@ to <getopt-option-count/>; if <getopt-option-count/> is *non-numeric* or
48
48
  2. <step id="STEP 2: Determine Anti-Theses">
49
49
 
50
50
  Reason on the thesis in <thesis/> by playing *Devil's Advocate*
51
- (latin: *Advocatus Diaboli*) by relentlessly challenging or
51
+ (Latin: *Advocatus Diaboli*) by relentlessly challenging or
52
52
  criticising it with the help of the following tenets:
53
53
 
54
54
  - **Steelmanning**:
@@ -88,7 +88,7 @@ to <getopt-option-count/>; if <getopt-option-count/> is *non-numeric* or
88
88
 
89
89
  - **Push the Logic to its Conclusion**:
90
90
  Ask "If we accept this, then what?" and apply "Reduction to
91
- Absurdity" (latin: "Reductio Ad Absurdum"), because this disproves
91
+ Absurdity" (Latin: "Reductio Ad Absurdum"), because this disproves
92
92
  the thesis by showing that accepting it leads to a logically
93
93
  absurd, contradictory, or impossible conclusion.
94
94
 
@@ -73,6 +73,6 @@ Surface at least fifteen anti-theses:
73
73
 
74
74
  ## SEE ALSO
75
75
 
76
- `ase-meta-why`, `ase-meta-evaluate`, `ase-meta-quorum`,
77
- `ase-meta-persona`.
76
+ [`ase-meta-why`](../ase-meta-why/help.md), [`ase-meta-evaluate`](../ase-meta-evaluate/help.md), [`ase-meta-quorum`](../ase-meta-quorum/help.md),
77
+ [`ase-meta-persona`](../ase-meta-persona/help.md).
78
78
 
@@ -109,7 +109,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
109
109
 
110
110
  3. For each discovered *intent group*, emit the following row
111
111
  <template/>, where <intent/> is the intent label, <changes/>
112
- is the total number of lines changes per feature in format
112
+ is the total number of lines changed per feature in format
113
113
  `+N/-M`, <files/> is the list of affected file references,
114
114
  and <description/> is a *brief* one-to-two-sentence
115
115
  narrative of what changed and why:
@@ -169,7 +169,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
169
169
  Judge overall *coherence* from the flagged hunks: the diff
170
170
  is `COHERENT` when there are *no* `SCOPE-CREEP` and *no*
171
171
  `STRAY-DEBUG` deviations, otherwise it is `INCOHERENT`. Store
172
- the result is <verdict/>.
172
+ the result in <verdict/>.
173
173
 
174
174
  4. Emit the following header <template/>:
175
175
 
@@ -101,4 +101,4 @@ Summarize the staged changes and append a blast-radius map:
101
101
 
102
102
  ## SEE ALSO
103
103
 
104
- `ase-meta-commit`, `ase-meta-changelog`, `ase-arch-analyze`.
104
+ [`ase-meta-commit`](../ase-meta-commit/help.md), [`ase-meta-changelog`](../ase-meta-changelog/help.md), [`ase-arch-analyze`](../ase-arch-analyze/help.md).
@@ -48,5 +48,5 @@ Evaluate database options with hinted criteria:
48
48
 
49
49
  ## SEE ALSO
50
50
 
51
- `ase-meta-quorum`, `ase-meta-search`, `ase-arch-discover`,
52
- `ase-meta-why`.
51
+ [`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-meta-search`](../ase-meta-search/help.md), [`ase-arch-discover`](../ase-arch-discover/help.md),
52
+ [`ase-meta-why`](../ase-meta-why/help.md).
@@ -47,4 +47,4 @@ Switch to the telegrapher persona:
47
47
 
48
48
  ## SEE ALSO
49
49
 
50
- `ase-task-id`.
50
+ [`ase-task-id`](../ase-task-id/help.md).
@@ -56,4 +56,4 @@ Ask only a subset of the foreign models:
56
56
 
57
57
  ## SEE ALSO
58
58
 
59
- `ase-meta-chat`, `ase-meta-search`, `ase-meta-evaluate`.
59
+ [`ase-meta-chat`](../ase-meta-chat/help.md), [`ase-meta-search`](../ase-meta-search/help.md), [`ase-meta-evaluate`](../ase-meta-evaluate/help.md).
@@ -17,7 +17,6 @@ allowed-tools:
17
17
 
18
18
  @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
19
19
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
20
- @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
21
20
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
22
21
 
23
22
  <skill name="ase-meta-review">
@@ -84,5 +84,5 @@ Review the staged changes, reporting only `MEDIUM` and `HIGH` findings:
84
84
 
85
85
  ## SEE ALSO
86
86
 
87
- `ase-meta-diff`, `ase-meta-commit`, `ase-code-lint`, `ase-code-analyze`,
88
- `ase-meta-diaboli`.
87
+ [`ase-meta-diff`](../ase-meta-diff/help.md), [`ase-meta-commit`](../ase-meta-commit/help.md), [`ase-code-lint`](../ase-code-lint/help.md), [`ase-code-analyze`](../ase-code-analyze/help.md),
88
+ [`ase-meta-diaboli`](../ase-meta-diaboli/help.md).
@@ -88,12 +88,20 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
88
88
  from the MCP server `search-exa`.
89
89
  </expand>
90
90
 
91
- If the `websearch` backend is *selected*:
91
+ If the `websearch` backend is *selected* and the tool
92
+ `WebSearch` is available:
92
93
 
93
94
  <expand name="agent" arg1="websearch">
94
95
  Call the tool `WebSearch(query: "<query/>")`.
95
96
  </expand>
96
97
 
98
+ If the `websearch` backend is *selected* and the tool `web_search` is
99
+ available and the tool `WebSearch` is not available:
100
+
101
+ <expand name="agent" arg1="websearch">
102
+ Call the tool `web_search(query: "<query/>")`.
103
+ </expand>
104
+
97
105
  </step>
98
106
 
99
107
  2. <step id="STEP 2: Consolidate Search Answers">
@@ -48,4 +48,4 @@ Search the Web using only the Brave and Exa backends:
48
48
 
49
49
  ## SEE ALSO
50
50
 
51
- `ase-meta-chat`, `ase-meta-quorum`, `ase-arch-discover`.
51
+ [`ase-meta-chat`](../ase-meta-chat/help.md), [`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-arch-discover`](../ase-arch-discover/help.md).
@@ -88,5 +88,5 @@ Strengthen across five iterative rounds:
88
88
 
89
89
  ## SEE ALSO
90
90
 
91
- `ase-meta-diaboli`, `ase-meta-why`, `ase-meta-evaluate`,
92
- `ase-meta-quorum`.
91
+ [`ase-meta-diaboli`](../ase-meta-diaboli/help.md), [`ase-meta-why`](../ase-meta-why/help.md), [`ase-meta-evaluate`](../ase-meta-evaluate/help.md),
92
+ [`ase-meta-quorum`](../ase-meta-quorum/help.md).
@@ -123,10 +123,12 @@ addressing surface-level symptoms.
123
123
 
124
124
  Then choose, among the <answer-k/>, the *most causally-significant*
125
125
  candidate -- the one most likely to lead to the true root-cause --
126
- and *justify* the choice in one line (state explicitly *why* it
127
- beats the other candidates, e.g. it alone also explains the timing,
128
- scope, or magnitude of the level's fact). A bare "most significant"
129
- is *not* sufficient; if no candidate clearly dominates, say so.
126
+ set <chosen-k/> to its candidate index (the <k/> of the chosen
127
+ <answer-k/>), and *justify* the choice in one line (state explicitly
128
+ *why* it beats the other candidates, e.g. it alone also explains the
129
+ timing, scope, or magnitude of the level's fact). A bare "most
130
+ significant" is *not* sufficient; if no candidate clearly dominates,
131
+ say so.
130
132
 
131
133
  <template>
132
134
  <ase-tpl-bullet-secondary/> **WHY <n/> → chosen <n/>.<chosen-k/>**: <justification/>
@@ -77,4 +77,4 @@ committing early to the wrong root-cause:
77
77
 
78
78
  ## SEE ALSO
79
79
 
80
- `ase-code-analyze`, `ase-code-resolve`, `ase-arch-analyze`.
80
+ [`ase-code-analyze`](../ase-code-analyze/help.md), [`ase-code-resolve`](../ase-code-resolve/help.md), [`ase-arch-analyze`](../ase-arch-analyze/help.md).
@@ -203,9 +203,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
203
203
  </template>
204
204
 
205
205
  - If <getopt-option-next/> is equal to `none`:
206
- Let the *user interactively choose* what to do as the next step.
207
206
 
208
- <expand name="user-dialog">
207
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
208
+ tool! Instead, you *MUST* just show a custom output, let the
209
+ user enter input, and then you set the result accordingly.
210
+
211
+ <expand name="custom-dialog" arg1="--no-other">
209
212
  Next Step: How would you like to proceed with the plan?
210
213
  DONE: Stop processing.
211
214
  EDIT: Hand off plan to editing.
@@ -73,5 +73,5 @@ Condense a specific task and hand off to editing:
73
73
 
74
74
  ## SEE ALSO
75
75
 
76
- `ase-task-edit`, `ase-task-reboot`, `ase-task-view`,
77
- `ase-task-rename`, `ase-task-delete`.
76
+ [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-reboot`](../ase-task-reboot/help.md), [`ase-task-view`](../ase-task-view/help.md),
77
+ [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-delete`](../ase-task-delete/help.md).
@@ -39,5 +39,5 @@ Delete a specific task plan:
39
39
 
40
40
  ## SEE ALSO
41
41
 
42
- `ase-task-edit`, `ase-task-list`, `ase-task-view`,
43
- `ase-task-rename`, `ase-task-reboot`.
42
+ [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-list`](../ase-task-list/help.md), [`ase-task-view`](../ase-task-view/help.md),
43
+ [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-reboot`](../ase-task-reboot/help.md).
@@ -226,9 +226,12 @@ Set <content-dirty>true</content-dirty>.
226
226
  Set <result><getopt-option-plan/></result>.
227
227
 
228
228
  - If <getopt-option-plan/> is equal to `none`:
229
- Let the *user interactively choose* what to do as the next step.
230
229
 
231
- <expand name="user-dialog">
230
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
231
+ tool! Instead, you *MUST* just show a custom output, let the
232
+ user enter input, and then you set the result accordingly.
233
+
234
+ <expand name="custom-dialog" arg1="--other">
232
235
  Previous Plan: Should the previous plan content be overwritten, refined, or preserved?
233
236
  OVERWRITE: Continue operation, overwrite previous plan.
234
237
  REFINE: Continue operation, refine previous plan.
@@ -374,9 +377,12 @@ Set <content-dirty>true</content-dirty>.
374
377
  </template>
375
378
 
376
379
  - If <getopt-option-next/> is equal to `none`:
377
- Let the *user interactively choose* what to do as the next step.
378
380
 
379
- <expand name="user-dialog">
381
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
382
+ tool! Instead, you *MUST* just show a custom output, let the
383
+ user enter input, and then you set the result accordingly.
384
+
385
+ <expand name="custom-dialog" arg1="--other">
380
386
  Next Step: How would you like to proceed with the plan?
381
387
  DONE: Mark plan finalized, exit planning loop.
382
388
  GRILL: Hand off plan to grilling.
@@ -82,5 +82,5 @@ Further refine the task under id `hello`:
82
82
 
83
83
  ## SEE ALSO
84
84
 
85
- `ase-task-reboot`, `ase-task-preflight`, `ase-task-implement`,
86
- `ase-task-view`, `ase-task-list`, `ase-task-rename`, `ase-task-delete`.
85
+ [`ase-task-reboot`](../ase-task-reboot/help.md), [`ase-task-preflight`](../ase-task-preflight/help.md), [`ase-task-implement`](../ase-task-implement/help.md),
86
+ [`ase-task-view`](../ase-task-view/help.md), [`ase-task-list`](../ase-task-list/help.md), [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-delete`](../ase-task-delete/help.md).
@@ -239,9 +239,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
239
239
  </template>
240
240
 
241
241
  - If <getopt-option-next/> is equal to `none`:
242
- Let the *user interactively choose* what to do as the next step.
243
242
 
244
- <expand name="user-dialog">
243
+ In the following, you *MUST* *NOT* use the <user-dialog-tool/>
244
+ tool! Instead, you *MUST* just show a custom output, let the
245
+ user enter input, and then you set the result accordingly.
246
+
247
+ <expand name="custom-dialog" arg1="--no-other">
245
248
  Next Step: How would you like to proceed with the plan?
246
249
  DONE: Stop processing.
247
250
  EDIT: Hand off plan to editing.
@@ -70,6 +70,6 @@ Grill the current task plan and then hand off to editing:
70
70
 
71
71
  ## SEE ALSO
72
72
 
73
- `ase-task-edit`, `ase-task-reboot`, `ase-task-preflight`,
74
- `ase-task-implement`, `ase-task-view`, `ase-task-list`,
75
- `ase-task-rename`, `ase-task-delete`.
73
+ [`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-reboot`](../ase-task-reboot/help.md), [`ase-task-preflight`](../ase-task-preflight/help.md),
74
+ [`ase-task-implement`](../ase-task-implement/help.md), [`ase-task-view`](../ase-task-view/help.md), [`ase-task-list`](../ase-task-list/help.md),
75
+ [`ase-task-rename`](../ase-task-rename/help.md), [`ase-task-delete`](../ase-task-delete/help.md).