@rse/ase 0.9.51 → 0.9.52

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.
Files changed (66) hide show
  1. package/dst/ase-task.js +7 -2
  2. package/package.json +7 -7
  3. package/plugin/.claude-plugin/plugin.json +1 -1
  4. package/plugin/.codex-plugin/plugin.json +1 -1
  5. package/plugin/.github/plugin/plugin.json +1 -1
  6. package/plugin/etc/stx.conf +2 -2
  7. package/plugin/meta/ase-common-dissect.md +110 -0
  8. package/plugin/meta/ase-common-task.md +5 -3
  9. package/plugin/meta/ase-control.md +53 -0
  10. package/plugin/meta/ase-format-task.md +6 -0
  11. package/plugin/meta/ase-skill.md +8 -8
  12. package/plugin/package.json +2 -2
  13. package/plugin/skills/ase-arch-analyze/SKILL.md +23 -12
  14. package/plugin/skills/ase-arch-analyze/help.md +16 -0
  15. package/plugin/skills/ase-arch-discover/SKILL.md +2 -2
  16. package/plugin/skills/ase-code-analyze/SKILL.md +27 -18
  17. package/plugin/skills/ase-code-analyze/help.md +15 -0
  18. package/plugin/skills/ase-code-craft/SKILL.md +2 -2
  19. package/plugin/skills/ase-code-dissect/SKILL.md +380 -0
  20. package/plugin/skills/ase-code-dissect/help.md +121 -0
  21. package/plugin/skills/ase-code-explain/SKILL.md +2 -2
  22. package/plugin/skills/ase-code-insight/SKILL.md +2 -2
  23. package/plugin/skills/ase-code-lint/SKILL.md +2 -2
  24. package/plugin/skills/ase-code-refactor/SKILL.md +2 -2
  25. package/plugin/skills/ase-code-resolve/SKILL.md +2 -2
  26. package/plugin/skills/ase-docs-distill/SKILL.md +2 -2
  27. package/plugin/skills/ase-docs-proofread/SKILL.md +2 -2
  28. package/plugin/skills/ase-help-intent/SKILL.md +2 -2
  29. package/plugin/skills/ase-help-skill/SKILL.md +2 -2
  30. package/plugin/skills/ase-help-skill/catalog.md +3 -0
  31. package/plugin/skills/ase-meta-brainstorm/SKILL.md +2 -2
  32. package/plugin/skills/ase-meta-changelog/SKILL.md +2 -2
  33. package/plugin/skills/ase-meta-chat/SKILL.md +2 -2
  34. package/plugin/skills/ase-meta-commit/SKILL.md +2 -2
  35. package/plugin/skills/ase-meta-config/SKILL.md +2 -2
  36. package/plugin/skills/ase-meta-diaboli/SKILL.md +2 -2
  37. package/plugin/skills/ase-meta-diff/SKILL.md +2 -2
  38. package/plugin/skills/ase-meta-eli5/SKILL.md +2 -2
  39. package/plugin/skills/ase-meta-evaluate/SKILL.md +2 -2
  40. package/plugin/skills/ase-meta-proximity/SKILL.md +2 -2
  41. package/plugin/skills/ase-meta-quorum/SKILL.md +2 -2
  42. package/plugin/skills/ase-meta-quotes/SKILL.md +2 -2
  43. package/plugin/skills/ase-meta-review/SKILL.md +2 -2
  44. package/plugin/skills/ase-meta-search/SKILL.md +2 -2
  45. package/plugin/skills/ase-meta-steelman/SKILL.md +2 -2
  46. package/plugin/skills/ase-meta-why/SKILL.md +2 -2
  47. package/plugin/skills/ase-meta-workflow/SKILL.md +378 -0
  48. package/plugin/skills/ase-meta-workflow/help.md +117 -0
  49. package/plugin/skills/ase-meta-workflow/sample.md +70 -0
  50. package/plugin/skills/ase-meta-workflow/workflow.txt +97 -0
  51. package/plugin/skills/ase-sync-export/SKILL.md +2 -2
  52. package/plugin/skills/ase-sync-import/SKILL.md +2 -2
  53. package/plugin/skills/ase-sync-reconcile/SKILL.md +2 -2
  54. package/plugin/skills/ase-task-condense/SKILL.md +26 -6
  55. package/plugin/skills/ase-task-delete/SKILL.md +2 -2
  56. package/plugin/skills/ase-task-dissect/SKILL.md +299 -0
  57. package/plugin/skills/ase-task-dissect/help.md +114 -0
  58. package/plugin/skills/ase-task-edit/SKILL.md +6 -4
  59. package/plugin/skills/ase-task-grill/SKILL.md +6 -4
  60. package/plugin/skills/ase-task-id/SKILL.md +2 -2
  61. package/plugin/skills/ase-task-implement/SKILL.md +2 -2
  62. package/plugin/skills/ase-task-list/SKILL.md +2 -2
  63. package/plugin/skills/ase-task-preflight/SKILL.md +2 -2
  64. package/plugin/skills/ase-task-reboot/SKILL.md +12 -6
  65. package/plugin/skills/ase-task-rename/SKILL.md +2 -2
  66. package/plugin/skills/ase-task-view/SKILL.md +2 -2
@@ -0,0 +1,117 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-meta-workflow` - Generate a Workflow Skill
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-meta-workflow`
9
+ [`--help`|`-h`]
10
+ [`--scope`|`-s` `local`|`user`]
11
+ [`--force`|`-f`]
12
+ *skill-name*
13
+ *workflow-description*
14
+
15
+ ## DESCRIPTION
16
+
17
+ The `ase-meta-workflow` skill *generates* a new, regular skill of the
18
+ currently used *agent tool* -- written in the style of *ASE* skills --
19
+ which orchestrates the workflow given as *workflow-description*.
20
+
21
+ The *workflow-description* is treated as a combination of *sequential*
22
+ actions, *concurrent* actions, *sub-agent* invocations, *skill*
23
+ invocations, and arbitrary other action statements. The skill maps them
24
+ onto the ASE control constructs: top-level sequential actions become
25
+ numbered `<step>` items inside a single `<flow>`, concurrent actions
26
+ become a `<parallel>` block, sub-agent invocations become `<agent>`
27
+ elements, and skill invocations become `<skill>` elements. Whenever a
28
+ `<parallel>` block contains at least one `<agent isolation="worktree">`,
29
+ a dedicated consolidation step holding `<agent-consolidation/>` is
30
+ appended right after it, so the Git WorkTrees of the concurrent
31
+ sub-agents are merged and removed again. Every top-level `<skill>`
32
+ invocation is additionally enclosed in its own `<agent>` element --
33
+ without `isolation` and with `run_in_background=false` -- so the
34
+ `TaskCreate` and `TaskUpdate` tool calls of the called skill cannot
35
+ interfere with the task tracking of the generated workflow skill itself.
36
+
37
+ To keep the emitted `<skill>` invocations correct, the skill consults the
38
+ accumulated manual pages of all ASE skills and takes every option and
39
+ argument verbatim from them. To keep the emitted flow meaningful, it
40
+ consults the *ASE workflow graph* -- a list of `<from> -> <to>`
41
+ transitions between ASE skills and logical states such as `START`,
42
+ `SKETCH`, `TASK`, `ARTIFACT`, and `END`. That graph *guides* the
43
+ derivation but never restricts it: arbitrary non-ASE actions and
44
+ unlisted transitions stay allowed.
45
+
46
+ The generated skill is *independent* of the ASE plugin installation path:
47
+ it loads the ASE meta definitions through the `ase meta` command instead
48
+ of plugin-relative includes.
49
+
50
+ The skill is *portable* across the supported agent tools, because
51
+ *Anthropic Claude Code*, *GitHub Copilot*, and *OpenAI Codex* differ in
52
+ three relevant ways, each of which is dispatched on the currently used
53
+ agent tool:
54
+
55
+ - the *target directory*, because every agent tool discovers its skills
56
+ in its own locations,
57
+
58
+ - the *frontmatter fields*, because every agent tool accepts its own
59
+ field set and its own `allowed-tools` permission grammar, and
60
+
61
+ - the *preamble*, because only *Anthropic Claude Code* expands the
62
+ ``!`...`` construct before the skill content reaches the model. The
63
+ other agent tools receive it verbatim and would silently leave it
64
+ unexpanded, so they instead get an explicit instruction to run
65
+ `ase meta ...` themselves before anything else.
66
+
67
+ ## OPTIONS
68
+
69
+ `--scope`|`-s` `local`|`user`:
70
+ Where the generated skill is stored. With `local` (the default),
71
+ it is written into the current project, where it can be committed
72
+ and reviewed alongside the code. With `user`, it is written into the
73
+ personal skill directory, where it is available across all projects.
74
+ The concrete directory depends on the currently used agent tool:
75
+ `.claude/skills/` and `~/.claude/skills/` under *Anthropic Claude
76
+ Code*, `.github/skills/` and `~/.copilot/skills/` under *GitHub
77
+ Copilot*, and `.agents/skills/` and `~/.codex/skills/` under *OpenAI
78
+ Codex*.
79
+
80
+ `--force`|`-f`:
81
+ Overwrite an already existing skill. Without this option, the skill
82
+ refuses with an error as soon as the target `SKILL.md` exists, so
83
+ hand-edited skills are never lost silently.
84
+
85
+ ## ARGUMENTS
86
+
87
+ *skill-name*:
88
+ Name of the skill to generate, matching `^[a-zA-Z][a-zA-Z0-9_-]*$`.
89
+ It is used as the directory name, as the frontmatter `name`, and as
90
+ the resulting `/`*skill-name* command (respectively the
91
+ `$`*skill-name* mention under *OpenAI Codex*).
92
+
93
+ *workflow-description*:
94
+ Free-text description of the workflow the generated skill should
95
+ perform. Mentioning that actions run "in parallel", that they are
96
+ dispatched "in a sub-agent", or naming concrete `ase-xxx-xxx` skills
97
+ steers the derived structure accordingly.
98
+
99
+ ## EXAMPLES
100
+
101
+ Generate a project-local skill which analyzes the code and then resolves
102
+ every finding concurrently in isolated worktrees:
103
+
104
+ ```text
105
+ ❯ /ase-meta-workflow optimizer run ase-code-analyze, then for each finding P<n> resolve, implement and delete it in a parallel isolated sub-agent
106
+ ```
107
+
108
+ Generate a user-wide skill and overwrite a previous generation:
109
+
110
+ ```text
111
+ ❯ /ase-meta-workflow --scope user --force release lint the code, update the changelog, then propose a commit message
112
+ ```
113
+
114
+ ## SEE ALSO
115
+
116
+ [`ase-help-intent`](../ase-help-intent/help.md), [`ase-help-skill`](../ase-help-skill/help.md),
117
+ [`ase-code-analyze`](../ase-code-analyze/help.md), [`ase-code-resolve`](../ase-code-resolve/help.md), [`ase-task-implement`](../ase-task-implement/help.md).
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: optimizer
3
+ argument-hint: "[-i <id>] <context>"
4
+ description: >
5
+ Resolve problems.
6
+ user-invocable: true
7
+ disable-model-invocation: false
8
+ allowed-tools:
9
+ - "Bash(ase meta *)"
10
+ ---
11
+
12
+ !`ase meta control skill getopt`
13
+
14
+ <purpose name="optimizer">
15
+ Analyze and Resolve Source Code Problems
16
+ </purpose>
17
+
18
+ <expand name="getopt"
19
+ arg1="optimizer"
20
+ arg2="--id|-i <id>=optimizer">
21
+ $ARGUMENTS
22
+ </expand>
23
+
24
+ <flow>
25
+
26
+ 1. <step id="STEP 1: Analyze Code">
27
+
28
+ <agent description="Analyze Code"
29
+ subagent_type="general-purpose"
30
+ run_in_background=false>
31
+
32
+ Run <skill name="ase-code-analyze" args="--prefix <id/> <getopt-arguments/>"/>
33
+
34
+ </agent>
35
+
36
+ </step>
37
+
38
+ 2. <step id="STEP 2: Resolve Code Problems">
39
+
40
+ <parallel>
41
+
42
+ For each `P<n/>` in the result set, in ascending order and strictly *one at a time*:
43
+
44
+ 1. Call the Agent:
45
+
46
+ <agent description="Reresolve P<n/>"
47
+ subagent_type="general-purpose"
48
+ isolation="worktree"
49
+ run_in_background=true>
50
+
51
+ 1. Run <skill name="ase:ase-code-resolve" args="-a <id/>-P<n/>"/>
52
+
53
+ 2. Run <skill name="ase:ase-task-implement" args="<id/>-P<n/>"/>
54
+
55
+ 3. Run <skill name="ase:ase-task-delete" args="<id/>-P<n/>"/>
56
+
57
+ </agent>
58
+
59
+ </parallel>
60
+
61
+ </step>
62
+
63
+ 3. <step id="STEP 3: Result Consolidation">
64
+
65
+ <agent-consolidation/>
66
+
67
+ </step>
68
+
69
+ </flow>
70
+
@@ -0,0 +1,97 @@
1
+ START -> ase-help-skill
2
+ START -> ase-meta-config
3
+ START -> ase-meta-why
4
+ START -> ase-meta-eli5
5
+ START -> ase-meta-evaluate
6
+ START -> ase-meta-diaboli
7
+ START -> ase-meta-steelman
8
+ START -> ase-meta-quorum
9
+ START -> ase-meta-chat
10
+ START -> ase-meta-search
11
+ START -> ase-meta-brainstorm
12
+ START -> ase-meta-compat
13
+ START -> ase-help-intent
14
+ START -> ase-arch-discover
15
+ START -> ase-code-insight
16
+ START -> ase-code-explain
17
+ START -> ase-code-lint
18
+ START -> ase-docs-distill
19
+ START -> ase-docs-proofread
20
+ START -> ase-meta-review
21
+ START -> ase-meta-diff
22
+ START -> ase-meta-changelog
23
+ START -> ase-meta-commit
24
+ START -> ase-meta-proximity
25
+ START -> ase-meta-workflow
26
+ START -> ase-code-dissect
27
+ ase-help-skill -> END
28
+ ase-meta-config -> END
29
+ ase-meta-why -> END
30
+ ase-meta-eli5 -> END
31
+ ase-meta-evaluate -> END
32
+ ase-meta-diaboli -> END
33
+ ase-meta-steelman -> END
34
+ ase-meta-quorum -> END
35
+ ase-meta-chat -> END
36
+ ase-meta-search -> END
37
+ ase-meta-brainstorm -> END
38
+ ase-meta-compat -> END
39
+ ase-help-intent -> END
40
+ ase-arch-discover -> END
41
+ ase-code-insight -> END
42
+ ase-code-explain -> END
43
+ ase-code-lint -> END
44
+ ase-docs-distill -> END
45
+ ase-docs-proofread -> END
46
+ ase-meta-review -> END
47
+ ase-meta-diff -> END
48
+ ase-meta-changelog -> END
49
+ ase-meta-commit -> END
50
+ ase-meta-proximity -> END
51
+ ase-meta-workflow -> END
52
+ ase-code-dissect -> END
53
+ START -> SKETCH
54
+ START -> TASK
55
+ START -> ase-sync-import
56
+ START -> ARTIFACT
57
+ ARTIFACT -> ase-arch-analyze
58
+ ARTIFACT -> ase-code-analyze
59
+ ase-arch-analyze -> SKETCH
60
+ ase-code-analyze -> SKETCH
61
+ SKETCH -> ase-code-craft
62
+ SKETCH -> ase-code-refactor
63
+ SKETCH -> ase-code-resolve
64
+ ase-code-craft -> APPROACHES
65
+ ase-code-refactor -> APPROACHES
66
+ ase-code-resolve -> APPROACHES
67
+ APPROACHES -> TASK
68
+ TASK -> ase-task-id
69
+ ase-task-id -> TASK
70
+ TASK -> ase-task-edit
71
+ ase-task-edit -> TASK
72
+ TASK -> ase-task-grill
73
+ ase-task-grill -> TASK
74
+ TASK -> ase-task-condense
75
+ ase-task-condense -> TASK
76
+ TASK -> ase-task-dissect
77
+ ase-task-dissect -> TASK
78
+ TASK -> ase-task-reboot
79
+ ase-task-reboot -> TASK
80
+ TASK -> ase-task-implement
81
+ TASK -> ase-task-preflight
82
+ ase-task-preflight -> TASK
83
+ TASK -> ase-task-view
84
+ TASK -> ase-task-list
85
+ TASK -> ase-task-rename
86
+ TASK -> ase-task-delete
87
+ ase-task-implement -> ARTIFACT
88
+ ase-task-view -> END
89
+ ase-task-list -> END
90
+ ase-task-rename -> END
91
+ ase-task-delete -> END
92
+ ase-sync-import -> ARTIFACT
93
+ ARTIFACT -> ase-sync-export
94
+ ARTIFACT -> ase-sync-reconcile
95
+ ase-sync-reconcile -> ARTIFACT
96
+ TASK -> END
97
+ ARTIFACT -> END
@@ -17,9 +17,9 @@ allowed-tools:
17
17
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
18
18
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
19
19
 
20
- <skill name="ase-sync-export">
20
+ <purpose name="ase-sync-export">
21
21
  Export Artifact Set to Side-by-Side Files
22
- </skill>
22
+ </purpose>
23
23
 
24
24
  <expand name="getopt"
25
25
  arg1="ase-sync-export"
@@ -16,9 +16,9 @@ effort: xhigh
16
16
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
17
17
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
18
18
 
19
- <skill name="ase-sync-import">
19
+ <purpose name="ase-sync-import">
20
20
  Import Foreign Sources into Artifact Set
21
- </skill>
21
+ </purpose>
22
22
 
23
23
  <expand name="getopt"
24
24
  arg1="ase-sync-import"
@@ -16,9 +16,9 @@ effort: xhigh
16
16
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
17
17
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
18
18
 
19
- <skill name="ase-sync-reconcile">
19
+ <purpose name="ase-sync-reconcile">
20
20
  Reconcile Artifact Set to Artifact Set
21
- </skill>
21
+ </purpose>
22
22
 
23
23
  <expand name="getopt"
24
24
  arg1="ase-sync-reconcile"
@@ -15,9 +15,9 @@ effort: high
15
15
  @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
16
16
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
17
17
 
18
- <skill name="ase-task-condense">
18
+ <purpose name="ase-task-condense">
19
19
  Condense a Task Plan
20
- </skill>
20
+ </purpose>
21
21
 
22
22
  <expand name="getopt"
23
23
  arg1="ase-task-condense"
@@ -142,17 +142,37 @@ Set <args></args> (set args to empty).
142
142
  - *Drop* articles ("a", "an", "the") and *replace*
143
143
  conjunctions with short separate clauses where this
144
144
  shortens the text without introducing ambiguity.
145
- - *Re-wrap* the shortened free-text to the ~120-character-
146
- per-line convention.
145
+ - *Re-wrap* the shortened free-text to the ~100-character-
146
+ per-line convention of the plan <format/>, but *never*
147
+ break a line *inside* an inline code span.
147
148
  - *Merge* genuinely-redundant bullets (the same aspect
148
149
  restated) and *drop* pure duplication - but *only* when
149
150
  truly redundant; *never* lose a distinct aspect.
150
151
 
151
- 3. *Persona override*: this condense ruleset *always wins* for
152
+ 3. *Normalize the rendering artifacts*: the loaded
153
+ <task-content/> is the *rendering-prepared* variant of the
154
+ plan, whose artifacts *MUST NOT* be persisted back. Restore
155
+ the *authoring form* of the plan <format/> before saving:
156
+
157
+ - A bullet point rendered as `◯ ` is written back as
158
+ `- ` -- the condensed <task-content/> *MUST NOT*
159
+ contain a single `◯` marker.
160
+
161
+ - An inline code span which the rendering split across two
162
+ physical lines into two spans (`` `<head/>` `` at a line
163
+ end and `` `<tail/>` `` at the next line start) is
164
+ written back as the *one* original span
165
+ `` `<head/> <tail/>` ``, and the line is then broken
166
+ *before* its opening backtick.
167
+
168
+ This normalization is *not* a semantic change and hence
169
+ *never* violates the preserve-exactly rule 1.
170
+
171
+ 4. *Persona override*: this condense ruleset *always wins* for
152
172
  the plan content. This ruleset-based compression is applied
153
173
  *regardless* of the currently active session persona style.
154
174
 
155
- 4. *Hard guardrail - semantics preserved EXACTLY*: condensing
175
+ 5. *Hard guardrail - semantics preserved EXACTLY*: condensing
156
176
  *only* shortens wording. It *MUST NOT* drop, merge (except
157
177
  truly-redundant bullets per sub-item 2), reorder, or alter
158
178
  *any* factual claim, requirement, file path, rule, or
@@ -14,9 +14,9 @@ effort: high
14
14
  @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
15
15
  @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
16
16
 
17
- <skill name="ase-task-delete">
17
+ <purpose name="ase-task-delete">
18
18
  Delete a Task Plan
19
- </skill>
19
+ </purpose>
20
20
 
21
21
  <expand name="getopt" arg1="ase-task-delete">
22
22
  $ARGUMENTS