@rse/ase 0.9.7 → 0.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dst/ase-getopt.js +71 -5
- package/dst/ase-hook.js +6 -21
- package/dst/ase-markdown.js +32 -11
- package/dst/ase-mcp.js +22 -8
- package/dst/ase-notify.js +32 -0
- package/dst/ase-service.js +5 -2
- package/dst/ase-setup.js +45 -131
- package/dst/ase-skills.js +17 -13
- package/dst/ase-statusline.js +8 -12
- package/dst/ase-task.js +32 -23
- package/package.json +3 -3
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/agents/ase-docs-proofread.md +2 -2
- package/plugin/meta/ase-constitution.md +7 -0
- package/plugin/meta/ase-control.md +24 -3
- package/plugin/meta/ase-dialog.md +105 -7
- package/plugin/meta/ase-format-task.md +2 -2
- package/plugin/meta/ase-getopt.md +31 -22
- package/plugin/meta/ase-skill.md +87 -12
- package/plugin/package.json +2 -2
- package/plugin/skills/ase-arch-analyze/SKILL.md +88 -89
- package/plugin/skills/ase-arch-analyze/help.md +2 -2
- package/plugin/skills/ase-arch-discover/SKILL.md +56 -34
- package/plugin/skills/ase-arch-discover/help.md +1 -1
- package/plugin/skills/ase-code-analyze/SKILL.md +6 -5
- package/plugin/skills/ase-code-analyze/help.md +2 -2
- package/plugin/skills/ase-code-craft/SKILL.md +83 -71
- package/plugin/skills/ase-code-craft/help.md +2 -2
- package/plugin/skills/ase-code-explain/SKILL.md +1 -1
- package/plugin/skills/ase-code-explain/help.md +1 -1
- package/plugin/skills/ase-code-insight/SKILL.md +1 -1
- package/plugin/skills/ase-code-insight/help.md +1 -1
- package/plugin/skills/ase-code-lint/SKILL.md +35 -18
- package/plugin/skills/ase-code-lint/help.md +2 -2
- package/plugin/skills/ase-code-refactor/SKILL.md +81 -70
- package/plugin/skills/ase-code-refactor/help.md +2 -2
- package/plugin/skills/ase-code-resolve/SKILL.md +83 -70
- package/plugin/skills/ase-code-resolve/help.md +3 -3
- package/plugin/skills/ase-docs-distill/SKILL.md +1 -1
- package/plugin/skills/ase-docs-distill/help.md +4 -4
- package/plugin/skills/ase-docs-proofread/SKILL.md +36 -19
- package/plugin/skills/ase-docs-proofread/help.md +1 -1
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +29 -8
- package/plugin/skills/ase-meta-brainstorm/help.md +7 -11
- package/plugin/skills/ase-meta-changelog/help.md +1 -1
- package/plugin/skills/ase-meta-chat/help.md +1 -1
- package/plugin/skills/ase-meta-commit/help.md +1 -1
- package/plugin/skills/ase-meta-diaboli/help.md +2 -2
- package/plugin/skills/ase-meta-diff/SKILL.md +6 -5
- package/plugin/skills/ase-meta-diff/help.md +11 -12
- package/plugin/skills/ase-meta-evaluate/SKILL.md +10 -9
- package/plugin/skills/ase-meta-evaluate/help.md +2 -2
- package/plugin/skills/ase-meta-persona/help.md +1 -1
- package/plugin/skills/ase-meta-quorum/SKILL.md +15 -5
- package/plugin/skills/ase-meta-quorum/help.md +1 -1
- package/plugin/skills/ase-meta-review/SKILL.md +3 -4
- package/plugin/skills/ase-meta-review/help.md +5 -5
- package/plugin/skills/ase-meta-search/SKILL.md +9 -8
- package/plugin/skills/ase-meta-search/help.md +1 -1
- package/plugin/skills/ase-meta-steelman/SKILL.md +1 -1
- package/plugin/skills/ase-meta-steelman/help.md +2 -2
- package/plugin/skills/ase-meta-why/SKILL.md +16 -10
- package/plugin/skills/ase-meta-why/help.md +1 -1
- package/plugin/skills/ase-task-condense/SKILL.md +36 -19
- package/plugin/skills/ase-task-condense/help.md +3 -3
- package/plugin/skills/ase-task-delete/SKILL.md +6 -3
- package/plugin/skills/ase-task-delete/help.md +2 -2
- package/plugin/skills/ase-task-edit/SKILL.md +61 -36
- package/plugin/skills/ase-task-edit/help.md +4 -4
- package/plugin/skills/ase-task-grill/SKILL.md +57 -26
- package/plugin/skills/ase-task-grill/help.md +3 -3
- package/plugin/skills/ase-task-id/SKILL.md +11 -2
- package/plugin/skills/ase-task-id/help.md +2 -2
- package/plugin/skills/ase-task-implement/SKILL.md +40 -17
- package/plugin/skills/ase-task-implement/help.md +2 -2
- package/plugin/skills/ase-task-list/SKILL.md +1 -1
- package/plugin/skills/ase-task-list/help.md +2 -2
- package/plugin/skills/ase-task-preflight/SKILL.md +44 -22
- package/plugin/skills/ase-task-preflight/help.md +3 -3
- package/plugin/skills/ase-task-reboot/SKILL.md +31 -20
- package/plugin/skills/ase-task-reboot/help.md +2 -2
- package/plugin/skills/ase-task-rename/SKILL.md +5 -3
- package/plugin/skills/ase-task-rename/help.md +2 -2
- package/plugin/skills/ase-task-view/help.md +26 -7
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: ase-code-craft
|
|
3
3
|
argument-hint: "[--help|-h] [--auto|-a] [--dry|-d] [--quick|-Q] [--next|-n <option>[,...]] [<task-id>:] <feature>"
|
|
4
4
|
description: >
|
|
5
|
-
Craft Source
|
|
6
|
-
Use when user wants to create or craft a new feature from scratch.
|
|
5
|
+
Craft Source:
|
|
6
|
+
Use when user wants to "create", "add", or "craft" a new feature from scratch.
|
|
7
7
|
user-invocable: true
|
|
8
8
|
disable-model-invocation: false
|
|
9
9
|
effort: xhigh
|
|
@@ -53,7 +53,9 @@ You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
|
53
53
|
filesystem-modifying tool during this entire skill. The *only*
|
|
54
54
|
permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
<flow>
|
|
57
|
+
|
|
58
|
+
1. <step id="STEP 1: Reason About Feature">
|
|
57
59
|
|
|
58
60
|
1. <if condition="
|
|
59
61
|
<feature/> matches the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`
|
|
@@ -69,20 +71,25 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
69
71
|
</template>
|
|
70
72
|
</if>
|
|
71
73
|
|
|
72
|
-
2.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
2. <if condition="
|
|
75
|
+
<feature/> has the format `<id/>: <text/>` AND
|
|
76
|
+
<id/> matches the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`
|
|
77
|
+
">
|
|
78
|
+
Set <feature><text/></feature> and
|
|
79
|
+
<ase-task-id><id/></ase-task-id> and call the `ase_task_id(id:
|
|
80
|
+
"<ase-task-id/>", session: "<ase-session-id/>")` tool from the
|
|
81
|
+
`ase` MCP server to implicitly switch the task. Do not output
|
|
82
|
+
anything.
|
|
83
|
+
</if>
|
|
78
84
|
|
|
79
|
-
3.
|
|
80
|
-
|
|
85
|
+
3. <if condition="<feature/> is empty">
|
|
86
|
+
Ask the user interactively, without a special tool, for the
|
|
81
87
|
initial feature with a single question:
|
|
82
88
|
|
|
83
89
|
`**No feature known yet. What is the feature you want to craft?**`
|
|
84
90
|
|
|
85
91
|
Then set <feature/> to the response of the user.
|
|
92
|
+
</if>
|
|
86
93
|
|
|
87
94
|
4. <if condition="
|
|
88
95
|
<ase-task-id/> is equal `default` and
|
|
@@ -109,7 +116,9 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
109
116
|
|
|
110
117
|
8. Do not output anything in this step, unless you asked the user.
|
|
111
118
|
|
|
112
|
-
|
|
119
|
+
</step>
|
|
120
|
+
|
|
121
|
+
2. <step id="STEP 2: Investigate Code Base">
|
|
113
122
|
|
|
114
123
|
1. Check the existing source files for all code which is related to the
|
|
115
124
|
requested new <feature/>.
|
|
@@ -117,9 +126,11 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
117
126
|
2. Check the architecture of the existing code base to understand the
|
|
118
127
|
overall structures and dynamics.
|
|
119
128
|
|
|
120
|
-
3. Do not output anything in this
|
|
129
|
+
3. Do not output anything in this STEP 2.
|
|
121
130
|
|
|
122
|
-
|
|
131
|
+
</step>
|
|
132
|
+
|
|
133
|
+
3. <step id="STEP 3: Internalize Crafting Tenets">
|
|
123
134
|
|
|
124
135
|
You *MUST* internalize and honor the following tenets when crafting the new feature.
|
|
125
136
|
Do not output anything.
|
|
@@ -174,7 +185,9 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
174
185
|
Honor the non-functional requirements Performance, Security,
|
|
175
186
|
Scalability, Comprehensibility.
|
|
176
187
|
|
|
177
|
-
|
|
188
|
+
</step>
|
|
189
|
+
|
|
190
|
+
4. <step id="STEP 4: Choose Feature Crafting Approaches">
|
|
178
191
|
|
|
179
192
|
You *MUST* perform the following sub-steps *internally* and *without
|
|
180
193
|
any output* until and including the recommendation decision. Only
|
|
@@ -203,16 +216,14 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
203
216
|
</template>
|
|
204
217
|
|
|
205
218
|
5. Now report each approach with the following <template/>,
|
|
206
|
-
inlining its pros/cons derived in sub-step 2
|
|
219
|
+
inlining its pros/cons derived in sub-step 2, and do not output
|
|
220
|
+
anything else in this step:
|
|
207
221
|
|
|
208
222
|
<template>
|
|
209
223
|
● **APPROACH A<n/>**<annotation/>: *<summary/>*
|
|
210
224
|
○ [...]
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
⊕ *PRO*: [...]
|
|
214
|
-
⊖ *CON*: [...]
|
|
215
|
-
<optional-diagram/>
|
|
225
|
+
⊕ **PRO**: [...]
|
|
226
|
+
⊖ **CON**: [...]
|
|
216
227
|
</template>
|
|
217
228
|
|
|
218
229
|
Hints:
|
|
@@ -220,23 +231,7 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
220
231
|
- Give a short one-sentence <summary/> of the feature
|
|
221
232
|
approach plus *precise* and *ultra brief and concise*
|
|
222
233
|
feature information. Try to keep the number of bullet points
|
|
223
|
-
(
|
|
224
|
-
|
|
225
|
-
- In case of a *complex feature situation* only, visualize
|
|
226
|
-
it with an optional diagram <optional-diagram/> by building
|
|
227
|
-
a Mermaid specification <mermaid-spec/> (e.g. `flowchart
|
|
228
|
-
TB`, `stateDiagram-v2`, `sequenceDiagram`, `classDiagram`,
|
|
229
|
-
or `erDiagram`, depending on intent) and dispatching the
|
|
230
|
-
rendering to the `ase-meta-diagram` sub-agent by calling
|
|
231
|
-
the tool `Agent(name: "ase-meta-diagram", description:
|
|
232
|
-
"Diagram Rendering", subagent_type: "ase:ase-meta-diagram",
|
|
233
|
-
prompt: <mermaid-spec/>)`, reproducing its returned fenced
|
|
234
|
-
code block verbatim. For *current vs. proposed* comparisons,
|
|
235
|
-
render each side as a *separate* `ase-meta-diagram`
|
|
236
|
-
invocation and stack the rendered blocks *vertically*
|
|
237
|
-
(labels `**Before:**` / `**After:**`); never side-by-side.
|
|
238
|
-
Omit <optional-diagram/> entirely for simple or purely local
|
|
239
|
-
situations.
|
|
234
|
+
(`○ [...]`) in the range of 1-4.
|
|
240
235
|
|
|
241
236
|
6. Indicate end of reporting by showing the following <template/>:
|
|
242
237
|
|
|
@@ -244,18 +239,28 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
244
239
|
<ase-tpl-foot title="APPROACHES"/>
|
|
245
240
|
</template>
|
|
246
241
|
|
|
247
|
-
|
|
242
|
+
7. <if condition="<getopt-option-auto/> is not equal `true`">
|
|
243
|
+
|
|
244
|
+
You *MUST* use the custom `custom-dialog` and *NOT* the
|
|
245
|
+
`AskUserQuestion`-based `user-dialog` to let the *user
|
|
246
|
+
interactively choose* the preferred approach A<n/>.
|
|
248
247
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
248
|
+
Per approach A<n/>, use the option `A<n/>: <short-summary/>`
|
|
249
|
+
where <short-summary/> is an ultra brief summary of the approach
|
|
250
|
+
A<n/>. For your recommended approach, use
|
|
251
|
+
`A<n/>: ⚝ **RECOMMENDATION** ⚝: <short-summary/>` instead.
|
|
252
|
+
|
|
253
|
+
Now raise the user dialog:
|
|
254
|
+
|
|
255
|
+
<expand name="custom-dialog">
|
|
256
|
+
Select Approach: Select your preferred crafting approach to follow?
|
|
257
|
+
A<n/>: <short-summary/>
|
|
258
|
+
[...]
|
|
259
|
+
</expand>
|
|
260
|
+
|
|
261
|
+
</if>
|
|
262
|
+
<else>
|
|
257
263
|
|
|
258
|
-
2. If <getopt-option-auto/> is equal `true`:
|
|
259
264
|
Set <n/> to the number of the feature approach A<n/> you recommend.
|
|
260
265
|
Output a hint with the following <template/>:
|
|
261
266
|
|
|
@@ -263,7 +268,11 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
263
268
|
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **auto-chosen approach A<n/>**
|
|
264
269
|
</template>
|
|
265
270
|
|
|
266
|
-
|
|
271
|
+
</else>
|
|
272
|
+
|
|
273
|
+
</step>
|
|
274
|
+
|
|
275
|
+
5. <step id="STEP 5: Compose Feature Crafting Plan">
|
|
267
276
|
|
|
268
277
|
1. *Compose a feature plan* for the chosen feature A<n/> by
|
|
269
278
|
closely aligning to the existing architecture and the existing
|
|
@@ -293,7 +302,7 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
293
302
|
<timestamp-modified/> information and calculate the number of
|
|
294
303
|
words <words/> of <content/>.
|
|
295
304
|
|
|
296
|
-
3. You *MUST* *save* the resulting plan content with the
|
|
305
|
+
3. You then *MUST* *save* the resulting plan content with the
|
|
297
306
|
`ase_task_save(id: "<ase-task-id/>", text: "<content/>")`.
|
|
298
307
|
|
|
299
308
|
4. Output a hint with the following <template/>:
|
|
@@ -307,40 +316,43 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
307
316
|
Treat <getopt-option-next/> as a comma-separated chronological
|
|
308
317
|
list of pre-selected next-step tokens. *Peek* the *first* token
|
|
309
318
|
as <head/> (or `none` if the list is `none`/empty).
|
|
319
|
+
Set <args>--int-reuse-task</args>.
|
|
310
320
|
|
|
311
321
|
1. <if condition="<head/> is equal `IMPLEMENT`">
|
|
312
322
|
Consume the head: set <getopt-option-next/> to the remaining
|
|
313
|
-
tokens (joined back with `,`, or `none` if empty).
|
|
314
|
-
<args></args> (empty).
|
|
323
|
+
tokens (joined back with `,`, or `none` if empty).
|
|
315
324
|
<if condition="<getopt-option-next/> is not equal `none`">
|
|
316
|
-
|
|
317
|
-
remaining list tokens to the downstream skill).
|
|
325
|
+
Set <args><args/> --next <getopt-option-next/></args>
|
|
318
326
|
</if>
|
|
319
|
-
Call the tool `Skill(skill: "ase:ase-task-implement", args: <args/>)`
|
|
327
|
+
Call the tool `Skill(skill: "ase:ase-task-implement", args: "<args/>")`
|
|
320
328
|
to *implement* the freshly composed plan, bypassing `ase-task-edit`.
|
|
321
329
|
</if>
|
|
322
330
|
|
|
323
|
-
2. <
|
|
331
|
+
2. <elseif condition="<head/> is equal `PREFLIGHT`">
|
|
324
332
|
Consume the head: set <getopt-option-next/> to the remaining
|
|
325
|
-
tokens (joined back with `,`, or `none` if empty).
|
|
326
|
-
<args></args> (empty).
|
|
333
|
+
tokens (joined back with `,`, or `none` if empty).
|
|
327
334
|
<if condition="<getopt-option-next/> is not equal `none`">
|
|
328
|
-
|
|
329
|
-
remaining list tokens to the downstream skill).
|
|
335
|
+
Set <args><args/> --next <getopt-option-next/></args>
|
|
330
336
|
</if>
|
|
331
|
-
Call the tool `Skill(skill: "ase:ase-task-preflight", args: <args/>)`
|
|
337
|
+
Call the tool `Skill(skill: "ase:ase-task-preflight", args: "<args/>")`
|
|
332
338
|
to *preflight* the freshly composed plan, bypassing `ase-task-edit`.
|
|
333
|
-
</
|
|
339
|
+
</elseif>
|
|
334
340
|
|
|
335
|
-
3. <
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
will consume its head itself. Set <args></args> (empty).
|
|
341
|
-
<if condition="<getopt-option-next/> is not equal `none`">
|
|
342
|
-
Set <args>--next <getopt-option-next/></args> (append to args).
|
|
341
|
+
3. <else>
|
|
342
|
+
Hand off to `ase-task-edit`.
|
|
343
|
+
<if condition="<head/> is equal `EDIT`">
|
|
344
|
+
Consume the head: set <getopt-option-next/> to the remaining
|
|
345
|
+
tokens (joined back with `,`, or `none` if empty).
|
|
343
346
|
</if>
|
|
344
|
-
|
|
347
|
+
All remaining tokens are `ase-task-edit`'s own vocabulary
|
|
348
|
+
and are forwarded verbatim, so `ase-task-edit` consumes its
|
|
349
|
+
head itself.
|
|
350
|
+
<if condition="<getopt-option-next/> is not equal `none`">
|
|
351
|
+
Set <args><args/> --next <getopt-option-next/></args>
|
|
345
352
|
</if>
|
|
353
|
+
Then call the tool `Skill(skill: "ase:ase-task-edit", args: "<args/>")`.
|
|
354
|
+
</else>
|
|
355
|
+
|
|
356
|
+
<step>
|
|
346
357
|
|
|
358
|
+
</flow>
|
|
@@ -86,5 +86,5 @@ Craft a feature under a named task and directly hand off to implementation:
|
|
|
86
86
|
|
|
87
87
|
## SEE ALSO
|
|
88
88
|
|
|
89
|
-
`ase-code-refactor
|
|
90
|
-
`ase-task-preflight
|
|
89
|
+
[`ase-code-refactor`](../ase-code-refactor/help.md), [`ase-code-resolve`](../ase-code-resolve/help.md), [`ase-task-edit`](../ase-task-edit/help.md),
|
|
90
|
+
[`ase-task-preflight`](../ase-task-preflight/help.md), [`ase-task-implement`](../ase-task-implement/help.md).
|
|
@@ -71,7 +71,7 @@ code and *explain* it in a *brief*, *standardized*, and *concise* way.
|
|
|
71
71
|
`sequenceDiagram` for actor/message flow, or `flowchart TB` for
|
|
72
72
|
boxes-and-lines component layouts. Then dispatch the rendering to
|
|
73
73
|
the `ase-meta-diagram` sub-agent by calling the tool `Agent(name:
|
|
74
|
-
"ase
|
|
74
|
+
"ase-meta-diagram", description: "Diagram Rendering", subagent_type:
|
|
75
75
|
"ase:ase-meta-diagram", prompt: <mermaid-spec/>)` and reproduce its
|
|
76
76
|
returned fenced code block verbatim in the response text. Do *not*
|
|
77
77
|
hand-draw.
|
|
@@ -70,7 +70,7 @@ Give *insights* into the project through the source code of $ARGUMENTS.
|
|
|
70
70
|
Then run the following command...
|
|
71
71
|
|
|
72
72
|
```
|
|
73
|
-
git log --format=format: --name-only --since="1 year ago" | sort | uniq -c | sort -nr | head -10
|
|
73
|
+
git log --format=format: --name-only --since="1 year ago" | grep -v '^$' | sort | uniq -c | sort -nr | head -10
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
...and then display its result as a table with a table head and
|
|
@@ -40,4 +40,4 @@ Get insights into a specific subsystem:
|
|
|
40
40
|
|
|
41
41
|
## SEE ALSO
|
|
42
42
|
|
|
43
|
-
`ase-code-explain
|
|
43
|
+
[`ase-code-explain`](../ase-code-explain/help.md), [`ase-code-analyze`](../ase-code-analyze/help.md), [`ase-arch-analyze`](../ase-arch-analyze/help.md).
|
|
@@ -100,10 +100,12 @@ related to a set of code quality aspects.
|
|
|
100
100
|
|
|
101
101
|
3. <step id="STEP 3: Correction">
|
|
102
102
|
|
|
103
|
-
1.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
1. *Mark this skill as the active edit-capable skill* so that the
|
|
104
|
+
ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
|
|
105
|
+
invocations on *any* invocation path (slash command *or* `Skill`
|
|
106
|
+
tool). Call the `ase_config_set(key: "agent.skill", val:
|
|
107
|
+
"ase-code-lint", scope: "session:<ase-session-id/>")` tool
|
|
108
|
+
from the `ase` MCP server. Do not output anything in this substep.
|
|
107
109
|
|
|
108
110
|
2. Iterate over all problems:
|
|
109
111
|
|
|
@@ -150,7 +152,7 @@ related to a set of code quality aspects.
|
|
|
150
152
|
3. Append the following <template/> to <diff-file/>:
|
|
151
153
|
|
|
152
154
|
<template>
|
|
153
|
-
@@ -<
|
|
155
|
+
@@ -<old-start/>,<n/> +<new-start/>,<m/> @@
|
|
154
156
|
<context-before/>
|
|
155
157
|
-<old-text/>
|
|
156
158
|
+<new-text/>
|
|
@@ -158,8 +160,16 @@ related to a set of code quality aspects.
|
|
|
158
160
|
</template>
|
|
159
161
|
|
|
160
162
|
Hints:
|
|
161
|
-
- The <
|
|
162
|
-
|
|
163
|
+
- The <old-start/> is the line of the first hunk line, i.e.,
|
|
164
|
+
the line of <context-before/> (one before <line/>).
|
|
165
|
+
- The <new-start/> is the same as <old-start/> (the unchanged
|
|
166
|
+
<context-before/> line shares the same start in both files).
|
|
167
|
+
- The <n/> is the total number of old-side hunk lines, i.e.,
|
|
168
|
+
the number of lines in <context-before/>, <old-text/>, and
|
|
169
|
+
<context-after/> combined.
|
|
170
|
+
- The <m/> is the total number of new-side hunk lines, i.e.,
|
|
171
|
+
the number of lines in <context-before/>, <new-text/>, and
|
|
172
|
+
<context-after/> combined.
|
|
163
173
|
|
|
164
174
|
</for>
|
|
165
175
|
|
|
@@ -190,7 +200,7 @@ related to a set of code quality aspects.
|
|
|
190
200
|
</template>
|
|
191
201
|
|
|
192
202
|
</if>
|
|
193
|
-
<
|
|
203
|
+
<else>
|
|
194
204
|
|
|
195
205
|
Report the solution with the following <template/>:
|
|
196
206
|
|
|
@@ -201,13 +211,15 @@ related to a set of code quality aspects.
|
|
|
201
211
|
|
|
202
212
|
</template>
|
|
203
213
|
|
|
204
|
-
</
|
|
214
|
+
</else>
|
|
205
215
|
|
|
206
216
|
6. <if condition="<getopt-option-auto/> is not 'true'">
|
|
207
217
|
|
|
208
|
-
|
|
218
|
+
Let the *user interactively choose* what to do as the next
|
|
219
|
+
step. For this you *MUST* use the custom `custom-dialog` and
|
|
220
|
+
not the `AskUserQuestion` based `user-dialog`:
|
|
209
221
|
|
|
210
|
-
<expand name="
|
|
222
|
+
<expand name="custom-dialog">
|
|
211
223
|
CORRECTION: How would you like to proceed with this proposed correction?
|
|
212
224
|
ACCEPT: Apply the proposed correction.
|
|
213
225
|
REJECT: Skip this proposed correction.
|
|
@@ -215,19 +227,22 @@ related to a set of code quality aspects.
|
|
|
215
227
|
|
|
216
228
|
</if>
|
|
217
229
|
|
|
218
|
-
<
|
|
230
|
+
<else>
|
|
219
231
|
|
|
220
232
|
Set <result>ACCEPT</result>.
|
|
221
233
|
You *MUST* *NOT* output anything else in this step 6.
|
|
222
234
|
|
|
223
|
-
</
|
|
235
|
+
</else>
|
|
224
236
|
|
|
225
237
|
7. Check <result/> and dispatch accordingly:
|
|
226
238
|
|
|
227
239
|
- <if condition="<result/> is 'ACCEPT'">
|
|
228
240
|
Invoke the `Edit` tool to apply the changes exactly
|
|
229
|
-
as shown in the <diff/>.
|
|
230
|
-
|
|
241
|
+
as shown in the <diff/>. The operation will be
|
|
242
|
+
auto-approved by the ASE `pre-tool-use` hook (which
|
|
243
|
+
tracks the active skill), so *no* interactive permission
|
|
244
|
+
prompt will appear. After applying the changes, just
|
|
245
|
+
continue with the next <item/>.
|
|
231
246
|
</if>
|
|
232
247
|
|
|
233
248
|
- <if condition="<result/> starts with 'OTHER'">
|
|
@@ -249,9 +264,11 @@ related to a set of code quality aspects.
|
|
|
249
264
|
|
|
250
265
|
</for>
|
|
251
266
|
|
|
252
|
-
3.
|
|
253
|
-
|
|
254
|
-
|
|
267
|
+
3. *Clear the active edit-capable skill marker* now that all `Edit`
|
|
268
|
+
invocations are done, so a later unrelated `Edit` is *not*
|
|
269
|
+
auto-approved. Call the `ase_config_delete(key: "agent.skill",
|
|
270
|
+
scope: "session:<ase-session-id/>")` tool from the `ase` MCP
|
|
271
|
+
server. Do not output anything in this substep.
|
|
255
272
|
|
|
256
273
|
4. You *MUST* *NOT* output any further additional explanations or
|
|
257
274
|
summaries at the end of this skill processing, except for the
|
|
@@ -63,5 +63,5 @@ Lint a directory, reporting only `MEDIUM` and `HIGH` findings:
|
|
|
63
63
|
|
|
64
64
|
## SEE ALSO
|
|
65
65
|
|
|
66
|
-
`ase-code-analyze
|
|
67
|
-
`ase-docs-proofread
|
|
66
|
+
[`ase-code-analyze`](../ase-code-analyze/help.md), [`ase-code-resolve`](../ase-code-resolve/help.md), [`ase-code-refactor`](../ase-code-refactor/help.md),
|
|
67
|
+
[`ase-docs-proofread`](../ase-docs-proofread/help.md).
|