@rse/ase 0.0.38 → 0.0.40
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-constitution.md +2 -1
- package/plugin/meta/ase-control.md +63 -0
- package/plugin/meta/ase-persona.md +1 -0
- package/plugin/meta/ase-skill.md +1 -62
- package/plugin/package.json +1 -1
- package/plugin/skills/ase-arch-analyze/SKILL.md +8 -5
- package/plugin/skills/ase-arch-discover/SKILL.md +1 -0
- package/plugin/skills/ase-code-analyze/SKILL.md +1 -0
- package/plugin/skills/ase-code-craft/SKILL.md +71 -95
- package/plugin/skills/ase-code-explain/SKILL.md +7 -4
- package/plugin/skills/ase-code-insight/SKILL.md +8 -5
- package/plugin/skills/ase-code-lint/SKILL.md +1 -0
- package/plugin/skills/ase-code-refactor/SKILL.md +74 -98
- package/plugin/skills/ase-code-resolve/SKILL.md +92 -111
- package/plugin/skills/ase-meta-changes/SKILL.md +1 -0
- package/plugin/skills/ase-meta-chat/SKILL.md +1 -0
- package/plugin/skills/ase-meta-commit/SKILL.md +1 -0
- package/plugin/skills/ase-meta-evaluate/SKILL.md +1 -0
- package/plugin/skills/ase-meta-persona/SKILL.md +1 -0
- package/plugin/skills/ase-meta-quorum/SKILL.md +1 -0
- package/plugin/skills/ase-meta-search/SKILL.md +1 -0
- package/plugin/skills/ase-meta-why/SKILL.md +1 -0
- package/plugin/skills/ase-task-delete/SKILL.md +1 -0
- package/plugin/skills/ase-task-edit/SKILL.md +6 -4
- package/plugin/skills/ase-task-id/SKILL.md +1 -0
- package/plugin/skills/ase-task-implement/SKILL.md +6 -4
- package/plugin/skills/ase-task-list/SKILL.md +1 -0
- package/plugin/skills/ase-task-preflight/SKILL.md +11 -8
- package/plugin/skills/ase-task-reboot/SKILL.md +6 -4
- package/plugin/skills/ase-task-view/SKILL.md +1 -0
|
@@ -11,6 +11,7 @@ allowed-tools:
|
|
|
11
11
|
- "Skill"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
14
15
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-persona.md
|
|
15
16
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
16
17
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
|
|
@@ -74,7 +75,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
74
75
|
<request><text/></request> and <ase-task-id><id/></ase-task-id>
|
|
75
76
|
and call the `task_id(id: <ase-task-id/>, session:
|
|
76
77
|
<ase-session-id/>)` tool from the `ase` MCP service to
|
|
77
|
-
implicitly switch the task.
|
|
78
|
+
implicitly switch the task. Do not output anything.
|
|
78
79
|
|
|
79
80
|
3. If <request/> is empty,
|
|
80
81
|
ask the user interactively, without a special tool, for the
|
|
@@ -92,7 +93,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
92
93
|
which consists of two lower-case words concatenated with a
|
|
93
94
|
`-` character. Then call the `task_id(id: <ase-task-id/>,
|
|
94
95
|
session: <ase-session-id/>)` tool from the `ase` MCP service to
|
|
95
|
-
implicitly switch the task.
|
|
96
|
+
implicitly switch the task. Do not output anything.
|
|
96
97
|
</if>
|
|
97
98
|
|
|
98
99
|
5. Report the task and request with the following <template/>:
|
|
@@ -119,41 +120,12 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
119
120
|
|
|
120
121
|
3. Do not output anything in this step.
|
|
121
122
|
|
|
122
|
-
3. **
|
|
123
|
+
3. **Internalize Refactoring Tenets**:
|
|
123
124
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
2. Annotate the approach you recommend with an <annotation/> of
|
|
128
|
-
` ⚝ **RECOMMENDATION** ⚝`.
|
|
129
|
-
|
|
130
|
-
3. Report each approach with the following <template/>
|
|
131
|
-
and do not output anything else in this step:
|
|
132
|
-
|
|
133
|
-
<template>
|
|
134
|
-
🔵 **APPROACH A<n/>**<annotation/>: *<summary/>*
|
|
135
|
-
- [...]
|
|
136
|
-
- [...]
|
|
137
|
-
- [...]
|
|
138
|
-
<optional-diagram/>
|
|
139
|
-
</template>
|
|
125
|
+
Internalize and honor the following tenets.
|
|
126
|
+
Do not output anything.
|
|
140
127
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- Give a short one-sentence <summary/> of the refactoring approach plus
|
|
144
|
-
*precise* and *brief* refactoring information. Try to keep the
|
|
145
|
-
number of bullet points in the range of 1-4.
|
|
146
|
-
|
|
147
|
-
- In case of a *complex refactoring situation* only, visualize it with
|
|
148
|
-
an optional diagram <optional-diagram/> by invoking the
|
|
149
|
-
`ase-meta-diagram` skill via the `Skill` tool. For *current vs.
|
|
150
|
-
proposed* comparisons, render each side as a *separate*
|
|
151
|
-
`ase-meta-diagram` invocation and stack the rendered blocks
|
|
152
|
-
*vertically* (labels `**Before:**` / `**After:**`); never
|
|
153
|
-
side-by-side. Omit <optional-diagram/> entirely for simple or
|
|
154
|
-
purely local situation.
|
|
155
|
-
|
|
156
|
-
*Recommended* Tenets (generic):
|
|
128
|
+
1. *Recommended* Tenets (generic):
|
|
157
129
|
|
|
158
130
|
- **Surgical Changes**:
|
|
159
131
|
Keep source code changes always as small as possible.
|
|
@@ -171,7 +143,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
171
143
|
Strictly align with the existing code base by exactly following its
|
|
172
144
|
coding style, its structure, its naming conventions, etc.
|
|
173
145
|
|
|
174
|
-
|
|
146
|
+
2. *Essential* Tenets (refactoring specific):
|
|
175
147
|
|
|
176
148
|
- **Boy Scout Rule**:
|
|
177
149
|
After the refactoring, leave the code base cleaner than you found it.
|
|
@@ -180,16 +152,69 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
180
152
|
Strike for a set of small, focused parts (high cohesion) connected by
|
|
181
153
|
thin, explicit wires (low coupling).
|
|
182
154
|
|
|
183
|
-
4. **
|
|
155
|
+
4. **Find Refactoring Approaches**:
|
|
156
|
+
|
|
157
|
+
You *MUST* perform the following sub-steps *internally* and *without
|
|
158
|
+
any output* until and including the recommendation decision. Only
|
|
159
|
+
sub-step 4 below is allowed to produce output.
|
|
160
|
+
|
|
161
|
+
1. *Propose* corresponding *refactoring approach*, including
|
|
162
|
+
optionally, some *alternative* refactoring approaches. Do *not*
|
|
163
|
+
output anything in this sub-step.
|
|
164
|
+
|
|
165
|
+
2. *Reflect* on and *critique* the proposed approaches by deriving,
|
|
166
|
+
per approach, a small set of concrete *pros* and *cons*. Do
|
|
167
|
+
*not* output anything in this sub-step.
|
|
168
|
+
|
|
169
|
+
3. Based on the reflection, *decide* which approach to recommend
|
|
170
|
+
and annotate it with an <annotation/> of
|
|
171
|
+
` ⚝ **RECOMMENDATION** ⚝`. All other approaches receive an
|
|
172
|
+
empty <annotation/>. Do *not* output anything in this sub-step.
|
|
173
|
+
|
|
174
|
+
4. *Now* report each approach with the following <template/>,
|
|
175
|
+
inlining its pros/cons derived in sub-step 2, and do not output
|
|
176
|
+
anything else in this step:
|
|
177
|
+
|
|
178
|
+
<template>
|
|
179
|
+
🔵 **APPROACH A<n/>**<annotation/>: *<summary/>*
|
|
180
|
+
● [...]
|
|
181
|
+
● [...]
|
|
182
|
+
● [...]
|
|
183
|
+
⊕ *pro*: [...]
|
|
184
|
+
⊖ *con*: [...]
|
|
185
|
+
<optional-diagram/>
|
|
186
|
+
</template>
|
|
187
|
+
|
|
188
|
+
Hints:
|
|
189
|
+
|
|
190
|
+
- Give a short one-sentence <summary/> of the refactoring approach plus
|
|
191
|
+
*precise* and *brief* refactoring information. Try to keep the
|
|
192
|
+
number of bullet points (●) in the range of 1-4.
|
|
193
|
+
|
|
194
|
+
- In case of a *complex refactoring situation* only,
|
|
195
|
+
visualize it with an optional diagram <optional-diagram/>
|
|
196
|
+
by building a Mermaid specification <mermaid-spec/>
|
|
197
|
+
(e.g. `flowchart TB`, `stateDiagram-v2`, `sequenceDiagram`,
|
|
198
|
+
`classDiagram`, or `erDiagram`, depending on intent) and
|
|
199
|
+
invoking the `ase-meta-diagram` skill by calling the tool
|
|
200
|
+
`Skill(skill: "ase:ase-meta-diagram", args: <mermaid-spec/>)`.
|
|
201
|
+
For *current vs. proposed* comparisons, render each side as
|
|
202
|
+
a *separate* `ase-meta-diagram` invocation and stack the
|
|
203
|
+
rendered blocks *vertically* (labels `**Before:**` /
|
|
204
|
+
`**After:**`); never side-by-side. Omit <optional-diagram/>
|
|
205
|
+
entirely for simple or purely local situation.
|
|
206
|
+
|
|
207
|
+
5. **Choose Refactoring Approach**:
|
|
184
208
|
|
|
185
209
|
1. If <getopt-option-auto/> is equal `false`:
|
|
186
210
|
Let the *user interactively choose* the preferred refactoring
|
|
187
211
|
approach A<n/> with the help of the <user-dialog-tool/> tool.
|
|
188
|
-
Use the header `Select Approach`
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
212
|
+
Use the header `Select Approach`, use `A<n/>: <short-summary/>`
|
|
213
|
+
for the option (where <short-summary/> is an ultra brief summary
|
|
214
|
+
of the approach A<n/>), and *single-selection* only and provide
|
|
215
|
+
small *code change previews*. Mark your recommended refactoring
|
|
216
|
+
approach with ` ⚝ **RECOMMENDATION** ⚝` here again. Except for
|
|
217
|
+
the interactive selection, do not output anything in this step.
|
|
193
218
|
|
|
194
219
|
2. If <getopt-option-auto/> is equal `true`:
|
|
195
220
|
Set <n/> to the number of the refactoring approach A<n/> you recommend.
|
|
@@ -199,7 +224,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
199
224
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
|
|
200
225
|
</template>
|
|
201
226
|
|
|
202
|
-
|
|
227
|
+
6. **Compose Refactoring Plan**:
|
|
203
228
|
|
|
204
229
|
1. *Compose a refactoring plan* for the chosen refactoring A<n/> by
|
|
205
230
|
closely aligning to the existing architecture and the existing
|
|
@@ -226,58 +251,9 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
226
251
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan created**
|
|
227
252
|
</template>
|
|
228
253
|
|
|
229
|
-
5.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
- If <getopt-option-next/> is equal to `none`:
|
|
236
|
-
Let the *user interactively choose* what to do as the next step.
|
|
237
|
-
|
|
238
|
-
<expand name="user-dialog">
|
|
239
|
-
Next Step: How would you like to proceed with the plan?
|
|
240
|
-
DONE: Stop processing.
|
|
241
|
-
EDIT: Hand processing off to editing.
|
|
242
|
-
PREFLIGHT: Hand processing off to preflighting.
|
|
243
|
-
IMPLEMENT: Hand processing off to implementation.
|
|
244
|
-
</expand>
|
|
245
|
-
|
|
246
|
-
6. Check the tool <result/> and dispatch accordingly:
|
|
247
|
-
|
|
248
|
-
- If <result/> is `DONE` or `CANCEL`:
|
|
249
|
-
Only output the following <template/> and then *STOP*.
|
|
250
|
-
|
|
251
|
-
<template>
|
|
252
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **done**
|
|
253
|
-
</template>
|
|
254
|
-
|
|
255
|
-
- If <result/> is `EDIT`:
|
|
256
|
-
Only output the following <template/> and then use the
|
|
257
|
-
`Skill` tool to invoke the `ase:ase-task-edit` skill in
|
|
258
|
-
order to edit the plan. Immediately stop processing the
|
|
259
|
-
current skill once the `Skill` tool was used.
|
|
260
|
-
|
|
261
|
-
<template>
|
|
262
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to edit**
|
|
263
|
-
</template>
|
|
264
|
-
|
|
265
|
-
- If <result/> is `PREFLIGHT`:
|
|
266
|
-
Only output the following <template/> and then use the
|
|
267
|
-
`Skill` tool to invoke the `ase:ase-task-preflight` skill in
|
|
268
|
-
order to preflight the plan. Immediately stop processing the
|
|
269
|
-
current skill once the `Skill` tool was used.
|
|
270
|
-
|
|
271
|
-
<template>
|
|
272
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to preflight**
|
|
273
|
-
</template>
|
|
274
|
-
|
|
275
|
-
- If <result/> is `IMPLEMENT`:
|
|
276
|
-
Only output the following <template/> and then use the
|
|
277
|
-
`Skill` tool to invoke the `ase:ase-task-implement` skill in
|
|
278
|
-
order to implement the plan. Immediately stop processing the
|
|
279
|
-
current skill once the `Skill` tool was used.
|
|
280
|
-
|
|
281
|
-
<template>
|
|
282
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to implement**
|
|
283
|
-
</template>
|
|
254
|
+
5. Directly pass-through control to the `ase:ase-task-edit` skill.
|
|
255
|
+
Set <args></args> (set args to empty). If <getopt-option-next/>
|
|
256
|
+
is not equal `none`, set <args><args/> --next
|
|
257
|
+
<getopt-option-next/></args> (append to args). Then call the
|
|
258
|
+
tool `Skill(skill: "ase:ase-task-edit", args: <args/>)`.
|
|
259
|
+
|
|
@@ -11,6 +11,7 @@ allowed-tools:
|
|
|
11
11
|
- "Skill"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
14
15
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-persona.md
|
|
15
16
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
16
17
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
|
|
@@ -86,7 +87,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
86
87
|
<problem><text/></problem> and <ase-task-id><id/></ase-task-id>
|
|
87
88
|
and call the `task_id(id: <ase-task-id/>, session:
|
|
88
89
|
<ase-session-id/>)` tool from the `ase` MCP service to
|
|
89
|
-
implicitly switch the task.
|
|
90
|
+
implicitly switch the task. Do not output anything.
|
|
90
91
|
|
|
91
92
|
4. If <problem/> is empty,
|
|
92
93
|
ask the user interactively, without a special tool, for the
|
|
@@ -104,7 +105,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
104
105
|
which consists of two lower-case words concatenated with a
|
|
105
106
|
`-` character. Then call the `task_id(id: <ase-task-id/>,
|
|
106
107
|
session: <ase-session-id/>)` tool from the `ase` MCP service to
|
|
107
|
-
implicitly switch the task.
|
|
108
|
+
implicitly switch the task. Do not output anything.
|
|
108
109
|
</if>
|
|
109
110
|
|
|
110
111
|
6. Report the task and problem with the following <template/>:
|
|
@@ -130,9 +131,9 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
130
131
|
<optional-diagram/>
|
|
131
132
|
|
|
132
133
|
🟠 **PROBLEM DETAILS**: *<summary/>*
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
● [...]
|
|
135
|
+
● [...]
|
|
136
|
+
● [...]
|
|
136
137
|
</template>
|
|
137
138
|
|
|
138
139
|
Hints:
|
|
@@ -142,7 +143,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
142
143
|
|
|
143
144
|
- Give a short one-sentence <summary/> of the <problem/> plus *precise*
|
|
144
145
|
but *brief* code processing information to understand the problem.
|
|
145
|
-
Try to keep the number of bullet points in the range of 1-4.
|
|
146
|
+
Try to keep the number of bullet points (●) in the range of 1-4.
|
|
146
147
|
|
|
147
148
|
- In case of a *complex context situation* with complex *structure*
|
|
148
149
|
(layout, components, dependencies, etc), complex *control flow*
|
|
@@ -150,7 +151,11 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
150
151
|
transitions, etc), complex *data flow* (actors, messages, etc), or
|
|
151
152
|
complex *data structure* (classes, entities, relationships, etc),
|
|
152
153
|
visualize it with an optional diagram <optional-diagram/> by
|
|
153
|
-
|
|
154
|
+
building a Mermaid specification <mermaid-spec/> (e.g. `flowchart
|
|
155
|
+
TB`, `stateDiagram-v2`, `sequenceDiagram`, `classDiagram`, or
|
|
156
|
+
`erDiagram`, depending on intent) and invoking the
|
|
157
|
+
`ase-meta-diagram` skill by calling the tool `Skill(skill:
|
|
158
|
+
"ase:ase-meta-diagram", args: <mermaid-spec/>)`. Omit
|
|
154
159
|
<optional-diagram/> entirely for simple or purely local situation.
|
|
155
160
|
|
|
156
161
|
2. **Investigate Code Base**:
|
|
@@ -163,22 +168,66 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
163
168
|
|
|
164
169
|
3. Do not output anything in this step.
|
|
165
170
|
|
|
166
|
-
3. **
|
|
171
|
+
3. **Internalize Problem Resolution Tenets**:
|
|
172
|
+
|
|
173
|
+
Internalize and honor the following tenets.
|
|
174
|
+
Do not output anything.
|
|
175
|
+
|
|
176
|
+
1. *Recommended* Tenets (generic):
|
|
177
|
+
|
|
178
|
+
- **Surgical Changes**:
|
|
179
|
+
Keep source code changes always as small as possible.
|
|
180
|
+
|
|
181
|
+
- **Separation of Concerns**:
|
|
182
|
+
Clearly separate all individual concerns as good as possible.
|
|
183
|
+
|
|
184
|
+
- **Single Responsibility Principle**:
|
|
185
|
+
Every module, class, or function should have only one reason to change.
|
|
186
|
+
|
|
187
|
+
- **Behavior Preservation**:
|
|
188
|
+
Refactoring changes only re-structure, never change any observable behavior.
|
|
189
|
+
|
|
190
|
+
- **Align with Code Base**:
|
|
191
|
+
Strictly align with the existing code base by exactly following its
|
|
192
|
+
coding style, its structure, its naming conventions, etc.
|
|
193
|
+
|
|
194
|
+
2. *Essential* Tenets (problem resolving specific):
|
|
195
|
+
|
|
196
|
+
- **No Cleanups**:
|
|
197
|
+
Strictly focus on resolving the problem and do not mix this task
|
|
198
|
+
with any other necessary code cleanups, except they are really
|
|
199
|
+
necessary for resolving the task.
|
|
200
|
+
|
|
201
|
+
4. **Find Problem Resolution Approaches**:
|
|
202
|
+
|
|
203
|
+
You *MUST* perform the following sub-steps *internally* and *without
|
|
204
|
+
any output* until and including the recommendation decision. Only
|
|
205
|
+
sub-step 4 below is allowed to produce output.
|
|
167
206
|
|
|
168
207
|
1. *Propose* corresponding *resolution approach*, including optionally,
|
|
169
|
-
some *alternative* resolution approaches.
|
|
208
|
+
some *alternative* resolution approaches. Do *not* output anything
|
|
209
|
+
in this sub-step.
|
|
170
210
|
|
|
171
|
-
2.
|
|
172
|
-
|
|
211
|
+
2. *Reflect* on and *critique* the proposed approaches by deriving,
|
|
212
|
+
per approach, a small set of concrete *pros* and *cons*. Do
|
|
213
|
+
*not* output anything in this sub-step.
|
|
173
214
|
|
|
174
|
-
3.
|
|
175
|
-
and
|
|
215
|
+
3. Based on the reflection, *decide* which approach to recommend
|
|
216
|
+
and annotate it with an <annotation/> of
|
|
217
|
+
` ⚝ **RECOMMENDATION** ⚝`. All other approaches receive an
|
|
218
|
+
empty <annotation/>. Do *not* output anything in this sub-step.
|
|
219
|
+
|
|
220
|
+
4. *Now* report each approach with the following <template/>,
|
|
221
|
+
inlining its pros/cons derived in sub-step 2, and do not output
|
|
222
|
+
anything else in this step:
|
|
176
223
|
|
|
177
224
|
<template>
|
|
178
225
|
🔵 **APPROACH A<n/>**<annotation/>: *<summary/>*
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
226
|
+
● [...]
|
|
227
|
+
● [...]
|
|
228
|
+
● [...]
|
|
229
|
+
⊕ *pro*: [...]
|
|
230
|
+
⊖ *con*: [...]
|
|
182
231
|
<optional-diagram/>
|
|
183
232
|
</template>
|
|
184
233
|
|
|
@@ -186,7 +235,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
186
235
|
|
|
187
236
|
- Give a short one-sentence <summary/> of the resolution approach plus
|
|
188
237
|
*precise* and *brief* resolution information. Try to keep the
|
|
189
|
-
number of bullet points in the range of 1-4.
|
|
238
|
+
number of bullet points (●) in the range of 1-4.
|
|
190
239
|
|
|
191
240
|
- Focus on resolution approaches for *practically relevant* cases and do *not*
|
|
192
241
|
investigate on theoretical or fictive cases. This is especially the case
|
|
@@ -199,48 +248,29 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
199
248
|
or unexpected* errors, they *should* be handled in parent scopes to
|
|
200
249
|
avoid cluttering the source code with too much error handling at all.
|
|
201
250
|
|
|
202
|
-
- In case of a *complex resolution situation* only,
|
|
203
|
-
an optional diagram <optional-diagram/>
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
`
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
- **Separation of Concerns**:
|
|
217
|
-
Clearly separate all individual concerns as good as possible.
|
|
218
|
-
|
|
219
|
-
- **Single Responsibility Principle**:
|
|
220
|
-
Every module, class, or function should have only one reason to change.
|
|
221
|
-
|
|
222
|
-
- **Behavior Preservation**:
|
|
223
|
-
Refactoring changes only re-structure, never change any observable behavior.
|
|
224
|
-
|
|
225
|
-
- **Align with Code Base**:
|
|
226
|
-
Strictly align with the existing code base by exactly following its
|
|
227
|
-
coding style, its structure, its naming conventions, etc.
|
|
228
|
-
|
|
229
|
-
*Essential* Tenets (specific):
|
|
230
|
-
|
|
231
|
-
- **No Cleanups**:
|
|
232
|
-
Strictly focus on resolving the problem and do not mix this task
|
|
233
|
-
with any other necessary code cleanups, except they are really
|
|
234
|
-
necessary for resolving the task.
|
|
235
|
-
|
|
236
|
-
4. **Choose Problem Resolution Approach**:
|
|
251
|
+
- In case of a *complex resolution situation* only,
|
|
252
|
+
visualize it with an optional diagram <optional-diagram/>
|
|
253
|
+
by building a Mermaid specification <mermaid-spec/>
|
|
254
|
+
(e.g. `flowchart TB`, `stateDiagram-v2`, `sequenceDiagram`,
|
|
255
|
+
`classDiagram`, or `erDiagram`, depending on intent) and
|
|
256
|
+
invoking the `ase-meta-diagram` skill by calling the tool
|
|
257
|
+
`Skill(skill: "ase:ase-meta-diagram", args: <mermaid-spec/>)`.
|
|
258
|
+
For *current vs. proposed* comparisons, render each side as
|
|
259
|
+
a *separate* `ase-meta-diagram` invocation and stack the
|
|
260
|
+
rendered blocks *vertically* (labels `**Before:**` /
|
|
261
|
+
`**After:**`); never side-by-side. Omit <optional-diagram/>
|
|
262
|
+
entirely for simple or purely local situation.
|
|
263
|
+
|
|
264
|
+
5. **Choose Problem Resolution Approach**:
|
|
237
265
|
|
|
238
266
|
1. If <getopt-option-auto/> is equal `false`:
|
|
239
267
|
Let the *user interactively choose* the preferred resolution
|
|
240
268
|
approach A<n/> with the help of the <user-dialog-tool/> tool.
|
|
241
|
-
Use the header `Select Approach`
|
|
242
|
-
|
|
243
|
-
|
|
269
|
+
Use the header `Select Approach`, use `A<n/>: <short-summary/>`
|
|
270
|
+
for the option (where <short-summary/> is an ultra brief summary
|
|
271
|
+
of the approach A<n/>), and *single-selection* only and provide
|
|
272
|
+
small *code change previews*. Mark your recommended resolution
|
|
273
|
+
approach with ` ⚝ **RECOMMENDATION** ⚝` here again.
|
|
244
274
|
|
|
245
275
|
2. If <getopt-option-auto/> is equal `true`:
|
|
246
276
|
Set <n/> to the number of the resolution approach A<n/> you recommend.
|
|
@@ -250,7 +280,7 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
250
280
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
|
|
251
281
|
</template>
|
|
252
282
|
|
|
253
|
-
|
|
283
|
+
6. **Compose Problem Resolution Plan**:
|
|
254
284
|
|
|
255
285
|
1. *Compose a plan* with code references, a precise description of the
|
|
256
286
|
problem, the chosen resolution approach, a preview of the *unified
|
|
@@ -284,58 +314,9 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
284
314
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan created**
|
|
285
315
|
</template>
|
|
286
316
|
|
|
287
|
-
6.
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
- If <getopt-option-next/> is equal to `none`:
|
|
294
|
-
Let the *user interactively choose* what to do as the next step.
|
|
295
|
-
|
|
296
|
-
<expand name="user-dialog">
|
|
297
|
-
Next Step: How would you like to proceed with the plan?
|
|
298
|
-
DONE: Stop processing.
|
|
299
|
-
EDIT: Hand processing off to editing.
|
|
300
|
-
PREFLIGHT: Hand processing off to preflighting.
|
|
301
|
-
IMPLEMENT: Hand processing off to implementation.
|
|
302
|
-
</expand>
|
|
303
|
-
|
|
304
|
-
7. Check the tool <result/> and dispatch accordingly:
|
|
305
|
-
|
|
306
|
-
- If <result/> is `DONE` or `CANCEL`:
|
|
307
|
-
Only output the following <template/> and then *STOP*.
|
|
308
|
-
|
|
309
|
-
<template>
|
|
310
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **done**
|
|
311
|
-
</template>
|
|
312
|
-
|
|
313
|
-
- If <result/> is `EDIT`:
|
|
314
|
-
Only output the following <template/> and then use the
|
|
315
|
-
`Skill` tool to invoke the `ase:ase-task-edit` skill in
|
|
316
|
-
order to edit the plan. Immediately stop processing the
|
|
317
|
-
current skill once the `Skill` tool was used.
|
|
318
|
-
|
|
319
|
-
<template>
|
|
320
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to edit**
|
|
321
|
-
</template>
|
|
322
|
-
|
|
323
|
-
- If <result/> is `PREFLIGHT`:
|
|
324
|
-
Only output the following <template/> and then use the
|
|
325
|
-
`Skill` tool to invoke the `ase:ase-task-preflight` skill in
|
|
326
|
-
order to preflight the plan. Immediately stop processing the
|
|
327
|
-
current skill once the `Skill` tool was used.
|
|
328
|
-
|
|
329
|
-
<template>
|
|
330
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to preflight**
|
|
331
|
-
</template>
|
|
332
|
-
|
|
333
|
-
- If <result/> is `IMPLEMENT`:
|
|
334
|
-
Only output the following <template/> and then use the
|
|
335
|
-
`Skill` tool to invoke the `ase:ase-task-implement` skill in
|
|
336
|
-
order to implement the plan. Immediately stop processing the
|
|
337
|
-
current skill once the `Skill` tool was used.
|
|
338
|
-
|
|
339
|
-
<template>
|
|
340
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **hand off to implement**
|
|
341
|
-
</template>
|
|
317
|
+
6. Directly pass-through control to the `ase:ase-task-edit` skill.
|
|
318
|
+
Set <args></args> (set args to empty). If <getopt-option-next/>
|
|
319
|
+
is not equal `none`, set <args><args/> --next
|
|
320
|
+
<getopt-option-next/></args> (append to args). Then call the
|
|
321
|
+
tool `Skill(skill: "ase:ase-task-edit", args: <args/>)`.
|
|
322
|
+
|
|
@@ -12,6 +12,7 @@ disable-model-invocation: false
|
|
|
12
12
|
effort: high
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
15
16
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-persona.md
|
|
16
17
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
17
18
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
|
|
@@ -344,8 +345,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
344
345
|
- If <result/> is `IMPLEMENT`:
|
|
345
346
|
|
|
346
347
|
*Break* out of the *loop*, only output the following
|
|
347
|
-
<template/> and then
|
|
348
|
-
|
|
348
|
+
<template/> and then call the `Skill(skill:
|
|
349
|
+
"ase:ase-task-implement")` tool to *apply* the finalized
|
|
349
350
|
plan.
|
|
350
351
|
|
|
351
352
|
<template>
|
|
@@ -355,8 +356,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
355
356
|
- If <result/> is `PREFLIGHT`:
|
|
356
357
|
|
|
357
358
|
*Break* out of the *loop*, only output the following
|
|
358
|
-
<template/> and then
|
|
359
|
-
|
|
359
|
+
<template/> and then call the `Skill(skill:
|
|
360
|
+
"ase:ase-task-preflight")` tool to *apply* the finalized
|
|
360
361
|
plan.
|
|
361
362
|
|
|
362
363
|
<template>
|
|
@@ -412,3 +413,4 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
412
413
|
<template>
|
|
413
414
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ✪ plan: **<words/>** words, ▶ status: **plan refinement cancelled**
|
|
414
415
|
</template>
|
|
416
|
+
|