@rse/ase 2.0.1 → 2.0.3
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-agent-definition-core.js +111 -87
- package/dst/ase-agent-fleet.js +1 -1
- package/dst/ase-agent-runtime-claim.js +5 -3
- package/dst/ase-agent-runtime-engine.js +1 -1
- package/dst/ase-agent-runtime-phase.js +1 -1
- package/dst/ase-agent-runtime-request.js +1 -1
- package/dst/ase-agent-runtime.js +3 -5
- package/dst/ase-artifact.js +3 -3
- package/dst/ase-config-core.js +2 -16
- package/dst/ase-config-schema.js +1 -3
- package/dst/ase-config.js +4 -1
- package/dst/ase-hook.js +14 -19
- package/dst/ase-lib-daemon-cli.js +117 -4
- package/dst/ase-lib-server-cli.js +10 -10
- package/dst/ase-mcp.js +4 -4
- package/dst/ase-service-getopt.js +2 -2
- package/dst/ase-service-otel.js +4 -4
- package/dst/ase-service-skills.js +5 -15
- package/dst/ase-service.js +87 -210
- package/dst/ase-setup-common.js +1 -2
- package/dst/ase-setup-settings.js +6 -9
- package/dst/ase-setup.js +2 -3
- package/dst/ase-statusline.js +170 -170
- package/dst/ase-task-board-core.js +1 -1
- package/dst/ase-task-board-flow.js +7 -6
- package/dst/ase-task-board-graph.js +5 -4
- package/dst/ase-task-board-tui-control.js +51 -45
- package/dst/ase-task-board-tui-model.js +195 -181
- package/dst/ase-task-board-tui-popup.js +2 -3
- package/dst/ase-task-board-tui-view.js +88 -79
- package/dst/ase-task-board-web-client.css +1 -1
- package/dst/ase-task-board-web-client.js +2 -2
- package/dst/ase-task-board-web-server.js +4 -27
- package/dst/ase-task-board.js +1 -1
- package/dst/ase-task-format.js +1 -1
- package/dst/ase-task-store-client.js +17 -5
- package/dst/ase-task-store-core.js +5 -7
- package/dst/ase-task-store-issues.js +91 -0
- package/dst/ase-task-store-plugin-ase.js +7 -3
- package/dst/ase-task-store-plugin-gitea.js +11 -97
- package/dst/ase-task-store-plugin-github.js +5 -77
- package/dst/ase-task-store-plugin-gitlab.js +4 -83
- package/dst/ase-task.js +51 -23
- package/dst/ase-util-compat.js +1 -1
- package/dst/ase-util-diagram.js +16 -42
- package/dst/ase.js +5 -5
- package/dst/man/ase-agent-adhoc.1 +1 -1
- package/dst/man/ase-agent-condenser.1 +1 -1
- package/dst/man/ase-agent-editor.1 +1 -1
- package/dst/man/ase-agent-estimator.1 +1 -1
- package/dst/man/ase-agent-fleet.1 +1 -1
- package/dst/man/ase-agent-implementer.1 +1 -1
- package/dst/man/ase-agent-integrator.1 +1 -1
- package/dst/man/ase-agent-qualifier.1 +1 -1
- package/dst/man/ase-agent-rebooter.1 +1 -1
- package/dst/man/ase-agent-relay.1 +1 -1
- package/dst/man/ase-agent-researcher.1 +1 -1
- package/dst/man/ase-agent.1 +1 -1
- package/dst/man/ase-artifact-list.1 +1 -1
- package/dst/man/ase-artifact-name.1 +1 -1
- package/dst/man/ase-artifact.1 +1 -1
- package/dst/man/ase-config-delete.1 +1 -1
- package/dst/man/ase-config-edit.1 +1 -1
- package/dst/man/ase-config-get.1 +1 -1
- package/dst/man/ase-config-init.1 +1 -1
- package/dst/man/ase-config-list.1 +1 -1
- package/dst/man/ase-config-set.1 +1 -1
- package/dst/man/ase-config.1 +1 -1
- package/dst/man/ase-hook-permission-request.1 +1 -1
- package/dst/man/ase-hook-pre-tool-use.1 +1 -1
- package/dst/man/ase-hook-session-end.1 +1 -1
- package/dst/man/ase-hook-session-persona.1 +1 -1
- package/dst/man/ase-hook-session-start.1 +1 -1
- package/dst/man/ase-hook-stop.1 +1 -1
- package/dst/man/ase-hook-user-prompt-submit.1 +1 -1
- package/dst/man/ase-hook.1 +1 -1
- package/dst/man/ase-man.1 +1 -1
- package/dst/man/ase-mcp.1 +1 -1
- package/dst/man/ase-service-log.1 +1 -1
- package/dst/man/ase-service-send.1 +1 -1
- package/dst/man/ase-service-start.1 +1 -1
- package/dst/man/ase-service-status.1 +1 -1
- package/dst/man/ase-service-stop.1 +1 -1
- package/dst/man/ase-service.1 +1 -1
- package/dst/man/ase-setup-disable.1 +1 -1
- package/dst/man/ase-setup-enable.1 +1 -1
- package/dst/man/ase-setup-install.1 +1 -1
- package/dst/man/ase-setup-mcp.1 +1 -1
- package/dst/man/ase-setup-status.1 +1 -1
- package/dst/man/ase-setup-statusline.1 +1 -1
- package/dst/man/ase-setup-telemetry.1 +1 -1
- package/dst/man/ase-setup-uninstall.1 +1 -1
- package/dst/man/ase-setup-update.1 +1 -1
- package/dst/man/ase-setup.1 +1 -1
- package/dst/man/ase-spec-export.1 +1 -1
- package/dst/man/ase-spec-lint.1 +1 -1
- package/dst/man/ase-spec-preview.1 +1 -1
- package/dst/man/ase-spec.1 +1 -1
- package/dst/man/ase-statusline.1 +1 -1
- package/dst/man/ase-task-assign.1 +1 -1
- package/dst/man/ase-task-board.1 +3 -3
- package/dst/man/ase-task-delete.1 +1 -1
- package/dst/man/ase-task-edit.1 +1 -1
- package/dst/man/ase-task-idscheme.1 +1 -1
- package/dst/man/ase-task-lifecycle.1 +1 -1
- package/dst/man/ase-task-list.1 +1 -1
- package/dst/man/ase-task-load.1 +1 -1
- package/dst/man/ase-task-newid.1 +1 -1
- package/dst/man/ase-task-purge.1 +1 -1
- package/dst/man/ase-task-rename.1 +1 -1
- package/dst/man/ase-task-request.1 +1 -1
- package/dst/man/ase-task-save.1 +1 -1
- package/dst/man/ase-task-status.1 +1 -1
- package/dst/man/ase-task-store.1 +1 -1
- package/dst/man/ase-task-view.1 +1 -1
- package/dst/man/ase-task.1 +1 -1
- package/dst/man/ase-util-compat.1 +1 -1
- package/dst/man/ase-util-diagram.1 +1 -1
- package/dst/man/ase-util-meta.1 +1 -1
- package/dst/man/ase-util-metric.1 +1 -1
- package/dst/man/ase-util-mint.1 +1 -1
- package/dst/man/ase-util-worktree.1 +1 -1
- package/dst/man/ase-util.1 +1 -1
- package/dst/man/ase.1 +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.codex-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/meta/ase-common-resolve.md +2 -2
- package/plugin/meta/ase-skill.md +7 -0
- package/plugin/mods/ase-mods.ts +16 -12
- package/plugin/skills/ase-arch-analyze/SKILL.md +3 -1
- package/plugin/skills/ase-code-analyze/SKILL.md +26 -10
- package/plugin/skills/ase-code-analyze/help.md +11 -6
- package/plugin/skills/ase-code-edit/SKILL.md +5 -4
- package/plugin/skills/ase-code-edit/help.md +1 -1
- package/plugin/skills/ase-code-lint/SKILL.md +52 -27
- package/plugin/skills/ase-code-lint/help.md +10 -5
- package/plugin/skills/ase-help-intent/data.md +60 -30
- package/plugin/skills/ase-help-skill/help.md +3 -4
- package/plugin/skills/ase-meta-quorum/SKILL.md +9 -0
- package/plugin/skills/ase-meta-quorum/help.md +5 -3
- package/plugin/skills/ase-meta-workflow/sample.md +5 -3
- package/plugin/skills/ase-repo-changelog/SKILL.md +8 -9
- package/plugin/skills/ase-repo-changelog/help.md +2 -2
- package/plugin/skills/ase-repo-review/SKILL.md +5 -3
- package/plugin/skills/ase-repo-review/help.md +3 -1
- package/plugin/skills/ase-spec-edit/SKILL.md +2 -1
- package/plugin/skills/ase-spec-edit/help.md +2 -1
- package/plugin/skills/ase-sync-reconcile/help.md +4 -4
- package/plugin/skills/ase-task-dissect/SKILL.md +10 -6
- package/plugin/skills/ase-task-grill/help.md +1 -1
- package/plugin/skills/ase-task-implement/SKILL.md +58 -1
- package/plugin/skills/ase-task-implement/help.md +16 -0
- package/plugin/skills/ase-task-list/help.md +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-code-analyze
|
|
3
|
-
argument-hint: "[--help|-h] [--performance|-p] [--security|-s] [--severity|-S=(LOW|MEDIUM|HIGH)] [--prefix|-P=<prefix>] [--staged] [--unstaged] [<source-reference>]"
|
|
3
|
+
argument-hint: "[--help|-h] [--performance|-p] [--security|-s] [--severity|-S=(AUTO|LOW|MEDIUM|HIGH)] [--prefix|-P=<prefix>] [--staged] [--unstaged] [<source-reference>]"
|
|
4
4
|
description: >
|
|
5
5
|
Analyze the source code for problems in either the logic and
|
|
6
6
|
semantics and its related control flow, performance and efficiency,
|
|
@@ -25,7 +25,7 @@ Analyze Source Code
|
|
|
25
25
|
|
|
26
26
|
<expand name="getopt"
|
|
27
27
|
arg1="ase-code-analyze"
|
|
28
|
-
arg2="--performance|-p --security|-s --severity|-S=(LOW|MEDIUM|HIGH) --prefix|-P= --staged --unstaged">
|
|
28
|
+
arg2="--performance|-p --security|-s --severity|-S=(AUTO|LOW|MEDIUM|HIGH) --prefix|-P= --staged --unstaged">
|
|
29
29
|
$ARGUMENTS
|
|
30
30
|
</expand>
|
|
31
31
|
|
|
@@ -56,10 +56,11 @@ problems in *performance* and *efficiency*, or problems in *security*.
|
|
|
56
56
|
|
|
57
57
|
2. <step id="STEP 2: Investigate Code Base">
|
|
58
58
|
|
|
59
|
-
<if condition="<ase-project-boxing/> is equal `black`">
|
|
59
|
+
<if condition="<ase-project-boxing/> is equal `black` and <getopt-option-severity/> is equal `AUTO`">
|
|
60
60
|
|
|
61
61
|
The project source artifacts are classified as a *black box*, so
|
|
62
|
-
the user does *not* want them inspected or their problems surfaced
|
|
62
|
+
the user does *not* want them inspected or their problems surfaced
|
|
63
|
+
(an *explicitly* given severity floor lifts this skip).
|
|
63
64
|
*Skip* the entire investigation and analysis: do *not* invoke any
|
|
64
65
|
`Bash`, `Glob`, or `Agent` tool and do *not* read any source, only
|
|
65
66
|
output the following <template/> and then *SKIP* the remaining step
|
|
@@ -136,6 +137,14 @@ problems in *performance* and *efficiency*, or problems in *security*.
|
|
|
136
137
|
<sources/> of individual source code files, expanding any
|
|
137
138
|
directory or wildcard references with the `Glob` tool.
|
|
138
139
|
|
|
140
|
+
If <sources/> is empty (no *source-reference* given or none of it
|
|
141
|
+
resolvable), only output the following <template/> and then *STOP*
|
|
142
|
+
the entire flow (do not perform any further steps):
|
|
143
|
+
|
|
144
|
+
<template>
|
|
145
|
+
⧉ **ASE**: ✪ skill: **ase-code-analyze**, ▶ ERROR: no source files to analyze -- give a *source-reference* or use `--staged`/`--unstaged`
|
|
146
|
+
</template>
|
|
147
|
+
|
|
139
148
|
</else>
|
|
140
149
|
|
|
141
150
|
Then partition <sources/>, preserving order, into at most *eight*
|
|
@@ -183,17 +192,24 @@ problems in *performance* and *efficiency*, or problems in *security*.
|
|
|
183
192
|
do not overwrite each other.
|
|
184
193
|
|
|
185
194
|
Before reporting, determine the *effective severity floor* <floor/>:
|
|
186
|
-
define the ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3
|
|
187
|
-
|
|
188
|
-
<
|
|
189
|
-
|
|
190
|
-
surfaces only *material* findings of severity `MEDIUM`
|
|
195
|
+
define the ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3.
|
|
196
|
+
|
|
197
|
+
<if condition="<getopt-option-severity/> is equal `AUTO`">
|
|
198
|
+
Set <floor>MEDIUM</floor> if <ase-project-boxing/> is equal `grey`
|
|
199
|
+
(grey boxing surfaces only *material* findings of severity `MEDIUM`
|
|
200
|
+
and above), and <floor>LOW</floor> otherwise.
|
|
201
|
+
</if>
|
|
202
|
+
<else>
|
|
203
|
+
Set <floor><getopt-option-severity/></floor>: an *explicitly* given
|
|
204
|
+
severity floor always *wins* over the boxing, both over the `grey`
|
|
205
|
+
floor and over the `black` skip.
|
|
206
|
+
</else>
|
|
191
207
|
|
|
192
208
|
Then *apply the effective severity floor* <floor/>: *Keep* a detected
|
|
193
209
|
problem if and only if its `severity` field is `ACCEPTED` *or*
|
|
194
210
|
`rank(severity)` is greater than or equal to `rank(<floor/>)`;
|
|
195
211
|
*silently drop* all other problems (they are neither reported nor
|
|
196
|
-
persisted). With the
|
|
212
|
+
persisted). With the floor `LOW`, all problems are kept.
|
|
197
213
|
`ACCEPTED` problems are *never* dropped.
|
|
198
214
|
|
|
199
215
|
Then sort the surviving problems in <problems/> by their `severity`
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[`--help`|`-h`]
|
|
10
10
|
[`--performance`|`-p`]
|
|
11
11
|
[`--security`|`-s`]
|
|
12
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
12
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
13
13
|
[`--prefix`|`-P` *prefix*]
|
|
14
14
|
[`--staged`]
|
|
15
15
|
[`--unstaged`]
|
|
@@ -32,11 +32,16 @@ The *analysis lens* depends on the selected options:
|
|
|
32
32
|
|
|
33
33
|
The `--performance` and `--security` options are *mutually exclusive*.
|
|
34
34
|
|
|
35
|
-
The `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`) option sets a
|
|
36
|
-
floor* (default `
|
|
37
|
-
suppressed (neither reported nor persisted), ordered `LOW`
|
|
38
|
-
`HIGH`. The default `
|
|
39
|
-
|
|
35
|
+
The `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`) option sets a
|
|
36
|
+
*severity floor* (default `AUTO`): problems below the chosen threshold
|
|
37
|
+
are silently suppressed (neither reported nor persisted), ordered `LOW`
|
|
38
|
+
< `MEDIUM` < `HIGH`. The default `AUTO` means `MEDIUM` for a project
|
|
39
|
+
with `grey` boxing, no analysis at all for a project with `black`
|
|
40
|
+
boxing, and `LOW` (keep all problems) otherwise; an explicitly given
|
|
41
|
+
floor always wins over the boxing, i.e. it also analyzes a project with
|
|
42
|
+
`black` boxing and, e.g. with `LOW`, reports all problems of a project
|
|
43
|
+
with `grey` boxing. `ACCEPTED` problems are never suppressed. Surviving
|
|
44
|
+
problems are reported in *descending
|
|
40
45
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED` - keeping the
|
|
41
46
|
`file`/`line` order within the same severity - and are renumbered
|
|
42
47
|
contiguously as `P<n>`, so `P1` is the most severe problem.
|
|
@@ -137,10 +137,11 @@ empty <todo-what/> or <todo-how/> renders as `(none)`:
|
|
|
137
137
|
⧉ **ASE**: ✪ skill: **ase-code-edit**, ⇌ issue: **<issue-id/>**, ▶ status: **issue retrieved**
|
|
138
138
|
</template>
|
|
139
139
|
|
|
140
|
-
Otherwise,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
Otherwise, only output the following <template/>, then set
|
|
141
|
+
<issue-id></issue-id> and <query></query> (both empty, so the
|
|
142
|
+
next iteration asks for a fresh query), and then, under `--loop`,
|
|
143
|
+
continue with the *next* iteration at item 3.1 above, or, without
|
|
144
|
+
`--loop`, immediately *STOP* processing the entire current skill:
|
|
144
145
|
|
|
145
146
|
<template>
|
|
146
147
|
⧉ **ASE**: ✪ skill: **ase-code-edit**, ▶ ERROR: no analyzer result exists for issue **<query/>**
|
|
@@ -65,7 +65,7 @@ information.
|
|
|
65
65
|
should be clarified), `IMPLEMENTATION` (inner technical details,
|
|
66
66
|
can be clarified), `REGRESSION` (what must not break, should be
|
|
67
67
|
clarified), or `CONFIRMATION` (what proves the specified behavior,
|
|
68
|
-
should be clarified) -- and a 1-
|
|
68
|
+
should be clarified) -- and a 1-3 word `TOPIC` hint. The questions
|
|
69
69
|
of a round are sorted by descending focus area importance
|
|
70
70
|
(`DOMAIN`, `INTERFACE`, `ARCHITECTURE`, `IMPLEMENTATION`,
|
|
71
71
|
`REGRESSION`, `CONFIRMATION`). Questions of focus area
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-code-lint
|
|
3
|
-
argument-hint: "[--help|-h] [--auto|-a] [--severity|-S=(LOW|MEDIUM|HIGH)] [--include|-i=<aspect>[,...]] [--exclude|-e=<aspect>[,...]] [--staged] [--unstaged] [<source-reference>]"
|
|
3
|
+
argument-hint: "[--help|-h] [--auto|-a] [--severity|-S=(AUTO|LOW|MEDIUM|HIGH)] [--include|-i=<aspect>[,...]] [--exclude|-e=<aspect>[,...]] [--staged] [--unstaged] [<source-reference>]"
|
|
4
4
|
description: >
|
|
5
5
|
Lint source code for potential code quality problems.
|
|
6
6
|
Use when the user wants to "lint" or "check" source code.
|
|
@@ -23,7 +23,7 @@ Lint Source Code
|
|
|
23
23
|
|
|
24
24
|
<expand name="getopt"
|
|
25
25
|
arg1="ase-code-lint"
|
|
26
|
-
arg2="--auto|-a --severity|-S=(LOW|MEDIUM|HIGH) --include|-i=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --exclude|-e=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --staged --unstaged">
|
|
26
|
+
arg2="--auto|-a --severity|-S=(AUTO|LOW|MEDIUM|HIGH) --include|-i=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --exclude|-e=(none|A01|A02|A03|A04|A05|A06|A07|A08|A09|A10|A11|A12|A13|A14|A15|A16|A17|A18|A19|A20|A21)... --staged --unstaged">
|
|
27
27
|
$ARGUMENTS
|
|
28
28
|
</expand>
|
|
29
29
|
|
|
@@ -36,10 +36,11 @@ related to a set of code quality aspects.
|
|
|
36
36
|
|
|
37
37
|
1. <step id="STEP 1: Investigation">
|
|
38
38
|
|
|
39
|
-
<if condition="<ase-project-boxing/> is equal `black`">
|
|
39
|
+
<if condition="<ase-project-boxing/> is equal `black` and <getopt-option-severity/> is equal `AUTO`">
|
|
40
40
|
|
|
41
41
|
The project source artifacts are classified as a *black box*, so
|
|
42
|
-
the user does *not* want them inspected or their problems surfaced
|
|
42
|
+
the user does *not* want them inspected or their problems surfaced
|
|
43
|
+
(an *explicitly* given severity floor lifts this skip).
|
|
43
44
|
*Skip* the entire investigation and reporting: do *not* invoke any
|
|
44
45
|
`Bash`, `Glob`, or `Agent` tool and do *not* read any source, only
|
|
45
46
|
output the following <template/> and then *SKIP* the remaining steps
|
|
@@ -51,6 +52,11 @@ related to a set of code quality aspects.
|
|
|
51
52
|
|
|
52
53
|
</if>
|
|
53
54
|
|
|
55
|
+
Set <condensed>true</condensed> if <ase-project-boxing/> is equal
|
|
56
|
+
`grey` or `black` (the latter reached only under an explicitly given
|
|
57
|
+
severity floor), and <condensed>false</condensed> otherwise: a
|
|
58
|
+
*condensed* report suppresses the full unified diffs of STEP 3.
|
|
59
|
+
|
|
54
60
|
First, determine the *effective aspect set* <aspects/>, i.e., the
|
|
55
61
|
code quality aspects which are checked at all. For this, parse
|
|
56
62
|
<getopt-option-include/> and <getopt-option-exclude/> as
|
|
@@ -135,6 +141,14 @@ related to a set of code quality aspects.
|
|
|
135
141
|
list <sources/> of individual source code files, expanding any
|
|
136
142
|
directory or wildcard references with the `Glob` tool.
|
|
137
143
|
|
|
144
|
+
If <sources/> is empty (no *source-reference* given or none of it
|
|
145
|
+
resolvable), only output the following <template/> and then *STOP*
|
|
146
|
+
the entire flow (do not perform any further steps):
|
|
147
|
+
|
|
148
|
+
<template>
|
|
149
|
+
⧉ **ASE**: ✪ skill: **ase-code-lint**, ▶ ERROR: no source files to lint -- give a *source-reference* or use `--staged`/`--unstaged`
|
|
150
|
+
</template>
|
|
151
|
+
|
|
138
152
|
</else>
|
|
139
153
|
|
|
140
154
|
Then partition <sources/>, preserving order, into at most *eight*
|
|
@@ -160,24 +174,34 @@ related to a set of code quality aspects.
|
|
|
160
174
|
parallel invocation is distinguishable in the progress display.
|
|
161
175
|
|
|
162
176
|
Parse the result message of each `Agent` tool invocation as a JSON
|
|
163
|
-
array and concatenate all those arrays.
|
|
164
|
-
|
|
177
|
+
array and concatenate all those arrays. Determine the *anchor* of
|
|
178
|
+
each problem as the `file` of its *first* `change-set` entry and the
|
|
179
|
+
`line` of that entry's *first* `change-hunks` entry, as problems carry
|
|
180
|
+
no top-level `file` and `line` fields. Then *deduplicate* the
|
|
181
|
+
combined list: when two problems share the same anchor and
|
|
165
182
|
`aspect`, *silently drop* all but the first one (sub-agents may
|
|
166
183
|
have read overlapping *related* files for comprehension). Finally
|
|
167
|
-
sort the list by `file` and then numerically by
|
|
168
|
-
<problems/> to that list.
|
|
184
|
+
sort the list by the anchor `file` and then numerically by the anchor
|
|
185
|
+
`line`, and set <problems/> to that list.
|
|
169
186
|
|
|
170
187
|
Then determine the *effective severity floor* <floor/>: define the
|
|
171
|
-
ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3
|
|
172
|
-
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
surfaces only *material* findings of severity `MEDIUM`
|
|
188
|
+
ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3.
|
|
189
|
+
|
|
190
|
+
<if condition="<getopt-option-severity/> is equal `AUTO`">
|
|
191
|
+
Set <floor>MEDIUM</floor> if <ase-project-boxing/> is equal `grey`
|
|
192
|
+
(grey boxing surfaces only *material* findings of severity `MEDIUM`
|
|
193
|
+
and above), and <floor>LOW</floor> otherwise.
|
|
194
|
+
</if>
|
|
195
|
+
<else>
|
|
196
|
+
Set <floor><getopt-option-severity/></floor>: an *explicitly* given
|
|
197
|
+
severity floor always *wins* over the boxing, both over the `grey`
|
|
198
|
+
floor and over the `black` skip.
|
|
199
|
+
</else>
|
|
176
200
|
|
|
177
201
|
Then *apply the effective severity floor* <floor/>: *Keep* a problem
|
|
178
202
|
in <problems/> if and only if its `severity` field is `ACCEPTED` *or*
|
|
179
203
|
`rank(severity)` is greater than or equal to `rank(<floor/>)`;
|
|
180
|
-
*silently drop* all other problems. With the
|
|
204
|
+
*silently drop* all other problems. With the floor `LOW`, all
|
|
181
205
|
problems are kept. `ACCEPTED` problems are *never* dropped.
|
|
182
206
|
|
|
183
207
|
Finally, sort the surviving problems in <problems/> by their
|
|
@@ -259,7 +283,7 @@ related to a set of code quality aspects.
|
|
|
259
283
|
1. Set <file/> to the `file` field of <item/>.
|
|
260
284
|
Set <change-hunks/> to the `change-hunks` field of <item/>.
|
|
261
285
|
|
|
262
|
-
Unless <
|
|
286
|
+
Unless <condensed/> is equal `true` (where the
|
|
263
287
|
full unified diff is suppressed and no context lines are
|
|
264
288
|
rendered at all), *silently* read the current content of
|
|
265
289
|
<file/> with the `Read` tool - reusing the content read
|
|
@@ -273,7 +297,7 @@ related to a set of code quality aspects.
|
|
|
273
297
|
context lines of substep 2 below, so the rendered diff
|
|
274
298
|
shows real context even when a sub-agent supplied none.
|
|
275
299
|
|
|
276
|
-
Unless <
|
|
300
|
+
Unless <condensed/> is equal `true` (where the
|
|
277
301
|
full unified diff is suppressed and this per-file header is
|
|
278
302
|
unused), set <diff-file/> to the following <template/>:
|
|
279
303
|
|
|
@@ -317,8 +341,8 @@ related to a set of code quality aspects.
|
|
|
317
341
|
Keep the sub-agent supplied values only when
|
|
318
342
|
<file-lines/> is empty.
|
|
319
343
|
|
|
320
|
-
2. *Skip* this substep entirely when <
|
|
321
|
-
is equal `
|
|
344
|
+
2. *Skip* this substep entirely when <condensed/>
|
|
345
|
+
is equal `true` - the full unified diff is suppressed
|
|
322
346
|
there, so none of the <hunk-body/>, <old-count/>,
|
|
323
347
|
<new-count/>, <old-start/>, or <new-start/> values
|
|
324
348
|
below are consumed (substep 4 builds only the condensed
|
|
@@ -373,10 +397,10 @@ related to a set of code quality aspects.
|
|
|
373
397
|
|
|
374
398
|
<template>`<file/>`:<line/></template>
|
|
375
399
|
|
|
376
|
-
4. <if condition="<
|
|
400
|
+
4. <if condition="<condensed/> is equal `true`">
|
|
377
401
|
|
|
378
|
-
The full unified diff is *suppressed*
|
|
379
|
-
(see substep 5 below), so *skip* the full-diff append
|
|
402
|
+
The full unified diff is *suppressed* in a condensed
|
|
403
|
+
report (see substep 5 below), so *skip* the full-diff append
|
|
380
404
|
and instead build only a *condensed* one-line
|
|
381
405
|
representation of this hunk: determine <old-snippet/>
|
|
382
406
|
as the *single-line* collapse of <old-text/> (join its
|
|
@@ -406,7 +430,7 @@ related to a set of code quality aspects.
|
|
|
406
430
|
|
|
407
431
|
</for>
|
|
408
432
|
|
|
409
|
-
3. Unless <
|
|
433
|
+
3. Unless <condensed/> is equal `true` (where
|
|
410
434
|
<diff-file/> is unused), append <diff-file/> to <diff/>.
|
|
411
435
|
|
|
412
436
|
</for>
|
|
@@ -422,10 +446,11 @@ related to a set of code quality aspects.
|
|
|
422
446
|
|
|
423
447
|
5. <if condition="<getopt-option-auto/> is not equal `true`">
|
|
424
448
|
|
|
425
|
-
<if condition="<
|
|
449
|
+
<if condition="<condensed/> is equal `true`">
|
|
426
450
|
|
|
427
|
-
The project source artifacts are classified as a *grey box
|
|
428
|
-
the user does *not* want the full artifact
|
|
451
|
+
The project source artifacts are classified as a *grey box* (or
|
|
452
|
+
*black box*), so the user does *not* want the full artifact
|
|
453
|
+
internals surfaced:
|
|
429
454
|
*suppress* the full unified diff and instead show only the
|
|
430
455
|
*condensed* one-line-per-hunk representation. Report the
|
|
431
456
|
solution with the following <template/>:
|
|
@@ -494,8 +519,8 @@ related to a set of code quality aspects.
|
|
|
494
519
|
- <if condition="<result/> is 'ACCEPT'">
|
|
495
520
|
Invoke the `Edit` tool to apply the changes exactly
|
|
496
521
|
as given by the hunks of the current <change-set/>
|
|
497
|
-
(rendered as <diff/>, unless suppressed
|
|
498
|
-
|
|
522
|
+
(rendered as <diff/>, unless suppressed in a condensed
|
|
523
|
+
report). The operation will be auto-approved by the ASE
|
|
499
524
|
`pre-tool-use` hook (which tracks the active skill),
|
|
500
525
|
so *no* interactive permission prompt will appear.
|
|
501
526
|
After applying the changes, just continue with the next
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
`ase-code-lint`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
10
|
[`--auto`|`-a`]
|
|
11
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
11
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
12
12
|
[`--include`|`-i`=*aspect*[`,`...]]
|
|
13
13
|
[`--exclude`|`-e`=*aspect*[`,`...]]
|
|
14
14
|
[`--staged`]
|
|
@@ -60,11 +60,16 @@ the code, and comments contradicting the code.
|
|
|
60
60
|
Automatically apply every proposed correction without asking the
|
|
61
61
|
user via the interactive dialog.
|
|
62
62
|
|
|
63
|
-
- `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`):
|
|
64
|
-
Set the *severity floor* (default `
|
|
63
|
+
- `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`):
|
|
64
|
+
Set the *severity floor* (default `AUTO`): findings below the chosen
|
|
65
65
|
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
66
|
-
`HIGH`. The default `
|
|
67
|
-
|
|
66
|
+
`HIGH`. The default `AUTO` means `MEDIUM` for a project with `grey`
|
|
67
|
+
boxing, no linting at all for a project with `black` boxing, and
|
|
68
|
+
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
69
|
+
wins over the boxing, i.e. it also lints a project with `black`
|
|
70
|
+
boxing and, e.g. with `LOW`, acts on all findings of a project with
|
|
71
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed. Surviving
|
|
72
|
+
findings are reported in *descending
|
|
68
73
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`, keeping the
|
|
69
74
|
`file`/`line` order within the same severity.
|
|
70
75
|
|
|
@@ -175,7 +175,7 @@ Discover HTTP clients, flagging any without a release in the last 12 months:
|
|
|
175
175
|
[`--help`|`-h`]
|
|
176
176
|
[`--performance`|`-p`]
|
|
177
177
|
[`--security`|`-s`]
|
|
178
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
178
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
179
179
|
[`--prefix`|`-P` *prefix*]
|
|
180
180
|
[`--staged`]
|
|
181
181
|
[`--unstaged`]
|
|
@@ -198,11 +198,16 @@ The *analysis lens* depends on the selected options:
|
|
|
198
198
|
|
|
199
199
|
The `--performance` and `--security` options are *mutually exclusive*.
|
|
200
200
|
|
|
201
|
-
The `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`) option sets a
|
|
202
|
-
floor* (default `
|
|
203
|
-
suppressed (neither reported nor persisted), ordered `LOW`
|
|
204
|
-
`HIGH`. The default `
|
|
205
|
-
|
|
201
|
+
The `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`) option sets a
|
|
202
|
+
*severity floor* (default `AUTO`): problems below the chosen threshold
|
|
203
|
+
are silently suppressed (neither reported nor persisted), ordered `LOW`
|
|
204
|
+
< `MEDIUM` < `HIGH`. The default `AUTO` means `MEDIUM` for a project
|
|
205
|
+
with `grey` boxing, no analysis at all for a project with `black`
|
|
206
|
+
boxing, and `LOW` (keep all problems) otherwise; an explicitly given
|
|
207
|
+
floor always wins over the boxing, i.e. it also analyzes a project with
|
|
208
|
+
`black` boxing and, e.g. with `LOW`, reports all problems of a project
|
|
209
|
+
with `grey` boxing. `ACCEPTED` problems are never suppressed. Surviving
|
|
210
|
+
problems are reported in *descending
|
|
206
211
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED` - keeping the
|
|
207
212
|
`file`/`line` order within the same severity - and are renumbered
|
|
208
213
|
contiguously as `P<n>`, so `P1` is the most severe problem.
|
|
@@ -367,7 +372,7 @@ information.
|
|
|
367
372
|
should be clarified), `IMPLEMENTATION` (inner technical details,
|
|
368
373
|
can be clarified), `REGRESSION` (what must not break, should be
|
|
369
374
|
clarified), or `CONFIRMATION` (what proves the specified behavior,
|
|
370
|
-
should be clarified) -- and a 1-
|
|
375
|
+
should be clarified) -- and a 1-3 word `TOPIC` hint. The questions
|
|
371
376
|
of a round are sorted by descending focus area importance
|
|
372
377
|
(`DOMAIN`, `INTERFACE`, `ARCHITECTURE`, `IMPLEMENTATION`,
|
|
373
378
|
`REGRESSION`, `CONFIRMATION`). Questions of focus area
|
|
@@ -627,7 +632,7 @@ Get insights into a specific subsystem:
|
|
|
627
632
|
`ase-code-lint`
|
|
628
633
|
[`--help`|`-h`]
|
|
629
634
|
[`--auto`|`-a`]
|
|
630
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
635
|
+
[`--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`)]
|
|
631
636
|
[`--include`|`-i`=*aspect*[`,`...]]
|
|
632
637
|
[`--exclude`|`-e`=*aspect*[`,`...]]
|
|
633
638
|
[`--staged`]
|
|
@@ -679,11 +684,16 @@ the code, and comments contradicting the code.
|
|
|
679
684
|
Automatically apply every proposed correction without asking the
|
|
680
685
|
user via the interactive dialog.
|
|
681
686
|
|
|
682
|
-
- `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`):
|
|
683
|
-
Set the *severity floor* (default `
|
|
687
|
+
- `--severity`|`-S`=(`AUTO`|`LOW`|`MEDIUM`|`HIGH`):
|
|
688
|
+
Set the *severity floor* (default `AUTO`): findings below the chosen
|
|
684
689
|
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
685
|
-
`HIGH`. The default `
|
|
686
|
-
|
|
690
|
+
`HIGH`. The default `AUTO` means `MEDIUM` for a project with `grey`
|
|
691
|
+
boxing, no linting at all for a project with `black` boxing, and
|
|
692
|
+
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
693
|
+
wins over the boxing, i.e. it also lints a project with `black`
|
|
694
|
+
boxing and, e.g. with `LOW`, acts on all findings of a project with
|
|
695
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed. Surviving
|
|
696
|
+
findings are reported in *descending
|
|
687
697
|
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`, keeping the
|
|
688
698
|
`file`/`line` order within the same severity.
|
|
689
699
|
|
|
@@ -1169,11 +1179,10 @@ Shorten a document to at most 250 words unattended:
|
|
|
1169
1179
|
|
|
1170
1180
|
The `ase-help-skill` skill renders the *manual page* (`help.md`) of the
|
|
1171
1181
|
ASE skill addressed by *skill-name*. The page is emitted verbatim,
|
|
1172
|
-
framed between a `
|
|
1182
|
+
framed between a `MANUAL PAGE` header and footer rule.
|
|
1173
1183
|
|
|
1174
1184
|
The *skill-name* is resolved against a *catalog* of all ASE skills --
|
|
1175
|
-
one `name: purpose` entry per skill,
|
|
1176
|
-
`skills/ase-help-skill/data.md` by `npm start build` in `plugin/`.
|
|
1185
|
+
one `name: purpose` entry per skill, grouped by skill category.
|
|
1177
1186
|
Before resolving, any leading `/` and `ase:` prefix is stripped, so
|
|
1178
1187
|
`ase-code-lint`, `/ase-code-lint`, and `ase:ase-code-lint` are
|
|
1179
1188
|
equivalent. Resolution then proceeds in three tiers, each tried only if
|
|
@@ -1191,7 +1200,7 @@ most nine answer lines, a broader abbreviation such as `task` shows the
|
|
|
1191
1200
|
first nine candidates and states how many exist in total.
|
|
1192
1201
|
|
|
1193
1202
|
If *skill-name* is omitted, the whole catalog is rendered as a
|
|
1194
|
-
browsable
|
|
1203
|
+
browsable list, grouped by skill category, instead.
|
|
1195
1204
|
|
|
1196
1205
|
The skill exposes *no* option flags beyond `--help`/`-h`.
|
|
1197
1206
|
|
|
@@ -2062,9 +2071,11 @@ complete, unmodified individual responses.
|
|
|
2062
2071
|
- `--models`|`-m` *model*[,...]:
|
|
2063
2072
|
Restrict the *foreign* LLMs that are queried to the given
|
|
2064
2073
|
comma-separated list of *model* tokens. Recognized tokens are
|
|
2065
|
-
`all`, `chatgpt`, `gemini`, `deepseek`, `grok`, `glm`,
|
|
2066
|
-
where `all` selects every
|
|
2067
|
-
|
|
2074
|
+
`all`, `chatgpt`, `gemini`, `deepseek`, `grok`, `glm`, `qwen`,
|
|
2075
|
+
`claude`, `codex`, and `copilot`, where `all` selects every API-based
|
|
2076
|
+
model, but *not* the harness-based `claude`, `codex`, and `copilot`
|
|
2077
|
+
models, which are queried only when given explicitly. The default
|
|
2078
|
+
is `all`. Models that are not selected (or not available) are *silently skipped*.
|
|
2068
2079
|
Anthropic Claude (the skill itself) is *always* included,
|
|
2069
2080
|
independent of this option.
|
|
2070
2081
|
|
|
@@ -2597,8 +2608,8 @@ changes in the Git *index*.
|
|
|
2597
2608
|
Each entry is formatted as `<change-type> [<artifact-kind>]: <summary>`
|
|
2598
2609
|
where *change-type* is one of `FEATURE`, `IMPROVEMENT`, `BUGFIX`,
|
|
2599
2610
|
`UPDATE`, `CLEANUP`, or `REFACTOR`, and *artifact-kind* is one or more
|
|
2600
|
-
comma-separated *artifact class* tags out of `spec`, `
|
|
2601
|
-
`
|
|
2611
|
+
comma-separated *artifact class* tags out of `spec`, `code`, `docs`,
|
|
2612
|
+
`infr`, or `othr`. Entries are grouped and sorted by this
|
|
2602
2613
|
prefix. The date in the section header is also updated to the current
|
|
2603
2614
|
date.
|
|
2604
2615
|
|
|
@@ -3169,7 +3180,9 @@ before it is committed or merged.
|
|
|
3169
3180
|
threshold are suppressed, ordered `LOW` < `MEDIUM` < `HIGH`. The
|
|
3170
3181
|
default `AUTO` means `MEDIUM` for a project with `grey` boxing and
|
|
3171
3182
|
`LOW` (keep all findings) otherwise; an explicitly given floor always
|
|
3172
|
-
wins over the boxing.
|
|
3183
|
+
wins over the boxing, i.e. it also reviews a project with `black`
|
|
3184
|
+
boxing and, e.g. with `LOW`, shows all findings of a project with
|
|
3185
|
+
`grey` boxing. `ACCEPTED` findings are never suppressed, and
|
|
3173
3186
|
the number of suppressed findings is always reported. Surviving
|
|
3174
3187
|
findings are rendered in *descending severity* order `HIGH`,
|
|
3175
3188
|
`MEDIUM`, `LOW`, `ACCEPTED`. The floor only affects the rendered
|
|
@@ -3392,7 +3405,8 @@ approach selection close with an `EDIT TODO` box showing the established
|
|
|
3392
3405
|
|
|
3393
3406
|
The change set stays strictly restricted to the `SPEC` artifacts -- the
|
|
3394
3407
|
artifact kinds `CODE`, `DOCS`, `TASK`, `INFR`, and `OTHR` are never
|
|
3395
|
-
touched
|
|
3408
|
+
touched, except for an entry in an already existing `CHANGELOG.md`
|
|
3409
|
+
file. Every generated artifact carries the current `Created:` and
|
|
3396
3410
|
`Modified:` timestamps, and every changed artifact gets its `Modified:`
|
|
3397
3411
|
timestamp refreshed.
|
|
3398
3412
|
|
|
@@ -3800,13 +3814,13 @@ a unified diff instead.
|
|
|
3800
3814
|
as nothing is written to disk.
|
|
3801
3815
|
|
|
3802
3816
|
- `--target`|`-t` *target*[,...]:
|
|
3803
|
-
The comma-separated list of artifact kinds to update
|
|
3804
|
-
|
|
3817
|
+
The comma-separated list of artifact kinds to update (default:
|
|
3818
|
+
`CODE,DOCS,INFR,OTHR`). An empty target lets the skill error out.
|
|
3805
3819
|
|
|
3806
3820
|
- `--source`|`-s` *source*[,...]:
|
|
3807
3821
|
The comma-separated list of artifact kinds to update *from*. The
|
|
3808
|
-
special value `auto` resolves to all recognized kinds
|
|
3809
|
-
in *target*.
|
|
3822
|
+
special value `auto` (the default) resolves to all recognized kinds
|
|
3823
|
+
except those in *target*.
|
|
3810
3824
|
|
|
3811
3825
|
## ARGUMENTS
|
|
3812
3826
|
|
|
@@ -4711,7 +4725,7 @@ in state `[-]` (cancelled) or `[>]` (deferred) are never questioned.
|
|
|
4711
4725
|
## ARGUMENTS
|
|
4712
4726
|
|
|
4713
4727
|
- *id*:
|
|
4714
|
-
Grill the task with the unique identifier *id* (default:
|
|
4728
|
+
Grill the task with the unique identifier *id* (default: the current task).
|
|
4715
4729
|
The skill accepts *only* an optional *id* argument and never a
|
|
4716
4730
|
free-text instruction.
|
|
4717
4731
|
|
|
@@ -4923,6 +4937,22 @@ the entire verification phase is strictly skipped: no build, tests,
|
|
|
4923
4937
|
linter, type-checker, or program execution is performed once the
|
|
4924
4938
|
source files have been modified.
|
|
4925
4939
|
|
|
4940
|
+
The implementation runs to *completion*: the skill never concludes
|
|
4941
|
+
while any point of the plan is still unimplemented, neither because the
|
|
4942
|
+
change set grew large nor because an open question stands in the way.
|
|
4943
|
+
Undecided details and defensible alternatives are therefore *decided by
|
|
4944
|
+
the skill itself*, guided by the surrounding artifacts and the
|
|
4945
|
+
internalized tenets, instead of interrupting the run with a question.
|
|
4946
|
+
Once the change set is applied, the run closes with up to two boxed
|
|
4947
|
+
summaries: `OPEN POINTS` lists everything now waiting for the user --
|
|
4948
|
+
points left unimplemented on a *genuine blocker* no assumption can
|
|
4949
|
+
bridge, follow-ups deliberately left out of scope with their reason,
|
|
4950
|
+
and results needing review -- and `DECISIONS` lists each decision the
|
|
4951
|
+
skill took on its own together with its rationale, so it can be
|
|
4952
|
+
revisited or overruled. Either box is omitted entirely when it has no
|
|
4953
|
+
content; a run which implemented every point and decided nothing on its
|
|
4954
|
+
own emits no box at all.
|
|
4955
|
+
|
|
4926
4956
|
After implementation, the user is asked whether to stop, hand off to
|
|
4927
4957
|
`ase-task-edit`, hand off to `ase-task-integrate`, or delete the task
|
|
4928
4958
|
plan, unless `--next` pre-selects this choice.
|
|
@@ -5275,8 +5305,8 @@ DEFERRED INTEGRATING INTEGRATED CANCELLED
|
|
|
5275
5305
|
- `--include`|`-i`=*state*[`,`...]:
|
|
5276
5306
|
Restrict the listed task plans to the given comma-separated list of
|
|
5277
5307
|
lifecycle states (e.g. `IMPLEMENTING,STALLED`). Without this option,
|
|
5278
|
-
all states are listed. The `none` sentinel
|
|
5279
|
-
the `finished` sentinel selects the finished states.
|
|
5308
|
+
all states are listed. The `none` sentinel (the default) imposes no
|
|
5309
|
+
restriction, the `finished` sentinel selects the finished states.
|
|
5280
5310
|
|
|
5281
5311
|
- `--exclude`|`-e`=*state*[`,`...]:
|
|
5282
5312
|
Remove the given comma-separated list of lifecycle states from the
|
|
@@ -13,11 +13,10 @@
|
|
|
13
13
|
|
|
14
14
|
The `ase-help-skill` skill renders the *manual page* (`help.md`) of the
|
|
15
15
|
ASE skill addressed by *skill-name*. The page is emitted verbatim,
|
|
16
|
-
framed between a `
|
|
16
|
+
framed between a `MANUAL PAGE` header and footer rule.
|
|
17
17
|
|
|
18
18
|
The *skill-name* is resolved against a *catalog* of all ASE skills --
|
|
19
|
-
one `name: purpose` entry per skill,
|
|
20
|
-
`skills/ase-help-skill/data.md` by `npm start build` in `plugin/`.
|
|
19
|
+
one `name: purpose` entry per skill, grouped by skill category.
|
|
21
20
|
Before resolving, any leading `/` and `ase:` prefix is stripped, so
|
|
22
21
|
`ase-code-lint`, `/ase-code-lint`, and `ase:ase-code-lint` are
|
|
23
22
|
equivalent. Resolution then proceeds in three tiers, each tried only if
|
|
@@ -35,7 +34,7 @@ most nine answer lines, a broader abbreviation such as `task` shows the
|
|
|
35
34
|
first nine candidates and states how many exist in total.
|
|
36
35
|
|
|
37
36
|
If *skill-name* is omitted, the whole catalog is rendered as a
|
|
38
|
-
browsable
|
|
37
|
+
browsable list, grouped by skill category, instead.
|
|
39
38
|
|
|
40
39
|
The skill exposes *no* option flags beyond `--help`/`-h`.
|
|
41
40
|
|
|
@@ -38,6 +38,15 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
38
38
|
|
|
39
39
|
1. <step id="STEP 1: Preview Own Answer">
|
|
40
40
|
|
|
41
|
+
<if condition="<getopt-arguments/> is empty">
|
|
42
|
+
Only output the following <template/> and then immediately *STOP*
|
|
43
|
+
processing the entire current skill:
|
|
44
|
+
|
|
45
|
+
<template>
|
|
46
|
+
⧉ **ASE**: ✪ skill: **ase-meta-quorum**, ▶ ERROR: expected a `<question>` argument
|
|
47
|
+
</template>
|
|
48
|
+
</if>
|
|
49
|
+
|
|
41
50
|
The user-selectable foreign models are restricted by the
|
|
42
51
|
`--models`/`-m` option, parsed into <getopt-option-models/>
|
|
43
52
|
as a comma-separated list of model tokens. The getopt parser
|
|
@@ -29,9 +29,11 @@ complete, unmodified individual responses.
|
|
|
29
29
|
- `--models`|`-m` *model*[,...]:
|
|
30
30
|
Restrict the *foreign* LLMs that are queried to the given
|
|
31
31
|
comma-separated list of *model* tokens. Recognized tokens are
|
|
32
|
-
`all`, `chatgpt`, `gemini`, `deepseek`, `grok`, `glm`,
|
|
33
|
-
where `all` selects every
|
|
34
|
-
|
|
32
|
+
`all`, `chatgpt`, `gemini`, `deepseek`, `grok`, `glm`, `qwen`,
|
|
33
|
+
`claude`, `codex`, and `copilot`, where `all` selects every API-based
|
|
34
|
+
model, but *not* the harness-based `claude`, `codex`, and `copilot`
|
|
35
|
+
models, which are queried only when given explicitly. The default
|
|
36
|
+
is `all`. Models that are not selected (or not available) are *silently skipped*.
|
|
35
37
|
Anthropic Claude (the skill itself) is *always* included,
|
|
36
38
|
independent of this option.
|
|
37
39
|
|
|
@@ -17,10 +17,12 @@ Analyze and Resolve Source Code Problems
|
|
|
17
17
|
|
|
18
18
|
<expand name="getopt"
|
|
19
19
|
arg1="optimizer"
|
|
20
|
-
arg2="--id|-i
|
|
20
|
+
arg2="--id|-i=optimizer">
|
|
21
21
|
$ARGUMENTS
|
|
22
22
|
</expand>
|
|
23
23
|
|
|
24
|
+
Set <id><getopt-option-id/></id>.
|
|
25
|
+
|
|
24
26
|
<flow>
|
|
25
27
|
|
|
26
28
|
1. <step id="STEP 1: Analyze Code">
|
|
@@ -29,7 +31,7 @@ Analyze and Resolve Source Code Problems
|
|
|
29
31
|
subagent_type="general-purpose"
|
|
30
32
|
run_in_background=false>
|
|
31
33
|
|
|
32
|
-
Run <skill name="ase-code-analyze" args="--prefix <id/> <getopt-arguments/>"/>
|
|
34
|
+
Run <skill name="ase:ase-code-analyze" args="--prefix <id/> <getopt-arguments/>"/>
|
|
33
35
|
|
|
34
36
|
</agent>
|
|
35
37
|
|
|
@@ -39,7 +41,7 @@ Analyze and Resolve Source Code Problems
|
|
|
39
41
|
|
|
40
42
|
<parallel>
|
|
41
43
|
|
|
42
|
-
For each `P<n/>` in the result set, in ascending order
|
|
44
|
+
For each `P<n/>` in the result set, in ascending order:
|
|
43
45
|
|
|
44
46
|
1. Call the Agent:
|
|
45
47
|
|