@rse/ase 0.9.9 → 0.9.11
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/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/meta/ase-dialog.md +52 -24
- package/plugin/meta/ase-format-arch.md +3 -3
- package/plugin/meta/ase-format-spec.md +13 -4
- package/plugin/meta/ase-getopt.md +11 -7
- package/plugin/meta/ase-skill.md +17 -10
- package/plugin/package.json +1 -1
- package/plugin/skills/ase-arch-analyze/SKILL.md +6 -1
- package/plugin/skills/ase-arch-discover/SKILL.md +9 -6
- package/plugin/skills/ase-code-analyze/SKILL.md +12 -5
- package/plugin/skills/ase-code-craft/SKILL.md +20 -16
- package/plugin/skills/ase-code-explain/SKILL.md +6 -1
- package/plugin/skills/ase-code-insight/SKILL.md +11 -5
- package/plugin/skills/ase-code-lint/SKILL.md +16 -10
- package/plugin/skills/ase-code-refactor/SKILL.md +20 -16
- package/plugin/skills/ase-code-resolve/SKILL.md +27 -22
- package/plugin/skills/ase-docs-proofread/SKILL.md +16 -10
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +26 -10
- package/plugin/skills/ase-meta-changelog/SKILL.md +16 -5
- package/plugin/skills/ase-meta-chat/SKILL.md +6 -1
- package/plugin/skills/ase-meta-commit/SKILL.md +5 -0
- package/plugin/skills/ase-meta-diaboli/SKILL.md +9 -5
- package/plugin/skills/ase-meta-diff/SKILL.md +1 -1
- package/plugin/skills/ase-meta-evaluate/SKILL.md +20 -12
- package/plugin/skills/ase-meta-persona/SKILL.md +6 -1
- package/plugin/skills/ase-meta-quorum/SKILL.md +15 -3
- package/plugin/skills/ase-meta-search/SKILL.md +9 -1
- package/plugin/skills/ase-meta-steelman/SKILL.md +5 -1
- package/plugin/skills/ase-meta-why/SKILL.md +6 -4
- package/plugin/skills/ase-task-condense/SKILL.md +5 -4
- package/plugin/skills/ase-task-delete/SKILL.md +6 -1
- package/plugin/skills/ase-task-edit/SKILL.md +10 -8
- package/plugin/skills/ase-task-grill/SKILL.md +35 -13
- package/plugin/skills/ase-task-id/SKILL.md +10 -3
- package/plugin/skills/ase-task-implement/SKILL.md +5 -4
- package/plugin/skills/ase-task-preflight/SKILL.md +5 -4
- package/plugin/skills/ase-task-reboot/SKILL.md +7 -6
- package/plugin/skills/ase-task-rename/SKILL.md +15 -1
|
@@ -12,11 +12,16 @@ effort: high
|
|
|
12
12
|
|
|
13
13
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
14
14
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
15
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
15
16
|
|
|
16
17
|
<skill name="ase-task-delete">
|
|
17
18
|
Delete a Task Plan
|
|
18
19
|
</skill>
|
|
19
20
|
|
|
21
|
+
<expand name="getopt" arg1="ase-task-delete">
|
|
22
|
+
$ARGUMENTS
|
|
23
|
+
</expand>
|
|
24
|
+
|
|
20
25
|
<objective>
|
|
21
26
|
*Delete* the task plan.
|
|
22
27
|
</objective>
|
|
@@ -32,7 +37,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
32
37
|
|
|
33
38
|
1. **Determine Task:**
|
|
34
39
|
|
|
35
|
-
1. Set <id
|
|
40
|
+
1. Set <id><getopt-arguments/></id> initially, with any leading and trailing
|
|
36
41
|
whitespace stripped.
|
|
37
42
|
Inherit the always existing <ase-task-id/> from the current context.
|
|
38
43
|
Inherit the always existing <ase-session-id/> from the current context.
|
|
@@ -226,11 +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
|
|
230
|
-
step. For this you *MUST* use the custom `custom-dialog` and
|
|
231
|
-
*NOT* the `AskUserQuestion` based "user-dialog":
|
|
232
229
|
|
|
233
|
-
<
|
|
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">
|
|
234
235
|
Previous Plan: Should the previous plan content be overwritten, refined, or preserved?
|
|
235
236
|
OVERWRITE: Continue operation, overwrite previous plan.
|
|
236
237
|
REFINE: Continue operation, refine previous plan.
|
|
@@ -376,11 +377,12 @@ Set <content-dirty>true</content-dirty>.
|
|
|
376
377
|
</template>
|
|
377
378
|
|
|
378
379
|
- If <getopt-option-next/> is equal to `none`:
|
|
379
|
-
Let the *user interactively choose* what to do as the next
|
|
380
|
-
step. For this you *MUST* use the custom `custom-dialog` and
|
|
381
|
-
*NOT* the `AskUserQuestion` based "user-dialog":
|
|
382
380
|
|
|
383
|
-
<
|
|
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">
|
|
384
386
|
Next Step: How would you like to proceed with the plan?
|
|
385
387
|
DONE: Mark plan finalized, exit planning loop.
|
|
386
388
|
GRILL: Hand off plan to grilling.
|
|
@@ -175,14 +175,32 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
175
175
|
|
|
176
176
|
2. Check the code base and your world knowledge and
|
|
177
177
|
use this information to find *up to three* grounded
|
|
178
|
-
alternative answers <answer-N-K/> (K={2,3,4})
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
178
|
+
alternative answers <answer-N-K/> (K={2,3,4}), so there
|
|
179
|
+
are between two and four answer options in total.
|
|
180
|
+
|
|
181
|
+
3. In the following, you *MUST* *NOT* use the
|
|
182
|
+
<user-dialog-tool/> tool! Instead, you *MUST* just show a
|
|
183
|
+
custom output, let the user enter input, and then you set
|
|
184
|
+
the result accordingly.
|
|
185
|
+
|
|
186
|
+
Let the user select the <answer-N/> out of the answer
|
|
187
|
+
alternatives <answer-N-K/> by raising a question with the
|
|
188
|
+
following custom dialog, where per alternative <answer-N-K/>
|
|
189
|
+
you determine a brief label <answer-N-K-label/> and a
|
|
190
|
+
description <answer-N-K-description/>, and you mark the
|
|
191
|
+
<answer-N-1/> by prefixing its description with
|
|
192
|
+
`⚝ **CURRENT PLAN** ⚝ `. Emit only the answer lines for the
|
|
193
|
+
alternatives <answer-N-K/> you actually determined in the
|
|
194
|
+
previous step (between two and four lines in total):
|
|
195
|
+
|
|
196
|
+
<expand name="custom-dialog" arg1="--other">
|
|
197
|
+
<aspect-N/>: <question-N/>
|
|
198
|
+
<answer-N-1-label/>: ⚝ **CURRENT PLAN** ⚝ <answer-N-1-description/>
|
|
199
|
+
<answer-N-K-label/>: <answer-N-K-description/>
|
|
200
|
+
[...]
|
|
201
|
+
</expand>
|
|
202
|
+
|
|
203
|
+
Set <answer-N/> to the selected <result/>.
|
|
186
204
|
|
|
187
205
|
4. Output the following <template/>:
|
|
188
206
|
|
|
@@ -199,7 +217,10 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
199
217
|
|
|
200
218
|
4. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
201
219
|
`ase` MCP server and use the `text` field of its response for
|
|
202
|
-
<timestamp-modified/> information.
|
|
220
|
+
<timestamp-modified/> information. If <timestamp-created/> is
|
|
221
|
+
still unset (because the previous <plan/> had no `Created:`
|
|
222
|
+
line), set <timestamp-created><timestamp-modified/></timestamp-created>
|
|
223
|
+
(fall back to the modified timestamp). Then insert the current
|
|
203
224
|
<ase-task-id/>, previous <timestamp-created/>, and refreshed
|
|
204
225
|
<timestamp-modified/> information and calculate the number of
|
|
205
226
|
words <words/> of <plan/>.
|
|
@@ -239,11 +260,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
239
260
|
</template>
|
|
240
261
|
|
|
241
262
|
- If <getopt-option-next/> is equal to `none`:
|
|
242
|
-
Let the *user interactively choose* what to do as the next
|
|
243
|
-
step. For this you *MUST* use the custom `custom-dialog` and
|
|
244
|
-
*NOT* the `AskUserQuestion` based "user-dialog":
|
|
245
263
|
|
|
246
|
-
<
|
|
264
|
+
In the following, you *MUST* *NOT* use the <user-dialog-tool/>
|
|
265
|
+
tool! Instead, you *MUST* just show a custom output, let the
|
|
266
|
+
user enter input, and then you set the result accordingly.
|
|
267
|
+
|
|
268
|
+
<expand name="custom-dialog" arg1="--no-other">
|
|
247
269
|
Next Step: How would you like to proceed with the plan?
|
|
248
270
|
DONE: Stop processing.
|
|
249
271
|
EDIT: Hand off plan to editing.
|
|
@@ -12,17 +12,23 @@ effort: high
|
|
|
12
12
|
|
|
13
13
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
14
14
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
15
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
15
16
|
|
|
16
17
|
<skill name="ase-task-id">
|
|
17
18
|
Configure Task Id
|
|
18
19
|
</skill>
|
|
19
20
|
|
|
21
|
+
<expand name="getopt" arg1="ase-task-id">
|
|
22
|
+
$ARGUMENTS
|
|
23
|
+
</expand>
|
|
24
|
+
|
|
20
25
|
<objective>
|
|
21
26
|
*Get* or *set* the unique *task id* of the current session.
|
|
22
27
|
</objective>
|
|
23
28
|
|
|
24
29
|
1. Determine request:
|
|
25
|
-
<request
|
|
30
|
+
<request><getopt-arguments/></request>
|
|
31
|
+
Inherit the always existing <ase-session-id/> from the current context.
|
|
26
32
|
|
|
27
33
|
2. <if condition="<request/> is NOT empty AND <request/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`">
|
|
28
34
|
Only output the following <template/> and then immediately
|
|
@@ -35,8 +41,9 @@ Configure Task Id
|
|
|
35
41
|
|
|
36
42
|
3. <if condition="<request/> is empty">
|
|
37
43
|
- Call the `ase_task_id(session: "<ase-session-id/>")`
|
|
38
|
-
tool from the `ase` MCP server and set
|
|
39
|
-
|
|
44
|
+
tool from the `ase` MCP server and set <text/> to its
|
|
45
|
+
`text` output. Check the response as mandated above; only
|
|
46
|
+
on a clean response set <ase-task-id><text/></ase-task-id>.
|
|
40
47
|
|
|
41
48
|
- Output:
|
|
42
49
|
<template>
|
|
@@ -184,11 +184,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
184
184
|
</template>
|
|
185
185
|
|
|
186
186
|
- If <getopt-option-next/> is equal to `none`:
|
|
187
|
-
Let the *user interactively choose* what to do as the next
|
|
188
|
-
step. For this you *MUST* use the custom `custom-dialog` and
|
|
189
|
-
*NOT* the `AskUserQuestion` based "user-dialog":
|
|
190
187
|
|
|
191
|
-
<
|
|
188
|
+
In the following, you *MUST* *NOT* use the <user-dialog-tool/>
|
|
189
|
+
tool! Instead, you *MUST* just show a custom output, let the
|
|
190
|
+
user enter input, and then you set the result accordingly.
|
|
191
|
+
|
|
192
|
+
<expand name="custom-dialog" arg1="--no-other">
|
|
192
193
|
Next Step: How would you like to proceed with the plan?
|
|
193
194
|
DONE: Stop processing and PRESERVE task plan.
|
|
194
195
|
DELETE: Stop processing and DELETE the task plan.
|
|
@@ -196,11 +196,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
196
196
|
</template>
|
|
197
197
|
|
|
198
198
|
- If <getopt-option-next/> is equal to `none`:
|
|
199
|
-
Let the *user interactively choose* what to do as the next
|
|
200
|
-
step. For this you *MUST* use the custom `custom-dialog` and
|
|
201
|
-
*NOT* the `AskUserQuestion` based "user-dialog":
|
|
202
199
|
|
|
203
|
-
<
|
|
200
|
+
In the following, you *MUST* *NOT* use the <user-dialog-tool/>
|
|
201
|
+
tool! Instead, you *MUST* just show a custom output, let the
|
|
202
|
+
user enter input, and then you set the result accordingly.
|
|
203
|
+
|
|
204
|
+
<expand name="custom-dialog" arg1="--no-other">
|
|
204
205
|
Next Step: How would you like to proceed with the plan?
|
|
205
206
|
DONE: Stop processing.
|
|
206
207
|
EDIT: Hand processing off to editing.
|
|
@@ -119,10 +119,10 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
119
119
|
Set <instruction><text/></instruction> (set instruction to extracted text).
|
|
120
120
|
</if>
|
|
121
121
|
|
|
122
|
-
5. <
|
|
122
|
+
5. <if condition="<content/> contains '- **WHY**: <text/>' and <instruction/> is NOT empty">
|
|
123
123
|
Set <instruction><instruction/>, BECAUSE <text/></instruction>
|
|
124
124
|
(append extracted text to instruction).
|
|
125
|
-
</
|
|
125
|
+
</if>
|
|
126
126
|
|
|
127
127
|
6. <if condition="<content/> contains 'Created: <text/>'">
|
|
128
128
|
Set <timestamp-created><text/></timestamp-created> (set
|
|
@@ -181,11 +181,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
181
181
|
</template>
|
|
182
182
|
|
|
183
183
|
- If <getopt-option-next/> is equal to `none`:
|
|
184
|
-
Let the *user interactively choose* what to do as the next
|
|
185
|
-
step. For this you *MUST* use the custom `custom-dialog` and
|
|
186
|
-
*NOT* the `AskUserQuestion` based "user-dialog":
|
|
187
184
|
|
|
188
|
-
<
|
|
185
|
+
In the following, you *MUST* *NOT* use the <user-dialog-tool/>
|
|
186
|
+
tool! Instead, you *MUST* just show a custom output, let the
|
|
187
|
+
user enter input, and then you set the result accordingly.
|
|
188
|
+
|
|
189
|
+
<expand name="custom-dialog" arg1="--no-other">
|
|
189
190
|
Next Step: How would you like to proceed with the plan?
|
|
190
191
|
DONE: Stop processing.
|
|
191
192
|
EDIT: Hand off plan to editing.
|
|
@@ -12,11 +12,16 @@ effort: high
|
|
|
12
12
|
|
|
13
13
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
14
14
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
15
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
15
16
|
|
|
16
17
|
<skill name="ase-task-rename">
|
|
17
18
|
Rename a Task Plan
|
|
18
19
|
</skill>
|
|
19
20
|
|
|
21
|
+
<expand name="getopt" arg1="ase-task-rename">
|
|
22
|
+
$ARGUMENTS
|
|
23
|
+
</expand>
|
|
24
|
+
|
|
20
25
|
<objective>
|
|
21
26
|
*Rename* the task plan.
|
|
22
27
|
</objective>
|
|
@@ -32,7 +37,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
32
37
|
|
|
33
38
|
1. **Determine Task:**
|
|
34
39
|
|
|
35
|
-
1. Parse <arguments
|
|
40
|
+
1. Parse <arguments><getopt-arguments/></arguments> into a whitespace-separated
|
|
36
41
|
list of tokens. Inherit the always existing <ase-task-id/> and
|
|
37
42
|
<ase-session-id/> from the current context. Do not output anything.
|
|
38
43
|
|
|
@@ -57,6 +62,15 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
57
62
|
</template>
|
|
58
63
|
</if>
|
|
59
64
|
|
|
65
|
+
5. <if condition="<old/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$` OR <new/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`">
|
|
66
|
+
Only output the following <template/> and then immediately
|
|
67
|
+
*STOP* processing the entire current skill:
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
⧉ **ASE**: ☻ skill: **ase-task-rename**, ▶ ERROR: invalid task id (expected `^[a-zA-Z][a-zA-Z0-9_-]*$`)
|
|
71
|
+
</template>
|
|
72
|
+
</if>
|
|
73
|
+
|
|
60
74
|
2. **Perform Operation**:
|
|
61
75
|
|
|
62
76
|
1. Call the `ase_task_rename(old: "<old/>", new: "<new/>")` tool of the
|