@rse/ase 0.0.55 → 0.0.57

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 (65) hide show
  1. package/package.json +1 -1
  2. package/plugin/.claude-plugin/plugin.json +1 -1
  3. package/plugin/.github/plugin/plugin.json +1 -1
  4. package/plugin/agents/ase-meta-search.md +2 -2
  5. package/plugin/etc/markdownlint.yaml +1 -0
  6. package/plugin/meta/ase-constitution.md +2 -1
  7. package/plugin/meta/ase-control.md +6 -6
  8. package/plugin/meta/ase-dialog.md +2 -2
  9. package/plugin/meta/ase-getopt.md +18 -15
  10. package/plugin/meta/ase-skill.md +24 -7
  11. package/plugin/package.json +1 -1
  12. package/plugin/skills/ase-arch-analyze/SKILL.md +3 -10
  13. package/plugin/skills/ase-arch-analyze/help.md +50 -0
  14. package/plugin/skills/ase-arch-discover/SKILL.md +5 -12
  15. package/plugin/skills/ase-arch-discover/help.md +48 -0
  16. package/plugin/skills/ase-code-analyze/SKILL.md +1 -9
  17. package/plugin/skills/ase-code-analyze/help.md +47 -0
  18. package/plugin/skills/ase-code-craft/SKILL.md +29 -19
  19. package/plugin/skills/ase-code-craft/help.md +66 -0
  20. package/plugin/skills/ase-code-explain/SKILL.md +1 -9
  21. package/plugin/skills/ase-code-explain/help.md +43 -0
  22. package/plugin/skills/ase-code-insight/SKILL.md +1 -9
  23. package/plugin/skills/ase-code-insight/help.md +43 -0
  24. package/plugin/skills/ase-code-lint/SKILL.md +1 -9
  25. package/plugin/skills/ase-code-lint/help.md +54 -0
  26. package/plugin/skills/ase-code-refactor/SKILL.md +29 -19
  27. package/plugin/skills/ase-code-refactor/help.md +66 -0
  28. package/plugin/skills/ase-code-resolve/SKILL.md +30 -20
  29. package/plugin/skills/ase-code-resolve/help.md +73 -0
  30. package/plugin/skills/ase-docs-proofread/SKILL.md +3 -12
  31. package/plugin/skills/ase-docs-proofread/help.md +54 -0
  32. package/plugin/skills/ase-meta-changes/SKILL.md +1 -9
  33. package/plugin/skills/ase-meta-changes/help.md +33 -0
  34. package/plugin/skills/ase-meta-chat/SKILL.md +1 -8
  35. package/plugin/skills/ase-meta-chat/help.md +45 -0
  36. package/plugin/skills/ase-meta-commit/SKILL.md +1 -8
  37. package/plugin/skills/ase-meta-commit/help.md +31 -0
  38. package/plugin/skills/ase-meta-evaluate/SKILL.md +5 -13
  39. package/plugin/skills/ase-meta-evaluate/help.md +52 -0
  40. package/plugin/skills/ase-meta-persona/SKILL.md +11 -5
  41. package/plugin/skills/ase-meta-persona/help.md +50 -0
  42. package/plugin/skills/ase-meta-quorum/SKILL.md +1 -8
  43. package/plugin/skills/ase-meta-quorum/help.md +41 -0
  44. package/plugin/skills/ase-meta-search/SKILL.md +1 -8
  45. package/plugin/skills/ase-meta-search/help.md +39 -0
  46. package/plugin/skills/ase-meta-why/SKILL.md +1 -8
  47. package/plugin/skills/ase-meta-why/help.md +39 -0
  48. package/plugin/skills/ase-task-delete/SKILL.md +16 -10
  49. package/plugin/skills/ase-task-delete/help.md +47 -0
  50. package/plugin/skills/ase-task-edit/SKILL.md +59 -33
  51. package/plugin/skills/ase-task-edit/help.md +75 -0
  52. package/plugin/skills/ase-task-id/SKILL.md +7 -6
  53. package/plugin/skills/ase-task-id/help.md +42 -0
  54. package/plugin/skills/ase-task-implement/SKILL.md +27 -16
  55. package/plugin/skills/ase-task-implement/help.md +56 -0
  56. package/plugin/skills/ase-task-list/SKILL.md +6 -5
  57. package/plugin/skills/ase-task-list/help.md +43 -0
  58. package/plugin/skills/ase-task-preflight/SKILL.md +29 -18
  59. package/plugin/skills/ase-task-preflight/help.md +58 -0
  60. package/plugin/skills/ase-task-reboot/SKILL.md +47 -32
  61. package/plugin/skills/ase-task-reboot/help.md +55 -0
  62. package/plugin/skills/ase-task-rename/SKILL.md +5 -10
  63. package/plugin/skills/ase-task-rename/help.md +44 -0
  64. package/plugin/skills/ase-task-view/SKILL.md +15 -9
  65. package/plugin/skills/ase-task-view/help.md +43 -0
@@ -0,0 +1,47 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-delete` - Delete a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-delete`
9
+ [`--help`|`-h`]
10
+ [*id*]
11
+
12
+ ## DESCRIPTION
13
+
14
+ The `ase-task-delete` skill deletes the *task plan* identified by
15
+ *id*. If *id* is omitted, the *current* task id (inherited from the
16
+ session context) is used. When the deleted task is the current task
17
+ and not the `default` task, the current task id is automatically
18
+ switched back to `default`.
19
+
20
+ The task plan is stored in `.ase/tasks/`*id*`/plan.md` files of the
21
+ project and can be alternatively deleted with the
22
+ "`ase task delete` *id*" command from outside the agent tool.
23
+
24
+ ## ARGUMENTS
25
+
26
+ *id*:
27
+ The unique identifier of the task plan to delete. If omitted,
28
+ the current task id is used.
29
+
30
+ ## EXAMPLES
31
+
32
+ Delete the current task plan:
33
+
34
+ ```text
35
+ ❯ /ase-task-delete
36
+ ```
37
+
38
+ Delete a specific task plan:
39
+
40
+ ```text
41
+ ❯ /ase-task-delete hello
42
+ ```
43
+
44
+ ## SEE ALSO
45
+
46
+ `ase-task-edit`, `ase-task-list`, `ase-task-view`,
47
+ `ase-task-rename`, `ase-task-reboot`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-edit
3
- argument-hint: "[<id> | <id>: <instruction> | <instruction>]"
3
+ argument-hint: "[--help|-h] [--plan|-p <option>] [--next|-n <option>] [<id> | <id>: <instruction> | <instruction>]"
4
4
  description: >
5
5
  Iteratively edit and refine a named plan for a task through a
6
6
  conversational loop. Each round, the current plan is shown and the
@@ -17,9 +17,6 @@ effort: high
17
17
  @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
18
18
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
19
19
 
20
- Iteratively Edit a Task Plan
21
- ============================
22
-
23
20
  <skill name="ase-task-edit">
24
21
  Iteratively Edit a Task Plan
25
22
  </skill>
@@ -30,16 +27,12 @@ Iteratively Edit a Task Plan
30
27
  $ARGUMENTS
31
28
  </expand>
32
29
 
33
- <role>
34
- Your role is an experienced, *expert-level assistant*,
35
- specialized in the *planning* of changes
36
- through *iterative conversational refinement*.
37
- </role>
38
-
30
+ <objective>
39
31
  Establish and refine the *task plan* purely through a *chat-driven
40
- loop*. The user steers each round via interactive dialog that offers
32
+ loop*. The user steers each round via an interactive dialog that offers
41
33
  continued refinement, finalization, or hand-off to implementation or
42
34
  preflight.
35
+ </objective>
43
36
 
44
37
  @${CLAUDE_SKILL_DIR}/../../meta/ase-plan.md
45
38
 
@@ -56,6 +49,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
56
49
 
57
50
  1. Set <instruction><getopt-arguments/></instruction> initially.
58
51
  Inherit the always existing <ase-task-id/> from the current context.
52
+ Inherit the always existing <ase-session-id/> from the current context.
59
53
  Do not output anything.
60
54
 
61
55
  2. React on task and/or instruction:
@@ -65,8 +59,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
65
59
  ">
66
60
  Set <ase-task-id><instruction/></ase-task-id> (set task
67
61
  id to instruction) and <instruction></instruction> (set
68
- instruction empty), call the `ase_task_id(id: <ase-task-id/>,
69
- session: <ase-session-id/>)` tool from the `ase` MCP
62
+ instruction empty), call the `ase_task_id(id: "<ase-task-id/>",
63
+ session: "<ase-session-id/>")` tool from the `ase` MCP
70
64
  server to switch the task, and then only output the
71
65
  following <template/>:
72
66
 
@@ -82,8 +76,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
82
76
  ">
83
77
  Set <instruction></instruction> (set instruction to empty)
84
78
  and <ase-task-id><id/></ase-task-id> (set task id to
85
- id) and call the `ase_task_id(id: <ase-task-id/>, session:
86
- <ase-session-id/>)` tool from the `ase` MCP server to
79
+ id) and call the `ase_task_id(id: "<ase-task-id/>", session:
80
+ "<ase-session-id/>")` tool from the `ase` MCP server to
87
81
  switch the task, and then only output the following
88
82
  <template/>:
89
83
 
@@ -99,8 +93,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
99
93
  ">
100
94
  Set <instruction><text/></instruction> (set instruction to
101
95
  text) and <ase-task-id><id/></ase-task-id> (set task id
102
- to id) and call the `ase_task_id(id: <ase-task-id/>, session:
103
- <ase-session-id/>)` tool from the `ase` MCP server to
96
+ to id) and call the `ase_task_id(id: "<ase-task-id/>", session:
97
+ "<ase-session-id/>")` tool from the `ase` MCP server to
104
98
  switch the task, and then only output the following
105
99
  <template/>:
106
100
 
@@ -133,7 +127,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
133
127
 
134
128
  2. **Determine Plan:**
135
129
 
136
- 1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
130
+ 1. Call the `ase_task_load(id: "<ase-task-id/>")` tool of the `ase` MCP
137
131
  server to load any existing plan content and set <text/> to
138
132
  the `text` output field of this `ase_task_load` tool call.
139
133
  Do not output anything related to this MCP tool call.
@@ -235,6 +229,28 @@ explicitly requested by this procedure via outputs based on a <template/>!
235
229
 
236
230
  Only output the following <template/> and continue processing:
237
231
 
232
+ <template>
233
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan refined**
234
+ ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ⇌ instruction: **<instruction/>**, ▶ status: **instruction given**
235
+ </template>
236
+
237
+ - If <result/> matches `OTHER: <text/>`:
238
+
239
+ Set <instruction><instruction/> <text/></instruction> (append
240
+ the user's free-text hint to the existing instruction).
241
+
242
+ Treat the <instruction/> as a *refinement instruction* for
243
+ the plan, and update <content/> in-place by *applying* the
244
+ requested <instruction/> to the *plan*. When refining the
245
+ plan this way, preserve the overall structure of the plan
246
+ and only modify what the user actually requested. Do *not*
247
+ rewrite unrelated sections of the plan.
248
+
249
+ Calculate the number of words <words/> of <content/>.
250
+ Set <content-dirty>true</content-dirty>.
251
+
252
+ Only output the following <template/> and continue processing:
253
+
238
254
  <template>
239
255
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan refined**
240
256
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ⇌ instruction: **<instruction/>**, ▶ status: **instruction given**
@@ -273,9 +289,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
273
289
 
274
290
  3. **Iterative Plan Refinement Loop:**
275
291
 
276
- *REPEAT* the following steps 3.1 to 3.4 in a *LOOP* until
277
- the user selects `DONE`, `IMPLEMENT`, or `PREFLIGHT`, or
278
- declines/cancels in the dialog of step 3.4:
292
+ *REPEAT* the following steps from 3.1 up to and including 3.4 in a
293
+ *LOOP* until the user selects `DONE`, `IMPLEMENT`, or `PREFLIGHT`,
294
+ or declines/cancels in the dialog of step 3.4:
279
295
 
280
296
  1. *Update timestamp*:
281
297
  <if condition="<content/> contains '✎ modified:' AND <content-dirty/> is 'true'">
@@ -289,7 +305,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
289
305
 
290
306
  2. *Persist plan*:
291
307
  <if condition="<content-dirty/> is 'true'">
292
- Call the `ase_task_save(id: <ase-task-id/>, text: <content/>)` tool
308
+ Call the `ase_task_save(id: "<ase-task-id/>", text: "<content/>")` tool
293
309
  of the `ase` MCP server to persist the current plan, and then
294
310
  set <content-dirty>false</content-dirty> again. Calculate the
295
311
  number of words <words/> of <content/>. Do not output anything
@@ -301,11 +317,12 @@ explicitly requested by this procedure via outputs based on a <template/>!
301
317
  </if>
302
318
 
303
319
  3. *Render plan*: Only output the following <template/>, so the user
304
- can read the plan and react to it. If <content/> is longer than
305
- 90 lines and a `※ IMPLEMENTATION DRAFT` section exists, replace
306
- the entire content of the `※ IMPLEMENTATION DRAFT` section with
307
- `[...]`. Else, do *not* truncate, summarize, or partially show
308
- the plan. Use the following <template/>:
320
+ can read the plan and react to it. If <content/> is longer
321
+ than 90 lines and a `※ IMPLEMENTATION DRAFT` section (from the
322
+ companion skill `ase-task-preflight`) exists, replace the entire
323
+ content of the `※ IMPLEMENTATION DRAFT` section with `[...]`.
324
+ Else, do *not* truncate, summarize, or partially show the plan.
325
+ Use the following <template/>:
309
326
 
310
327
  <template>
311
328
  ⧉ **ASE**: ┈┈┈┈┈┈┈┈────────━━━━━━━━**(** `TASK-PLAN-BEGIN` **)**━━━━━━━━────────┈┈┈┈┈┈┈┈
@@ -318,8 +335,17 @@ explicitly requested by this procedure via outputs based on a <template/>!
318
335
  - If <getopt-option-next/> matches the regex `^(DONE|IMPLEMENT|PREFLIGHT|REFINE)$`:
319
336
  Honor the pre-selection what to do as the next step.
320
337
  Set <result><getopt-option-next/></result>.
321
- Then *clear* <getopt-option-next/> by setting <getopt-option-next>none</getopt-option-next>
322
- so that subsequent loop iterations fall back to the interactive dialog.
338
+
339
+ Then *clear* <getopt-option-next/> by setting
340
+ <getopt-option-next>none</getopt-option-next> so that
341
+ subsequent loop iterations fall back to the interactive
342
+ dialog.
343
+
344
+ Set <instruction></instruction> (clear the instruction, as
345
+ any instruction carried in via the arguments was already
346
+ applied to the plan in step 2 before this loop), so that a
347
+ pre-selected `REFINE` correctly asks the user for a *fresh*
348
+ refinement instruction below.
323
349
 
324
350
  - If <getopt-option-next/> is equal to `none`:
325
351
  Let the *user interactively choose* what to do as the next step.
@@ -367,9 +393,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
367
393
 
368
394
  - If <result/> is `REFINE`:
369
395
 
370
- Ask the user interactively, without a special tool, for
371
- the refinement instruction with a single question `**What
372
- is your instruction for refining the plan?**`. Then set
396
+ Ask the user interactively, without a special tool, for the
397
+ refinement instruction with a single question `**What is
398
+ your instruction for further refining the plan?**`. Then set
373
399
  <instruction/> to the response of the user.
374
400
 
375
401
  Treat the <instruction/> as a *refinement instruction* for
@@ -389,7 +415,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
389
415
 
390
416
  - If <result/> matches `OTHER: <text/>`:
391
417
 
392
- Set <instruction><text/></instruction>.
418
+ Set <instruction><text/></instruction> (replace existing instruction).
393
419
 
394
420
  Treat the <instruction/> as a *refinement instruction* for
395
421
  the plan, and update <content/> in-place by *applying* the
@@ -0,0 +1,75 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-edit` - Iteratively Edit a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-edit`
9
+ [`--help`|`-h`]
10
+ [`--plan`|`-p` *option*]
11
+ [`--next`|`-n` *option*]
12
+ [*id* | *id*: *instruction* | *instruction*]
13
+
14
+ ## DESCRIPTION
15
+
16
+ The `ase-task-edit` skill establishes and refines a *task plan* purely
17
+ through a *chat-driven loop*. The user steers each round via an
18
+ interactive dialog that offers continued refinement, finalization, or
19
+ hand-off to implementation or preflight.
20
+
21
+ The task plan is stored in `.ase/tasks/`*id*`/plan.md` files of the
22
+ project and can be alternatively edited with the "`ase task edit` *id*"
23
+ command from outside the agent tool.
24
+
25
+ ## OPTIONS
26
+
27
+ `--plan`|`-p` *option*:
28
+ Automatically answer the user dialog for the plan refinement
29
+ with *option*, which can be either `none` (default, interactive
30
+ answer required), `OVERWRITE` (overwrite an existing plan
31
+ with *instruction*), `REFINE` (refine the existing plan with
32
+ *instruction*), or `PRESERVE` (preserve the existing plan by
33
+ ignoring *instruction* and stopping skill processing).
34
+
35
+ `--next`|`-n` *option*:
36
+ Automatically answer the user dialog for the next step (at the end
37
+ of this skill) with *option*, which can be either `none` (default,
38
+ interactive answer required), `DONE` (no next step), `IMPLEMENT`
39
+ (hand-over to `ase-task-implement`), `PREFLIGHT` (hand-over to
40
+ `ase-task-preflight`), or `REFINE` (refine the plan with subsequent
41
+ instruction).
42
+
43
+ ## ARGUMENTS
44
+
45
+ *id* | *id*: *instruction* | *instruction*:
46
+ Edit the task with the unique identifier *id* (default: `default`).
47
+ Optionally, *instruction* either gives instructions for creating a
48
+ new task or gives instructions for refining an existing task.
49
+
50
+ ## EXAMPLES
51
+
52
+ Edit the current task:
53
+
54
+ ```text
55
+ ❯ /ase-task-edit
56
+ ```
57
+
58
+ Create a new task under id `hello`:
59
+
60
+ ```text
61
+ ❯ /ase-task-delete hello
62
+ ❯ /ase-task-edit hello: new "ase hello" CLI command which prints
63
+ a nice "Hello World!" to the terminal in color blue.
64
+ ```
65
+
66
+ Further refine the task under id `hello`:
67
+
68
+ ```text
69
+ ❯ /ase-task-edit hello: change the color to red.
70
+ ```
71
+
72
+ ## SEE ALSO
73
+
74
+ `ase-task-reboot`, `ase-task-preflight`, `ase-task-implement`,
75
+ `ase-task-view`, `ase-task-list`, `ase-task-rename`, `ase-task-delete`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-id
3
- argument-hint: "[<id>]"
3
+ argument-hint: "[--help|-h] [<id>]"
4
4
  description: >
5
5
  Get or set unique task id <id>.
6
6
  Use when user requests to work on a certain task
@@ -13,18 +13,19 @@ effort: low
13
13
  @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
14
14
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
15
15
 
16
- Task Configuration
17
- ==================
18
-
19
16
  <skill name="ase-task-id">
20
17
  Configure Task Id
21
18
  </skill>
22
19
 
20
+ <objective>
21
+ *Get* or *set* the unique *task id* of the current session.
22
+ </objective>
23
+
23
24
  1. Determine request:
24
25
  <request>$ARGUMENTS</request>
25
26
 
26
27
  2. <if condition="<request/> is empty">
27
- - Call the `ase_task_id(session: <ase-session-id/>)`
28
+ - Call the `ase_task_id(session: "<ase-session-id/>")`
28
29
  tool from the `ase` MCP server and set
29
30
  <ase-task-id/> to its `text` output.
30
31
 
@@ -36,7 +37,7 @@ Configure Task Id
36
37
 
37
38
  3. <if condition="<request/> is NOT empty">
38
39
  - Set <ase-task-id><request/></ase-task-id> and
39
- call the `ase_task_id(id: <ase-task-id/>, session: <ase-session-id/>)`
40
+ call the `ase_task_id(id: "<ase-task-id/>", session: "<ase-session-id/>")`
40
41
  tool from the `ase` MCP server.
41
42
 
42
43
  - Output:
@@ -0,0 +1,42 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-id` - Configure Task Id
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-id`
9
+ [`--help`|`-h`]
10
+ [*id*]
11
+
12
+ ## DESCRIPTION
13
+
14
+ The `ase-task-id` skill gets or sets the unique *task id* for the
15
+ current session. Without arguments, it reports the currently active
16
+ task id. With an *id* argument, it switches the session to that
17
+ task id via the `ase_task_id` MCP tool.
18
+
19
+ ## ARGUMENTS
20
+
21
+ *id*:
22
+ The new task id to activate. If omitted, the currently active
23
+ task id is reported.
24
+
25
+ ## EXAMPLES
26
+
27
+ Show the current task id:
28
+
29
+ ```text
30
+ ❯ /ase-task-id
31
+ ```
32
+
33
+ Switch to a specific task:
34
+
35
+ ```text
36
+ ❯ /ase-task-id hello
37
+ ```
38
+
39
+ ## SEE ALSO
40
+
41
+ `ase-task-list`, `ase-task-edit`, `ase-task-view`,
42
+ `ase-task-rename`, `ase-task-delete`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-implement
3
- argument-hint: "[<id>]"
3
+ argument-hint: "[--help|-h] [--next|-n <option>] [<id>]"
4
4
  description: >
5
5
  Implement current or given task plan.
6
6
  Use when the user calls to "implement", "realize" or "apply" the
@@ -15,9 +15,6 @@ effort: xhigh
15
15
  @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
16
16
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
17
17
 
18
- Implement a Task Plan
19
- =====================
20
-
21
18
  <skill name="ase-task-implement">
22
19
  Implement a Task Plan
23
20
  </skill>
@@ -28,13 +25,10 @@ Implement a Task Plan
28
25
  $ARGUMENTS
29
26
  </expand>
30
27
 
31
- <role>
32
- Your role is an experienced, *expert-level assistant*,
33
- specialized in the *implementation* of changes.
34
- </role>
35
-
28
+ <objective>
36
29
  *Implement* the task plan by modifying the *artifacts*
37
30
  with a corresponding, complete *change set*.
31
+ </objective>
38
32
 
39
33
  Procedure
40
34
  ---------
@@ -59,8 +53,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
59
53
  ">
60
54
  Set <ase-task-id><instruction/></ase-task-id> (set task
61
55
  id to instruction) and <instruction></instruction> (set
62
- instruction empty), call the `ase_task_id(id: <ase-task-id/>,
63
- session: <ase-session-id/>)` tool from the `ase` MCP
56
+ instruction empty), call the `ase_task_id(id: "<ase-task-id/>",
57
+ session: "<ase-session-id/>")` tool from the `ase` MCP
64
58
  server to switch the task, and then only output the
65
59
  following <template/>:
66
60
 
@@ -76,8 +70,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
76
70
  ">
77
71
  Set <instruction></instruction> (set instruction to empty)
78
72
  and <ase-task-id><id/></ase-task-id> (set task id to
79
- id) and call the `ase_task_id(id: <ase-task-id/>, session:
80
- <ase-session-id/>)` tool from the `ase` MCP server to
73
+ id) and call the `ase_task_id(id: "<ase-task-id/>", session:
74
+ "<ase-session-id/>")` tool from the `ase` MCP server to
81
75
  switch the task, and then only output the following
82
76
  <template/>:
83
77
 
@@ -86,13 +80,30 @@ explicitly requested by this procedure via outputs based on a <template/>!
86
80
  </template>
87
81
  </if>
88
82
 
83
+ 3. else <if condition="<instruction/> is NOT empty">
84
+ The argument is neither empty nor a valid task id. As this
85
+ skill only accepts an optional `[<id>]` argument and *never*
86
+ a free-text instruction, only output the following <template/>
87
+ and then immediately *STOP* processing the entire current skill:
88
+
89
+ <template>
90
+ ⧉ **ASE**: ☻ skill: **ase-task-implement**, ▶ ERROR: expected single `[<id>]` argument
91
+ </template>
92
+ </if>
93
+
89
94
  2. **Determine Operation**:
90
95
 
91
- 1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
92
- server to load the current task plan content and set <content/> to
96
+ 1. Call the `ase_task_load(id: "<ase-task-id/>")` tool of the `ase` MCP
97
+ server to load the current task plan content and set <text/> to
93
98
  the `text` output field of the `ase_task_load` tool call.
94
99
 
95
- Calculate the number of words <words/> of <content/>.
100
+ - If <text/> starts with `ERROR:` or `WARNING:`:
101
+ Set <content></content> (set content to empty).
102
+ Set <words/> to "0".
103
+
104
+ - If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:
105
+ Set <content><text/></content> (set content to text).
106
+ Calculate the number of words <words/> of <content/>.
96
107
 
97
108
  Only output the following <template/>:
98
109
 
@@ -0,0 +1,56 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-implement` - Implement a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-implement`
9
+ [`--help`|`-h`]
10
+ [`--next`|`-n` *option*]
11
+ [*id*]
12
+
13
+ ## DESCRIPTION
14
+
15
+ The `ase-task-implement` skill performs the *final implementation*
16
+ of a task plan by modifying the corresponding *artifacts* with a
17
+ complete *change set*. The plan is loaded from
18
+ `.ase/tasks/`*id*`/plan.md`, and any optional `IMPLEMENTATION DRAFT`
19
+ section produced by `ase-task-preflight` is used as a hint — the
20
+ plain plan content always overrules the draft.
21
+
22
+ After implementation, the user is asked whether to preserve or
23
+ delete the task plan, unless `--next` pre-selects this choice.
24
+
25
+ ## OPTIONS
26
+
27
+ `--next`|`-n` *option*:
28
+ Automatically answer the user dialog for the next step with
29
+ *option*, which can be either `none` (default, interactive
30
+ answer required), `DONE` (preserve task plan and stop), or
31
+ `DELETE` (hand off to `ase-task-delete`).
32
+
33
+ ## ARGUMENTS
34
+
35
+ *id*:
36
+ The unique identifier of the task whose plan should be
37
+ implemented. If omitted, the *current* task id is used.
38
+
39
+ ## EXAMPLES
40
+
41
+ Implement the current task plan:
42
+
43
+ ```text
44
+ ❯ /ase-task-implement
45
+ ```
46
+
47
+ Implement a specific task and delete the plan when done:
48
+
49
+ ```text
50
+ ❯ /ase-task-implement --next DELETE hello
51
+ ```
52
+
53
+ ## SEE ALSO
54
+
55
+ `ase-task-edit`, `ase-task-preflight`, `ase-task-reboot`,
56
+ `ase-task-view`, `ase-task-delete`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-list
3
- argument-hint: "[-v|--verbose]"
3
+ argument-hint: "[--help|-h] [--verbose|-v]"
4
4
  description: >
5
5
  List all available task ids.
6
6
  Use when user wants to see all tasks.
@@ -13,9 +13,6 @@ effort: low
13
13
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
14
14
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
15
15
 
16
- Task List
17
- =========
18
-
19
16
  <skill name="ase-task-list">
20
17
  List Task Plans
21
18
  </skill>
@@ -26,7 +23,11 @@ List Task Plans
26
23
  $ARGUMENTS
27
24
  </expand>
28
25
 
29
- 1. Call the `ase_task_list(verbose: <getopt-option-verbose/>)` tool from
26
+ <objective>
27
+ *List* all available *task plans* of the current project.
28
+ </objective>
29
+
30
+ 1. Call the `ase_task_list(verbose: "<getopt-option-verbose/>")` tool from
30
31
  the `ase` MCP server. The result is a structured object with a
31
32
  `tasks` array where each entry has an `id` field, and -- if
32
33
  <getopt-option-verbose/> is `true` -- additionally an `mtime` field
@@ -0,0 +1,43 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-list` - List Task Plans
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-list`
9
+ [`--help`|`-h`]
10
+ [`--verbose`|`-v`]
11
+
12
+ ## DESCRIPTION
13
+
14
+ The `ase-task-list` skill lists all available *task ids* in the
15
+ current project by calling the `ase_task_list` MCP tool. In the
16
+ default mode, only the task ids are rendered as a single-column
17
+ Markdown table. In verbose mode, the last-modified timestamp of
18
+ each task plan is rendered as an additional column.
19
+
20
+ ## OPTIONS
21
+
22
+ `--verbose`|`-v`:
23
+ Render an additional `Last Modified` column with the
24
+ `YYYY-MM-DD HH:MM` timestamp of each task plan.
25
+
26
+ ## EXAMPLES
27
+
28
+ List all task ids:
29
+
30
+ ```text
31
+ ❯ /ase-task-list
32
+ ```
33
+
34
+ List all task ids together with their last-modified timestamps:
35
+
36
+ ```text
37
+ ❯ /ase-task-list --verbose
38
+ ```
39
+
40
+ ## SEE ALSO
41
+
42
+ `ase-task-id`, `ase-task-view`, `ase-task-edit`,
43
+ `ase-task-rename`, `ase-task-delete`.