@rse/ase 0.9.43 → 0.9.45
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-artifact.js +28 -24
- package/dst/ase-config.js +27 -36
- package/dst/ase-diagram.js +15 -35
- package/dst/ase-getopt.js +10 -15
- package/dst/ase-hook.js +29 -27
- package/dst/ase-kv.js +24 -29
- package/dst/ase-log.js +10 -3
- package/dst/ase-markdown.js +135 -102
- package/dst/ase-mcp.js +3 -10
- package/dst/ase-meta.js +6 -4
- package/dst/ase-persona.js +7 -11
- package/dst/ase-service.js +28 -28
- package/dst/ase-setup.js +65 -28
- package/dst/ase-skills.js +2 -2
- package/dst/ase-statusline.js +26 -34
- package/dst/ase-task.js +60 -63
- package/dst/ase-version.js +2 -1
- package/dst/ase.js +7 -11
- package/package.json +12 -10
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +2 -2
- package/plugin/agents/ase-code-lint.md +15 -4
- package/plugin/agents/ase-docs-proofread.md +9 -1
- package/plugin/agents/ase-meta-chat.md +19 -13
- package/plugin/agents/ase-meta-diagram.md +1 -1
- package/plugin/agents/ase-meta-search.md +1 -2
- package/plugin/etc/eslint.mjs +0 -2
- package/plugin/meta/ase-common-task.md +145 -0
- package/plugin/meta/ase-constitution.md +5 -2
- package/plugin/meta/ase-control.md +1 -1
- package/plugin/meta/ase-dialog.md +7 -7
- package/plugin/meta/ase-format-arch.md +12 -12
- package/plugin/meta/ase-format-spec.md +23 -23
- package/plugin/meta/ase-format-task.md +9 -11
- package/plugin/meta/ase-getopt.md +1 -1
- package/plugin/meta/ase-persona.md +3 -3
- package/plugin/meta/ase-skill.md +3 -3
- package/plugin/meta/ase-tenets.md +4 -4
- package/plugin/package.json +8 -8
- package/plugin/skills/ase-arch-analyze/SKILL.md +2 -3
- package/plugin/skills/ase-arch-analyze/help.md +2 -2
- package/plugin/skills/ase-arch-discover/SKILL.md +2 -2
- package/plugin/skills/ase-arch-discover/help.md +3 -2
- package/plugin/skills/ase-code-analyze/SKILL.md +0 -1
- package/plugin/skills/ase-code-craft/SKILL.md +11 -11
- package/plugin/skills/ase-code-lint/SKILL.md +31 -13
- package/plugin/skills/ase-code-refactor/SKILL.md +13 -13
- package/plugin/skills/ase-code-refactor/help.md +1 -1
- package/plugin/skills/ase-code-resolve/SKILL.md +10 -10
- package/plugin/skills/ase-code-resolve/help.md +1 -1
- package/plugin/skills/ase-docs-distill/SKILL.md +6 -6
- package/plugin/skills/ase-docs-distill/help.md +6 -4
- package/plugin/skills/ase-docs-proofread/SKILL.md +23 -8
- package/plugin/skills/ase-meta-brainstorm/help.md +1 -1
- package/plugin/skills/ase-meta-changelog/SKILL.md +9 -5
- package/plugin/skills/ase-meta-commit/SKILL.md +8 -6
- package/plugin/skills/ase-meta-compat/SKILL.md +14 -5
- package/plugin/skills/ase-meta-diaboli/SKILL.md +6 -6
- package/plugin/skills/ase-meta-diff/SKILL.md +10 -10
- package/plugin/skills/ase-meta-evaluate/SKILL.md +6 -9
- package/plugin/skills/ase-meta-persona/SKILL.md +1 -1
- package/plugin/skills/ase-meta-quorum/SKILL.md +43 -12
- package/plugin/skills/ase-meta-search/SKILL.md +1 -1
- package/plugin/skills/ase-meta-search/help.md +4 -2
- package/plugin/skills/ase-meta-steelman/SKILL.md +5 -5
- package/plugin/skills/ase-meta-steelman/help.md +5 -3
- package/plugin/skills/ase-meta-why/SKILL.md +2 -2
- package/plugin/skills/ase-meta-why/help.md +3 -1
- package/plugin/skills/ase-sync-export/SKILL.md +20 -17
- package/plugin/skills/ase-sync-import/SKILL.md +20 -16
- package/plugin/skills/ase-sync-import/help.md +2 -2
- package/plugin/skills/ase-sync-reconcile/SKILL.md +10 -10
- package/plugin/skills/ase-sync-reconcile/help.md +1 -1
- package/plugin/skills/ase-task-condense/SKILL.md +39 -85
- package/plugin/skills/ase-task-delete/SKILL.md +1 -1
- package/plugin/skills/ase-task-edit/SKILL.md +43 -51
- package/plugin/skills/ase-task-grill/SKILL.md +11 -13
- package/plugin/skills/ase-task-id/SKILL.md +7 -3
- package/plugin/skills/ase-task-implement/SKILL.md +18 -111
- package/plugin/skills/ase-task-implement/help.md +2 -2
- package/plugin/skills/ase-task-list/SKILL.md +3 -0
- package/plugin/skills/ase-task-preflight/SKILL.md +22 -115
- package/plugin/skills/ase-task-reboot/SKILL.md +39 -71
- package/plugin/skills/ase-task-reboot/help.md +2 -1
- package/plugin/skills/ase-task-view/SKILL.md +7 -7
|
@@ -31,112 +31,43 @@ for a corresponding, *complete source code change set*.
|
|
|
31
31
|
</objective>
|
|
32
32
|
|
|
33
33
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md
|
|
34
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-common-task.md
|
|
34
35
|
|
|
35
36
|
Procedure
|
|
36
37
|
---------
|
|
37
38
|
|
|
38
39
|
1. **Determine Task:**
|
|
39
40
|
|
|
40
|
-
1. Set <instruction><getopt-arguments/></instruction> initially
|
|
41
|
+
1. Set <instruction><getopt-arguments/></instruction> initially, with any
|
|
42
|
+
leading and trailing whitespace stripped.
|
|
41
43
|
Inherit the always existing <ase-task-id/> from the current context.
|
|
42
44
|
Inherit the always existing <ase-session-id/> from the current context.
|
|
43
45
|
Do not output anything.
|
|
44
46
|
|
|
45
47
|
2. React on task id:
|
|
46
48
|
|
|
47
|
-
|
|
48
|
-
<instruction/> matches the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`
|
|
49
|
-
">
|
|
50
|
-
Set <ase-task-id><instruction/></ase-task-id> (set task
|
|
51
|
-
id to instruction) and <instruction></instruction> (set
|
|
52
|
-
instruction empty), call the `ase_task_id(id: "<ase-task-id/>",
|
|
53
|
-
session: "<ase-session-id/>")` tool from the `ase` MCP
|
|
54
|
-
server to switch the task, and then only output the
|
|
55
|
-
following <template/>:
|
|
56
|
-
|
|
57
|
-
<template>
|
|
58
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **task given**
|
|
59
|
-
</template>
|
|
60
|
-
</if>
|
|
61
|
-
|
|
62
|
-
2. <elseif condition="
|
|
63
|
-
<instruction/> has the format `<id/>: <text/>` where
|
|
64
|
-
<id/> matches the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$` and
|
|
65
|
-
<text/> is *empty*
|
|
66
|
-
">
|
|
67
|
-
Set <instruction></instruction> (set instruction to empty)
|
|
68
|
-
and <ase-task-id><id/></ase-task-id> (set task id to
|
|
69
|
-
id) and call the `ase_task_id(id: "<ase-task-id/>", session:
|
|
70
|
-
"<ase-session-id/>")` tool from the `ase` MCP server to
|
|
71
|
-
switch the task, and then only output the following
|
|
72
|
-
<template/>:
|
|
73
|
-
|
|
74
|
-
<template>
|
|
75
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **task given**
|
|
76
|
-
</template>
|
|
77
|
-
</elseif>
|
|
78
|
-
|
|
79
|
-
3. <elseif condition="<instruction/> is NOT empty">
|
|
80
|
-
The argument is neither empty nor a valid task id. As this
|
|
81
|
-
skill only accepts an optional `[<id>]` argument and *never*
|
|
82
|
-
a free-text instruction, only output the following <template/>
|
|
83
|
-
and then immediately *STOP* processing the entire current skill:
|
|
84
|
-
|
|
85
|
-
<template>
|
|
86
|
-
⧉ **ASE**: ☻ skill: **ase-task-preflight**, ▶ ERROR: expected single `[<id>]` argument
|
|
87
|
-
</template>
|
|
88
|
-
</elseif>
|
|
49
|
+
<expand name="task-react-id" arg1="ase-task-preflight"></expand>
|
|
89
50
|
|
|
90
51
|
2. **Determine Operation:**
|
|
91
52
|
|
|
92
53
|
1. Determine the current task plan content:
|
|
93
54
|
|
|
94
|
-
<
|
|
95
|
-
<getopt-option-int-reuse-task/> is equal `true`
|
|
96
|
-
*and* a `ase_task_save(id: '<ase-task-id/>', ...)` tool call
|
|
97
|
-
exists earlier in the current session
|
|
98
|
-
">
|
|
99
|
-
Set <text/> to the `text` argument of the most recent
|
|
100
|
-
`ase_task_save(id: '<ase-task-id/>', ...)` tool call,
|
|
101
|
-
*without* calling `ase_task_load` again. Set <status>plan
|
|
102
|
-
reused</status>. Do not output anything.
|
|
103
|
-
</if>
|
|
104
|
-
<else>
|
|
105
|
-
Call the `ase_task_load(id: "<ase-task-id/>")` tool of the
|
|
106
|
-
`ase` MCP server to load the current task plan content and
|
|
107
|
-
set <text/> to the `text` output field of this `ase_task_load`
|
|
108
|
-
tool call. Do not output anything related to this MCP tool
|
|
109
|
-
call. Set <status>plan loaded</status>.
|
|
110
|
-
</else>
|
|
55
|
+
<expand name="task-load-content"></expand>
|
|
111
56
|
|
|
112
|
-
|
|
113
|
-
Set <content></content> (set content to empty).
|
|
114
|
-
Set <words/> to "0".
|
|
115
|
-
|
|
116
|
-
- If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:
|
|
117
|
-
Set <content><text/></content> (set content to text).
|
|
118
|
-
Calculate the number of words <words/> of <content/>.
|
|
119
|
-
|
|
120
|
-
Only output the following <template/>:
|
|
121
|
-
|
|
122
|
-
<template>
|
|
123
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **<status/>**
|
|
124
|
-
</template>
|
|
125
|
-
|
|
126
|
-
2. If the <content/> is still empty, complain and tell the user to
|
|
57
|
+
2. If the <task-content/> is still empty, complain and tell the user to
|
|
127
58
|
use the `ase-code-resolve`, `ase-code-refactor`, `ase-code-craft`,
|
|
128
59
|
or `ase-task-edit` skills first to create a task plan. Then
|
|
129
60
|
immediately stop processing this skill.
|
|
130
61
|
|
|
131
62
|
3. **Create Implementation Draft:**
|
|
132
63
|
|
|
133
|
-
1. Perform a *preflight* of the *implementation* of <content/> by creating a
|
|
64
|
+
1. Perform a *preflight* of the *implementation* of <task-content/> by creating a
|
|
134
65
|
draft for a corresponding, *complete artifact change set*
|
|
135
|
-
which *would* fully implement the task plan <content/>. Store
|
|
66
|
+
which *would* fully implement the task plan <task-content/>. Store
|
|
136
67
|
this artifact change set in *unified diff* format in <unified-diff/>.
|
|
137
68
|
|
|
138
69
|
2. Append this artifact change set <unified-diff/> to the end
|
|
139
|
-
of the <content/> with the following <template/>. If a section
|
|
70
|
+
of the <task-content/> with the following <template/>. If a section
|
|
140
71
|
named `## IMPLEMENTATION DRAFT` already exists from a
|
|
141
72
|
previous run of this skill, *replace* this entire existing
|
|
142
73
|
section.
|
|
@@ -151,20 +82,20 @@ Procedure
|
|
|
151
82
|
|
|
152
83
|
</template>
|
|
153
84
|
|
|
154
|
-
3. <if condition="<content/> contains '⚙ Modified:'">
|
|
85
|
+
3. <if condition="<task-content/> contains '⚙ Modified:'">
|
|
155
86
|
Update <timestamp-modified/> with the current time in
|
|
156
87
|
ISO-style format, which has to be determined by calling the
|
|
157
88
|
`ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the `ase`
|
|
158
89
|
MCP server and use the `text` field of its response. Update
|
|
159
|
-
the `⚙ Modified: ...` line of <content/> with the new
|
|
90
|
+
the `⚙ Modified: ...` line of <task-content/> with the new
|
|
160
91
|
`⚙ Modified: <timestamp-modified/>`.
|
|
161
92
|
Do not output anything.
|
|
162
93
|
</if>
|
|
163
94
|
|
|
164
95
|
4. Finally, call the `ase_task_save(id: "<ase-task-id/>",
|
|
165
|
-
text: "<content/>")` of the `ase` MCP server to save the updated
|
|
96
|
+
text: "<task-content/>")` tool of the `ase` MCP server to save the updated
|
|
166
97
|
task plan content. Calculate the number of words <words/> of
|
|
167
|
-
<content/>. Do not output anything related to this MCP tool call
|
|
98
|
+
<task-content/>. Do not output anything related to this MCP tool call
|
|
168
99
|
except the following <template/>:
|
|
169
100
|
|
|
170
101
|
<template>
|
|
@@ -175,38 +106,14 @@ Procedure
|
|
|
175
106
|
|
|
176
107
|
1. *Determine next step*:
|
|
177
108
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
Honor the pre-selected token.
|
|
187
|
-
Set <result><head/></result>.
|
|
188
|
-
|
|
189
|
-
- else:
|
|
190
|
-
Only output the following <template/> and then immediately
|
|
191
|
-
*STOP* processing the entire current skill:
|
|
192
|
-
|
|
193
|
-
<template>
|
|
194
|
-
⧉ **ASE**: ☻ skill: **ase-task-preflight**, ▶ ERROR: invalid `--next` token: **<head/>**
|
|
195
|
-
</template>
|
|
196
|
-
|
|
197
|
-
- If <getopt-option-next/> is equal to `none`:
|
|
198
|
-
|
|
199
|
-
In the following, you *MUST* *NOT* use your built-in
|
|
200
|
-
<user-dialog-tool/> tool! Instead, you *MUST* just show a
|
|
201
|
-
custom dialog according to the expanded `custom-dialog`
|
|
202
|
-
definition. You *MUST* closely follow this definition:
|
|
203
|
-
|
|
204
|
-
<expand name="custom-dialog" arg1="--no-other">
|
|
205
|
-
Next Step: How would you like to proceed with the plan?
|
|
206
|
-
DONE: Stop processing.
|
|
207
|
-
EDIT: Hand processing off to editing.
|
|
208
|
-
IMPLEMENT: Hand processing off to implementation.
|
|
209
|
-
</expand>
|
|
109
|
+
<expand name="task-next-select"
|
|
110
|
+
arg1="ase-task-preflight"
|
|
111
|
+
arg2="DONE|EDIT|IMPLEMENT">
|
|
112
|
+
Next Step: How would you like to proceed with the plan?
|
|
113
|
+
DONE: Stop processing.
|
|
114
|
+
EDIT: Hand processing off to editing.
|
|
115
|
+
IMPLEMENT: Hand processing off to implementation.
|
|
116
|
+
</expand>
|
|
210
117
|
|
|
211
118
|
2. Check the tool <result/> and dispatch accordingly:
|
|
212
119
|
|
|
@@ -244,6 +151,6 @@ Procedure
|
|
|
244
151
|
the current skill once the `Skill` tool was used.
|
|
245
152
|
|
|
246
153
|
<template>
|
|
247
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to
|
|
154
|
+
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan updated -- hand-off to implementation**
|
|
248
155
|
</template>
|
|
249
156
|
|
|
@@ -31,13 +31,15 @@ based on the existing *WHAT* and *WHY*.
|
|
|
31
31
|
</objective>
|
|
32
32
|
|
|
33
33
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md
|
|
34
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-common-task.md
|
|
34
35
|
|
|
35
36
|
Procedure
|
|
36
37
|
---------
|
|
37
38
|
|
|
38
39
|
1. **Determine Task:**
|
|
39
40
|
|
|
40
|
-
1. Set <instruction><getopt-arguments/></instruction> initially
|
|
41
|
+
1. Set <instruction><getopt-arguments/></instruction> initially, with any
|
|
42
|
+
leading and trailing whitespace stripped.
|
|
41
43
|
Inherit the always existing <ase-task-id/> from the current context.
|
|
42
44
|
Inherit the always existing <ase-session-id/> from the current context.
|
|
43
45
|
Do not output anything.
|
|
@@ -77,12 +79,12 @@ Procedure
|
|
|
77
79
|
the `text` output field of the `ase_task_load` tool call.
|
|
78
80
|
|
|
79
81
|
- If <text/> starts with `ERROR:` or `WARNING:`:
|
|
80
|
-
Set <content></content> (set content to empty).
|
|
82
|
+
Set <task-content></task-content> (set task content to empty).
|
|
81
83
|
Set <words/> to "0".
|
|
82
84
|
|
|
83
85
|
- If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:
|
|
84
|
-
Set <content><text/></content> (set content to text).
|
|
85
|
-
Calculate the number of words <words/> of <content/>.
|
|
86
|
+
Set <task-content><text/></task-content> (set task content to text).
|
|
87
|
+
Calculate the number of words <words/> of <task-content/>.
|
|
86
88
|
|
|
87
89
|
Only output the following <template/>:
|
|
88
90
|
|
|
@@ -90,7 +92,7 @@ Procedure
|
|
|
90
92
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan loaded**
|
|
91
93
|
</template>
|
|
92
94
|
|
|
93
|
-
2. <if condition="<content/> is empty">
|
|
95
|
+
2. <if condition="<task-content/> is empty">
|
|
94
96
|
Complain and tell the user to use the `ase-code-resolve`,
|
|
95
97
|
`ase-code-refactor`, `ase-code-craft`, or `ase-task-edit` skills
|
|
96
98
|
first to create a task plan. Then immediately stop processing
|
|
@@ -101,24 +103,24 @@ Procedure
|
|
|
101
103
|
|
|
102
104
|
1. Start with <instruction></instruction> (set instruction to empty).
|
|
103
105
|
|
|
104
|
-
2. <if condition="<content/> contains neither '- **WHAT**:' nor '- **WHY**:'">
|
|
105
|
-
Set <instruction><content/></instruction> (set instruction to content).
|
|
106
|
+
2. <if condition="<task-content/> contains neither '- **WHAT**:' nor '- **WHY**:'">
|
|
107
|
+
Set <instruction><task-content/></instruction> (set instruction to task content).
|
|
106
108
|
</if>
|
|
107
109
|
|
|
108
|
-
3. <if condition="<content/> contains '- **WHAT**: <text/>'">
|
|
110
|
+
3. <if condition="<task-content/> contains '- **WHAT**: <text/>'">
|
|
109
111
|
Set <instruction><text/></instruction> (set instruction to extracted text).
|
|
110
112
|
</if>
|
|
111
113
|
|
|
112
|
-
4. <if condition="<content/> contains '- **WHY**: <text/>' and <instruction/> is empty">
|
|
114
|
+
4. <if condition="<task-content/> contains '- **WHY**: <text/>' and <instruction/> is empty">
|
|
113
115
|
Set <instruction><text/></instruction> (set instruction to extracted text).
|
|
114
116
|
</if>
|
|
115
117
|
|
|
116
|
-
5. <if condition="<content/> contains '- **WHY**: <text/>' and <instruction/> is NOT empty">
|
|
118
|
+
5. <if condition="<task-content/> contains '- **WHY**: <text/>' and <instruction/> is NOT empty">
|
|
117
119
|
Set <instruction><instruction/>, BECAUSE <text/></instruction>
|
|
118
120
|
(append extracted text to instruction).
|
|
119
121
|
</if>
|
|
120
122
|
|
|
121
|
-
6. <if condition="<content/> contains '⎈ Created: <text/>'">
|
|
123
|
+
6. <if condition="<task-content/> contains '⎈ Created: <text/>'">
|
|
122
124
|
Set <timestamp-created><text/></timestamp-created> (set
|
|
123
125
|
timestamp-created to extracted text)
|
|
124
126
|
</if>
|
|
@@ -127,8 +129,8 @@ Procedure
|
|
|
127
129
|
The WHAT/WHY extraction yielded no usable text (e.g. a
|
|
128
130
|
`- **WHAT**:` line existed but captured empty text, so the
|
|
129
131
|
whole-content fallback above did not fire). Fall back to the
|
|
130
|
-
full previous plan content: set <instruction><content/></instruction>
|
|
131
|
-
(set instruction to content).
|
|
132
|
+
full previous plan content: set <instruction><task-content/></instruction>
|
|
133
|
+
(set instruction to task content).
|
|
132
134
|
<if condition="<instruction/> is still empty or contains only whitespace">
|
|
133
135
|
There is nothing to reboot from. Only output the following
|
|
134
136
|
<template/> and then immediately *STOP* processing the entire
|
|
@@ -141,30 +143,16 @@ Procedure
|
|
|
141
143
|
</if>
|
|
142
144
|
|
|
143
145
|
8. Create a new plan from scratch and store the result as
|
|
144
|
-
<content/> by closely following the defined plan format
|
|
146
|
+
<task-content/> by closely following the defined plan format
|
|
145
147
|
<format/> and injecting into it all the information from
|
|
146
148
|
the <instruction/> and all decisions you derived from the
|
|
147
149
|
<instruction/>.
|
|
148
150
|
|
|
149
|
-
9.
|
|
150
|
-
`ase` MCP server and use the `text` field of its response for
|
|
151
|
-
<timestamp-modified/> information. If <timestamp-created/> is
|
|
152
|
-
still unset (because the previous <content/> had no `Created:`
|
|
153
|
-
line), set <timestamp-created><timestamp-modified/></timestamp-created>
|
|
154
|
-
(fall back to the modified timestamp). Then insert the current
|
|
155
|
-
<ase-task-id/>, previous <timestamp-created/>, and refreshed
|
|
156
|
-
<timestamp-modified/> information and calculate the number of
|
|
157
|
-
words <words/> of <content/>.
|
|
151
|
+
9. <expand name="task-save-content" arg1="plan rebooted"></expand>
|
|
158
152
|
|
|
159
|
-
10.
|
|
160
|
-
text: "<content/>")` of the `ase` MCP server to save the updated
|
|
161
|
-
task plan content. Do not output anything related to this MCP
|
|
162
|
-
call.
|
|
163
|
-
|
|
164
|
-
11. Only output the following <template/> and continue processing:
|
|
153
|
+
10. Only output the following <template/> and continue processing:
|
|
165
154
|
|
|
166
155
|
<template>
|
|
167
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan rebooted**
|
|
168
156
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ⇌ instruction: **<instruction/>**, ▶ status: **instruction given**
|
|
169
157
|
</template>
|
|
170
158
|
|
|
@@ -172,39 +160,15 @@ Procedure
|
|
|
172
160
|
|
|
173
161
|
1. *Determine next step*:
|
|
174
162
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
Set <result><head/></result>.
|
|
185
|
-
|
|
186
|
-
- else:
|
|
187
|
-
Only output the following <template/> and then immediately
|
|
188
|
-
*STOP* processing the entire current skill:
|
|
189
|
-
|
|
190
|
-
<template>
|
|
191
|
-
⧉ **ASE**: ☻ skill: **ase-task-reboot**, ▶ ERROR: invalid `--next` token: **<head/>**
|
|
192
|
-
</template>
|
|
193
|
-
|
|
194
|
-
- If <getopt-option-next/> is equal to `none`:
|
|
195
|
-
|
|
196
|
-
In the following, you *MUST* *NOT* use your built-in
|
|
197
|
-
<user-dialog-tool/> tool! Instead, you *MUST* just show a
|
|
198
|
-
custom dialog according to the expanded `custom-dialog`
|
|
199
|
-
definition. You *MUST* closely follow this definition:
|
|
200
|
-
|
|
201
|
-
<expand name="custom-dialog" arg1="--no-other">
|
|
202
|
-
Next Step: How would you like to proceed with the plan?
|
|
203
|
-
DONE: Stop processing.
|
|
204
|
-
EDIT: Hand off plan to editing.
|
|
205
|
-
IMPLEMENT: Hand off plan to implementation.
|
|
206
|
-
PREFLIGHT: Hand off plan to pre-flighting.
|
|
207
|
-
</expand>
|
|
163
|
+
<expand name="task-next-select"
|
|
164
|
+
arg1="ase-task-reboot"
|
|
165
|
+
arg2="DONE|EDIT|IMPLEMENT|PREFLIGHT">
|
|
166
|
+
Next Step: How would you like to proceed with the plan?
|
|
167
|
+
DONE: Stop processing.
|
|
168
|
+
EDIT: Hand off plan to editing.
|
|
169
|
+
IMPLEMENT: Hand off plan to implementation.
|
|
170
|
+
PREFLIGHT: Hand off plan to pre-flighting.
|
|
171
|
+
</expand>
|
|
208
172
|
|
|
209
173
|
2. Check the tool <result/> and dispatch accordingly:
|
|
210
174
|
|
|
@@ -212,7 +176,7 @@ Procedure
|
|
|
212
176
|
Only output the following <template/> and then *STOP*.
|
|
213
177
|
|
|
214
178
|
<template>
|
|
215
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan
|
|
179
|
+
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan rebooted -- done**
|
|
216
180
|
</template>
|
|
217
181
|
|
|
218
182
|
- If <result/> is `EDIT`:
|
|
@@ -227,7 +191,7 @@ Procedure
|
|
|
227
191
|
skill once the `Skill` tool was used.
|
|
228
192
|
|
|
229
193
|
<template>
|
|
230
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan
|
|
194
|
+
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan rebooted -- hand-off to edit**
|
|
231
195
|
</template>
|
|
232
196
|
|
|
233
197
|
- If <result/> is `IMPLEMENT`:
|
|
@@ -236,11 +200,13 @@ Procedure
|
|
|
236
200
|
Set <args><args/> --next <getopt-option-next/></args>
|
|
237
201
|
</if>
|
|
238
202
|
Only output the following <template/> and then call the
|
|
239
|
-
`Skill(skill: "ase:ase-task-implement", args: "<args/>")`
|
|
240
|
-
to
|
|
203
|
+
tool `Skill(skill: "ase:ase-task-implement", args: "<args/>")`
|
|
204
|
+
to invoke the `ase:ase-task-implement` skill in order to
|
|
205
|
+
*implement* the updated plan. Immediately stop processing
|
|
206
|
+
the current skill once the `Skill` tool was used.
|
|
241
207
|
|
|
242
208
|
<template>
|
|
243
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan
|
|
209
|
+
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan rebooted -- hand-off to implementation**
|
|
244
210
|
</template>
|
|
245
211
|
|
|
246
212
|
- If <result/> is `PREFLIGHT`:
|
|
@@ -249,10 +215,12 @@ Procedure
|
|
|
249
215
|
Set <args><args/> --next <getopt-option-next/></args>
|
|
250
216
|
</if>
|
|
251
217
|
Only output the following <template/> and then call the
|
|
252
|
-
`Skill(skill: "ase:ase-task-preflight", args: "<args/>")`
|
|
253
|
-
to
|
|
218
|
+
tool `Skill(skill: "ase:ase-task-preflight", args: "<args/>")`
|
|
219
|
+
to invoke the `ase:ase-task-preflight` skill in order to
|
|
220
|
+
*preflight* the updated plan. Immediately stop processing
|
|
221
|
+
the current skill once the `Skill` tool was used.
|
|
254
222
|
|
|
255
223
|
<template>
|
|
256
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan
|
|
224
|
+
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan rebooted -- hand-off to pre-flight**
|
|
257
225
|
</template>
|
|
258
226
|
|
|
@@ -19,7 +19,8 @@ preserving the original creation timestamp, and writing a fresh plan
|
|
|
19
19
|
content via `ase_task_save`.
|
|
20
20
|
|
|
21
21
|
After the reboot, the user is asked whether to stop or hand off to
|
|
22
|
-
`ase-task-edit`,
|
|
22
|
+
`ase-task-edit`, `ase-task-implement`, or `ase-task-preflight`,
|
|
23
|
+
unless `--next` pre-selects this choice.
|
|
23
24
|
|
|
24
25
|
## OPTIONS
|
|
25
26
|
|
|
@@ -60,7 +60,7 @@ Procedure
|
|
|
60
60
|
output anything related to this MCP tool call.
|
|
61
61
|
|
|
62
62
|
- If <text/> starts with `ERROR:` or `WARNING:`:
|
|
63
|
-
Set <content></content> (set content to empty).
|
|
63
|
+
Set <task-content></task-content> (set task content to empty).
|
|
64
64
|
Only output the following <template/>:
|
|
65
65
|
|
|
66
66
|
<template>
|
|
@@ -68,18 +68,18 @@ Procedure
|
|
|
68
68
|
</template>
|
|
69
69
|
|
|
70
70
|
- If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:
|
|
71
|
-
Set <content><text/></content> (set content to text).
|
|
72
|
-
Calculate the number of words <words/> of <content/>.
|
|
71
|
+
Set <task-content><text/></task-content> (set task content to text).
|
|
72
|
+
Calculate the number of words <words/> of <task-content/>.
|
|
73
73
|
Only output the following <template/>:
|
|
74
74
|
|
|
75
75
|
<template>
|
|
76
76
|
⧉ **ASE**: ◉ task: **<id/>**, ✪ plan: **<words/>** words, ▶ status: **plan loaded**
|
|
77
77
|
</template>
|
|
78
78
|
|
|
79
|
-
2. <if condition="<content/> is not empty">
|
|
80
|
-
Treat <content/> as *verbatim* Markdown.
|
|
79
|
+
2. <if condition="<task-content/> is not empty">
|
|
80
|
+
Treat <task-content/> as *verbatim* Markdown.
|
|
81
81
|
*Render plan*: Only output the following <template/>. If
|
|
82
|
-
<getopt-option-full/> is *not* `true`, <content/> is longer than
|
|
82
|
+
<getopt-option-full/> is *not* `true`, <task-content/> is longer than
|
|
83
83
|
90 lines, and a `## IMPLEMENTATION DRAFT` section (from the
|
|
84
84
|
companion skill `ase-task-preflight`) exists, replace the entire
|
|
85
85
|
content of the `## IMPLEMENTATION DRAFT` section with `[...]`.
|
|
@@ -88,7 +88,7 @@ Procedure
|
|
|
88
88
|
|
|
89
89
|
<template>
|
|
90
90
|
<ase-tpl-head title="TASK"/>
|
|
91
|
-
<content/>
|
|
91
|
+
<task-content/>
|
|
92
92
|
<ase-tpl-foot title="TASK"/>
|
|
93
93
|
</template>
|
|
94
94
|
</if>
|