@rse/ase 2.0.7 → 2.0.8
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/dst/ase-agent-relay-client.js +3 -4
- package/dst/ase-config-schema.js +4 -1
- package/dst/ase-lib-fetch.js +12 -0
- package/dst/ase-lib-server-cli.js +8 -5
- package/dst/ase-task-board-diff.js +120 -0
- package/dst/ase-task-board-tui-control.js +8 -5
- package/dst/ase-task-board-tui-model.js +54 -14
- package/dst/ase-task-board-tui-popup.js +41 -8
- package/dst/ase-task-board-tui.js +42 -27
- package/dst/ase-task-board-web-client.css +1 -1
- package/dst/ase-task-board-web-client.html +16 -0
- package/dst/ase-task-board-web-client.js +33 -33
- package/dst/ase-task-board-web-server.js +44 -9
- package/dst/ase-task-board.js +12 -4
- package/dst/ase-task-store-client.js +4 -5
- package/dst/man/ase-config-init.md +2 -1
- package/dst/man/ase-config.md +5 -0
- package/dst/man/ase-task-board.md +44 -2
- package/package.json +7 -6
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/meta/ase-common-task.md +24 -0
- package/plugin/mods/ase-mods-common.ts +73 -42
- package/plugin/mods/ase-mods-task-edit.ts +427 -0
- package/plugin/mods/ase-mods.ts +45 -14
- package/plugin/skills/ase-help-intent/data.md +78 -8
- package/plugin/skills/ase-task-edit/SKILL.md +114 -9
- package/plugin/skills/ase-task-edit/help.md +60 -0
- package/plugin/skills/ase-task-grill/SKILL.md +35 -20
- package/plugin/skills/ase-task-grill/help.md +18 -8
- /package/plugin/mods/{ase-mods-evaluate.ts → ase-mods-meta-evaluate.ts} +0 -0
- /package/plugin/mods/{ase-mods-grill.ts → ase-mods-task-grill.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-task-grill
|
|
3
|
-
argument-hint: "[--help|-h] [--rounds|-r <n>] [--until|-u MUST|SHOULD|MAY] [--perspective|-p <perspective>] [--ground|-G] [--focus|-f <section>[,...]] [--force|-F] [--next|-n <option>[,...]] [<id>]"
|
|
3
|
+
argument-hint: "[--help|-h] [--rounds|-r <n>] [--until|-u MUST|SHOULD|MAY] [--perspective|-p <perspective>] [--ground|-G] [--focus|-f <section>[,...]] [--force|-F] [--quiet|-q] [--next|-n <option>[,...]] [<id>]"
|
|
4
4
|
description: >
|
|
5
5
|
Interview the user relentlessly about the task plan until reaching a
|
|
6
6
|
shared understanding, resolving each branch of the question decision
|
|
@@ -22,7 +22,7 @@ Iteratively Grill a Task Plan
|
|
|
22
22
|
|
|
23
23
|
<expand name="getopt"
|
|
24
24
|
arg1="ase-task-grill"
|
|
25
|
-
arg2="--rounds|-r=1 --until|-u=(MUST|SHOULD|MAY) --perspective|-p= --ground|-G --focus|-f=(all|SPECIFICATION|SPEC|DESIGN|DES|VERIFICATION|VER)... --force|-F --next|-n=(none|DONE|GRILL|EDIT|IMPLEMENT|DRAFT)... --int-reuse-task">
|
|
25
|
+
arg2="--rounds|-r=1 --until|-u=(MUST|SHOULD|MAY) --perspective|-p= --ground|-G --focus|-f=(all|SPECIFICATION|SPEC|WHAT|DESIGN|DES|HOW|VERIFICATION|VERIFY|VER|WHEN)... --force|-F --quiet|-q --next|-n=(none|DONE|GRILL|EDIT|IMPLEMENT|DRAFT)... --int-reuse-task --int-interactive">
|
|
26
26
|
$ARGUMENTS
|
|
27
27
|
</expand>
|
|
28
28
|
|
|
@@ -61,23 +61,9 @@ Set <args>--int-reuse-task</args>.
|
|
|
61
61
|
⧉ **ASE**: ☻ skill: **ase-task-grill**, ▶ ERROR: invalid `--rounds` value: **<getopt-option-rounds/>**
|
|
62
62
|
</template>
|
|
63
63
|
|
|
64
|
-
3.
|
|
65
|
-
*section tokens*. Trim and upper-case every token, then expand
|
|
66
|
-
the abbreviations `SPEC`, `DES`, and `VER` to `SPECIFICATION`,
|
|
67
|
-
`DESIGN`, and `VERIFICATION`, and expand the sentinel `ALL`
|
|
68
|
-
(the default) to `SPECIFICATION,DESIGN,VERIFICATION`. Set
|
|
69
|
-
<sections/> to the resulting list, *keeping the given order*.
|
|
70
|
-
The getopt parser validates only the *first* token, so you
|
|
71
|
-
*MUST* validate each token yourself: if any token is *empty*,
|
|
72
|
-
*not* one of the recognized sections or abbreviations, or
|
|
73
|
-
results in a section already present in <sections/>, bind
|
|
74
|
-
<token/> to that offending token, then only output the
|
|
75
|
-
following <template/> and immediately *STOP* processing the
|
|
76
|
-
entire current skill:
|
|
64
|
+
3. Resolve the plan sections under focus:
|
|
77
65
|
|
|
78
|
-
<
|
|
79
|
-
⧉ **ASE**: ☻ skill: **ase-task-grill**, ▶ ERROR: invalid `--focus` token: **<token/>**
|
|
80
|
-
</template>
|
|
66
|
+
<expand name="task-focus" arg1="ase-task-grill"></expand>
|
|
81
67
|
|
|
82
68
|
Each section in <sections/> selects its *focus areas* of the
|
|
83
69
|
grilling: `SPECIFICATION` selects `DOMAIN` and `INTERFACE`,
|
|
@@ -277,7 +263,19 @@ Set <args>--int-reuse-task</args>.
|
|
|
277
263
|
can re-ask it.
|
|
278
264
|
|
|
279
265
|
Set <changes/> to all bullet-points of <task-content/> which
|
|
280
|
-
were changed or added in this round. Do not output anything
|
|
266
|
+
were changed or added in this round. Do not output anything,
|
|
267
|
+
except for the following warning:
|
|
268
|
+
|
|
269
|
+
<if condition="<getopt-option-focus/> is not equal `all` and <changes/> contains a bullet-point of a section *not* in <sections/>">
|
|
270
|
+
An answer required a *foreign change* outside of the focus,
|
|
271
|
+
which is applied nevertheless. Set <foreign/> to the
|
|
272
|
+
comma-separated names of these sections and only output the
|
|
273
|
+
following <template/>:
|
|
274
|
+
|
|
275
|
+
<template>
|
|
276
|
+
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ WARNING: changed sections outside of focus: **<foreign/>**
|
|
277
|
+
</template>
|
|
278
|
+
</if>
|
|
281
279
|
|
|
282
280
|
5. SAVE PLAN:
|
|
283
281
|
|
|
@@ -298,6 +296,7 @@ Set <args>--int-reuse-task</args>.
|
|
|
298
296
|
|
|
299
297
|
6. SHOW PLAN CHANGES:
|
|
300
298
|
|
|
299
|
+
<if condition="<getopt-option-quiet/> is not equal `true`">
|
|
301
300
|
Set <round-suffix/> to
|
|
302
301
|
` round <m/>/<getopt-option-rounds/>` if
|
|
303
302
|
<getopt-option-rounds/> is greater than 1, or to empty
|
|
@@ -316,6 +315,7 @@ Set <args>--int-reuse-task</args>.
|
|
|
316
315
|
|
|
317
316
|
<ase-tpl-foot title="PLAN CHANGES" subtitle="after grilling<round-suffix/>"/>
|
|
318
317
|
</template>
|
|
318
|
+
</if>
|
|
319
319
|
|
|
320
320
|
4. **Decide Next Step:**
|
|
321
321
|
|
|
@@ -326,7 +326,7 @@ Set <args>--int-reuse-task</args>.
|
|
|
326
326
|
arg2="DONE|GRILL|EDIT|IMPLEMENT|DRAFT">
|
|
327
327
|
Next Step: How would you like to proceed with the plan?
|
|
328
328
|
DONE: Stop processing.
|
|
329
|
-
GRILL: Re-grill the
|
|
329
|
+
GRILL: Re-grill the plan again.
|
|
330
330
|
EDIT: Hand off plan to editing.
|
|
331
331
|
DRAFT: Hand off plan to implementation drafting.
|
|
332
332
|
IMPLEMENT: Hand off plan to implementation.
|
|
@@ -352,6 +352,12 @@ Set <args>--int-reuse-task</args>.
|
|
|
352
352
|
<if condition="<getopt-option-ground/> is `true`">
|
|
353
353
|
Set <args><args/> --ground</args>.
|
|
354
354
|
</if>
|
|
355
|
+
<if condition="<getopt-option-quiet/> is `true`">
|
|
356
|
+
Set <args><args/> --quiet</args>.
|
|
357
|
+
</if>
|
|
358
|
+
<if condition="<getopt-option-int-interactive/> is `true`">
|
|
359
|
+
Set <args><args/> --int-interactive</args>.
|
|
360
|
+
</if>
|
|
355
361
|
Only output the following <template/> and then call the
|
|
356
362
|
tool `Skill(skill: "ase:ase-task-grill", args: "<args/>")`
|
|
357
363
|
to invoke the `ase:ase-task-grill` skill again in order to
|
|
@@ -365,6 +371,15 @@ Set <args>--int-reuse-task</args>.
|
|
|
365
371
|
|
|
366
372
|
- If <result/> is `EDIT`:
|
|
367
373
|
<expand name="handoff-args"/>
|
|
374
|
+
<if condition="<getopt-option-quiet/> is `true`">
|
|
375
|
+
Set <args><args/> --quiet</args>.
|
|
376
|
+
</if>
|
|
377
|
+
<if condition="<getopt-option-int-interactive/> is `true`">
|
|
378
|
+
Set <args><args/> --interactive</args>.
|
|
379
|
+
</if>
|
|
380
|
+
<if condition="<getopt-option-focus/> is not equal `all`">
|
|
381
|
+
Set <args><args/> --focus <getopt-option-focus/></args>.
|
|
382
|
+
</if>
|
|
368
383
|
Only output the following <template/> and then call the
|
|
369
384
|
tool `Skill(skill: "ase:ase-task-edit", args: "<args/>")`
|
|
370
385
|
to invoke the `ase:ase-task-edit` skill in order to *edit*
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
[`--ground`|`-G`]
|
|
14
14
|
[`--focus`|`-f` *section*[,...]]
|
|
15
15
|
[`--force`|`-F`]
|
|
16
|
+
[`--quiet`|`-q`]
|
|
16
17
|
[`--next`|`-n` *option*[,...]]
|
|
17
18
|
[*id*]
|
|
18
19
|
|
|
@@ -61,7 +62,7 @@ persisted, its `Tags:` frontmatter key records each grilled section as
|
|
|
61
62
|
its own tag `grilled:`*section* (lower-case, kept alongside the tags of
|
|
62
63
|
previously grilled sections, e.g. `grilled:specification,
|
|
63
64
|
grilled:design`), and a `PLAN CHANGES` box shows the bullet-points
|
|
64
|
-
changed by the round. Finally, the user is offered a complete
|
|
65
|
+
changed by the round (unless `--quiet` is given). Finally, the user is offered a complete
|
|
65
66
|
re-grilling (with the same grilling options), or a hand-off to editing,
|
|
66
67
|
implementation, or draft.
|
|
67
68
|
|
|
@@ -123,19 +124,28 @@ in state `[-]` (cancelled) or `[>]` (deferred) are never questioned.
|
|
|
123
124
|
|
|
124
125
|
- `--focus`|`-f` *section*[,...]:
|
|
125
126
|
Grill only the given plan *section*(s), in the given order. Each
|
|
126
|
-
*section* is one of `SPECIFICATION` (
|
|
127
|
-
(
|
|
128
|
-
case-
|
|
129
|
-
to `SPECIFICATION,DESIGN,VERIFICATION`. The questions
|
|
130
|
-
from the themes of the focused sections only, while the
|
|
131
|
-
stays the context, and
|
|
132
|
-
|
|
127
|
+
*section* is one of `SPECIFICATION` (also `SPEC` or `WHAT`), `DESIGN`
|
|
128
|
+
(also `DES` or `HOW`), or `VERIFICATION` (also `VERIFY`, `VER`, or
|
|
129
|
+
`WHEN`), matched case-sensitively, or the sentinel `all` (default),
|
|
130
|
+
which expands to `SPECIFICATION,DESIGN,VERIFICATION`. The questions
|
|
131
|
+
are derived from the themes of the focused sections only, while the
|
|
132
|
+
entire plan stays the context, and an answer requiring a change
|
|
133
|
+
outside of the focus is applied nevertheless and reported by a
|
|
134
|
+
warning. An unknown, empty, or duplicate *section* token aborts the
|
|
135
|
+
skill. It is forwarded on a re-grilling and on a hand-off to
|
|
136
|
+
`ase-task-edit`, but not on a hand-off to another skill.
|
|
133
137
|
|
|
134
138
|
- `--force`|`-F`:
|
|
135
139
|
Re-grill already grilled sections completely, i.e., ignore their
|
|
136
140
|
`grilled:`*section* tags instead of skipping them resp. re-asking
|
|
137
141
|
only their `[?]` bullet-points.
|
|
138
142
|
|
|
143
|
+
- `--quiet`|`-q`:
|
|
144
|
+
Do not print the `PLAN CHANGES` box of the bullet-points changed by
|
|
145
|
+
a round. The status lines and the dialogs stay. It is forwarded on a
|
|
146
|
+
re-grilling and on a hand-off to `ase-task-edit`, but not on a
|
|
147
|
+
hand-off to another skill.
|
|
148
|
+
|
|
139
149
|
- `--next`|`-n` *option*[,...]:
|
|
140
150
|
Automatically answer the user dialog for the next step (at the end
|
|
141
151
|
of this skill). *option* is a single token or a *comma-separated
|
|
File without changes
|
|
File without changes
|