@rse/ase 1.0.7 → 2.0.1
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-api.d.ts +184 -0
- package/dst/ase-agent-definition-api.js +6 -0
- package/dst/ase-agent-definition-builtin/condenser.js +42 -0
- package/dst/ase-agent-definition-builtin/editor.js +45 -0
- package/dst/ase-agent-definition-builtin/estimator.js +98 -0
- package/dst/ase-agent-definition-builtin/implementer.js +121 -0
- package/dst/ase-agent-definition-builtin/integrator.js +56 -0
- package/dst/ase-agent-definition-builtin/qualifier.js +61 -0
- package/dst/ase-agent-definition-builtin/rebooter.js +41 -0
- package/dst/ase-agent-definition-builtin/researcher.js +77 -0
- package/dst/ase-agent-definition-core.js +827 -0
- package/dst/ase-agent-fleet.js +772 -0
- package/dst/ase-agent-process.js +232 -0
- package/dst/ase-agent-relay-client.js +509 -0
- package/dst/ase-agent-relay-core.js +213 -0
- package/dst/ase-agent-relay-server-bind.js +242 -0
- package/dst/ase-agent-relay-server-cli.js +50 -0
- package/dst/ase-agent-runtime-claim.js +189 -0
- package/dst/ase-agent-runtime-engine.js +1100 -0
- package/dst/ase-agent-runtime-exec.js +275 -0
- package/dst/ase-agent-runtime-phase.js +581 -0
- package/dst/ase-agent-runtime-request.js +272 -0
- package/dst/ase-agent-runtime-tool.js +207 -0
- package/dst/ase-agent-runtime.js +1316 -0
- package/dst/ase-agent.js +65 -0
- package/dst/ase-artifact.js +6 -5
- package/dst/ase-config-core.js +465 -0
- package/dst/ase-config-schema.js +357 -0
- package/dst/ase-config-scope.js +172 -0
- package/dst/ase-config.js +25 -585
- package/dst/ase-hook.js +228 -111
- package/dst/ase-lib-daemon-cli.js +130 -0
- package/dst/ase-lib-hash.js +20 -0
- package/dst/{ase-log.js → ase-lib-log.js} +40 -7
- package/dst/ase-lib-server-bind.js +115 -0
- package/dst/ase-lib-server-cli.js +474 -0
- package/dst/{ase-table.js → ase-lib-table.js} +1 -1
- package/dst/{ase-version.js → ase-lib-version.js} +8 -1
- package/dst/ase-man.js +96 -0
- package/dst/ase-mcp.js +166 -13
- package/dst/{ase-getopt.js → ase-service-getopt.js} +82 -80
- package/dst/{ase-markdown.js → ase-service-markdown.js} +18 -11
- package/dst/ase-service-otel.js +1246 -0
- package/dst/{ase-skills.js → ase-service-skills.js} +29 -64
- package/dst/ase-service-state.js +101 -0
- package/dst/ase-service.js +269 -81
- package/dst/ase-setup-common.js +141 -0
- package/dst/ase-setup-mcp.js +359 -0
- package/dst/ase-setup-settings.js +837 -0
- package/dst/ase-setup.js +113 -869
- package/dst/ase-spec.js +31 -19
- package/dst/ase-statusline.js +108 -43
- package/dst/ase-task-board-core.js +739 -0
- package/dst/ase-task-board-filter.js +127 -0
- package/dst/ase-task-board-flow.js +237 -0
- package/dst/ase-task-board-graph.js +497 -0
- package/dst/ase-task-board-stats.js +263 -0
- package/dst/ase-task-board-tui-control.js +775 -0
- package/dst/ase-task-board-tui-model.js +1008 -0
- package/dst/ase-task-board-tui-popup.js +626 -0
- package/dst/ase-task-board-tui-style.js +106 -0
- package/dst/ase-task-board-tui-view.js +847 -0
- package/dst/ase-task-board-tui.js +189 -0
- package/dst/ase-task-board-web-client.css +1 -0
- package/dst/ase-task-board-web-client.html +20 -0
- package/dst/ase-task-board-web-client.js +81 -0
- package/dst/ase-task-board-web-server.js +823 -0
- package/dst/ase-task-board.js +134 -0
- package/dst/ase-task-format.js +757 -0
- package/dst/ase-task-request.js +208 -0
- package/dst/ase-task-store-client.js +495 -0
- package/dst/ase-task-store-core.js +804 -0
- package/dst/ase-task-store-issues.js +237 -0
- package/dst/ase-task-store-plugin-api.js +6 -0
- package/dst/ase-task-store-plugin-ase.js +484 -0
- package/dst/ase-task-store-plugin-delegate.js +137 -0
- package/dst/ase-task-store-plugin-gitea.js +666 -0
- package/dst/ase-task-store-plugin-github.js +696 -0
- package/dst/ase-task-store-plugin-gitlab.js +668 -0
- package/dst/ase-task-store-server-bind.js +538 -0
- package/dst/ase-task-store-server-cli.js +154 -0
- package/dst/ase-task.js +1335 -357
- package/dst/{ase-compat.js → ase-util-compat.js} +2 -2
- package/dst/{ase-diagram.js → ase-util-diagram.js} +107 -32
- package/dst/{ase-meta.js → ase-util-meta.js} +2 -2
- package/dst/{ase-metric.js → ase-util-metric.js} +2 -2
- package/dst/{ase-mint.js → ase-util-mint.js} +19 -12
- package/dst/{ase-worktree.js → ase-util-worktree.js} +30 -19
- package/dst/ase-util.js +20 -0
- package/dst/ase.js +108 -32
- package/dst/man/ase-agent-adhoc.1 +515 -0
- package/dst/man/ase-agent-condenser.1 +193 -0
- package/dst/man/ase-agent-editor.1 +212 -0
- package/dst/man/ase-agent-estimator.1 +214 -0
- package/dst/man/ase-agent-fleet.1 +185 -0
- package/dst/man/ase-agent-implementer.1 +233 -0
- package/dst/man/ase-agent-integrator.1 +213 -0
- package/dst/man/ase-agent-qualifier.1 +214 -0
- package/dst/man/ase-agent-rebooter.1 +193 -0
- package/dst/man/ase-agent-relay.1 +128 -0
- package/dst/man/ase-agent-researcher.1 +217 -0
- package/dst/man/ase-agent.1 +264 -0
- package/dst/man/ase-artifact-list.1 +38 -0
- package/dst/man/ase-artifact-name.1 +39 -0
- package/dst/man/ase-artifact.1 +56 -0
- package/dst/man/ase-config-delete.1 +45 -0
- package/dst/man/ase-config-edit.1 +48 -0
- package/dst/man/ase-config-get.1 +46 -0
- package/dst/man/ase-config-init.1 +60 -0
- package/dst/man/ase-config-list.1 +42 -0
- package/dst/man/ase-config-set.1 +52 -0
- package/dst/man/ase-config.1 +231 -0
- package/dst/man/ase-hook-permission-request.1 +36 -0
- package/dst/man/ase-hook-pre-tool-use.1 +59 -0
- package/dst/man/ase-hook-session-end.1 +47 -0
- package/dst/man/ase-hook-session-persona.1 +37 -0
- package/dst/man/ase-hook-session-start.1 +81 -0
- package/dst/man/ase-hook-stop.1 +34 -0
- package/dst/man/ase-hook-user-prompt-submit.1 +34 -0
- package/dst/man/ase-hook.1 +51 -0
- package/dst/man/ase-man.1 +67 -0
- package/dst/man/ase-mcp.1 +61 -0
- package/dst/man/ase-service-log.1 +43 -0
- package/dst/man/ase-service-send.1 +47 -0
- package/dst/man/ase-service-start.1 +54 -0
- package/dst/man/ase-service-status.1 +46 -0
- package/dst/man/ase-service-stop.1 +37 -0
- package/dst/man/ase-service.1 +85 -0
- package/dst/man/ase-setup-disable.1 +44 -0
- package/dst/man/ase-setup-enable.1 +45 -0
- package/dst/man/ase-setup-install.1 +73 -0
- package/dst/man/ase-setup-mcp.1 +124 -0
- package/dst/man/ase-setup-status.1 +60 -0
- package/dst/man/ase-setup-statusline.1 +92 -0
- package/dst/man/ase-setup-telemetry.1 +92 -0
- package/dst/man/ase-setup-uninstall.1 +59 -0
- package/dst/man/ase-setup-update.1 +64 -0
- package/dst/man/ase-setup.1 +93 -0
- package/dst/man/ase-spec-export.1 +62 -0
- package/dst/man/ase-spec-lint.1 +40 -0
- package/dst/man/ase-spec-preview.1 +40 -0
- package/dst/man/ase-spec.1 +46 -0
- package/dst/man/ase-statusline.1 +189 -0
- package/dst/man/ase-task-assign.1 +71 -0
- package/dst/man/ase-task-board.1 +384 -0
- package/dst/man/ase-task-delete.1 +35 -0
- package/dst/man/ase-task-edit.1 +46 -0
- package/dst/man/ase-task-idscheme.1 +65 -0
- package/dst/man/ase-task-lifecycle.1 +57 -0
- package/dst/man/ase-task-list.1 +47 -0
- package/dst/man/ase-task-load.1 +36 -0
- package/dst/man/ase-task-newid.1 +61 -0
- package/dst/man/ase-task-purge.1 +37 -0
- package/dst/man/ase-task-rename.1 +44 -0
- package/dst/man/ase-task-request.1 +61 -0
- package/dst/man/ase-task-save.1 +48 -0
- package/dst/man/ase-task-status.1 +55 -0
- package/dst/man/ase-task-store.1 +194 -0
- package/dst/man/ase-task-view.1 +40 -0
- package/dst/man/ase-task.1 +160 -0
- package/dst/man/ase-util-compat.1 +25 -0
- package/dst/man/ase-util-diagram.1 +76 -0
- package/dst/man/ase-util-meta.1 +45 -0
- package/dst/man/ase-util-metric.1 +54 -0
- package/dst/man/ase-util-mint.1 +59 -0
- package/dst/man/ase-util-worktree.1 +72 -0
- package/dst/man/ase-util.1 +50 -0
- package/dst/man/ase.1 +124 -0
- package/package.json +81 -21
- 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/agents/ase-meta-diagram.md +12 -8
- package/plugin/agents/ase-repo-review.md +322 -0
- package/plugin/hooks/hooks-codex.json +5 -0
- package/plugin/hooks/hooks-copilot.json +5 -0
- package/plugin/hooks/hooks.json +8 -0
- package/plugin/meta/ase-common-approach.md +117 -0
- package/plugin/meta/ase-common-changeset.md +256 -0
- package/plugin/meta/ase-common-code.md +10 -173
- package/plugin/meta/ase-common-grill.md +317 -0
- package/plugin/meta/ase-common-resolve.md +305 -0
- package/plugin/meta/ase-common-task.md +83 -4
- package/plugin/meta/ase-constitution.md +0 -2
- package/plugin/meta/ase-format-specbook.md +208 -25
- package/plugin/meta/ase-format-specbook.yaml +242 -851
- package/plugin/meta/ase-format-task.md +669 -125
- package/plugin/meta/ase-persona.md +3 -4
- package/plugin/meta/ase-skill.md +9 -0
- package/plugin/mods/ase-mods.ts +409 -0
- package/plugin/mods/claude-code.d.ts +13417 -0
- package/plugin/skills/ase-arch-analyze/SKILL.md +1 -1
- package/plugin/skills/ase-arch-analyze/help.md +2 -2
- package/plugin/skills/ase-code-analyze/SKILL.md +59 -8
- package/plugin/skills/ase-code-analyze/help.md +29 -4
- package/plugin/skills/ase-code-edit/SKILL.md +107 -181
- package/plugin/skills/ase-code-edit/help.md +118 -31
- package/plugin/skills/ase-code-lint/SKILL.md +64 -13
- package/plugin/skills/ase-code-lint/help.md +32 -2
- package/plugin/skills/ase-docs-proofread/SKILL.md +4 -4
- package/plugin/skills/ase-docs-proofread/help.md +1 -1
- package/plugin/skills/ase-docs-refine/SKILL.md +4 -4
- package/plugin/skills/ase-docs-shorten/SKILL.md +4 -4
- package/plugin/skills/ase-help-intent/data.md +2164 -1087
- package/plugin/skills/ase-help-intent/help.md +1 -1
- package/plugin/skills/ase-help-skill/catalog.md +12 -9
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +1 -1
- package/plugin/skills/ase-meta-config/SKILL.md +3 -4
- package/plugin/skills/ase-meta-config/help.md +31 -10
- package/plugin/skills/ase-meta-mint/SKILL.md +5 -5
- package/plugin/skills/ase-meta-mint/help.md +10 -5
- package/plugin/skills/ase-meta-why/help.md +1 -1
- package/plugin/skills/ase-meta-workflow/SKILL.md +7 -7
- package/plugin/skills/ase-meta-workflow/help.md +4 -4
- package/plugin/skills/ase-meta-workflow/sample.md +3 -3
- package/plugin/skills/ase-meta-workflow/workflow.txt +22 -18
- package/plugin/skills/{ase-meta-changelog → ase-repo-changelog}/SKILL.md +4 -3
- package/plugin/skills/{ase-meta-changelog → ase-repo-changelog}/help.md +5 -5
- package/plugin/skills/{ase-meta-commit → ase-repo-commit}/SKILL.md +6 -6
- package/plugin/skills/{ase-meta-commit → ase-repo-commit}/help.md +5 -5
- package/plugin/skills/{ase-meta-diff → ase-repo-diff}/SKILL.md +6 -6
- package/plugin/skills/{ase-meta-diff → ase-repo-diff}/help.md +8 -8
- package/plugin/skills/{ase-code-dissect → ase-repo-dissect}/SKILL.md +19 -19
- package/plugin/skills/{ase-code-dissect → ase-repo-dissect}/help.md +10 -12
- package/plugin/skills/ase-repo-merge/SKILL.md +346 -0
- package/plugin/skills/ase-repo-merge/help.md +107 -0
- package/plugin/skills/ase-repo-resolve/SKILL.md +158 -0
- package/plugin/skills/ase-repo-resolve/help.md +102 -0
- package/plugin/skills/ase-repo-review/SKILL.md +406 -0
- package/plugin/skills/ase-repo-review/help.md +181 -0
- package/plugin/skills/ase-spec-edit/SKILL.md +117 -183
- package/plugin/skills/ase-spec-edit/help.md +107 -26
- package/plugin/skills/ase-sync-reconcile/help.md +1 -1
- package/plugin/skills/ase-task-assign/SKILL.md +111 -0
- package/plugin/skills/ase-task-assign/help.md +119 -0
- package/plugin/skills/ase-task-condense/SKILL.md +21 -21
- package/plugin/skills/ase-task-condense/help.md +12 -10
- package/plugin/skills/ase-task-delete/SKILL.md +1 -1
- package/plugin/skills/ase-task-dissect/SKILL.md +71 -48
- package/plugin/skills/ase-task-dissect/help.md +10 -9
- package/plugin/skills/ase-task-edit/SKILL.md +379 -94
- package/plugin/skills/ase-task-edit/help.md +95 -22
- package/plugin/skills/ase-task-estimate/SKILL.md +492 -0
- package/plugin/skills/ase-task-estimate/help.md +158 -0
- package/plugin/skills/ase-task-grill/SKILL.md +246 -138
- package/plugin/skills/ase-task-grill/help.md +129 -26
- package/plugin/skills/ase-task-id/SKILL.md +8 -1
- package/plugin/skills/ase-task-id/help.md +6 -3
- package/plugin/skills/ase-task-implement/SKILL.md +535 -145
- package/plugin/skills/ase-task-implement/help.md +138 -47
- package/plugin/skills/ase-task-integrate/SKILL.md +549 -0
- package/plugin/skills/ase-task-integrate/help.md +187 -0
- package/plugin/skills/ase-task-list/SKILL.md +55 -23
- package/plugin/skills/ase-task-list/help.md +45 -21
- package/plugin/skills/ase-task-reboot/SKILL.md +84 -43
- package/plugin/skills/ase-task-reboot/help.md +28 -8
- package/plugin/skills/ase-task-rename/SKILL.md +10 -2
- package/plugin/skills/ase-task-research/SKILL.md +386 -0
- package/plugin/skills/ase-task-research/help.md +102 -0
- package/plugin/skills/ase-task-status/SKILL.md +137 -0
- package/plugin/skills/ase-task-status/help.md +80 -0
- package/plugin/skills/ase-task-view/SKILL.md +49 -24
- package/plugin/skills/ase-task-view/help.md +19 -9
- package/plugin/agents/ase-meta-review.md +0 -187
- package/plugin/skills/ase-code-craft/SKILL.md +0 -264
- package/plugin/skills/ase-code-craft/help.md +0 -122
- package/plugin/skills/ase-code-refactor/SKILL.md +0 -232
- package/plugin/skills/ase-code-refactor/help.md +0 -109
- package/plugin/skills/ase-code-resolve/SKILL.md +0 -289
- package/plugin/skills/ase-code-resolve/help.md +0 -116
- package/plugin/skills/ase-meta-review/SKILL.md +0 -210
- package/plugin/skills/ase-meta-review/help.md +0 -96
- package/plugin/skills/ase-task-preflight/SKILL.md +0 -166
- package/plugin/skills/ase-task-preflight/help.md +0 -82
- /package/dst/{ase-ignore.js → ase-lib-ignore.js} +0 -0
- /package/dst/{ase-stdio.js → ase-lib-stdio.js} +0 -0
- /package/dst/{ase-kv.js → ase-service-kv.js} +0 -0
- /package/dst/{ase-sleep.js → ase-service-sleep.js} +0 -0
- /package/dst/{ase-timestamp.js → ase-service-timestamp.js} +0 -0
|
@@ -8,19 +8,23 @@
|
|
|
8
8
|
`ase-code-edit`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
10
|
[`--mode`|`-m` `auto`|`craft`|`refactor`|`resolve`]
|
|
11
|
+
[`--approach`|`-a`]
|
|
11
12
|
[`--grill`|`-g`]
|
|
12
13
|
[`--grill-rounds`|`-r` *n*]
|
|
14
|
+
[`--grill-until`|`-u` `MUST`|`SHOULD`|`MAY`]
|
|
15
|
+
[`--grill-perspective`|`-p` *perspective*]
|
|
16
|
+
[`--grill-ground`|`-G`]
|
|
13
17
|
[`--verify`|`-v`]
|
|
14
|
-
[`--worktree`|`-w`]
|
|
18
|
+
[`--worktree`|`-w` *name*[`:`*branch*]]
|
|
15
19
|
[`--loop`|`-l`]
|
|
16
20
|
[*query*]
|
|
17
21
|
|
|
18
22
|
## DESCRIPTION
|
|
19
23
|
|
|
20
24
|
The `ase-code-edit` skill edits the code base *directly* from a *query*,
|
|
21
|
-
in one shot and without any task plan ceremony. It is
|
|
22
|
-
|
|
23
|
-
`ase-task-
|
|
25
|
+
in one shot and without any task plan ceremony. It is the *plan-less*
|
|
26
|
+
counterpart of `ase-task-edit`, `ase-task-grill`, and
|
|
27
|
+
`ase-task-implement`, covering crafting, refactoring, and resolving.
|
|
24
28
|
|
|
25
29
|
Each single-shot run (or each `--loop` iteration) walks through five
|
|
26
30
|
states: *querying* (take the *query* argument or ask for a query via an
|
|
@@ -28,11 +32,12 @@ interactive `Edit Query` dialog, and
|
|
|
28
32
|
split it into its domain-specific WHAT and its implementation-detail HOW
|
|
29
33
|
parts), *discovering* (read the source artifacts related to the query),
|
|
30
34
|
*grilling* (optionally stress-test the query with rounds of questions),
|
|
31
|
-
*implementing* (
|
|
32
|
-
selected via `--mode`), and
|
|
33
|
-
implementation until it passes). The
|
|
34
|
-
*
|
|
35
|
-
`WHAT` and `HOW`
|
|
35
|
+
*implementing* (optionally select an approach, then apply the change
|
|
36
|
+
set in place, honoring the tenet set selected via `--mode`), and
|
|
37
|
+
*verifying* (optionally verify the implementation until it passes). The
|
|
38
|
+
*querying* state, every *grilling* round, and the approach selection
|
|
39
|
+
close with an `EDIT TODO` box showing the established `WHAT` and `HOW`
|
|
40
|
+
information.
|
|
36
41
|
|
|
37
42
|
## OPTIONS
|
|
38
43
|
|
|
@@ -41,6 +46,15 @@ implementation until it passes). The *querying* state and every
|
|
|
41
46
|
(CRAFTING), `refactor` (REFACTORING), or `resolve` (RESOLVING).
|
|
42
47
|
The default `auto` infers the tenet set from the query itself.
|
|
43
48
|
|
|
49
|
+
- `--approach`|`-a`:
|
|
50
|
+
Before applying the change set, propose one or more crafting,
|
|
51
|
+
refactoring, or resolution approaches with pros and cons, recommend
|
|
52
|
+
one of them, and let the user pick the preferred one via an
|
|
53
|
+
interactive dialog (or, under the `black` project boxing or in
|
|
54
|
+
headless mode, automatically pick the recommended one). The chosen
|
|
55
|
+
approach is merged into the HOW part of the query. Without
|
|
56
|
+
`--approach`, no approaches are determined at all.
|
|
57
|
+
|
|
44
58
|
- `--grill`|`-g`:
|
|
45
59
|
Grill the query before implementing, similar to `ase-task-grill`:
|
|
46
60
|
raise 1-10 questions per round which resolve the open points of the
|
|
@@ -48,31 +62,73 @@ implementation until it passes). The *querying* state and every
|
|
|
48
62
|
(domain-specifics, must be clarified), `INTERFACE` (externally
|
|
49
63
|
observable behavior or UI/API interfaces, must be clarified),
|
|
50
64
|
`ARCHITECTURE` (structure, wiring, placement, or dependencies,
|
|
51
|
-
should be clarified),
|
|
52
|
-
can be clarified)
|
|
53
|
-
|
|
54
|
-
|
|
65
|
+
should be clarified), `IMPLEMENTATION` (inner technical details,
|
|
66
|
+
can be clarified), `REGRESSION` (what must not break, should be
|
|
67
|
+
clarified), or `CONFIRMATION` (what proves the specified behavior,
|
|
68
|
+
should be clarified) -- and a 1-2 word `TOPIC` hint. The questions
|
|
69
|
+
of a round are sorted by descending focus area importance
|
|
70
|
+
(`DOMAIN`, `INTERFACE`, `ARCHITECTURE`, `IMPLEMENTATION`,
|
|
71
|
+
`REGRESSION`, `CONFIRMATION`). Questions of focus area
|
|
72
|
+
`REGRESSION` and `CONFIRMATION` are raised only together with
|
|
73
|
+
`--verify`, as only then a verification honors their decisions.
|
|
55
74
|
All questions of a round are announced together below a
|
|
56
|
-
`GRILLING ROUND K/L` line (the
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
`CURRENT`). They are then asked in *one* batch via a single
|
|
75
|
+
`GRILLING ROUND K/L` line (the round numbering is omitted when only
|
|
76
|
+
a single round is performed) as a `QUESTION`/`ANSWERS` table with
|
|
77
|
+
one row per question, each row carrying two to three grounded answer
|
|
78
|
+
alternatives (with the alternative reflecting the current understanding
|
|
79
|
+
marked with `⚑`). They are then asked in *one* batch via a single
|
|
62
80
|
interactive dialog titled `GRILLING ROUND K/L` (or plain `GRILLING`
|
|
63
81
|
for a single round), whose question asks for the combined answer to
|
|
64
82
|
all (or a subset) of the listed aspect questions and whose only
|
|
65
83
|
answer options are the fixed `STOP SKILL` (stop the skill) and
|
|
66
84
|
`SKIP GRILLING` (skip the remaining grilling) ones, plus free-text
|
|
67
|
-
input. The
|
|
85
|
+
input. The questions are numbered `1`, `2`, etc. and their answer
|
|
86
|
+
alternatives are lettered `A`, `B`, etc., so the free-text input can
|
|
87
|
+
cherry-pick answers with short responses matching `\d+[a-zA-Z]`
|
|
88
|
+
(like `1A 2c`), freely mixed with keyword text. The answers are
|
|
68
89
|
merged back into the WHAT and HOW parts of the query. Without
|
|
69
90
|
`--grill`, no questions are asked at all.
|
|
70
91
|
|
|
71
92
|
- `--grill-rounds`|`-r` *n*:
|
|
72
|
-
The number of grill rounds to apply (default: `1`). Each
|
|
73
|
-
starts from scratch from only the current WHAT and HOW parts,
|
|
93
|
+
The *maximum* number of grill rounds to apply (default: `1`). Each
|
|
94
|
+
round starts from scratch from only the current WHAT and HOW parts,
|
|
74
95
|
forgetting all information of previous rounds, and closes with an
|
|
75
|
-
`EDIT TODO` box.
|
|
96
|
+
`EDIT TODO` box. The grilling stops early -- announced by a
|
|
97
|
+
`grilling finished early` status line -- once a round, even the
|
|
98
|
+
first one, finds the open points clear enough according to
|
|
99
|
+
`--grill-until`. Only effective together with `--grill`.
|
|
100
|
+
|
|
101
|
+
- `--grill-until`|`-u` `MUST`|`SHOULD`|`MAY`:
|
|
102
|
+
Grill until at least all open points of the given severity or
|
|
103
|
+
higher are clear (default: `MUST`), where the severity follows from
|
|
104
|
+
the focus area: `MUST` (`DOMAIN`, `INTERFACE`), `SHOULD`
|
|
105
|
+
(`ARCHITECTURE`, `REGRESSION`, `CONFIRMATION`), and `MAY`
|
|
106
|
+
(`IMPLEMENTATION`). Independent of this, every open point is rated
|
|
107
|
+
with an individual impact (`HIGH`, `MEDIUM`, or `LOW`), which
|
|
108
|
+
decides which points are raised as questions and in which order
|
|
109
|
+
within a focus area. Only effective together with `--grill`.
|
|
110
|
+
|
|
111
|
+
- `--grill-perspective`|`-p` *perspective*:
|
|
112
|
+
Grill exclusively from the logical *perspective* -- a keyword or
|
|
113
|
+
short hint like `domain`, `performance`, or `security`. The
|
|
114
|
+
perspective acts as an exclusive lens: only open points relevant from
|
|
115
|
+
this perspective are raised as questions, while every question still
|
|
116
|
+
carries its focus area, severity, and impact. The active perspective
|
|
117
|
+
is shown in the announcement line, like `GRILLING (security)`.
|
|
118
|
+
Without a perspective, the grilling is holistic. Only effective together with `--grill`.
|
|
119
|
+
|
|
120
|
+
- `--grill-ground`|`-G`:
|
|
121
|
+
Ground the grilling in facts instead of the world knowledge of the
|
|
122
|
+
model alone: once before the first round, the artifacts of all kinds
|
|
123
|
+
(`SPEC`, `CODE`, `DOCS`, `INFR`, and `OTHR`) are scanned for
|
|
124
|
+
the project facts relevant to the grilled subject (from the given
|
|
125
|
+
perspective, if any) and the Internet/Web is searched for the
|
|
126
|
+
established practices, standards, patterns, and pitfalls about it.
|
|
127
|
+
These facts serve all rounds, both for raising the questions and for
|
|
128
|
+
preferably deriving their answer alternatives. The grounding is shown
|
|
129
|
+
in the announcement line, like `GRILLING (security, grounded)`. If
|
|
130
|
+
no usable facts are found, a warning is shown and the grilling falls
|
|
131
|
+
back to model knowledge. Only effective together with `--grill`.
|
|
76
132
|
|
|
77
133
|
- `--verify`|`-v`:
|
|
78
134
|
Verify whether the implementation fulfills the requirements, by
|
|
@@ -81,12 +137,21 @@ implementation until it passes). The *querying* state and every
|
|
|
81
137
|
until the verification passes. Without `--verify`, strictly no
|
|
82
138
|
verification is performed at all.
|
|
83
139
|
|
|
84
|
-
- `--worktree`|`-w
|
|
85
|
-
Apply the change sets inside
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
140
|
+
- `--worktree`|`-w` *name*[`:`*branch*]:
|
|
141
|
+
Apply the change sets inside the dedicated Git worktree
|
|
142
|
+
`.ase/worktree/<name>` instead of the current working copy. The
|
|
143
|
+
worktree is *reused* if it already exists -- then switched to
|
|
144
|
+
*branch* if given and it has no uncommitted changes --, otherwise
|
|
145
|
+
it is *created* with the branch *branch* (default: *name*),
|
|
146
|
+
checked out if it exists or created from `HEAD` otherwise. One
|
|
147
|
+
single worktree serves the whole skill run: it is prepared before
|
|
148
|
+
the first discovery, so discovering, grilling, and implementing all
|
|
149
|
+
operate on it, all `--loop` iterations land in it, and it is left
|
|
150
|
+
uncommitted for review. If
|
|
151
|
+
*name* is a bare lower-case word naming no existing worktree and a
|
|
152
|
+
*query* follows (like `-w fix the crash`, a former boolean `-w`
|
|
153
|
+
usage), the skill asks whether *name* is the worktree name or the
|
|
154
|
+
first query word.
|
|
90
155
|
|
|
91
156
|
- `--loop`|`-l`:
|
|
92
157
|
Loop the whole state cycle: after each iteration, ask for the next
|
|
@@ -107,6 +172,7 @@ implementation until it passes). The *querying* state and every
|
|
|
107
172
|
- You want an analyzer issue like `P1` fixed directly without a plan
|
|
108
173
|
- You want a quick change with optional grilling and verification
|
|
109
174
|
- You want several edits chained in a loop, optionally in a worktree
|
|
175
|
+
- You want the change set to land on a specific Git branch or worktree
|
|
110
176
|
|
|
111
177
|
## EXAMPLES
|
|
112
178
|
|
|
@@ -122,13 +188,34 @@ Grill the query with two rounds first, then implement and verify:
|
|
|
122
188
|
❯ /ase-code-edit -g -r 2 -v refactor the config loading into layers
|
|
123
189
|
```
|
|
124
190
|
|
|
191
|
+
Let the user pick one of several resolution approaches first, then
|
|
192
|
+
implement:
|
|
193
|
+
|
|
194
|
+
```text
|
|
195
|
+
❯ /ase-code-edit -a fix race condition in cache invalidation
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Grill the query exclusively from the security perspective, grounded in
|
|
199
|
+
the project artifacts and the Internet/Web, then implement:
|
|
200
|
+
|
|
201
|
+
```text
|
|
202
|
+
❯ /ase-code-edit -g -p security -G add a file upload endpoint to the API
|
|
203
|
+
```
|
|
204
|
+
|
|
125
205
|
Loop over multiple edits inside a dedicated Git worktree:
|
|
126
206
|
|
|
127
207
|
```text
|
|
128
|
-
❯ /ase-code-edit -l -w
|
|
208
|
+
❯ /ase-code-edit -l -w config-layers
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Edit inside the dedicated Git worktree `.ase/worktree/verbose` on the
|
|
212
|
+
branch `feature-verbose`:
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
❯ /ase-code-edit -w verbose:feature-verbose add a --verbose option to the CLI
|
|
129
216
|
```
|
|
130
217
|
|
|
131
218
|
## SEE ALSO
|
|
132
219
|
|
|
133
|
-
[`ase-
|
|
220
|
+
[`ase-task-edit`](../ase-task-edit/help.md), [`ase-spec-edit`](../ase-spec-edit/help.md),
|
|
134
221
|
[`ase-task-grill`](../ase-task-grill/help.md), [`ase-task-implement`](../ase-task-implement/help.md).
|
|
@@ -1,12 +1,15 @@
|
|
|
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>[,...]] <source-reference>"
|
|
3
|
+
argument-hint: "[--help|-h] [--auto|-a] [--severity|-S=(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.
|
|
7
7
|
user-invocable: true
|
|
8
8
|
disable-model-invocation: false
|
|
9
9
|
effort: high
|
|
10
|
+
allowed-tools:
|
|
11
|
+
- "Bash(git rev-parse *)"
|
|
12
|
+
- "Bash(git -C *)"
|
|
10
13
|
---
|
|
11
14
|
|
|
12
15
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
@@ -20,7 +23,7 @@ Lint Source Code
|
|
|
20
23
|
|
|
21
24
|
<expand name="getopt"
|
|
22
25
|
arg1="ase-code-lint"
|
|
23
|
-
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)...">
|
|
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">
|
|
24
27
|
$ARGUMENTS
|
|
25
28
|
</expand>
|
|
26
29
|
|
|
@@ -38,9 +41,9 @@ related to a set of code quality aspects.
|
|
|
38
41
|
The project source artifacts are classified as a *black box*, so
|
|
39
42
|
the user does *not* want them inspected or their problems surfaced.
|
|
40
43
|
*Skip* the entire investigation and reporting: do *not* invoke any
|
|
41
|
-
`Glob
|
|
42
|
-
the following <template/> and then *SKIP* the remaining steps
|
|
43
|
-
and STEP 3:
|
|
44
|
+
`Bash`, `Glob`, or `Agent` tool and do *not* read any source, only
|
|
45
|
+
output the following <template/> and then *SKIP* the remaining steps
|
|
46
|
+
STEP 2 and STEP 3:
|
|
44
47
|
|
|
45
48
|
<template>
|
|
46
49
|
<ase-tpl-bullet-normal/> **LINT**: *suppressed* (`project.boxing` is `black`)
|
|
@@ -83,10 +86,58 @@ related to a set of code quality aspects.
|
|
|
83
86
|
transcript. The sub-agents perform the silent reading and checking;
|
|
84
87
|
only their final structured return values are consumed here.
|
|
85
88
|
|
|
89
|
+
<if condition="<getopt-option-staged/> is equal `true` or <getopt-option-unstaged/> is equal `true`">
|
|
90
|
+
|
|
91
|
+
For this, first *silently* restrict the linting to the *changed*
|
|
92
|
+
files of the Git working copy. Set <changes>staged and
|
|
93
|
+
unstaged</changes> if both <getopt-option-staged/> and
|
|
94
|
+
<getopt-option-unstaged/> are equal `true`, set
|
|
95
|
+
<changes>staged</changes> if only <getopt-option-staged/> is equal
|
|
96
|
+
`true`, and set <changes>unstaged</changes> otherwise. Determine the
|
|
97
|
+
*repository root* by running the command `git rev-parse
|
|
98
|
+
--show-toplevel` (taken exactly as given) and capturing its output
|
|
99
|
+
into <repo-root/>. Then determine the changed files by running the
|
|
100
|
+
corresponding commands (taken exactly as given), each listing one
|
|
101
|
+
path relative to <repo-root/> per line, and collect all listed
|
|
102
|
+
paths, dropping duplicates:
|
|
103
|
+
|
|
104
|
+
<if condition="<getopt-option-staged/> is equal `true`">
|
|
105
|
+
`git -C "<repo-root/>" -c core.quotepath=off diff --cached --name-only --diff-filter=d`
|
|
106
|
+
</if>
|
|
107
|
+
|
|
108
|
+
<if condition="<getopt-option-unstaged/> is equal `true`">
|
|
109
|
+
`git -C "<repo-root/>" -c core.quotepath=off diff --name-only --diff-filter=d`
|
|
110
|
+
|
|
111
|
+
`git -C "<repo-root/>" -c core.quotepath=off ls-files --others --exclude-standard`
|
|
112
|
+
</if>
|
|
113
|
+
|
|
114
|
+
*Skip* every listed path below the `.ase/` directory (it carries
|
|
115
|
+
*ASE*'s own state) and every path which is not a source code file
|
|
116
|
+
(e.g. a binary file), and prefix every remaining path with
|
|
117
|
+
`<repo-root/>/`. If `<getopt-arguments/>` is not empty, keep only
|
|
118
|
+
those files which lie within the source code referenced by it,
|
|
119
|
+
expanding any directory or wildcard references with the `Glob`
|
|
120
|
+
tool. Set <sources/> to the resulting list of individual source
|
|
121
|
+
code files, preserving order.
|
|
122
|
+
|
|
123
|
+
If <sources/> is empty, only output the following <template/>
|
|
124
|
+
and then *SKIP* the rest of this STEP 1 and the remaining steps
|
|
125
|
+
STEP 2 and STEP 3:
|
|
126
|
+
|
|
127
|
+
<template>
|
|
128
|
+
<ase-tpl-bullet-normal/> **LINT**: *no <changes/> source files to lint*
|
|
129
|
+
</template>
|
|
130
|
+
|
|
131
|
+
</if>
|
|
132
|
+
<else>
|
|
133
|
+
|
|
86
134
|
For this, first *silently* resolve `<getopt-arguments/>` to the
|
|
87
135
|
list <sources/> of individual source code files, expanding any
|
|
88
|
-
directory or wildcard references with the `Glob` tool.
|
|
89
|
-
|
|
136
|
+
directory or wildcard references with the `Glob` tool.
|
|
137
|
+
|
|
138
|
+
</else>
|
|
139
|
+
|
|
140
|
+
Then partition <sources/>, preserving order, into at most *eight*
|
|
90
141
|
batches of roughly equal size (a single file yields a single
|
|
91
142
|
batch), and invoke the following tool once per batch, emitting
|
|
92
143
|
*all* invocations *in one single message* so they run in
|
|
@@ -171,8 +222,8 @@ related to a set of code quality aspects.
|
|
|
171
222
|
1. *Mark this skill as the active edit-capable skill* so that the
|
|
172
223
|
ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
|
|
173
224
|
invocations on *any* invocation path (slash command *or* `Skill`
|
|
174
|
-
tool). Call the `
|
|
175
|
-
"ase-code-lint",
|
|
225
|
+
tool). Call the `ase_state_set(key: "skill", val:
|
|
226
|
+
"ase-code-lint", session: "<ase-session-id/>")` tool
|
|
176
227
|
from the `ase` MCP server. Do not output anything in this substep.
|
|
177
228
|
|
|
178
229
|
*Critical safety invariant*: the marker set here grants `Edit`
|
|
@@ -478,8 +529,8 @@ related to a set of code quality aspects.
|
|
|
478
529
|
|
|
479
530
|
3. *Clear the active edit-capable skill marker* now that all `Edit`
|
|
480
531
|
invocations are done, so a later unrelated `Edit` is *not*
|
|
481
|
-
auto-approved. Call the `
|
|
482
|
-
|
|
532
|
+
auto-approved. Call the `ase_state_delete(key: "skill",
|
|
533
|
+
session: "<ase-session-id/>")` tool from the `ase` MCP
|
|
483
534
|
server. Do not output anything in this substep.
|
|
484
535
|
|
|
485
536
|
4. You *MUST* *NOT* output any further additional explanations or
|
|
@@ -496,13 +547,13 @@ related to a set of code quality aspects.
|
|
|
496
547
|
|
|
497
548
|
<if condition="at least one problem in <problems/> was left uncorrected">
|
|
498
549
|
<ase-tpl-hint level="normal">
|
|
499
|
-
For problems whose correction demands more than a local edit, use `/ase-
|
|
550
|
+
For problems whose correction demands more than a local edit, use `/ase-task-edit` to derive a full solution approach and plan, or `/ase-code-edit -a` to derive and apply it directly.
|
|
500
551
|
</ase-tpl-hint>
|
|
501
552
|
</if>
|
|
502
553
|
|
|
503
554
|
<if condition="<getopt-option-auto/> is not equal `true`">
|
|
504
555
|
<ase-tpl-hint level="verbose">
|
|
505
|
-
Use `/ase-code-lint --auto` to apply all corrections unattended, `--severity` to raise the reporting floor,
|
|
556
|
+
Use `/ase-code-lint --auto` to apply all corrections unattended, `--severity` to raise the reporting floor, `--include`/`--exclude` to narrow the checked aspects, and `--staged`/`--unstaged` to lint only the changed files.
|
|
506
557
|
</ase-tpl-hint>
|
|
507
558
|
</if>
|
|
508
559
|
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
12
12
|
[`--include`|`-i`=*aspect*[`,`...]]
|
|
13
13
|
[`--exclude`|`-e`=*aspect*[`,`...]]
|
|
14
|
-
|
|
14
|
+
[`--staged`]
|
|
15
|
+
[`--unstaged`]
|
|
16
|
+
[*source-reference*]
|
|
15
17
|
|
|
16
18
|
## DESCRIPTION
|
|
17
19
|
|
|
@@ -76,10 +78,25 @@ the code, and comments contradicting the code.
|
|
|
76
78
|
code quality aspects. Applied *after* `--include`, so
|
|
77
79
|
`-i A01,A02 -e A02` checks `A01` only.
|
|
78
80
|
|
|
81
|
+
- `--staged`:
|
|
82
|
+
Restrict the linting to the source files with *staged* Git changes.
|
|
83
|
+
Deleted files are skipped, and the files are linted in their current
|
|
84
|
+
working copy state. Combined with `--unstaged`, lint the source
|
|
85
|
+
files with *any* uncommitted Git changes.
|
|
86
|
+
|
|
87
|
+
- `--unstaged`:
|
|
88
|
+
Restrict the linting to the source files with *unstaged* Git changes
|
|
89
|
+
plus the *untracked* source files. Deleted files are skipped.
|
|
90
|
+
Combined with `--staged`, lint the source files with *any*
|
|
91
|
+
uncommitted Git changes.
|
|
92
|
+
|
|
79
93
|
## ARGUMENTS
|
|
80
94
|
|
|
81
95
|
- *source-reference*:
|
|
82
96
|
A file, directory, or other reference to the source code to lint.
|
|
97
|
+
Optional only under `--staged` or `--unstaged`: with it, only the
|
|
98
|
+
changed files within it are linted; without it, all changed files
|
|
99
|
+
of the repository are linted.
|
|
83
100
|
|
|
84
101
|
## SCENARIOS
|
|
85
102
|
|
|
@@ -88,6 +105,7 @@ the code, and comments contradicting the code.
|
|
|
88
105
|
- You want all quality corrections applied automatically
|
|
89
106
|
- You want only specific quality aspects like formatting or spelling checked
|
|
90
107
|
- You want missing or excessive code documentation flagged
|
|
108
|
+
- You want only your staged or unstaged changes linted before committing
|
|
91
109
|
|
|
92
110
|
## EXAMPLES
|
|
93
111
|
|
|
@@ -127,7 +145,19 @@ Lint a directory for the documentation aspect only:
|
|
|
127
145
|
❯ /ase-code-lint -i A21 src/handlers/
|
|
128
146
|
```
|
|
129
147
|
|
|
148
|
+
Lint only the source files with staged Git changes:
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
❯ /ase-code-lint --staged
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Lint only the unstaged and untracked source files and apply all corrections:
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
❯ /ase-code-lint --auto --unstaged
|
|
158
|
+
```
|
|
159
|
+
|
|
130
160
|
## SEE ALSO
|
|
131
161
|
|
|
132
|
-
[`ase-code-analyze`](../ase-code-analyze/help.md), [`ase-code-
|
|
162
|
+
[`ase-code-analyze`](../ase-code-analyze/help.md), [`ase-code-edit`](../ase-code-edit/help.md), [`ase-task-edit`](../ase-task-edit/help.md),
|
|
133
163
|
[`ase-docs-proofread`](../ase-docs-proofread/help.md).
|
|
@@ -125,8 +125,8 @@ Analyze documents for spelling, capitalization, punctuation, word break, or gram
|
|
|
125
125
|
1. *Mark this skill as the active edit-capable skill* so that the
|
|
126
126
|
ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
|
|
127
127
|
invocations on *any* invocation path (slash command *or* `Skill`
|
|
128
|
-
tool). Call the `
|
|
129
|
-
"ase-docs-proofread",
|
|
128
|
+
tool). Call the `ase_state_set(key: "skill", val:
|
|
129
|
+
"ase-docs-proofread", session: "<ase-session-id/>")` tool
|
|
130
130
|
from the `ase` MCP server. Do not output anything in this substep.
|
|
131
131
|
|
|
132
132
|
*Critical safety invariant*: the marker set here grants `Edit`
|
|
@@ -339,8 +339,8 @@ Analyze documents for spelling, capitalization, punctuation, word break, or gram
|
|
|
339
339
|
|
|
340
340
|
3. *Clear the active edit-capable skill marker* now that all `Edit`
|
|
341
341
|
invocations are done, so a later unrelated `Edit` is *not*
|
|
342
|
-
auto-approved. Call the `
|
|
343
|
-
|
|
342
|
+
auto-approved. Call the `ase_state_delete(key: "skill",
|
|
343
|
+
session: "<ase-session-id/>")` tool from the `ase` MCP
|
|
344
344
|
server. Do not output anything in this substep.
|
|
345
345
|
|
|
346
346
|
4. You *MUST* *NOT* output any further additional explanations or
|
|
@@ -69,4 +69,4 @@ Proofread an entire documentation directory automatically:
|
|
|
69
69
|
|
|
70
70
|
## SEE ALSO
|
|
71
71
|
|
|
72
|
-
[`ase-docs-shorten`](../ase-docs-shorten/help.md), [`ase-docs-refine`](../ase-docs-refine/help.md), [`ase-docs-distill`](../ase-docs-distill/help.md), [`ase-code-lint`](../ase-code-lint/help.md), [`ase-
|
|
72
|
+
[`ase-docs-shorten`](../ase-docs-shorten/help.md), [`ase-docs-refine`](../ase-docs-refine/help.md), [`ase-docs-distill`](../ase-docs-distill/help.md), [`ase-code-lint`](../ase-code-lint/help.md), [`ase-repo-changelog`](../ase-repo-changelog/help.md).
|
|
@@ -148,8 +148,8 @@ reduction*, not refinement, and belongs to the `ase-docs-shorten` skill.
|
|
|
148
148
|
1. *Mark this skill as the active edit-capable skill* so that the
|
|
149
149
|
ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
|
|
150
150
|
invocations on *any* invocation path (slash command *or* `Skill`
|
|
151
|
-
tool). Call the `
|
|
152
|
-
"ase-docs-refine",
|
|
151
|
+
tool). Call the `ase_state_set(key: "skill", val:
|
|
152
|
+
"ase-docs-refine", session: "<ase-session-id/>")` tool
|
|
153
153
|
from the `ase` MCP server. Do not output anything in this substep.
|
|
154
154
|
|
|
155
155
|
*Critical safety invariant*: the marker set here grants `Edit`
|
|
@@ -369,8 +369,8 @@ reduction*, not refinement, and belongs to the `ase-docs-shorten` skill.
|
|
|
369
369
|
|
|
370
370
|
3. *Clear the active edit-capable skill marker* now that all `Edit`
|
|
371
371
|
invocations are done, so a later unrelated `Edit` is *not*
|
|
372
|
-
auto-approved. Call the `
|
|
373
|
-
|
|
372
|
+
auto-approved. Call the `ase_state_delete(key: "skill",
|
|
373
|
+
session: "<ase-session-id/>")` tool from the `ase` MCP
|
|
374
374
|
server. Do not output anything in this substep.
|
|
375
375
|
|
|
376
376
|
4. You *MUST* *NOT* output any further additional explanations or
|
|
@@ -215,8 +215,8 @@ than the user asked for.
|
|
|
215
215
|
1. *Mark this skill as the active edit-capable skill* so that the
|
|
216
216
|
ASE `pre-tool-use` hook auto-approves the subsequent `Edit`
|
|
217
217
|
invocations on *any* invocation path (slash command *or* `Skill`
|
|
218
|
-
tool). Call the `
|
|
219
|
-
"ase-docs-shorten",
|
|
218
|
+
tool). Call the `ase_state_set(key: "skill", val:
|
|
219
|
+
"ase-docs-shorten", session: "<ase-session-id/>")` tool
|
|
220
220
|
from the `ase` MCP server. Do not output anything in this substep.
|
|
221
221
|
|
|
222
222
|
*Critical safety invariant*: the marker set here grants `Edit`
|
|
@@ -454,8 +454,8 @@ than the user asked for.
|
|
|
454
454
|
|
|
455
455
|
3. *Clear the active edit-capable skill marker* now that all `Edit`
|
|
456
456
|
invocations are done, so a later unrelated `Edit` is *not*
|
|
457
|
-
auto-approved. Call the `
|
|
458
|
-
|
|
457
|
+
auto-approved. Call the `ase_state_delete(key: "skill",
|
|
458
|
+
session: "<ase-session-id/>")` tool from the `ase` MCP
|
|
459
459
|
server. Do not output anything in this substep.
|
|
460
460
|
|
|
461
461
|
</step>
|