@rse/ase 0.9.0 → 0.9.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.
@@ -202,7 +202,9 @@ Template Patterns
202
202
  - When `<ase-tpl-head/>` (no title attribute) should be expanded, use:
203
203
 
204
204
  <template>
205
+
205
206
  ╭──────────────────────────────────────────────────────────────────────┈┈┈┈┈┈┈┈┈┈
207
+
206
208
  </template>
207
209
 
208
210
  - When `<ase-tpl-head title="<title/>"/>` should be expanded, use
@@ -210,13 +212,17 @@ Template Patterns
210
212
  the "─" character repeated (70 - 16 - length("<title/>")) times):
211
213
 
212
214
  <template>
215
+
213
216
  ╭────━━━━**(** `<title/>` **)**━━━━────<bar/>┈┈┈┈┈┈┈┈┈┈
217
+
214
218
  </template>
215
219
 
216
220
  - When `<ase-tpl-foot/>` (no title attribute) should be expanded, use:
217
221
 
218
222
  <template>
223
+
219
224
  ╰──────────────────────────────────────────────────────────────────────┈┈┈┈┈┈┈┈┈┈
225
+
220
226
  </template>
221
227
 
222
228
  - When `<ase-tpl-foot title="<title/>"/>` should be expanded, use
@@ -224,7 +230,9 @@ Template Patterns
224
230
  the "─" character repeated (70 - 16 - length("<title/>")) times):
225
231
 
226
232
  <template>
233
+
227
234
  ╰────━━━━**(** `<title/>` **)**━━━━────<bar/>┈┈┈┈┈┈┈┈┈┈
235
+
228
236
  </template>
229
237
 
230
238
  - When `<ase-tpl-bullet-secondary/>` should be expanded, use:
@@ -6,7 +6,7 @@
6
6
  "homepage": "http://github.com/rse/ase",
7
7
  "repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
8
8
  "bugs": { "url": "http://github.com/rse/ase/issues" },
9
- "version": "0.9.0",
9
+ "version": "0.9.1",
10
10
  "license": "GPL-3.0-only",
11
11
  "author": {
12
12
  "name": "Dr. Ralf S. Engelschall",
@@ -217,9 +217,10 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
217
217
 
218
218
  Hints:
219
219
 
220
- - Give a short one-sentence <summary/> of the feature approach plus
221
- *precise* and *brief* feature information. Try to keep the
222
- number of bullet points (●) in the range of 1-4.
220
+ - Give a short one-sentence <summary/> of the feature
221
+ approach plus *precise* and *ultra brief and concise*
222
+ feature information. Try to keep the number of bullet points
223
+ (●) in the range of 1-4.
223
224
 
224
225
  - In case of a *complex feature situation* only, visualize
225
226
  it with an optional diagram <optional-diagram/> by building
@@ -207,9 +207,10 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
207
207
 
208
208
  Hints:
209
209
 
210
- - Give a short one-sentence <summary/> of the refactoring approach plus
211
- *precise* and *brief* refactoring information. Try to keep the
212
- number of bullet points (●) in the range of 1-4.
210
+ - Give a short one-sentence <summary/> of the refactoring
211
+ approach plus *precise* and *ultra brief and concise*
212
+ refactoring information. Try to keep the number of bullet
213
+ points (●) in the range of 1-4.
213
214
 
214
215
  - In case of a *complex refactoring situation* only,
215
216
  visualize it with an optional diagram <optional-diagram/>
@@ -256,9 +256,10 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
256
256
 
257
257
  Hints:
258
258
 
259
- - Give a short one-sentence <summary/> of the resolution approach plus
260
- *precise* and *brief* resolution information. Try to keep the
261
- number of bullet points (●) in the range of 1-4.
259
+ - Give a short one-sentence <summary/> of the resolution
260
+ approach plus *precise* and *ultra brief and concise*
261
+ resolution information. Try to keep the number of bullet
262
+ points (●) in the range of 1-4.
262
263
 
263
264
  - In case of a *complex resolution situation* only,
264
265
  visualize it with an optional diagram <optional-diagram/>
@@ -114,7 +114,7 @@ Honor the following tenets throughout the brainstorming:
114
114
  <answer-M-1/>: (first grounded candidate answer)
115
115
  <answer-M-2/>: (second grounded candidate answer)
116
116
  <answer-M-3/>: (third grounded candidate answer)
117
- <answer-M-4/>: (forth grounded candidate answer)
117
+ <answer-M-4/>: (fourth grounded candidate answer)
118
118
  </expand>
119
119
 
120
120
  4. Output the following <template/>:
@@ -164,7 +164,7 @@ Honor the following tenets throughout the brainstorming:
164
164
  4. <step id="STEP 4: Converge Idea Space">
165
165
 
166
166
  Converge the candidate ideas <idea-N/> into a smaller, structured
167
- sets and finally into a recommendation.
167
+ set and finally into a recommendation.
168
168
 
169
169
  1. *Cluster*: group the candidate ideas into <c/> coherent clusters
170
170
  <cluster-C/> (a short 1-4 word label, C=1...</c>), collapsing
@@ -0,0 +1,267 @@
1
+ ---
2
+ name: ase-task-condense
3
+ argument-hint: "[--help|-h] [--next|-n <option>[,...]] [<id>]"
4
+ description: >
5
+ Condense the current or given task plan by compressing its wording.
6
+ Use when the user calls to "condense", "compress", "shrink" or
7
+ "shorten" the "task", "plan", "spec", or "specification".
8
+ user-invocable: true
9
+ disable-model-invocation: false
10
+ effort: high
11
+ ---
12
+
13
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
14
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
15
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
16
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
17
+
18
+ <skill name="ase-task-condense">
19
+ Condense a Task Plan
20
+ </skill>
21
+
22
+ <expand name="getopt"
23
+ arg1="ase-task-condense"
24
+ arg2="--next|-n=(none|DONE|EDIT|IMPLEMENT|PREFLIGHT)...">
25
+ $ARGUMENTS
26
+ </expand>
27
+
28
+ <objective>
29
+ *Condense* the task plan by removing fluff while preserving all
30
+ semantics exactly.
31
+ </objective>
32
+
33
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-format-plan.md
34
+
35
+ Procedure
36
+ ---------
37
+
38
+ You *MUST* follow the following numbered items *strictly* *sequentially*!
39
+ You *MUST* not skip any numbered item during processing!
40
+
41
+ You *MUST* *NOT* output anything in this entire procedure, *except* when
42
+ explicitly requested by this procedure via outputs based on a <template/>!
43
+
44
+ 1. **Determine Task:**
45
+
46
+ 1. Set <instruction><getopt-arguments/></instruction> initially.
47
+ Inherit the always existing <ase-task-id/> from the current context.
48
+ Inherit the always existing <ase-session-id/> from the current context.
49
+ Do not output anything.
50
+
51
+ 2. React on task id:
52
+
53
+ 1. <if condition="
54
+ <instruction/> matches the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`
55
+ ">
56
+ Set <ase-task-id><instruction/></ase-task-id> (set task
57
+ id to instruction) and <instruction></instruction> (set
58
+ instruction empty), call the `ase_task_id(id: "<ase-task-id/>",
59
+ session: "<ase-session-id/>")` tool from the `ase` MCP
60
+ server to switch the task, and then only output the
61
+ following <template/>:
62
+
63
+ <template>
64
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **task given**
65
+ </template>
66
+ </if>
67
+
68
+ 2. else <if condition="<instruction/> is NOT empty">
69
+ The argument is neither empty nor a valid task id. As this
70
+ skill only accepts an optional `[<id>]` argument and *never*
71
+ a free-text instruction, only output the following <template/>
72
+ and then immediately *STOP* processing the entire current skill:
73
+
74
+ <template>
75
+ ⧉ **ASE**: ☻ skill: **ase-task-condense**, ▶ ERROR: expected single `[<id>]` argument
76
+ </template>
77
+ </if>
78
+
79
+ 2. **Determine Operation:**
80
+
81
+ 1. Call the `ase_task_load(id: "<ase-task-id/>")` tool of the `ase` MCP
82
+ server to load the current task plan content and set <text/> to
83
+ the `text` output field of the `ase_task_load` tool call.
84
+
85
+ - If <text/> starts with `ERROR:` or `WARNING:`:
86
+ Set <content></content> (set content to empty).
87
+ Set <words/> to "0".
88
+
89
+ - If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:
90
+ Set <content><text/></content> (set content to text).
91
+ Calculate the number of words <words/> of <content/>.
92
+
93
+ Set <words-before><words/></words-before> (remember the loaded
94
+ word count for the strictly-smaller check in step 3).
95
+
96
+ Only output the following <template/>:
97
+
98
+ <template>
99
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan loaded**
100
+ </template>
101
+
102
+ 2. <if condition="<content/> is empty">
103
+ Complain and tell the user to use the `ase-code-resolve`,
104
+ `ase-code-refactor`, `ase-code-craft`, or `ase-task-edit` skills
105
+ first to create a task plan. Then immediately stop processing
106
+ this skill.
107
+ </if>
108
+
109
+ 3. **Condense Task Plan:**
110
+
111
+ 1. *Apply the condense ruleset* to <content/>, producing a shorter
112
+ <content/>. The goal is to make the plan require as *little
113
+ reading* as possible while all semantics remain *fully preserved
114
+ and unchanged*. Honor the following ruleset *strictly*:
115
+
116
+ 1. *Preserve-exactly (never alter)*: the plan <format/>
117
+ structure (the headings `#`/`##`, the `※`/`◉`/`✪` markers,
118
+ all three `## ※ CONTEXT`, `## ※ CHANGES`, and `## ※
119
+ VERIFICATION` sections, the `created:`/`modified:` line, and
120
+ the `- **<aspect/>**:` bullet labels), all *code spans* and
121
+ code blocks, technical terms, file paths, identifiers,
122
+ numbers, severities (`LOW`/`MEDIUM`/`HIGH`/`ACCEPTED`), and
123
+ the `*<aspect/>*` emphasis highlighting convention.
124
+
125
+ 2. *Compress free-text only* (the `**WHAT**`/`**WHY**` prose and
126
+ each bullet's `<specification/>` text):
127
+ - *Drop* filler ("just", "really", "basically", "simply"),
128
+ pleasantries, and hedging ("I think", "maybe", "perhaps").
129
+ - *Use* shorter synonyms and common abbreviations.
130
+ - *Use* `→` for causality and `—` for short subsequent facts.
131
+ - *Drop* articles ("a", "an", "the") and *replace*
132
+ conjunctions with short separate clauses where this
133
+ shortens the text without introducing ambiguity.
134
+ - *Re-wrap* the shortened free-text to the ~120-character-
135
+ per-line convention.
136
+ - *Merge* genuinely-redundant bullets (the same aspect
137
+ restated) and *drop* pure duplication — but *only* when
138
+ truly redundant; *never* lose a distinct aspect.
139
+
140
+ 3. *Persona override*: this condense ruleset *always wins* for
141
+ the plan content. This ruleset-based compression is applied
142
+ *regardless* of the currently active session persona style.
143
+
144
+ 4. *Hard guardrail — semantics preserved EXACTLY*: condensing
145
+ *only* shortens wording. It *MUST NOT* drop, merge (except
146
+ truly-redundant bullets per sub-item 2), reorder, or alter
147
+ *any* factual claim, requirement, file path, rule, or
148
+ example. If a shortening would change meaning, *keep the
149
+ longer wording*.
150
+
151
+ 2. *Persist only if smaller*: calculate the number of words <words/>
152
+ of the condensed <content/>.
153
+
154
+ - <if condition="<words/> is strictly smaller than <words-before/>">
155
+ Update <timestamp-modified/> with the current time in
156
+ ISO-style format, which has to be determined by calling
157
+ the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool
158
+ of the `ase` MCP server and use the `text` field of
159
+ its response. Keep the original <timestamp-created/>,
160
+ re-insert the current <ase-task-id/> and the refreshed
161
+ <timestamp-modified/> into <content/>.
162
+
163
+ Call the `ase_task_save(id: "<ase-task-id/>", text:
164
+ "<content/>")` tool of the `ase` MCP server to save the
165
+ condensed task plan content. Do not output anything related
166
+ to this MCP call except the following <template/>:
167
+
168
+ <template>
169
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan condensed**
170
+ </template>
171
+ </if>
172
+
173
+ - <if condition="<words/> is NOT strictly smaller than <words-before/>">
174
+ Do *not* save and do *not* bump the timestamp. Only output
175
+ the following <template/>:
176
+
177
+ <template>
178
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan already condensed**
179
+ </template>
180
+ </if>
181
+
182
+ 4. **Decide Next Step:**
183
+
184
+ 1. *Determine next step*:
185
+
186
+ - If <getopt-option-next/> is not equal to `none`:
187
+ Treat <getopt-option-next/> as a comma-separated chronological
188
+ list of pre-selected next-step tokens. *Split* it on `,`,
189
+ take the *first* token as <head/>, and store the remaining
190
+ tokens (joined back with `,`, or `none` if empty) into
191
+ <getopt-option-next/> so downstream skills can consume the tail.
192
+
193
+ - If <head/> matches the regex `^(DONE|EDIT|IMPLEMENT|PREFLIGHT)$`:
194
+ Honor the pre-selected token.
195
+ Set <result><head/></result>.
196
+
197
+ - else:
198
+ Only output the following <template/> and then immediately
199
+ *STOP* processing the entire current skill:
200
+
201
+ <template>
202
+ ⧉ **ASE**: ☻ skill: **ase-task-condense**, ▶ ERROR: invalid `--next` token: **<head/>**
203
+ </template>
204
+
205
+ - If <getopt-option-next/> is equal to `none`:
206
+ Let the *user interactively choose* what to do as the next step.
207
+
208
+ <expand name="user-dialog">
209
+ Next Step: How would you like to proceed with the plan?
210
+ DONE: Stop processing.
211
+ EDIT: Hand off plan to editing.
212
+ IMPLEMENT: Hand off plan to implementation.
213
+ PREFLIGHT: Hand off plan to pre-flighting.
214
+ </expand>
215
+
216
+ 2. Check the tool <result/> and dispatch accordingly:
217
+
218
+ - If <result/> is `DONE` or `CANCEL`:
219
+ Only output the following <template/> and then *STOP*.
220
+
221
+ <template>
222
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan condensed -- done**
223
+ </template>
224
+
225
+ - If <result/> is `EDIT`:
226
+ Set <args></args> (empty).
227
+ <if condition="<getopt-option-next/> is not equal `none`">
228
+ Set <args>--next <getopt-option-next/></args> (forward
229
+ remaining list tokens to the downstream skill).
230
+ </if>
231
+ Only output the following <template/> and then call the
232
+ tool `Skill(skill: "ase:ase-task-edit", args: <args/>)`
233
+ to invoke the `ase:ase-task-edit` skill in order to *edit*
234
+ the condensed plan. Immediately stop processing the current
235
+ skill once the `Skill` tool was used.
236
+
237
+ <template>
238
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan condensed -- hand-off to edit**
239
+ </template>
240
+
241
+ - If <result/> is `IMPLEMENT`:
242
+ Set <args></args> (empty).
243
+ <if condition="<getopt-option-next/> is not equal `none`">
244
+ Set <args>--next <getopt-option-next/></args> (forward
245
+ remaining list tokens to the downstream skill).
246
+ </if>
247
+ Only output the following <template/> and then call the
248
+ `Skill(skill: "ase:ase-task-implement", args: <args/>)` tool
249
+ to *apply* the plan.
250
+
251
+ <template>
252
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan condensed -- hand-off to implementation**
253
+ </template>
254
+
255
+ - If <result/> is `PREFLIGHT`:
256
+ Set <args></args> (empty).
257
+ <if condition="<getopt-option-next/> is not equal `none`">
258
+ Set <args>--next <getopt-option-next/></args> (forward
259
+ remaining list tokens to the downstream skill).
260
+ </if>
261
+ Only output the following <template/> and then call the
262
+ `Skill(skill: "ase:ase-task-preflight", args: <args/>)` tool
263
+ to *apply* the plan.
264
+
265
+ <template>
266
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan condensed -- hand-off to pre-flight**
267
+ </template>
@@ -0,0 +1,77 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-condense` - Condense a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-condense`
9
+ [`--help`|`-h`]
10
+ [`--next`|`-n` *option*[,...]]
11
+ [*id*]
12
+
13
+ ## DESCRIPTION
14
+
15
+ The `ase-task-condense` skill *compresses* the wording of an existing
16
+ task plan to make it require as little reading as possible, while
17
+ keeping *all semantics fully preserved and unchanged*. It loads the
18
+ current (or given) plan, applies a self-contained, telegrapher-like
19
+ "remove-fluff" ruleset to the *free-text* parts only (the `**WHAT**` /
20
+ `**WHY**` prose and each bullet's specification text), and writes the
21
+ shorter plan back via `ase_task_save`.
22
+
23
+ The plan *structure* is never altered: all headings, section markers,
24
+ `- **<aspect>**:` bullet labels, code spans, technical terms, file
25
+ paths, numbers, and severities are kept exactly. Only genuinely
26
+ redundant bullets may be merged, and a shortening that would change
27
+ meaning is always rejected in favor of the longer wording. The condense
28
+ ruleset *overrides* the active session persona, so the plan is compressed
29
+ telegrapher-like even under the `writer` persona.
30
+
31
+ The plan is saved *only* when condensing actually makes it smaller; if no
32
+ further reduction is possible, the plan is left untouched (including its
33
+ `✎ modified:` timestamp) and reported as *already condensed*.
34
+
35
+ After condensing, the user is asked whether to stop or hand off to
36
+ `ase-task-edit`, `ase-task-implement`, or `ase-task-preflight`, unless
37
+ `--next` pre-selects this choice.
38
+
39
+ ## OPTIONS
40
+
41
+ `--next`|`-n` *option*[,...]:
42
+ Automatically answer the user dialog for the next step. *option*
43
+ is a single token or a *comma-separated chronological list* of
44
+ tokens; the *first* token is consumed by this skill, and any
45
+ remaining tokens are *forwarded* (via `--next`) to the downstream
46
+ skill so an entire pipeline can be pre-scripted in one shot.
47
+ Recognized tokens at this skill: `none` (default, interactive
48
+ answer required), `DONE` (stop), `EDIT` (hand off to
49
+ `ase-task-edit`), `IMPLEMENT` (hand off to `ase-task-implement`),
50
+ or `PREFLIGHT` (hand off to `ase-task-preflight`). Example: `--next
51
+ EDIT,DONE` condenses, hands off to editing, and the editing loop will
52
+ exit immediately.
53
+
54
+ ## ARGUMENTS
55
+
56
+ *id*:
57
+ The unique identifier of the task whose plan should be condensed.
58
+ If omitted, the *current* task id is used.
59
+
60
+ ## EXAMPLES
61
+
62
+ Condense the current task plan:
63
+
64
+ ```text
65
+ ❯ /ase-task-condense
66
+ ```
67
+
68
+ Condense a specific task and hand off to editing:
69
+
70
+ ```text
71
+ ❯ /ase-task-condense --next EDIT hello
72
+ ```
73
+
74
+ ## SEE ALSO
75
+
76
+ `ase-task-edit`, `ase-task-reboot`, `ase-task-view`,
77
+ `ase-task-rename`, `ase-task-delete`.
@@ -23,7 +23,7 @@ Iteratively Edit a Task Plan
23
23
 
24
24
  <expand name="getopt"
25
25
  arg1="ase-task-edit"
26
- arg2="--plan|-p=(none|OVERWRITE|REFINE|PRESERVE) --dry|-d --next|-n=(none|DONE|IMPLEMENT|PREFLIGHT|REFINE)...">
26
+ arg2="--plan|-p=(none|OVERWRITE|REFINE|PRESERVE) --dry|-d --next|-n=(none|DONE|GRILL|PREFLIGHT|IMPLEMENT)...">
27
27
  $ARGUMENTS
28
28
  </expand>
29
29
 
@@ -48,10 +48,11 @@ explicitly requested by this procedure via outputs based on a <template/>!
48
48
  <define name="apply-refinement">
49
49
  Treat the <instruction/> as a *refinement instruction* for
50
50
  the plan, and update <content/> in-place by *applying* the
51
- requested <instruction/> to the *plan*. When refining the
52
- plan this way, preserve the overall structure of the plan
53
- and only modify what the user actually requested. Do *not*
54
- rewrite unrelated sections of the plan.
51
+ requested <instruction/> to the *plan*.
52
+
53
+ When refining the plan this way, preserve the overall structure of the
54
+ plan and only modify what the user actually requested. Do *not* rewrite
55
+ unrelated sections of the plan.
55
56
 
56
57
  Calculate the number of words <words/> of <content/>.
57
58
  Set <content-dirty>true</content-dirty>.
@@ -290,9 +291,9 @@ Set <content-dirty>true</content-dirty>.
290
291
 
291
292
  3. **Iterative Plan Refinement Loop:**
292
293
 
293
- *REPEAT* the following steps from 3.1 up to and including 3.4 in a
294
- *LOOP* until the user selects `DONE`, `IMPLEMENT`, or `PREFLIGHT`,
295
- or declines/cancels in the dialog of step 3.4:
294
+ *REPEAT* the following steps from 3.1 up to and including 3.4 in
295
+ a *LOOP* until the user selects `DONE`, `GRILL`, `IMPLEMENT`, or
296
+ `PREFLIGHT`, or declines/cancels in the dialog of step 3.4:
296
297
 
297
298
  1. *Update timestamp*:
298
299
  <if condition="<content/> contains '✎ modified:' AND <content-dirty/> is 'true'">
@@ -341,7 +342,7 @@ Set <content-dirty>true</content-dirty>.
341
342
  <getopt-option-next/> so subsequent loop iterations or
342
343
  downstream skills can consume the tail.
343
344
 
344
- - If <head/> matches the regex `^(DONE|IMPLEMENT|PREFLIGHT|REFINE)$`:
345
+ - If <head/> matches the regex `^(DONE|GRILL|IMPLEMENT|PREFLIGHT)$`:
345
346
  Honor the pre-selected token.
346
347
  Set <result><head/></result>.
347
348
 
@@ -365,9 +366,9 @@ Set <content-dirty>true</content-dirty>.
365
366
  <expand name="user-dialog">
366
367
  Next Step: How would you like to proceed with the plan?
367
368
  DONE: Mark plan finalized, exit planning loop.
368
- IMPLEMENT: Hand off plan to implementation.
369
+ GRILL: Hand off plan to grilling.
369
370
  PREFLIGHT: Hand off plan to pre-flighting.
370
- REFINE: Further refine plan with instructions.
371
+ IMPLEMENT: Hand off plan to implementation.
371
372
  </expand>
372
373
 
373
374
  Check the tool <result/> and dispatch accordingly:
@@ -381,7 +382,7 @@ Set <content-dirty>true</content-dirty>.
381
382
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan finalized -- done**
382
383
  </template>
383
384
 
384
- - If <result/> is `IMPLEMENT`:
385
+ - If <result/> is `GRILL`:
385
386
 
386
387
  *Break* out of the *loop*. Set <args></args> (empty).
387
388
  <if condition="<getopt-option-next/> is not equal `none`">
@@ -389,11 +390,11 @@ Set <content-dirty>true</content-dirty>.
389
390
  remaining list tokens to the downstream skill).
390
391
  </if>
391
392
  Only output the following <template/> and then call the
392
- `Skill(skill: "ase:ase-task-implement", args: <args/>)` tool
393
- to *apply* the finalized plan.
393
+ `Skill(skill: "ase:ase-task-grill", args: <args/>)` tool
394
+ to *grill* the finalized plan.
394
395
 
395
396
  <template>
396
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan finalized -- hand-off to implementation**
397
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan finalized -- hand-off to grilling**
397
398
  </template>
398
399
 
399
400
  - If <result/> is `PREFLIGHT`:
@@ -411,20 +412,19 @@ Set <content-dirty>true</content-dirty>.
411
412
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan finalized -- hand-off to pre-flight**
412
413
  </template>
413
414
 
414
- - If <result/> is `REFINE`:
415
-
416
- Ask the user interactively, without a special tool, for the
417
- refinement instruction with a single question `**What is
418
- your instruction for further refining the plan?**`. Then set
419
- <instruction/> to the response of the user.
420
-
421
- <expand name="apply-refinement"/>
415
+ - If <result/> is `IMPLEMENT`:
422
416
 
423
- Finally, only output the following <template/> and then
424
- *continue* the *loop* at step **3.1**!
417
+ *Break* out of the *loop*. Set <args></args> (empty).
418
+ <if condition="<getopt-option-next/> is not equal `none`">
419
+ Set <args>--next <getopt-option-next/></args> (forward
420
+ remaining list tokens to the downstream skill).
421
+ </if>
422
+ Only output the following <template/> and then call the
423
+ `Skill(skill: "ase:ase-task-implement", args: <args/>)` tool
424
+ to *apply* the finalized plan.
425
425
 
426
426
  <template>
427
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, instruction: **<instruction/>**, ▶ status: **plan refined**
427
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, plan: **<words/>** words, ▶ status: **plan finalized -- hand-off to implementation**
428
428
  </template>
429
429
 
430
430
  - If <result/> matches `OTHER: <text/>`:
@@ -44,16 +44,16 @@ command from outside the agent tool.
44
44
  `--next`|`-n` *option*[,...]:
45
45
  Automatically answer the user dialog for the next step (at the end
46
46
  of this skill). *option* is a single token or a *comma-separated
47
- chronological list* of tokens; each iteration of the planning loop
48
- consumes the *first* token of the list, and on hand-off (`IMPLEMENT`
49
- / `PREFLIGHT`) any remaining tokens are *forwarded* (via `--next`)
50
- to the downstream skill so an entire pipeline can be pre-scripted
51
- in one shot. Recognized tokens at this skill: `none` (default,
52
- interactive answer required), `DONE` (no next step), `IMPLEMENT`
53
- (hand-over to `ase-task-implement`), `PREFLIGHT` (hand-over to
54
- `ase-task-preflight`), or `REFINE` (refine the plan with subsequent
55
- instruction). Example: `--next REFINE,DONE` first refines once,
56
- then exits the loop without asking.
47
+ chronological list* of tokens; each iteration of the planning
48
+ loop consumes the *first* token of the list, and on hand-off
49
+ (`IMPLEMENT` / `PREFLIGHT`) any remaining tokens are *forwarded*
50
+ (via `--next`) to the downstream skill so an entire pipeline can
51
+ be pre-scripted in one shot. Recognized tokens at this skill:
52
+ `none` (default, interactive answer required), `DONE` (no next
53
+ step), `GRILL` (hand-over to `ase-task-grill`), `PREFLIGHT`
54
+ (hand-over to `ase-task-preflight`), or `IMPLEMENT` (hand-over to
55
+ `ase-task-implement`). Example: `--next GRILL,DONE` first refines
56
+ once, then exits the loop without asking.
57
57
 
58
58
  ## ARGUMENTS
59
59
 
@@ -167,7 +167,7 @@ Procedure
167
167
  <ase-tpl-bullet-normal/> ASPECT <N/>/<n/>: **<aspect-N/>**, ANSWER: **<answer-N/>**
168
168
  </template>
169
169
 
170
- 3. Finally, update the in <plan/> based on all answers <answer-N/>.
170
+ 3. Finally, update the plan in <plan/> based on all answers <answer-N/>.
171
171
 
172
172
  4. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
173
173
  `ase` MCP server and use the `text` field of its response for
@@ -217,8 +217,8 @@ Procedure
217
217
  Next Step: How would you like to proceed with the plan?
218
218
  DONE: Stop processing.
219
219
  EDIT: Hand off plan to editing.
220
- IMPLEMENT: Hand off plan to implementation.
221
220
  PREFLIGHT: Hand off plan to pre-flighting.
221
+ IMPLEMENT: Hand off plan to implementation.
222
222
  </expand>
223
223
 
224
224
  2. Check the tool <result/> and dispatch accordingly:
@@ -246,30 +246,30 @@ Procedure
246
246
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to edit**
247
247
  </template>
248
248
 
249
- - If <result/> is `IMPLEMENT`:
249
+ - If <result/> is `PREFLIGHT`:
250
250
  Set <args></args> (empty).
251
251
  <if condition="<getopt-option-next/> is not equal `none`">
252
252
  Set <args>--next <getopt-option-next/></args> (forward
253
253
  remaining list tokens to the downstream skill).
254
254
  </if>
255
255
  Only output the following <template/> and then call the
256
- `Skill(skill: "ase:ase-task-implement", args: <args/>)` tool
256
+ `Skill(skill: "ase:ase-task-preflight", args: <args/>)` tool
257
257
  to *apply* the plan.
258
258
 
259
259
  <template>
260
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to implementation**
260
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to pre-flight**
261
261
  </template>
262
262
 
263
- - If <result/> is `PREFLIGHT`:
263
+ - If <result/> is `IMPLEMENT`:
264
264
  Set <args></args> (empty).
265
265
  <if condition="<getopt-option-next/> is not equal `none`">
266
266
  Set <args>--next <getopt-option-next/></args> (forward
267
267
  remaining list tokens to the downstream skill).
268
268
  </if>
269
269
  Only output the following <template/> and then call the
270
- `Skill(skill: "ase:ase-task-preflight", args: <args/>)` tool
270
+ `Skill(skill: "ase:ase-task-implement", args: <args/>)` tool
271
271
  to *apply* the plan.
272
272
 
273
273
  <template>
274
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to pre-flight**
274
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to implementation**
275
275
  </template>