@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
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-preflight
3
- argument-hint: "[<id>]"
3
+ argument-hint: "[--help|-h] [--next|-n <option>] [<id>]"
4
4
  description: >
5
5
  Preflight the implementation of current or given task plan.
6
6
  Use when the user calls to "preflight", "dry-run" or "test-drive"
@@ -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
- Preflight a Task Plan
19
- =====================
20
-
21
18
  <skill name="ase-task-preflight">
22
19
  Preflight a Task Plan
23
20
  </skill>
@@ -28,13 +25,10 @@ Preflight 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
  *Preflight* the implementation of a task plan by creating a draft
37
30
  for a corresponding, *complete source code 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-preflight**, ▶ 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
 
@@ -136,8 +147,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
136
147
  Do not output anything.
137
148
  </if>
138
149
 
139
- 4. Finally, call the `ase_task_save(id: <ase-task-id/>,
140
- text: <content/>)` of the `ase` MCP server to save the updated
150
+ 4. Finally, call the `ase_task_save(id: "<ase-task-id/>",
151
+ text: "<content/>")` of the `ase` MCP server to save the updated
141
152
  task plan content. Calculate the number of words <words/> of
142
153
  <content/>. Do not output anything related to this MCP tool call
143
154
  except the following <template/>:
@@ -0,0 +1,58 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-preflight` - Preflight a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-preflight`
9
+ [`--help`|`-h`]
10
+ [`--next`|`-n` *option*]
11
+ [*id*]
12
+
13
+ ## DESCRIPTION
14
+
15
+ The `ase-task-preflight` skill performs a *preflight* (dry-run,
16
+ test-drive) of the *implementation* of a task plan by creating a
17
+ draft for a corresponding, complete *artifact change set* in
18
+ *unified diff* format. The draft is appended to the task plan as
19
+ a `※ IMPLEMENTATION DRAFT` section (replacing any previous draft).
20
+ No source files are modified.
21
+
22
+ After the preflight, the user is asked whether to stop, hand
23
+ off to `ase-task-edit`, or hand off to `ase-task-implement`,
24
+ unless `--next` pre-selects this choice.
25
+
26
+ ## OPTIONS
27
+
28
+ `--next`|`-n` *option*:
29
+ Automatically answer the user dialog for the next step with
30
+ *option*, which can be either `none` (default, interactive
31
+ answer required), `DONE` (stop), `EDIT` (hand off to
32
+ `ase-task-edit`), or `IMPLEMENT` (hand off to
33
+ `ase-task-implement`).
34
+
35
+ ## ARGUMENTS
36
+
37
+ *id*:
38
+ The unique identifier of the task whose plan should be
39
+ preflighted. If omitted, the *current* task id is used.
40
+
41
+ ## EXAMPLES
42
+
43
+ Preflight the current task plan:
44
+
45
+ ```text
46
+ ❯ /ase-task-preflight
47
+ ```
48
+
49
+ Preflight a specific task and hand off to implementation when done:
50
+
51
+ ```text
52
+ ❯ /ase-task-preflight --next IMPLEMENT hello
53
+ ```
54
+
55
+ ## SEE ALSO
56
+
57
+ `ase-task-edit`, `ase-task-implement`, `ase-task-reboot`,
58
+ `ase-task-view`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-reboot
3
- argument-hint: "[<id>]"
3
+ argument-hint: "[--help|-h] [--next|-n <option>] [<id>]"
4
4
  description: >
5
5
  Reboot the current or given task plan by re-creating it from scratch.
6
6
  Use when the user calls to "reboot", "recreate" or "refresh"
@@ -15,9 +15,6 @@ effort: high
15
15
  @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
16
16
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
17
17
 
18
- Reboot a Task Plan
19
- ==================
20
-
21
18
  <skill name="ase-task-reboot">
22
19
  Reboot a Task Plan
23
20
  </skill>
@@ -28,13 +25,10 @@ Reboot 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 *planning* of changes.
34
- </role>
35
-
28
+ <objective>
36
29
  *Reboot* the task plan by crafting it from scratch,
37
30
  based on the existing *WHAT* and *WHY*.
31
+ </objective>
38
32
 
39
33
  @${CLAUDE_SKILL_DIR}/../../meta/ase-plan.md
40
34
 
@@ -56,28 +50,45 @@ explicitly requested by this procedure via outputs based on a <template/>!
56
50
 
57
51
  2. React on task id:
58
52
 
59
- <if condition="
60
- <instruction/> matches the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`
61
- ">
62
- Set <ase-task-id><instruction/></ase-task-id> (set task
63
- id to instruction) and <instruction></instruction> (set
64
- instruction empty), call the `ase_task_id(id: <ase-task-id/>,
65
- session: <ase-session-id/>)` tool from the `ase` MCP
66
- server to switch the task, and then only output the
67
- following <template/>:
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/>:
68
62
 
69
- <template>
70
- ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **task given**
71
- </template>
72
- </if>
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-reboot**, ▶ ERROR: expected single `[<id>]` argument
76
+ </template>
77
+ </if>
73
78
 
74
79
  2. **Determine Operation:**
75
80
 
76
- 1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
77
- server to load the current task plan content and set <content/> to
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
78
83
  the `text` output field of the `ase_task_load` tool call.
79
84
 
80
- Calculate the number of words <words/> of <content/>.
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/>.
81
92
 
82
93
  Only output the following <template/>:
83
94
 
@@ -104,35 +115,39 @@ explicitly requested by this procedure via outputs based on a <template/>!
104
115
  Set <instruction><text/></instruction> (set instruction to extracted text).
105
116
  </if>
106
117
 
107
- 4. <if condition="<content/> contains '- **WHY**: <text/>'">
118
+ 4. <if condition="<content/> contains '- **WHY**: <text/>' and <instruction/> is empty">
119
+ Set <instruction><text/></instruction> (set instruction to extracted text).
120
+ </if>
121
+
122
+ 5. else <if condition="<content/> contains '- **WHY**: <text/>' and <instruction/> is NOT empty">
108
123
  Set <instruction><instruction/>, BECAUSE <text/></instruction>
109
124
  (append extracted text to instruction).
110
125
  </if>
111
126
 
112
- 5. <if condition="<content/> contains 'created: **<text/>**'">
127
+ 6. <if condition="<content/> contains 'created: **<text/>**'">
113
128
  Set <timestamp-created><text/></timestamp-created> (set
114
129
  timestamp-created to extracted text)
115
130
  </if>
116
131
 
117
- 6. Create a new plan from scratch and store the result as
132
+ 7. Create a new plan from scratch and store the result as
118
133
  <content/> by closely following the defined plan format
119
134
  <format/> and injecting into it all the information from
120
135
  the <instruction/> and all decisions you derived from the
121
136
  <instruction/>.
122
137
 
123
- 7. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
138
+ 8. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
124
139
  `ase` MCP server and use the `text` field of its response for
125
140
  <timestamp-modified/> information. Then insert the current
126
141
  <ase-task-id/>, previous <timestamp-created/>, and refreshed
127
142
  <timestamp-modified/> information and calculate the number of
128
143
  words <words/> of <content/>.
129
144
 
130
- 8. Call the `ase_task_save(id: <ase-task-id/>,
131
- text: <content/>)` of the `ase` MCP server to save the updated
145
+ 9. Call the `ase_task_save(id: "<ase-task-id/>",
146
+ text: "<content/>")` of the `ase` MCP server to save the updated
132
147
  task plan content. Do not output anything related to this MCP
133
148
  call.
134
149
 
135
- 9. Only output the following <template/> and continue processing:
150
+ 10. Only output the following <template/> and continue processing:
136
151
 
137
152
  <template>
138
153
  ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan rebooted**
@@ -0,0 +1,55 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-reboot` - Reboot a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-reboot`
9
+ [`--help`|`-h`]
10
+ [`--next`|`-n` *option*]
11
+ [*id*]
12
+
13
+ ## DESCRIPTION
14
+
15
+ The `ase-task-reboot` skill re-creates an existing task plan *from
16
+ scratch* by extracting the original `**WHAT**` and `**WHY**` sections
17
+ (if present) from the current plan, using them as the new instruction,
18
+ preserving the original creation timestamp, and writing a fresh plan
19
+ content via `ase_task_save`.
20
+
21
+ After the reboot, the user is asked whether to stop or hand off to
22
+ `ase-task-edit`, unless `--next` pre-selects this choice.
23
+
24
+ ## OPTIONS
25
+
26
+ `--next`|`-n` *option*:
27
+ Automatically answer the user dialog for the next step with
28
+ *option*, which can be either `none` (default, interactive
29
+ answer required), `DONE` (stop), or `EDIT` (hand off to
30
+ `ase-task-edit`).
31
+
32
+ ## ARGUMENTS
33
+
34
+ *id*:
35
+ The unique identifier of the task whose plan should be rebooted.
36
+ If omitted, the *current* task id is used.
37
+
38
+ ## EXAMPLES
39
+
40
+ Reboot the current task plan:
41
+
42
+ ```text
43
+ ❯ /ase-task-reboot
44
+ ```
45
+
46
+ Reboot a specific task and hand off to editing:
47
+
48
+ ```text
49
+ ❯ /ase-task-reboot --next EDIT hello
50
+ ```
51
+
52
+ ## SEE ALSO
53
+
54
+ `ase-task-edit`, `ase-task-preflight`, `ase-task-implement`,
55
+ `ase-task-view`, `ase-task-delete`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-rename
3
- argument-hint: "[<old>] <new>"
3
+ argument-hint: "[--help|-h] [<old>] <new>"
4
4
  description: >
5
5
  Rename the current or given task plan.
6
6
  Use when the user calls to "rename", "move" or "relabel" the
@@ -13,18 +13,13 @@ effort: low
13
13
  @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
14
14
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
15
15
 
16
- Rename a Task Plan
17
- ==================
18
-
19
16
  <skill name="ase-task-rename">
20
17
  Rename a Task Plan
21
18
  </skill>
22
19
 
23
- <role>
24
- Your role is an experienced, *expert-level assistant*.
25
- </role>
26
-
20
+ <objective>
27
21
  *Rename* the task plan.
22
+ </objective>
28
23
 
29
24
  Procedure
30
25
  ---------
@@ -64,7 +59,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
64
59
 
65
60
  2. **Perform Operation**:
66
61
 
67
- 1. Call the `ase_task_rename(old: <old/>, new: <new/>)` tool of the
62
+ 1. Call the `ase_task_rename(old: "<old/>", new: "<new/>")` tool of the
68
63
  `ase` MCP server to rename the task plan and set <text/> to the
69
64
  `text` output field of this `ase_task_rename` tool call. Do not
70
65
  output anything related to this MCP tool call.
@@ -85,7 +80,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
85
80
 
86
81
  2. <if condition="<old/> is equal <ase-task-id/>">
87
82
  Set <ase-task-id><new/></ase-task-id>. Call the `ase_task_id(id:
88
- <ase-task-id/>, session: <ase-session-id/>)` tool from the `ase`
83
+ "<ase-task-id/>", session: "<ase-session-id/>")` tool from the `ase`
89
84
  MCP server to switch the task to the renamed task. Only output
90
85
  the following <template/>:
91
86
 
@@ -0,0 +1,44 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-rename` - Rename a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-rename`
9
+ [`--help`|`-h`]
10
+ [*old*] *new*
11
+
12
+ ## DESCRIPTION
13
+
14
+ The `ase-task-rename` skill renames a *task plan* from *old* to
15
+ *new* via the `ase_task_rename` MCP tool. If only one argument is
16
+ given, it is treated as *new* and *old* defaults to the *current*
17
+ task id. When the renamed task is the current task, the current
18
+ task id is automatically switched to *new*.
19
+
20
+ ## ARGUMENTS
21
+
22
+ [*old*] *new*:
23
+ The *old* task id to rename and the *new* task id to assign.
24
+ If only one token is given, *old* defaults to the current
25
+ task id.
26
+
27
+ ## EXAMPLES
28
+
29
+ Rename the current task:
30
+
31
+ ```text
32
+ ❯ /ase-task-rename hello-world
33
+ ```
34
+
35
+ Rename a specific task:
36
+
37
+ ```text
38
+ ❯ /ase-task-rename old-id new-id
39
+ ```
40
+
41
+ ## SEE ALSO
42
+
43
+ `ase-task-list`, `ase-task-id`, `ase-task-edit`,
44
+ `ase-task-view`, `ase-task-delete`.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ase-task-view
3
- argument-hint: "[<id>]"
3
+ argument-hint: "[--help|-h] [<id>]"
4
4
  description: >
5
5
  View current or given task plan.
6
6
  Use when the user calls to "view", "show" or "see" the
@@ -13,17 +13,13 @@ effort: low
13
13
  @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
14
14
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
15
15
 
16
- View a Task Plan
17
- ================
18
-
19
16
  <skill name="ase-task-view">
20
17
  View a Task Plan
21
18
  </skill>
22
19
 
23
- <role>
24
- Your role is an experienced, *expert-level assistant*.
25
- </role>
20
+ <objective>
26
21
  *View* the task plan.
22
+ </objective>
27
23
 
28
24
  Procedure
29
25
  ---------
@@ -36,7 +32,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
36
32
 
37
33
  1. **Determine Task:**
38
34
 
39
- 1. Set <id>$ARGUMENTS</id> initially.
35
+ 1. Set <id>$ARGUMENTS</id> initially, with any leading and trailing
36
+ whitespace stripped.
40
37
  Inherit the always existing <ase-task-id/> from the current context.
41
38
  Do not output anything.
42
39
 
@@ -45,9 +42,18 @@ explicitly requested by this procedure via outputs based on a <template/>!
45
42
  Do not output anything.
46
43
  </if>
47
44
 
45
+ 3. <if condition="<id/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`">
46
+ Only output the following <template/> and then immediately
47
+ *STOP* processing the entire current skill:
48
+
49
+ <template>
50
+ ⧉ **ASE**: ☻ skill: **ase-task-view**, ▶ ERROR: expected single `[<id>]` argument
51
+ </template>
52
+ </if>
53
+
48
54
  2. **Perform Operation**:
49
55
 
50
- 1. Call the `ase_task_load(id: <id/>)` tool of the `ase` MCP
56
+ 1. Call the `ase_task_load(id: "<id/>")` tool of the `ase` MCP
51
57
  server to load the task plan content and set <text/> to the
52
58
  `text` output field of this `ase_task_load` tool call. Do not
53
59
  output anything related to this MCP tool call.
@@ -0,0 +1,43 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-task-view` - View a Task Plan
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-task-view`
9
+ [`--help`|`-h`]
10
+ [*id*]
11
+
12
+ ## DESCRIPTION
13
+
14
+ The `ase-task-view` skill renders the *task plan* identified by *id*
15
+ in full, without truncation or summarization. The plan is loaded via
16
+ the `ase_task_load` MCP tool and shown between `TASK-PLAN-BEGIN` and
17
+ `TASK-PLAN-END` markers. If *id* is omitted, the *current* task id
18
+ (inherited from the session context) is used.
19
+
20
+ ## ARGUMENTS
21
+
22
+ *id*:
23
+ The unique identifier of the task plan to view. If omitted,
24
+ the current task id is used.
25
+
26
+ ## EXAMPLES
27
+
28
+ View the current task plan:
29
+
30
+ ```text
31
+ ❯ /ase-task-view
32
+ ```
33
+
34
+ View a specific task plan:
35
+
36
+ ```text
37
+ ❯ /ase-task-view hello
38
+ ```
39
+
40
+ ## SEE ALSO
41
+
42
+ `ase-task-list`, `ase-task-edit`, `ase-task-id`,
43
+ `ase-task-rename`, `ase-task-delete`.