@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
|
@@ -89,9 +89,12 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
89
89
|
|
|
90
90
|
3. <step id="STEP 3: Correction">
|
|
91
91
|
|
|
92
|
-
1.
|
|
93
|
-
|
|
94
|
-
`
|
|
92
|
+
1. *Mark this skill as the active edit-capable skill* so that the
|
|
93
|
+
ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
|
|
94
|
+
invocations on *any* invocation path (slash command *or* `Skill`
|
|
95
|
+
tool). Call the `ase_config_set(key: "agent.skill", val:
|
|
96
|
+
"ase-docs-proofread", scope: "session:<ase-session-id/>")` tool
|
|
97
|
+
from the `ase` MCP server. Do not output anything in this substep.
|
|
95
98
|
|
|
96
99
|
2. Iterate over all problems:
|
|
97
100
|
|
|
@@ -116,8 +119,8 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
116
119
|
|
|
117
120
|
3. <if condition="<getopt-option-auto/> is not 'true'">
|
|
118
121
|
|
|
119
|
-
Render the proposed correction as a *unified diff* with *
|
|
120
|
-
|
|
122
|
+
Render the proposed correction as a *unified diff* with *up to
|
|
123
|
+
two* lines of context in a fenced block based on the following <template/>:
|
|
121
124
|
|
|
122
125
|
<template>
|
|
123
126
|
|
|
@@ -126,7 +129,7 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
126
129
|
```diff
|
|
127
130
|
--- <file/> (original)
|
|
128
131
|
+++ <file/> (corrected)
|
|
129
|
-
@@ -<
|
|
132
|
+
@@ -<old-start/>,<n/> +<new-start/>,<m/> @@
|
|
130
133
|
<context-before/>
|
|
131
134
|
-<old-text/>
|
|
132
135
|
+<new-text/>
|
|
@@ -136,16 +139,26 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
136
139
|
</template>
|
|
137
140
|
|
|
138
141
|
Hints:
|
|
139
|
-
- The <
|
|
140
|
-
|
|
142
|
+
- The <old-start/> is the line of the first hunk line, i.e.,
|
|
143
|
+
the line of <context-before/> (one before <line/>).
|
|
144
|
+
- The <new-start/> is the same as <old-start/> (the unchanged
|
|
145
|
+
<context-before/> line shares the same start in both files).
|
|
146
|
+
- The <n/> is the total number of old-side hunk lines, i.e.,
|
|
147
|
+
the number of lines in <context-before/>, <old-text/>, and
|
|
148
|
+
<context-after/> combined.
|
|
149
|
+
- The <m/> is the total number of new-side hunk lines, i.e.,
|
|
150
|
+
the number of lines in <context-before/>, <new-text/>, and
|
|
151
|
+
<context-after/> combined.
|
|
141
152
|
|
|
142
153
|
</if>
|
|
143
154
|
|
|
144
155
|
4. <if condition="<getopt-option-auto/> is not 'true'">
|
|
145
156
|
|
|
146
|
-
|
|
157
|
+
Let the *user interactively choose* what to do as the next
|
|
158
|
+
step. For this you *MUST* use the custom `custom-dialog` and
|
|
159
|
+
not the `AskUserQuestion` based `user-dialog`:
|
|
147
160
|
|
|
148
|
-
<expand name="
|
|
161
|
+
<expand name="custom-dialog">
|
|
149
162
|
CORRECTION: How would you like to proceed with this proposed correction?
|
|
150
163
|
ACCEPT: Apply the proposed correction.
|
|
151
164
|
REJECT: Skip this proposed correction.
|
|
@@ -153,19 +166,20 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
153
166
|
|
|
154
167
|
</if>
|
|
155
168
|
|
|
156
|
-
<
|
|
169
|
+
<else>
|
|
157
170
|
|
|
158
171
|
Set <result>ACCEPT</result>.
|
|
159
172
|
|
|
160
|
-
</
|
|
173
|
+
</else>
|
|
161
174
|
|
|
162
175
|
5. Check <result/> and dispatch accordingly:
|
|
163
176
|
|
|
164
177
|
- <if condition="<result/> is 'ACCEPT'">
|
|
165
178
|
|
|
166
|
-
Invoke the `Edit` tool to apply the change
|
|
167
|
-
|
|
168
|
-
|
|
179
|
+
Invoke the `Edit` tool to apply the change by replacing
|
|
180
|
+
<old-text/> with <new-text/> at <file/>:<line/>. The operation
|
|
181
|
+
will be auto-approved by the ASE `pre-tool-use` hook (which
|
|
182
|
+
tracks the active skill), so *no* interactive permission
|
|
169
183
|
prompt will appear. Then continue with the next <item/>.
|
|
170
184
|
|
|
171
185
|
</if>
|
|
@@ -174,8 +188,8 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
174
188
|
|
|
175
189
|
Generate a *new* proposal for the *same* <item/>,
|
|
176
190
|
incorporating the user's free-text hint from <result/>
|
|
177
|
-
after the "OTHER:" prefix, and
|
|
178
|
-
this iteration. There is *no* cap on refinement rounds -
|
|
191
|
+
after the "OTHER:" prefix, and *go back* to substep 2 of
|
|
192
|
+
this `for`-iteration. There is *no* cap on refinement rounds -
|
|
179
193
|
keep refining until the user picks `ACCEPT` or `REJECT`.
|
|
180
194
|
|
|
181
195
|
</if>
|
|
@@ -193,8 +207,11 @@ Analyze documents for spelling, punctuation, or grammar errors
|
|
|
193
207
|
|
|
194
208
|
</for>
|
|
195
209
|
|
|
196
|
-
3.
|
|
197
|
-
|
|
210
|
+
3. *Clear the active edit-capable skill marker* now that all `Edit`
|
|
211
|
+
invocations are done, so a later unrelated `Edit` is *not*
|
|
212
|
+
auto-approved. Call the `ase_config_delete(key: "agent.skill",
|
|
213
|
+
scope: "session:<ase-session-id/>")` tool from the `ase` MCP
|
|
214
|
+
server. Do not output anything in this substep.
|
|
198
215
|
|
|
199
216
|
4. You *MUST* *NOT* output any further additional explanations or
|
|
200
217
|
summaries at the end of this skill processing, except for the
|
|
@@ -78,7 +78,7 @@ Honor the following tenets throughout the brainstorming:
|
|
|
78
78
|
|
|
79
79
|
1. <step id="STEP 1: Restate Topic">
|
|
80
80
|
|
|
81
|
-
Restate the topic to be brainstormed by
|
|
81
|
+
Restate the topic to be brainstormed by outputting the following <template/>:
|
|
82
82
|
|
|
83
83
|
<template>
|
|
84
84
|
<ase-tpl-bullet-secondary/> **TOPIC**: <topic/>
|
|
@@ -113,17 +113,19 @@ Honor the following tenets throughout the brainstorming:
|
|
|
113
113
|
<ase-tpl-bullet-signal/> FACET <M/>/<m/>: **<facet-M/>**, QUESTION: **<question-M/>**
|
|
114
114
|
</template>
|
|
115
115
|
|
|
116
|
-
2. Determine *
|
|
116
|
+
2. Determine *2 to 4* grounded candidate answers
|
|
117
117
|
<answer-M-K/> (K={1,2,3,4}) from the code base, the documented
|
|
118
118
|
context, and your world knowledge.
|
|
119
119
|
|
|
120
120
|
3. Use an interactive user dialog with header <facet-M/> and
|
|
121
121
|
question <question-M/>, and let the user select the
|
|
122
|
-
<answer-M/> out of the candidate answers <answer-M-K/> (
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
<answer-M/> out of the candidate answers <answer-M-K/> (leave
|
|
123
|
+
out the answer lines of those candidate answers you have
|
|
124
|
+
not determined). For this you *MUST* use the custom
|
|
125
|
+
`custom-dialog` and *NOT* the `AskUserQuestion` based
|
|
126
|
+
"user-dialog":
|
|
125
127
|
|
|
126
|
-
<expand name="
|
|
128
|
+
<expand name="custom-dialog">
|
|
127
129
|
<facet-M/>: <question-M/>
|
|
128
130
|
<answer-M-1/>: (first grounded candidate answer)
|
|
129
131
|
<answer-M-2/>: (second grounded candidate answer)
|
|
@@ -131,7 +133,26 @@ Honor the following tenets throughout the brainstorming:
|
|
|
131
133
|
<answer-M-4/>: (fourth grounded candidate answer)
|
|
132
134
|
</expand>
|
|
133
135
|
|
|
134
|
-
4.
|
|
136
|
+
4. Dispatch on the dialog <result/>:
|
|
137
|
+
|
|
138
|
+
- If <result/> is `CANCEL`:
|
|
139
|
+
Skip the remaining sub-steps of this iteration cycle and
|
|
140
|
+
continue directly with sub-step 2 below (cancellation handling).
|
|
141
|
+
|
|
142
|
+
- If <result/> starts with `ERROR:`:
|
|
143
|
+
Ask the user interactively, without a special tool, the
|
|
144
|
+
question <question-M/> directly and set <answer-M/> to the
|
|
145
|
+
response of the user.
|
|
146
|
+
|
|
147
|
+
- If <result/> matches `OTHER: <text/>`:
|
|
148
|
+
Set <answer-M><text/></answer-M> (take the user's free-text answer).
|
|
149
|
+
|
|
150
|
+
- Otherwise:
|
|
151
|
+
Set <answer-M><result/></answer-M> (take the selected candidate answer).
|
|
152
|
+
|
|
153
|
+
Do not output anything in this sub-step.
|
|
154
|
+
|
|
155
|
+
5. Output the following <template/>:
|
|
135
156
|
|
|
136
157
|
<template>
|
|
137
158
|
<ase-tpl-bullet-normal/> FACET <M/>/<m/>: **<facet-M/>**, ANSWER: **<answer-M/>**
|
|
@@ -182,7 +203,7 @@ Honor the following tenets throughout the brainstorming:
|
|
|
182
203
|
set and finally into a recommendation.
|
|
183
204
|
|
|
184
205
|
1. *Cluster*: group the candidate ideas into <c/> coherent clusters
|
|
185
|
-
<cluster-C/> (a short 1-4 word label, C=1
|
|
206
|
+
<cluster-C/> (a short 1-4 word label, C=1...<c/>), collapsing
|
|
186
207
|
near-duplicates and discarding ideas pruned by *You Aren't Gonna
|
|
187
208
|
Need It (YAGNI)* (speculative, out-of-scope, or contradicting
|
|
188
209
|
documented context).
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
`ase-meta-brainstorm`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
|
-
[`--max-clarify=3`]
|
|
10
|
+
[`--max-clarify`|`-c=3`]
|
|
11
11
|
[`--min-ideas`|`-i=12`]
|
|
12
|
-
[`--min-rank=7`]
|
|
13
|
-
[`--max-shortlist=4`]
|
|
12
|
+
[`--min-rank`|`-r=7`]
|
|
13
|
+
[`--max-shortlist`|`-s=4`]
|
|
14
14
|
*topic*
|
|
15
15
|
|
|
16
16
|
## DESCRIPTION
|
|
@@ -33,13 +33,9 @@ default 7, or higher). Finally it distills a *shortlist* of the top
|
|
|
33
33
|
wherever possible - and derives a single *RECOMMENDATION*, being either
|
|
34
34
|
the highest-ranked option or a principled synthesis of the shortlist.
|
|
35
35
|
|
|
36
|
-
On completion the skill offers a *next step*: stop, or hand the
|
|
37
|
-
recommended direction off to the `ase-task-edit`, `ase-code-craft`, or
|
|
38
|
-
`ase-task-preflight` skills.
|
|
39
|
-
|
|
40
36
|
## OPTIONS
|
|
41
37
|
|
|
42
|
-
`--max-clarify=3`:
|
|
38
|
+
`--max-clarify`|`-c=3`:
|
|
43
39
|
The *maximum* number of essential-unknown clarification questions
|
|
44
40
|
asked in the *clarify intent* phase (default: 3). Lower it for a
|
|
45
41
|
faster, leaner intake, raise it for more upfront grounding.
|
|
@@ -49,12 +45,12 @@ recommended direction off to the `ase-task-edit`, `ase-code-craft`, or
|
|
|
49
45
|
phase before converging (default: 12). Raise it for a broader idea
|
|
50
46
|
space, lower it for a quicker, narrower session.
|
|
51
47
|
|
|
52
|
-
`--min-rank=7`:
|
|
48
|
+
`--min-rank`|`-r=7`:
|
|
53
49
|
The *minimum* 0-10 fit rank an idea must score to survive the
|
|
54
50
|
*converge* phase (default: 7). Raise it for a stricter filter, lower
|
|
55
51
|
it to retain more ideas.
|
|
56
52
|
|
|
57
|
-
`--max-shortlist=4`:
|
|
53
|
+
`--max-shortlist`|`-s=4`:
|
|
58
54
|
The *maximum* number of distilled options on the final *shortlist*
|
|
59
55
|
(default: 4). Lower it for a sharper focus, raise it for more
|
|
60
56
|
finalists.
|
|
@@ -88,4 +84,4 @@ and a tighter shortlist:
|
|
|
88
84
|
|
|
89
85
|
## SEE ALSO
|
|
90
86
|
|
|
91
|
-
`ase-meta-evaluate
|
|
87
|
+
[`ase-meta-evaluate`](../ase-meta-evaluate/help.md), [`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-meta-diaboli`](../ase-meta-diaboli/help.md)
|
|
@@ -73,6 +73,6 @@ Surface at least fifteen anti-theses:
|
|
|
73
73
|
|
|
74
74
|
## SEE ALSO
|
|
75
75
|
|
|
76
|
-
`ase-meta-why
|
|
77
|
-
`ase-meta-persona
|
|
76
|
+
[`ase-meta-why`](../ase-meta-why/help.md), [`ase-meta-evaluate`](../ase-meta-evaluate/help.md), [`ase-meta-quorum`](../ase-meta-quorum/help.md),
|
|
77
|
+
[`ase-meta-persona`](../ase-meta-persona/help.md).
|
|
78
78
|
|
|
@@ -11,9 +11,9 @@ disable-model-invocation: false
|
|
|
11
11
|
effort: high
|
|
12
12
|
allowed-tools:
|
|
13
13
|
- "Bash(git diff *)"
|
|
14
|
-
- "Bash(git grep
|
|
15
|
-
- "Bash(git ls-files
|
|
16
|
-
- "Bash(grep
|
|
14
|
+
- "Bash(git grep *)"
|
|
15
|
+
- "Bash(git ls-files *)"
|
|
16
|
+
- "Bash(grep *)"
|
|
17
17
|
- "Agent"
|
|
18
18
|
---
|
|
19
19
|
|
|
@@ -98,7 +98,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
98
98
|
|
|
99
99
|
</template>
|
|
100
100
|
|
|
101
|
-
2. Render a *
|
|
101
|
+
2. Render a *three-column table* with one row per discovered
|
|
102
102
|
*intent group* present in the <diff/>. Output the following
|
|
103
103
|
table header <template/>:
|
|
104
104
|
|
|
@@ -169,7 +169,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
169
169
|
Judge overall *coherence* from the flagged hunks: the diff
|
|
170
170
|
is `COHERENT` when there are *no* `SCOPE-CREEP` and *no*
|
|
171
171
|
`STRAY-DEBUG` deviations, otherwise it is `INCOHERENT`. Store
|
|
172
|
-
the result
|
|
172
|
+
the result in <verdict/>.
|
|
173
173
|
|
|
174
174
|
4. Emit the following header <template/>:
|
|
175
175
|
|
|
@@ -205,6 +205,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
205
205
|
| **<deviation/>** | <location/> | <reason/> |
|
|
206
206
|
|
|
207
207
|
</template>
|
|
208
|
+
</if>
|
|
208
209
|
</step>
|
|
209
210
|
|
|
210
211
|
4. <step id="STEP 4: Score Against Risk Rubric"
|
|
@@ -17,24 +17,23 @@ The `ase-meta-diff` skill turns a raw Git diff into a *concise*,
|
|
|
17
17
|
*human-readable* narrative of what changed and why, *grouped by
|
|
18
18
|
intent* (such as *Feature*, *Improvement*, *Bugfix*, *Update*,
|
|
19
19
|
*Cleanup*, or *Refactor*) rather than by file. It inspects the
|
|
20
|
-
*staged* changes (`git diff --cached HEAD`). The result is a
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
*staged* changes (`git diff --cached HEAD`). The result is a compact
|
|
21
|
+
table, one row per intent group, each naming the affected files
|
|
22
|
+
with their per-file `[+N/-M]` line counts - giving you the essence
|
|
23
|
+
of the changes at a glance.
|
|
24
24
|
|
|
25
25
|
With `--coherence`, the skill additionally *reconstructs the single
|
|
26
26
|
intended change* the diff is trying to accomplish - phrased as one crisp
|
|
27
27
|
*thesis* sentence - and then walks *every* hunk to *flag those that do
|
|
28
28
|
not serve it*: **scope creep** (an unrelated feature or drive-by refactor
|
|
29
|
-
riding along)
|
|
30
|
-
disabled tests)
|
|
31
|
-
core change). It emits an overall **COHERENT** / **INCOHERENT** verdict
|
|
29
|
+
riding along) and **stray debug** (leftover prints, commented-out code, or
|
|
30
|
+
disabled tests). It emits an overall **COHERENT** / **INCOHERENT** verdict
|
|
32
31
|
plus a table of the flagged hunks with what to do with each - keeping the
|
|
33
32
|
diff to a *single logical and coherent change* before it is committed.
|
|
34
33
|
|
|
35
34
|
With `--risk`, the skill additionally *scores* the same diff against a
|
|
36
35
|
four-axis **coupling-criticality-coverage-reversibility** rubric and
|
|
37
|
-
emits a *graded risk report* - one
|
|
36
|
+
emits a *graded risk report* - one table row per axis (each scored *1*-*5*
|
|
38
37
|
with a one-line evidence justification drawn from the actual hunks), an
|
|
39
38
|
overall risk band (**LOW**, **MODERATE**, **HIGH**, or **CRITICAL**),
|
|
40
39
|
and one actionable *mitigation* per high-risk axis. The axes combine
|
|
@@ -57,9 +56,9 @@ giving a visual sense of *what a diff endangers* before a deeper review.
|
|
|
57
56
|
`--coherence`, `-c`:
|
|
58
57
|
In addition to the intent-grouped summary, reconstruct the diff's
|
|
59
58
|
*single intended change* as one crisp *thesis* sentence and flag
|
|
60
|
-
*every* hunk that does *not* serve it - *scope creep
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
*every* hunk that does *not* serve it - *scope creep* or *stray
|
|
60
|
+
debug* - then emit an overall **COHERENT** / **INCOHERENT** verdict
|
|
61
|
+
with a table of the flagged hunks.
|
|
63
62
|
|
|
64
63
|
`--risk`, `-r`:
|
|
65
64
|
In addition to the intent-grouped summary, score the diff against
|
|
@@ -102,4 +101,4 @@ Summarize the staged changes and append a blast-radius map:
|
|
|
102
101
|
|
|
103
102
|
## SEE ALSO
|
|
104
103
|
|
|
105
|
-
`ase-meta-commit
|
|
104
|
+
[`ase-meta-commit`](../ase-meta-commit/help.md), [`ase-meta-changelog`](../ase-meta-changelog/help.md), [`ase-arch-analyze`](../ase-arch-analyze/help.md).
|
|
@@ -193,15 +193,16 @@ multi-*criteria* decision matrix.
|
|
|
193
193
|
|
|
194
194
|
- Determine rating distance percentage <percentage/> between
|
|
195
195
|
<alternative-K/> and <alternative-X/> from their *raw,
|
|
196
|
-
unrounded* ratings
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
196
|
+
unrounded* ratings as follows. If <rating-K/> is exactly zero,
|
|
197
|
+
skip the division entirely and treat <percentage/> as if it
|
|
198
|
+
were equal to <distance/> (so a true zero tie with <distance/>
|
|
199
|
+
= 0 falls into the *MULTIPLE BEST* branch below, while a non-zero
|
|
200
|
+
gap with zero best is routed by the magnitude of <distance/>
|
|
201
|
+
through the same thresholds as <percentage/> otherwise). Do not
|
|
202
|
+
output anything.
|
|
203
|
+
|
|
204
|
+
- Otherwise (<rating-K/> is non-zero), calculate: <percentage/> =
|
|
205
|
+
<distance/> / abs(<rating-K/>). Do not output anything.
|
|
205
206
|
|
|
206
207
|
- By construction, <rating-K/> is the maximum rating across
|
|
207
208
|
all alternatives, so <distance/> >= 0 always holds; using
|
|
@@ -48,5 +48,5 @@ Evaluate database options with hinted criteria:
|
|
|
48
48
|
|
|
49
49
|
## SEE ALSO
|
|
50
50
|
|
|
51
|
-
`ase-meta-quorum
|
|
52
|
-
`ase-meta-why
|
|
51
|
+
[`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-meta-search`](../ase-meta-search/help.md), [`ase-arch-discover`](../ase-arch-discover/help.md),
|
|
52
|
+
[`ase-meta-why`](../ase-meta-why/help.md).
|
|
@@ -62,9 +62,19 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
62
62
|
|
|
63
63
|
The user-selectable foreign models are restricted by the
|
|
64
64
|
`--models`/`-m` option, parsed into <getopt-option-models/>
|
|
65
|
-
as a comma-separated list of model tokens. The
|
|
66
|
-
the
|
|
67
|
-
|
|
65
|
+
as a comma-separated list of model tokens. The getopt parser
|
|
66
|
+
validates only the *first* token, so you *MUST* validate each
|
|
67
|
+
remaining token yourself against the allowed set `all`, `chatgpt`,
|
|
68
|
+
`gemini`, `deepseek`, `grok`, `glm`, `qwen`. If any token is *not*
|
|
69
|
+
in this set, only output the following <template/> and then
|
|
70
|
+
immediately *STOP* processing the entire current skill:
|
|
71
|
+
|
|
72
|
+
<template>
|
|
73
|
+
⧉ **ASE**: ✪ skill: **ase-meta-quorum**, ▶ ERROR: invalid `--models` token: **<token/>**
|
|
74
|
+
</template>
|
|
75
|
+
|
|
76
|
+
The default is the single token `all`. If <getopt-option-models/>
|
|
77
|
+
contains the token `all`, you *MUST* treat it as the full list
|
|
68
78
|
`chatgpt,gemini,deepseek,grok,glm,qwen` (all models). Anthropic
|
|
69
79
|
Claude (yourself) is *always* included, independent of this option.
|
|
70
80
|
|
|
@@ -142,8 +152,8 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
142
152
|
5. <step id="STEP 5: Show Results">
|
|
143
153
|
|
|
144
154
|
Finally show the summary, the consensus and the complete and
|
|
145
|
-
unmodified responses of yourself and each of the
|
|
146
|
-
on the following output <template/>:
|
|
155
|
+
unmodified responses of yourself and each of the queried foreign
|
|
156
|
+
AIs, based on the following output <template/>:
|
|
147
157
|
|
|
148
158
|
<template>
|
|
149
159
|
**QUESTION**:
|
|
@@ -56,4 +56,4 @@ Ask only a subset of the foreign models:
|
|
|
56
56
|
|
|
57
57
|
## SEE ALSO
|
|
58
58
|
|
|
59
|
-
`ase-meta-chat
|
|
59
|
+
[`ase-meta-chat`](../ase-meta-chat/help.md), [`ase-meta-search`](../ase-meta-search/help.md), [`ase-meta-evaluate`](../ase-meta-evaluate/help.md).
|
|
@@ -17,7 +17,6 @@ allowed-tools:
|
|
|
17
17
|
|
|
18
18
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
19
19
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
20
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
|
|
21
20
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
22
21
|
|
|
23
22
|
<skill name="ase-meta-review">
|
|
@@ -107,8 +106,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
107
106
|
<verdict/> to `REJECT - DEMANDS CHANGES` if *any* finding in
|
|
108
107
|
<findings/> has a `severity` field of `HIGH`; otherwise set
|
|
109
108
|
<verdict/> to `APPROVE`. The verdict is derived *before* the
|
|
110
|
-
severity floor below, so
|
|
111
|
-
verdict.
|
|
109
|
+
severity floor below, so the floor only affects which findings are
|
|
110
|
+
*rendered*, never the verdict.
|
|
112
111
|
|
|
113
112
|
Then *apply the severity floor* selected via <getopt-option-severity/>
|
|
114
113
|
(default `LOW`): define the ordinal rank `LOW`=1, `MEDIUM`=2,
|
|
@@ -135,7 +134,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
135
134
|
|
|
136
135
|
</template>
|
|
137
136
|
|
|
138
|
-
You *MUST* *NOT* output anything else in this STEP 3.
|
|
137
|
+
You *MUST* *NOT* output anything else in this STEP 3.1.
|
|
139
138
|
|
|
140
139
|
2. <if condition="<findings/> is empty">
|
|
141
140
|
Only output the following <template/> and then *SKIP* the
|
|
@@ -59,9 +59,9 @@ before it is committed.
|
|
|
59
59
|
Set the *severity floor* (default `LOW`): findings below the chosen
|
|
60
60
|
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
61
61
|
`HIGH`. The default `LOW` keeps all findings; `ACCEPTED` findings are
|
|
62
|
-
never suppressed. The floor only affects the rendered findings table
|
|
63
|
-
the overall *verdict
|
|
64
|
-
|
|
62
|
+
never suppressed. The floor only affects the rendered findings table,
|
|
63
|
+
not the overall *verdict*, which is always derived from all findings
|
|
64
|
+
before the floor is applied.
|
|
65
65
|
|
|
66
66
|
## ARGUMENTS
|
|
67
67
|
|
|
@@ -84,5 +84,5 @@ Review the staged changes, reporting only `MEDIUM` and `HIGH` findings:
|
|
|
84
84
|
|
|
85
85
|
## SEE ALSO
|
|
86
86
|
|
|
87
|
-
`ase-meta-diff
|
|
88
|
-
`ase-meta-diaboli
|
|
87
|
+
[`ase-meta-diff`](../ase-meta-diff/help.md), [`ase-meta-commit`](../ase-meta-commit/help.md), [`ase-code-lint`](../ase-code-lint/help.md), [`ase-code-analyze`](../ase-code-analyze/help.md),
|
|
88
|
+
[`ase-meta-diaboli`](../ase-meta-diaboli/help.md).
|
|
@@ -41,8 +41,8 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
41
41
|
<define name="agent">
|
|
42
42
|
```text
|
|
43
43
|
Agent(
|
|
44
|
-
name: "ase-meta-search",
|
|
45
|
-
description: "Query Web Search Service",
|
|
44
|
+
name: "ase-meta-search-<arg1/>",
|
|
45
|
+
description: "Query Web Search Service: <arg1/>",
|
|
46
46
|
subagent_type: "ase:ase-meta-search",
|
|
47
47
|
prompt: <content/>
|
|
48
48
|
)
|
|
@@ -53,8 +53,9 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
53
53
|
*backend tokens*. The getopt parser validates only the *first*
|
|
54
54
|
token, so you *MUST* validate each remaining token yourself against
|
|
55
55
|
the allowed set `all`, `perplexity`, `brave`, `exa`, `websearch`. If
|
|
56
|
-
any token is *not* in this set,
|
|
57
|
-
|
|
56
|
+
any token is *not* in this set, bind <token/> to that offending
|
|
57
|
+
token, then only output the following <template/> and then
|
|
58
|
+
immediately *STOP* processing the entire current skill:
|
|
58
59
|
|
|
59
60
|
<template>
|
|
60
61
|
⧉ **ASE**: ✪ skill: **ase-meta-search**, ▶ ERROR: invalid `--services` token: **<token/>**
|
|
@@ -66,7 +67,7 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
66
67
|
If the `perplexity` backend is *selected* and the MCP tool
|
|
67
68
|
`perplexity_search` from the MCP server `search-perplexity` is available:
|
|
68
69
|
|
|
69
|
-
<expand name="agent">
|
|
70
|
+
<expand name="agent" arg1="perplexity">
|
|
70
71
|
Call the MCP tool `perplexity_search(query: "<query/>")`
|
|
71
72
|
from the MCP server `search-perplexity`.
|
|
72
73
|
</expand>
|
|
@@ -74,7 +75,7 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
74
75
|
If the `brave` backend is *selected* and the MCP tool
|
|
75
76
|
`brave_web_search` from the MCP server `search-brave` is available:
|
|
76
77
|
|
|
77
|
-
<expand name="agent">
|
|
78
|
+
<expand name="agent" arg1="brave">
|
|
78
79
|
Call the MCP tool `brave_web_search(query: "<query/>")`
|
|
79
80
|
from the MCP server `search-brave`.
|
|
80
81
|
</expand>
|
|
@@ -82,14 +83,14 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
82
83
|
If the `exa` backend is *selected* and the MCP tool
|
|
83
84
|
`web_search_exa` from the MCP server `search-exa` is available:
|
|
84
85
|
|
|
85
|
-
<expand name="agent">
|
|
86
|
+
<expand name="agent" arg1="exa">
|
|
86
87
|
Call the MCP tool `web_search_exa(query: "<query/>")`
|
|
87
88
|
from the MCP server `search-exa`.
|
|
88
89
|
</expand>
|
|
89
90
|
|
|
90
91
|
If the `websearch` backend is *selected*:
|
|
91
92
|
|
|
92
|
-
<expand name="agent">
|
|
93
|
+
<expand name="agent" arg1="websearch">
|
|
93
94
|
Call the tool `WebSearch(query: "<query/>")`.
|
|
94
95
|
</expand>
|
|
95
96
|
|
|
@@ -48,4 +48,4 @@ Search the Web using only the Brave and Exa backends:
|
|
|
48
48
|
|
|
49
49
|
## SEE ALSO
|
|
50
50
|
|
|
51
|
-
`ase-meta-chat
|
|
51
|
+
[`ase-meta-chat`](../ase-meta-chat/help.md), [`ase-meta-quorum`](../ase-meta-quorum/help.md), [`ase-arch-discover`](../ase-arch-discover/help.md).
|
|
@@ -197,7 +197,7 @@ to <getopt-option-count/>; if <getopt-option-count/> is *non-numeric* or
|
|
|
197
197
|
Carry the result forward to the next round: set
|
|
198
198
|
<thesis><fortification/></thesis> (the fortification becomes the
|
|
199
199
|
thesis to be strengthened next), set <i/> to <i/> + 1 (increment the
|
|
200
|
-
round counter), and then *
|
|
200
|
+
round counter), and then *REPEAT* the operation at **STEP 1**!
|
|
201
201
|
</if>
|
|
202
202
|
|
|
203
203
|
<if condition="<i/> is greater than or equal to <rounds/>">
|
|
@@ -88,5 +88,5 @@ Strengthen across five iterative rounds:
|
|
|
88
88
|
|
|
89
89
|
## SEE ALSO
|
|
90
90
|
|
|
91
|
-
`ase-meta-diaboli
|
|
92
|
-
`ase-meta-quorum
|
|
91
|
+
[`ase-meta-diaboli`](../ase-meta-diaboli/help.md), [`ase-meta-why`](../ase-meta-why/help.md), [`ase-meta-evaluate`](../ase-meta-evaluate/help.md),
|
|
92
|
+
[`ase-meta-quorum`](../ase-meta-quorum/help.md).
|