@rse/ase 0.9.47 → 0.9.49

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 (47) hide show
  1. package/dst/ase-artifact.js +3 -1
  2. package/dst/ase-compat.js +1 -1
  3. package/dst/ase-config.js +76 -13
  4. package/dst/ase-diagram.js +10 -15
  5. package/dst/ase-getopt.js +66 -60
  6. package/dst/ase-guidance.js +89 -0
  7. package/dst/ase-hook.js +46 -66
  8. package/dst/ase-kv.js +18 -43
  9. package/dst/ase-mcp.js +1 -1
  10. package/dst/ase-meta.js +1 -1
  11. package/dst/ase-service.js +4 -6
  12. package/dst/ase-setup.js +24 -39
  13. package/dst/ase-skills.js +1 -1
  14. package/dst/ase-statusline.js +42 -18
  15. package/dst/ase-stdio.js +25 -0
  16. package/dst/ase-task.js +11 -11
  17. package/dst/ase.js +1 -1
  18. package/package.json +1 -1
  19. package/plugin/.claude-plugin/plugin.json +1 -1
  20. package/plugin/.codex-plugin/plugin.json +1 -1
  21. package/plugin/.github/plugin/plugin.json +1 -1
  22. package/plugin/meta/ase-common-task.md +9 -0
  23. package/plugin/meta/ase-constitution.md +17 -6
  24. package/plugin/meta/ase-getopt.md +11 -1
  25. package/plugin/meta/ase-skill.md +92 -4
  26. package/plugin/package.json +1 -1
  27. package/plugin/skills/ase-arch-analyze/SKILL.md +8 -6
  28. package/plugin/skills/ase-arch-discover/SKILL.md +12 -0
  29. package/plugin/skills/ase-code-analyze/SKILL.md +6 -4
  30. package/plugin/skills/ase-code-lint/SKILL.md +16 -0
  31. package/plugin/skills/ase-docs-proofread/SKILL.md +10 -0
  32. package/plugin/skills/ase-help-intent/SKILL.md +3 -8
  33. package/plugin/skills/ase-help-skill/SKILL.md +10 -2
  34. package/plugin/skills/ase-help-skill/catalog.md +1 -1
  35. package/plugin/skills/ase-meta-brainstorm/SKILL.md +8 -0
  36. package/plugin/skills/ase-meta-commit/SKILL.md +13 -0
  37. package/plugin/skills/ase-meta-config/SKILL.md +165 -0
  38. package/plugin/skills/ase-meta-config/help.md +136 -0
  39. package/plugin/skills/ase-meta-diaboli/help.md +1 -1
  40. package/plugin/skills/ase-meta-diff/SKILL.md +22 -0
  41. package/plugin/skills/ase-meta-review/SKILL.md +13 -1
  42. package/plugin/skills/ase-sync-export/SKILL.md +14 -0
  43. package/plugin/skills/ase-sync-import/SKILL.md +10 -0
  44. package/plugin/skills/ase-task-list/SKILL.md +21 -0
  45. package/plugin/skills/ase-task-view/SKILL.md +21 -0
  46. package/plugin/skills/ase-meta-persona/SKILL.md +0 -84
  47. package/plugin/skills/ase-meta-persona/help.md +0 -60
@@ -356,5 +356,27 @@ Procedure
356
356
 
357
357
  </step>
358
358
 
359
+ 6. <step id="STEP 6: Give Final Hints">
360
+
361
+ Finally, give the closing hints by expanding the following (which,
362
+ depending on the configured <ase-guidance-level/>, may each expand
363
+ into nothing and hence emit no output at all):
364
+
365
+ <ase-tpl-hint level="normal">
366
+ For a human-reviewer-style critique of the very same staged changes, with an approve/reject verdict, use `/ase-meta-review`.
367
+ </ase-tpl-hint>
368
+
369
+ <if condition="
370
+ <getopt-option-coherence/> is not equal `true` or
371
+ <getopt-option-risk/> is not equal `true` or
372
+ <getopt-option-blast/> is not equal `true`
373
+ ">
374
+ <ase-tpl-hint level="verbose">
375
+ Use `/ase-meta-diff --coherence --risk --blast` to additionally scrutinize the intent coherence, the risk profile, and the blast radius of the staged changes.
376
+ </ase-tpl-hint>
377
+ </if>
378
+
379
+ </step>
380
+
359
381
  </flow>
360
382
 
@@ -151,7 +151,9 @@ Procedure
151
151
 
152
152
  2. <if condition="<findings/> is empty">
153
153
  Only output the following <template/> and then *SKIP* the
154
- remainder of this STEP 3:
154
+ remainder of this STEP 3 (an empty finding list implies the
155
+ `APPROVE` verdict, so the closing hint of substep 4 would expand
156
+ into nothing anyway):
155
157
 
156
158
  <template>
157
159
 
@@ -191,6 +193,16 @@ Procedure
191
193
  Do *not* output any further explanation.
192
194
  </if>
193
195
 
196
+ 4. Finally, give the closing hint by expanding the following
197
+ (which, depending on the configured <ase-guidance-level/>, may
198
+ expand into nothing and hence emit no output at all):
199
+
200
+ <if condition="<verdict/> starts with `REJECT`">
201
+ <ase-tpl-hint level="normal">
202
+ Use `/ase-code-resolve` to derive and apply a solution approach for the findings which demand changes.
203
+ </ase-tpl-hint>
204
+ </if>
205
+
194
206
  </step>
195
207
 
196
208
  </flow>
@@ -174,6 +174,20 @@ Procedure
174
174
 
175
175
  </if>
176
176
 
177
+ 3. Finally, give the closing hints by expanding the following
178
+ (which, depending on the configured <ase-guidance-level/>, may
179
+ each expand into nothing and hence emit no output at all):
180
+
181
+ <if condition="at least one export file was written">
182
+ <ase-tpl-hint level="normal">
183
+ Exports are *derived* and go stale as their source artifacts drift -- use `/ase-sync-reconcile` to align the artifacts first, then re-run this skill.
184
+ </ase-tpl-hint>
185
+ </if>
186
+
187
+ <ase-tpl-hint level="verbose">
188
+ Use `/ase-sync-export --source` to narrow the exported artifact kinds, and a trailing filtering hint to narrow the exports themselves.
189
+ </ase-tpl-hint>
190
+
177
191
  </step>
178
192
 
179
193
  </flow>
@@ -191,6 +191,16 @@ Procedure
191
191
 
192
192
  </if>
193
193
 
194
+ 7. Finally, give the closing hint by expanding the following (which,
195
+ depending on the configured <ase-guidance-level/>, may expand
196
+ into nothing and hence emit no output at all):
197
+
198
+ <if condition="at least one target artifact was generated or updated">
199
+ <ase-tpl-hint level="normal">
200
+ To propagate the imported information to the remaining artifact kinds, use `/ase-sync-reconcile`.
201
+ </ase-tpl-hint>
202
+ </if>
203
+
194
204
  </step>
195
205
 
196
206
  </flow>
@@ -72,3 +72,24 @@ Procedure
72
72
 
73
73
  </template>
74
74
 
75
+ 3. Finally, give the closing hints by expanding the following (which,
76
+ depending on the configured <ase-guidance-level/>, may each expand
77
+ into nothing and hence emit no output at all):
78
+
79
+ <if condition="the `tasks` array is NOT empty">
80
+ <ase-tpl-hint level="normal">
81
+ Use `/ase-task-id <id>` to switch to one of the listed tasks and `/ase-task-view` to inspect its plan.
82
+ </ase-tpl-hint>
83
+ </if>
84
+ <else>
85
+ <ase-tpl-hint level="normal">
86
+ No task plan exists yet -- use `/ase-task-edit` to create one through a conversational loop.
87
+ </ase-tpl-hint>
88
+ </else>
89
+
90
+ <if condition="<getopt-option-verbose/> is not equal `true`">
91
+ <ase-tpl-hint level="verbose">
92
+ Use `/ase-task-list --verbose` to additionally show the last-modified timestamp of each task plan.
93
+ </ase-tpl-hint>
94
+ </if>
95
+
@@ -93,3 +93,24 @@ Procedure
93
93
  </template>
94
94
  </if>
95
95
 
96
+ 3. Finally, give the closing hints by expanding the following (which,
97
+ depending on the configured <ase-guidance-level/>, may each
98
+ expand into nothing and hence emit no output at all):
99
+
100
+ <if condition="<task-content/> is not empty">
101
+ <ase-tpl-hint level="normal">
102
+ Use `/ase-task-edit` or `/ase-task-grill` to refine this plan, `/ase-task-preflight` to dry-run it, and `/ase-task-implement` to realize it.
103
+ </ase-tpl-hint>
104
+
105
+ <if condition="<getopt-option-full/> is not equal `true` and the `## IMPLEMENTATION DRAFT` section was replaced with `[...]`">
106
+ <ase-tpl-hint level="verbose">
107
+ Use `/ase-task-view --full` to show the elided `IMPLEMENTATION DRAFT` section, too.
108
+ </ase-tpl-hint>
109
+ </if>
110
+ </if>
111
+ <else>
112
+ <ase-tpl-hint level="normal">
113
+ No plan exists under this task id -- use `/ase-task-list` to see the available tasks and `/ase-task-edit` to create a plan.
114
+ </ase-tpl-hint>
115
+ </else>
116
+
@@ -1,84 +0,0 @@
1
- ---
2
- name: ase-meta-persona
3
- argument-hint: "[--help|-h] [<persona>]"
4
- description: >
5
- Adjust communication style in five intensity levels of token usage.
6
- The <persona> can be either the decorative, eloquent, and explaining "writer",
7
- the concise, factual, and accurate "engineer" (default),
8
- the layered, pyramid-structured "journalist",
9
- the brief, factual, and abbreviating "telegrapher",
10
- or the terse, rough, and stuttering "caveman".
11
- Use when user says "persona <persona>" or "be <persona>".
12
- user-invocable: true
13
- disable-model-invocation: false
14
- effort: high
15
- ---
16
-
17
- @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
18
- @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
19
- @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
20
-
21
- <skill name="ase-meta-persona">
22
- Persona Configuration
23
- </skill>
24
-
25
- <expand name="getopt" arg1="ase-meta-persona">
26
- $ARGUMENTS
27
- </expand>
28
-
29
- <objective>
30
- *Configure* the *persona style* of the agent to adjust the communication
31
- style and token usage intensity.
32
- </objective>
33
-
34
- 1. Determine request:
35
- <request><getopt-arguments/></request>
36
- Do not output anything.
37
-
38
- 2. <if condition="<request/> is empty">
39
- 1. Call the `ase_persona(session: "<ase-session-id/>")`
40
- tool from the `ase` MCP server and set
41
- <ase-persona-style/> to its `text` output.
42
- Do not output anything.
43
-
44
- 2. Output the following <template/>:
45
-
46
- <template>
47
- ⧉ **ASE**: ☯ persona: **<ase-persona-style/>**
48
- </template>
49
- </if>
50
-
51
- 3. <if condition="<request/> is NOT empty">
52
- 1. If <request/> is NEITHER 'writer', 'engineer', 'journalist',
53
- 'telegrapher', NOR 'caveman', report this with the following
54
- <template/> and then *STOP* immediately:
55
-
56
- <template>
57
- ⧉ **ASE**: **ERROR:** invalid persona: "<request/>" (expected `writer`, `engineer`, `journalist`, `telegrapher`, or `caveman`)
58
- </template>
59
-
60
- 2. If <request/> is equal <ase-persona-style/> report this with the
61
- following <template/> and then *STOP* immediately:
62
-
63
- <template>
64
- ⧉ **ASE**: ☯ persona: **<ase-persona-style/>** (*unchanged*)
65
- </template>
66
-
67
- 3. Set <ase-persona-style><request/></ase-persona-style> and
68
- call the `ase_persona(style: "<ase-persona-style/>", session:
69
- "<ase-session-id/>")` tool from the `ase` MCP server.
70
-
71
- Then you *MUST* re-evaluate and internalize the conditional
72
- rules provided under `Persona Communication Style` in the
73
- constitution in order to immediately honor the changed
74
- communication style in all following outputs!
75
-
76
- Do not output anything.
77
-
78
- 4. Output the following <template/>:
79
-
80
- <template>
81
- ⧉ **ASE**: ☯ persona: **<ase-persona-style/>** (*updated*)
82
- </template>
83
- </if>
84
-
@@ -1,60 +0,0 @@
1
-
2
- ## NAME
3
-
4
- `ase-meta-persona` - Persona Configuration
5
-
6
- ## SYNOPSIS
7
-
8
- `ase-meta-persona`
9
- [`--help`|`-h`]
10
- [*persona*]
11
-
12
- ## DESCRIPTION
13
-
14
- The `ase-meta-persona` skill gets or sets the active *communication
15
- style* (persona) of the assistant. Five intensity levels of token
16
- usage are supported, from most verbose to most terse:
17
-
18
- - `writer`: decorative, eloquent, and explaining; full prose
19
- sentences bundled into paragraphs separated by blank lines
20
- - `engineer`: concise, factual, and accurate (default); prefers
21
- bullet point lists with one aspect per bullet
22
- - `journalist`: layered, pyramid-structured; every aspect a single-line
23
- bullet following `**<title>**: <core> ▶ **<keywords>**: <details>.`,
24
- with a one-to-two word title, a terse core, one-to-four keywords, and
25
- a one-to-four sentence detail
26
- - `telegrapher`: brief, factual, and abbreviating; every aspect a
27
- single-line bullet following `**<title>**: <core>.`, with a one-to-two
28
- word title and a terse, arrow/em-dash-joined core
29
- - `caveman`: terse, rough, and stuttering; every aspect a single-line
30
- bullet with a very terse core of one-word fields or a one-to-two word
31
- expression
32
-
33
- Without arguments, the skill reports the currently active persona.
34
- With a *persona* argument, it switches to that persona via the
35
- `ase_persona` MCP tool.
36
-
37
- ## ARGUMENTS
38
-
39
- *persona*:
40
- The persona to activate; one of `writer`, `engineer`, `journalist`,
41
- `telegrapher`, or `caveman`. If omitted, the currently active
42
- persona is reported.
43
-
44
- ## EXAMPLES
45
-
46
- Show the currently active persona:
47
-
48
- ```text
49
- ❯ /ase-meta-persona
50
- ```
51
-
52
- Switch to the telegrapher persona:
53
-
54
- ```text
55
- ❯ /ase-meta-persona telegrapher
56
- ```
57
-
58
- ## SEE ALSO
59
-
60
- [`ase-task-id`](../ase-task-id/help.md).