@rse/ase 1.0.7 → 2.0.0
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 +351 -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} +3 -0
- 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 +251 -76
- 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 +225 -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 +79 -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
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ase-meta-review
|
|
3
|
-
argument-hint: "[--help|-h] [--severity|-S=(LOW|MEDIUM|HIGH)]"
|
|
4
|
-
description: >
|
|
5
|
-
Perform a holistic, human-reviewer-style critique of the currently
|
|
6
|
-
staged Git changes and emit an approve/reject verdict with
|
|
7
|
-
prioritized, severity-tagged, line-cited findings. Use when the user
|
|
8
|
-
wants the staged diff "reviewed", "critiqued", or "code-reviewed"
|
|
9
|
-
before committing.
|
|
10
|
-
user-invocable: true
|
|
11
|
-
disable-model-invocation: false
|
|
12
|
-
effort: high
|
|
13
|
-
allowed-tools:
|
|
14
|
-
- "Bash(git diff *)"
|
|
15
|
-
- "Agent"
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
19
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
20
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
21
|
-
|
|
22
|
-
<purpose name="ase-meta-review">
|
|
23
|
-
Review Staged Changes
|
|
24
|
-
</purpose>
|
|
25
|
-
|
|
26
|
-
<expand name="getopt"
|
|
27
|
-
arg1="ase-meta-review"
|
|
28
|
-
arg2="--severity|-S=(LOW|MEDIUM|HIGH)">
|
|
29
|
-
$ARGUMENTS
|
|
30
|
-
</expand>
|
|
31
|
-
|
|
32
|
-
<objective>
|
|
33
|
-
Review the currently staged Git changes the way an *experienced human
|
|
34
|
-
reviewer* would - judging them *holistically* against the change's *own
|
|
35
|
-
intent* and against *correctness*, *design fit*, *clarity*, *robustness*,
|
|
36
|
-
and *project-convention conformance* - and emit a single *approve /
|
|
37
|
-
request-changes verdict* backed by *prioritized*, *severity-tagged*,
|
|
38
|
-
*line-cited* findings. This is a *synthesizing critique*, not a mechanical
|
|
39
|
-
scan: it complements `ase-code-lint` (mechanical quality), `ase-code-analyze`
|
|
40
|
-
(logic/semantics), and `ase-meta-diff` (intent narrative and risk).
|
|
41
|
-
</objective>
|
|
42
|
-
|
|
43
|
-
Procedure
|
|
44
|
-
---------
|
|
45
|
-
|
|
46
|
-
<flow>
|
|
47
|
-
|
|
48
|
-
1. <step id="STEP 1: Determine Change Set">
|
|
49
|
-
|
|
50
|
-
1. Determine *whether there are staged changes at all* by running the
|
|
51
|
-
corresponding command (taken exactly as given) and capturing its
|
|
52
|
-
output - the bare *list of staged file names* - into <diff/>. This
|
|
53
|
-
is a lightweight gate; the full diff is fetched by the sub-agent
|
|
54
|
-
in STEP 2, so capturing only the file-name list here is sufficient:
|
|
55
|
-
|
|
56
|
-
`git diff --cached --name-only HEAD`
|
|
57
|
-
|
|
58
|
-
2. <if condition="<diff/> is empty">
|
|
59
|
-
Only output the following <template/> and then *STOP* immediately:
|
|
60
|
-
|
|
61
|
-
<template>
|
|
62
|
-
⧉ **ASE**: ✪ skill: **ase-meta-review**, ▶ status: **no changes to review**
|
|
63
|
-
</template>
|
|
64
|
-
</if>
|
|
65
|
-
|
|
66
|
-
</step>
|
|
67
|
-
|
|
68
|
-
2. <step id="STEP 2: Review Investigation">
|
|
69
|
-
|
|
70
|
-
<if condition="<ase-project-boxing/> is equal `black`">
|
|
71
|
-
|
|
72
|
-
The project source artifacts are classified as a *black box*, so
|
|
73
|
-
the user does *not* want the staged changes scrutinized or their
|
|
74
|
-
findings surfaced. *Skip* the entire review investigation: do
|
|
75
|
-
*not* invoke the `Agent` tool and do *not* read any change, set
|
|
76
|
-
<findings/> to the *empty* list, set <verdict/> to `SKIPPED (boxing:
|
|
77
|
-
black)`, set <summary/> to a *one-line* neutral restatement of the
|
|
78
|
-
change intent derived solely from STEP 1, and proceed *directly* to
|
|
79
|
-
STEP 3.
|
|
80
|
-
|
|
81
|
-
</if>
|
|
82
|
-
|
|
83
|
-
First, use the following <template/> to give a hint on this step:
|
|
84
|
-
|
|
85
|
-
<template>
|
|
86
|
-
<ase-tpl-bullet-secondary/> **REVIEW INVESTIGATION**
|
|
87
|
-
</template>
|
|
88
|
-
|
|
89
|
-
Dispatch the review investigation to a *sub-agent* via the `Agent`
|
|
90
|
-
tool so that *no* investigation details leak into the user-visible
|
|
91
|
-
transcript. The sub-agent performs the silent reading, the read-only
|
|
92
|
-
repository probing, and the critique; only its final structured return
|
|
93
|
-
value is consumed here.
|
|
94
|
-
|
|
95
|
-
For this, invoke *exactly once* the tool:
|
|
96
|
-
|
|
97
|
-
```text
|
|
98
|
-
Agent(
|
|
99
|
-
description: "Review Investigation",
|
|
100
|
-
subagent_type: "ase:ase-meta-review",
|
|
101
|
-
prompt: "Review the staged changes.",
|
|
102
|
-
run_in_background: false
|
|
103
|
-
)
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Parse the single result message of the `Agent` tool as a JSON object,
|
|
107
|
-
set <summary/> to its `summary` field (a single crisp sentence
|
|
108
|
-
reconstructing the change's intent), and set <findings/> to its
|
|
109
|
-
`findings` field (a list).
|
|
110
|
-
|
|
111
|
-
Then *derive* the overall <verdict/> from <findings/>: set
|
|
112
|
-
<verdict/> to `REJECT - DEMANDS CHANGES` if *any* finding in
|
|
113
|
-
<findings/> has a `severity` field of `HIGH`; otherwise set
|
|
114
|
-
<verdict/> to `APPROVE`. The verdict is derived *before* the
|
|
115
|
-
severity floor below, so the floor only affects which findings are
|
|
116
|
-
*rendered*, never the verdict.
|
|
117
|
-
|
|
118
|
-
Then determine the *effective severity floor* <floor/>: define the
|
|
119
|
-
ordinal rank `LOW`=1, `MEDIUM`=2, `HIGH`=3, start from
|
|
120
|
-
<floor><getopt-option-severity/></floor> (default `LOW`), and - if
|
|
121
|
-
<ase-project-boxing/> is equal `grey` - raise <floor/> to `MEDIUM`
|
|
122
|
-
whenever its current rank is below `rank(MEDIUM)` (grey boxing
|
|
123
|
-
surfaces only *material* findings of severity `MEDIUM` and above).
|
|
124
|
-
The floor affects only which findings are *rendered*, never the
|
|
125
|
-
<verdict/> derived above.
|
|
126
|
-
|
|
127
|
-
Then *apply the effective severity floor* <floor/>: *Keep* a finding
|
|
128
|
-
in <findings/> if and only if its `severity` field is `ACCEPTED` *or*
|
|
129
|
-
`rank(severity)` is greater than or equal to `rank(<floor/>)`;
|
|
130
|
-
*silently drop* all other findings. With the default floor `LOW`, all
|
|
131
|
-
findings are kept. `ACCEPTED` findings are *never* dropped.
|
|
132
|
-
|
|
133
|
-
You *MUST* *NOT* output anything else in this STEP 2.
|
|
134
|
-
|
|
135
|
-
</step>
|
|
136
|
-
|
|
137
|
-
3. <step id="STEP 3: Verdict and Findings">
|
|
138
|
-
|
|
139
|
-
1. Use the following <template/> to output the overall review in
|
|
140
|
-
<verdict/> and the reconstructed intent <summary/>:
|
|
141
|
-
|
|
142
|
-
<template>
|
|
143
|
-
|
|
144
|
-
<ase-tpl-bullet-signal/> **REVIEW VERDICT**: **<verdict/>**
|
|
145
|
-
|
|
146
|
-
<ase-tpl-bullet-normal/> **CHANGE INTENT**: <summary/>
|
|
147
|
-
|
|
148
|
-
</template>
|
|
149
|
-
|
|
150
|
-
You *MUST* *NOT* output anything else in this STEP 3.1.
|
|
151
|
-
|
|
152
|
-
2. <if condition="<findings/> is empty">
|
|
153
|
-
Only output the following <template/> - with <note/> set to `the
|
|
154
|
-
change was not reviewed` if <verdict/> starts with `SKIPPED` and
|
|
155
|
-
to `the change is clean` otherwise - and then *SKIP* the
|
|
156
|
-
remainder of this STEP 3 (an empty finding list never yields the
|
|
157
|
-
`REJECT` verdict, so the closing hint of substep 4 would expand
|
|
158
|
-
into nothing anyway):
|
|
159
|
-
|
|
160
|
-
<template>
|
|
161
|
-
|
|
162
|
-
<ase-tpl-bullet-normal/> **NO FINDINGS**: <note/>, nothing to flag.
|
|
163
|
-
|
|
164
|
-
</template>
|
|
165
|
-
</if>
|
|
166
|
-
|
|
167
|
-
3. <if condition="<findings/> is NOT empty">
|
|
168
|
-
Sort the findings by <severity/> from highest to lowest in the
|
|
169
|
-
fixed order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`. Within the same
|
|
170
|
-
severity, keep the order returned by the sub-agent.
|
|
171
|
-
|
|
172
|
-
Then render a *three-column table* with one row per finding by
|
|
173
|
-
using the following output <template/>. For each finding, repeat
|
|
174
|
-
the third line, set <severity/> to its `severity` field, set
|
|
175
|
-
<dimension/> to its `dimension` field, set <location/> to its
|
|
176
|
-
`location` field, and set <finding/> to its `finding` field.
|
|
177
|
-
|
|
178
|
-
In the <location/> column, mark up the `file:line` reference
|
|
179
|
-
as code (with backticks) and prepend it with `▢ ` - keep the
|
|
180
|
-
sub-agent's own `:N` / `:N-M` line citation intact and do *not*
|
|
181
|
-
append any further line-count decoration.
|
|
182
|
-
|
|
183
|
-
Because the <finding/> text is free-form Markdown, *before*
|
|
184
|
-
emitting any row you *MUST* escape every literal `|` pipe
|
|
185
|
-
character inside <location/> and <finding/> as `\|` so it cannot
|
|
186
|
-
break the table column structure.
|
|
187
|
-
|
|
188
|
-
<template>
|
|
189
|
-
| Severity | Dimension | Finding |
|
|
190
|
-
| --------------- | ------------ | ----------------------- |
|
|
191
|
-
| **<severity/>** | <dimension/> | <location/>: <finding/> |
|
|
192
|
-
</template>
|
|
193
|
-
|
|
194
|
-
Keep the overall report *concise* and *brief*.
|
|
195
|
-
Do *not* output any further explanation.
|
|
196
|
-
</if>
|
|
197
|
-
|
|
198
|
-
4. Finally, give the closing hint by expanding the following
|
|
199
|
-
(which, depending on the configured <ase-guidance-level/>, may
|
|
200
|
-
expand into nothing and hence emit no output at all):
|
|
201
|
-
|
|
202
|
-
<if condition="<verdict/> starts with `REJECT`">
|
|
203
|
-
<ase-tpl-hint level="normal">
|
|
204
|
-
Use `/ase-code-resolve` to derive and apply a solution approach for the findings which demand changes.
|
|
205
|
-
</ase-tpl-hint>
|
|
206
|
-
</if>
|
|
207
|
-
|
|
208
|
-
</step>
|
|
209
|
-
|
|
210
|
-
</flow>
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
## NAME
|
|
3
|
-
|
|
4
|
-
`ase-meta-review` - Review Staged Changes
|
|
5
|
-
|
|
6
|
-
## SYNOPSIS
|
|
7
|
-
|
|
8
|
-
`ase-meta-review`
|
|
9
|
-
[`--help`|`-h`]
|
|
10
|
-
[`--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`)]
|
|
11
|
-
|
|
12
|
-
## DESCRIPTION
|
|
13
|
-
|
|
14
|
-
The `ase-meta-review` skill performs a *holistic*,
|
|
15
|
-
*human-reviewer-style* critique of the *staged* Git changes and emits a
|
|
16
|
-
single *approve* / *reject* **verdict** backed by *prioritized*,
|
|
17
|
-
*severity-tagged*, *line-cited* **findings**. Rather than scanning the
|
|
18
|
-
code mechanically, it first *reconstructs the change's own intent* and
|
|
19
|
-
then judges the diff *as a whole* against that intent - the way an
|
|
20
|
-
experienced reviewer would on a pull request.
|
|
21
|
-
|
|
22
|
-
The critique spans a fixed set of reviewer *dimensions*: **intent**
|
|
23
|
-
(does the diff do what it set out to, without scope creep or stray
|
|
24
|
-
residue), **correctness** (latent bugs, edge cases, broken
|
|
25
|
-
control/data flow), **design** (fit with the surrounding architecture,
|
|
26
|
-
naming, abstraction level), **clarity** (readability and
|
|
27
|
-
self-documentation for a future reader), **robustness** (error handling,
|
|
28
|
-
resource and concurrency safety), **security** and **performance** (risks
|
|
29
|
-
introduced by the change), **convention** (conformance to the
|
|
30
|
-
project's documented conventions - code style and the plan/spec
|
|
31
|
-
formats described in `AGENTS.md` and the `ase-format-*` meta documents),
|
|
32
|
-
**testing** (inadequate coverage for the change - new or fixed behavior
|
|
33
|
-
left untested, adjacent tests not updated, or existing tests silently
|
|
34
|
-
broken, disabled, or weakened), and **documentation** (user- or
|
|
35
|
-
developer-facing docs - `README`, `CHANGELOG`, help text, or AI
|
|
36
|
-
guidance/meta documents - left stale by the change).
|
|
37
|
-
|
|
38
|
-
Each finding carries a *severity* - **HIGH**, **MEDIUM**, **LOW**, or
|
|
39
|
-
**ACCEPTED** (a concern that is contractually addressed or accepted as a
|
|
40
|
-
documented priority conflict) - and is *evidence-grounded*: it cites the
|
|
41
|
-
exact `file:line` location it stems from. The overall verdict is
|
|
42
|
-
**REJECT - DEMANDS CHANGES** when any *HIGH* finding remains, and
|
|
43
|
-
**APPROVE** otherwise. The work is performed by a dedicated `ase-meta-review`
|
|
44
|
-
sub-agent so that the silent reading and read-only repository probing
|
|
45
|
-
never leak into the transcript; only the structured verdict and findings
|
|
46
|
-
are rendered.
|
|
47
|
-
|
|
48
|
-
The skill *complements* rather than duplicates its neighbors:
|
|
49
|
-
`ase-code-lint` flags *mechanical* code-quality issues, `ase-code-analyze`
|
|
50
|
-
inspects *logic and semantics*, `ase-meta-diff` narrates *what changed*
|
|
51
|
-
(with optional coherence, risk, and blast-radius reports), and
|
|
52
|
-
`ase-meta-diaboli` *adversarially challenges a thesis* - whereas
|
|
53
|
-
`ase-meta-review` renders a *reviewer's judgment* on a concrete diff
|
|
54
|
-
before it is committed.
|
|
55
|
-
|
|
56
|
-
## OPTIONS
|
|
57
|
-
|
|
58
|
-
- `--severity`|`-S`=(`LOW`|`MEDIUM`|`HIGH`):
|
|
59
|
-
Set the *severity floor* (default `LOW`): findings below the chosen
|
|
60
|
-
threshold are silently suppressed, ordered `LOW` < `MEDIUM` <
|
|
61
|
-
`HIGH`. The default `LOW` keeps all findings; `ACCEPTED` findings are
|
|
62
|
-
never suppressed. Surviving findings are rendered in *descending
|
|
63
|
-
severity* order `HIGH`, `MEDIUM`, `LOW`, `ACCEPTED`. The floor only
|
|
64
|
-
affects the rendered findings table, not the overall *verdict*, which
|
|
65
|
-
is always derived from all findings before the floor is applied.
|
|
66
|
-
|
|
67
|
-
## ARGUMENTS
|
|
68
|
-
|
|
69
|
-
The `ase-meta-review` skill takes no positional arguments; it always
|
|
70
|
-
reviews the currently *staged* Git changes.
|
|
71
|
-
|
|
72
|
-
## SCENARIOS
|
|
73
|
-
|
|
74
|
-
- You want the staged changes reviewed like a human reviewer would
|
|
75
|
-
- You want an approve or reject verdict before committing
|
|
76
|
-
- You want severity-tagged, line-cited findings on a diff
|
|
77
|
-
- You want a holistic judgment instead of a mechanical lint
|
|
78
|
-
|
|
79
|
-
## EXAMPLES
|
|
80
|
-
|
|
81
|
-
Review the currently staged changes before committing:
|
|
82
|
-
|
|
83
|
-
```text
|
|
84
|
-
❯ /ase-meta-review
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Review the staged changes, reporting only `MEDIUM` and `HIGH` findings:
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
❯ /ase-meta-review -S MEDIUM
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## SEE ALSO
|
|
94
|
-
|
|
95
|
-
[`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),
|
|
96
|
-
[`ase-meta-diaboli`](../ase-meta-diaboli/help.md).
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ase-task-preflight
|
|
3
|
-
argument-hint: "[--help|-h] [--next|-n <option>[,...]] [<id>]"
|
|
4
|
-
description: >
|
|
5
|
-
Preflight the implementation of current or given task plan.
|
|
6
|
-
Use when the user calls to "preflight", "dry-run" or "test-drive"
|
|
7
|
-
the "task", "plan", "spec", or "specification".
|
|
8
|
-
user-invocable: true
|
|
9
|
-
disable-model-invocation: false
|
|
10
|
-
effort: xhigh
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
14
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
15
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
|
|
16
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
17
|
-
|
|
18
|
-
<purpose name="ase-task-preflight">
|
|
19
|
-
Preflight a Task Plan
|
|
20
|
-
</purpose>
|
|
21
|
-
|
|
22
|
-
<expand name="getopt"
|
|
23
|
-
arg1="ase-task-preflight"
|
|
24
|
-
arg2="--next|-n=(none|DONE|EDIT|IMPLEMENT)... --int-reuse-task">
|
|
25
|
-
$ARGUMENTS
|
|
26
|
-
</expand>
|
|
27
|
-
|
|
28
|
-
<objective>
|
|
29
|
-
*Preflight* the implementation of a task plan by creating a draft
|
|
30
|
-
for a corresponding, *complete source code change set*.
|
|
31
|
-
</objective>
|
|
32
|
-
|
|
33
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md
|
|
34
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-common-task.md
|
|
35
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-tenets.md
|
|
36
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-common-code.md
|
|
37
|
-
|
|
38
|
-
Procedure
|
|
39
|
-
---------
|
|
40
|
-
|
|
41
|
-
1. **Determine Task:**
|
|
42
|
-
|
|
43
|
-
1. Set <instruction><getopt-arguments/></instruction> initially, with any
|
|
44
|
-
leading and trailing whitespace stripped.
|
|
45
|
-
Inherit the always existing <ase-task-id/> from the current context.
|
|
46
|
-
Inherit the always existing <ase-session-id/> from the current context.
|
|
47
|
-
Do not output anything.
|
|
48
|
-
|
|
49
|
-
2. React on task id:
|
|
50
|
-
|
|
51
|
-
<expand name="task-react-id" arg1="ase-task-preflight"></expand>
|
|
52
|
-
|
|
53
|
-
2. **Determine Operation:**
|
|
54
|
-
|
|
55
|
-
1. Determine the current task plan content:
|
|
56
|
-
|
|
57
|
-
<expand name="task-load-content"></expand>
|
|
58
|
-
|
|
59
|
-
2. If the <task-content/> is still empty, complain and tell the user to
|
|
60
|
-
use the `ase-code-resolve`, `ase-code-refactor`, `ase-code-craft`,
|
|
61
|
-
or `ase-task-edit` skills first to create a task plan. Then
|
|
62
|
-
immediately stop processing this skill.
|
|
63
|
-
|
|
64
|
-
3. Internalize the tenets stated by the plan:
|
|
65
|
-
|
|
66
|
-
<expand name="code-tenets-from-plan"></expand>
|
|
67
|
-
|
|
68
|
-
3. **Create Implementation Draft:**
|
|
69
|
-
|
|
70
|
-
1. Perform a *preflight* of the *implementation* of <task-content/> by creating a
|
|
71
|
-
draft for a corresponding, *complete artifact change set*
|
|
72
|
-
which *would* fully implement the task plan <task-content/>. Store
|
|
73
|
-
this artifact change set in *unified diff* format in <unified-diff/>.
|
|
74
|
-
|
|
75
|
-
Create this draft with the *same rigor* as the final
|
|
76
|
-
implementation of the companion skill `ase-task-implement`,
|
|
77
|
-
because that skill later takes the draft over *1:1* -- the user
|
|
78
|
-
is assumed to review the draft in between. Hence *read* the
|
|
79
|
-
current content of *every* artifact the draft touches before
|
|
80
|
-
drafting its hunks, so all context lines match the artifacts
|
|
81
|
-
*exactly* and the diff would apply *cleanly*, and honor the
|
|
82
|
-
task plan and the internalized tenets just as the final
|
|
83
|
-
implementation would. Only the actual modification of the
|
|
84
|
-
artifacts and the verification phase are deferred to
|
|
85
|
-
`ase-task-implement`.
|
|
86
|
-
|
|
87
|
-
2. Append this artifact change set <unified-diff/> to the end
|
|
88
|
-
of the <task-content/> with the following <template/>. If a section
|
|
89
|
-
named `## IMPLEMENTATION DRAFT` already exists from a
|
|
90
|
-
previous run of this skill, *replace* this entire existing
|
|
91
|
-
section.
|
|
92
|
-
|
|
93
|
-
Set <fence/> to a run of backtick characters *one longer* than
|
|
94
|
-
the longest backtick run occurring anywhere inside
|
|
95
|
-
<unified-diff/>, but to at least three, so a diff which itself
|
|
96
|
-
carries fenced code blocks (e.g. one over Markdown artifacts)
|
|
97
|
-
cannot terminate the block prematurely.
|
|
98
|
-
|
|
99
|
-
<template>
|
|
100
|
-
|
|
101
|
-
## IMPLEMENTATION DRAFT
|
|
102
|
-
|
|
103
|
-
<fence/>text
|
|
104
|
-
<unified-diff/>
|
|
105
|
-
<fence/>
|
|
106
|
-
|
|
107
|
-
</template>
|
|
108
|
-
|
|
109
|
-
3. Update <timestamp-modified/> with the current time in
|
|
110
|
-
ISO-style format, which has to be determined by calling the
|
|
111
|
-
`ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the `ase`
|
|
112
|
-
MCP server and using the `text` field of its response. Update
|
|
113
|
-
the `Modified: ...` frontmatter key of <task-content/> with the
|
|
114
|
-
new <timestamp-modified/> value, *creating* the whole key at its
|
|
115
|
-
position in the key order of the plan <format/> if the plan does
|
|
116
|
-
not carry it yet.
|
|
117
|
-
Do not output anything.
|
|
118
|
-
|
|
119
|
-
Additionally *add* the value `preflighted` to the `Properties:`
|
|
120
|
-
frontmatter key of <task-content/> if it is still absent, keeping
|
|
121
|
-
all already present values and *creating* the whole key (with the
|
|
122
|
-
single value `preflighted`) if the plan carries none. Do not
|
|
123
|
-
output anything.
|
|
124
|
-
|
|
125
|
-
4. Finally, call the `ase_task_save(id: "<ase-task-id/>",
|
|
126
|
-
text: "<task-content/>")` tool of the `ase` MCP server to save the updated
|
|
127
|
-
task plan content. This `ase_task_save` MCP tool call is the
|
|
128
|
-
*only* permitted way to persist the plan -- *NEVER* write the
|
|
129
|
-
plan file via `Write`/`Edit` or by executing a shell command.
|
|
130
|
-
Do not output anything related to this MCP tool call
|
|
131
|
-
except the following <template/>:
|
|
132
|
-
|
|
133
|
-
<template>
|
|
134
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **plan updated**
|
|
135
|
-
</template>
|
|
136
|
-
|
|
137
|
-
4. **Decide Next Step:**
|
|
138
|
-
|
|
139
|
-
1. *Determine next step*:
|
|
140
|
-
|
|
141
|
-
<expand name="task-next-select"
|
|
142
|
-
arg1="ase-task-preflight"
|
|
143
|
-
arg2="DONE|EDIT|IMPLEMENT">
|
|
144
|
-
Next Step: How would you like to proceed with the plan?
|
|
145
|
-
DONE: Stop processing.
|
|
146
|
-
EDIT: Hand processing off to editing.
|
|
147
|
-
IMPLEMENT: Hand processing off to implementation.
|
|
148
|
-
</expand>
|
|
149
|
-
|
|
150
|
-
2. Check the tool <result/> and dispatch accordingly:
|
|
151
|
-
|
|
152
|
-
- If <result/> is `DONE` or `CANCEL`:
|
|
153
|
-
Only output the following <template/> and then *STOP*.
|
|
154
|
-
|
|
155
|
-
<template>
|
|
156
|
-
⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **plan updated -- done**
|
|
157
|
-
</template>
|
|
158
|
-
|
|
159
|
-
- If <result/> is `EDIT`:
|
|
160
|
-
<expand name="task-next-handoff" arg1="ase-task-edit"
|
|
161
|
-
arg2="plan updated -- hand-off to edit"></expand>
|
|
162
|
-
|
|
163
|
-
- If <result/> is `IMPLEMENT`:
|
|
164
|
-
<expand name="task-next-handoff" arg1="ase-task-implement"
|
|
165
|
-
arg2="plan updated -- hand-off to implementation"></expand>
|
|
166
|
-
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
## NAME
|
|
3
|
-
|
|
4
|
-
`ase-task-preflight` - Preflight a Task Plan
|
|
5
|
-
|
|
6
|
-
## SYNOPSIS
|
|
7
|
-
|
|
8
|
-
`ase-task-preflight`
|
|
9
|
-
[`--help`|`-h`]
|
|
10
|
-
[`--next`|`-n` *option*[,...]]
|
|
11
|
-
[*id*]
|
|
12
|
-
|
|
13
|
-
## DESCRIPTION
|
|
14
|
-
|
|
15
|
-
The `ase-task-preflight` skill performs a *preflight* (dry-run,
|
|
16
|
-
test-drive) of the *implementation* of a task plan by creating a
|
|
17
|
-
draft for a corresponding, complete *artifact change set* in
|
|
18
|
-
*unified diff* format. The draft is appended to the task plan as
|
|
19
|
-
an `IMPLEMENTATION DRAFT` section (replacing any previous draft) and
|
|
20
|
-
the plan's `Properties:` frontmatter key gains the value `preflighted`.
|
|
21
|
-
No source files are modified. The draft is produced under the *same
|
|
22
|
-
tenets* and with the *same rigor* as a final implementation, because
|
|
23
|
-
`ase-task-implement` later takes it over *1:1* after user review --
|
|
24
|
-
only the actual artifact modification and the verification phase
|
|
25
|
-
are deferred.
|
|
26
|
-
|
|
27
|
-
The *kind of change* stated by the plan's `Kind:` frontmatter key
|
|
28
|
-
(`CRAFTING`, `REFACTORING`, or `RESOLVING`) selects which
|
|
29
|
-
*operation-specific tenet set* of the **ASE Tenets** is internalized
|
|
30
|
-
before the draft is produced, in addition to the always applying
|
|
31
|
-
**GENERIC TENETS**. If a plan carries no such key, the kind is
|
|
32
|
-
*inferred* from the plan content, defaulting to `CRAFTING`.
|
|
33
|
-
|
|
34
|
-
After the preflight, the user is asked whether to stop, hand
|
|
35
|
-
off to `ase-task-edit`, or hand off to `ase-task-implement`,
|
|
36
|
-
unless `--next` pre-selects this choice.
|
|
37
|
-
|
|
38
|
-
## OPTIONS
|
|
39
|
-
|
|
40
|
-
- `--next`|`-n` *option*[,...]:
|
|
41
|
-
Automatically answer the user dialog for the next step. *option*
|
|
42
|
-
is a single token or a *comma-separated chronological list* of
|
|
43
|
-
tokens; the *first* token is consumed by this skill, and any
|
|
44
|
-
remaining tokens are *forwarded* (via `--next`) to the downstream
|
|
45
|
-
skill so an entire pipeline can be pre-scripted in one shot.
|
|
46
|
-
Recognized tokens at this skill: `none` (default, interactive
|
|
47
|
-
answer required), `DONE` (stop), `EDIT` (hand off to
|
|
48
|
-
`ase-task-edit`), or `IMPLEMENT` (hand off to
|
|
49
|
-
`ase-task-implement`). Example: `--next IMPLEMENT,DONE` runs the
|
|
50
|
-
preflight, hands off to implementation, then exits without asking.
|
|
51
|
-
|
|
52
|
-
## ARGUMENTS
|
|
53
|
-
|
|
54
|
-
- *id*:
|
|
55
|
-
The unique identifier of the task whose plan should be
|
|
56
|
-
preflighted. If omitted, the *current* task id is used.
|
|
57
|
-
|
|
58
|
-
## SCENARIOS
|
|
59
|
-
|
|
60
|
-
- You want a dry-run of a plan's implementation
|
|
61
|
-
- You want the change set previewed as a unified diff before applying
|
|
62
|
-
- You want an implementation draft to review before committing to it
|
|
63
|
-
- You want a plan test-driven without touching any source files
|
|
64
|
-
|
|
65
|
-
## EXAMPLES
|
|
66
|
-
|
|
67
|
-
Preflight the current task plan:
|
|
68
|
-
|
|
69
|
-
```text
|
|
70
|
-
❯ /ase-task-preflight
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
Preflight a specific task and hand off to implementation when done:
|
|
74
|
-
|
|
75
|
-
```text
|
|
76
|
-
❯ /ase-task-preflight --next IMPLEMENT hello
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## SEE ALSO
|
|
80
|
-
|
|
81
|
-
[`ase-task-edit`](../ase-task-edit/help.md), [`ase-task-implement`](../ase-task-implement/help.md), [`ase-task-reboot`](../ase-task-reboot/help.md),
|
|
82
|
-
[`ase-task-view`](../ase-task-view/help.md).
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|