@rse/ase 0.9.45 → 0.9.47

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 (39) hide show
  1. package/dst/ase-compat.js +3 -2
  2. package/dst/ase-config.js +6 -5
  3. package/dst/ase-hook.js +22 -17
  4. package/dst/ase-kv.js +38 -43
  5. package/dst/ase-log.js +13 -5
  6. package/dst/ase-markdown.js +12 -2
  7. package/dst/ase-mcp.js +20 -3
  8. package/dst/ase-persona.js +1 -3
  9. package/dst/ase-service.js +15 -25
  10. package/dst/ase-setup.js +12 -39
  11. package/dst/ase-statusline.js +14 -28
  12. package/dst/ase-task.js +14 -23
  13. package/dst/ase.js +6 -2
  14. package/package.json +3 -3
  15. package/plugin/.claude-plugin/plugin.json +1 -1
  16. package/plugin/.codex-plugin/plugin.json +1 -1
  17. package/plugin/.github/plugin/plugin.json +1 -1
  18. package/plugin/etc/stx.conf +6 -1
  19. package/plugin/meta/ase-dialog.md +2 -2
  20. package/plugin/meta/ase-skill.md +9 -0
  21. package/plugin/package.json +1 -1
  22. package/plugin/skills/ase-code-craft/SKILL.md +16 -2
  23. package/plugin/skills/ase-code-craft/help.md +5 -4
  24. package/plugin/skills/ase-code-refactor/SKILL.md +16 -2
  25. package/plugin/skills/ase-code-refactor/help.md +5 -4
  26. package/plugin/skills/ase-code-resolve/SKILL.md +16 -2
  27. package/plugin/skills/ase-code-resolve/help.md +6 -5
  28. package/plugin/skills/ase-help-intent/SKILL.md +157 -0
  29. package/plugin/skills/ase-help-intent/help.md +57 -0
  30. package/plugin/skills/ase-help-skill/SKILL.md +203 -0
  31. package/plugin/skills/ase-help-skill/catalog.md +60 -0
  32. package/plugin/skills/ase-help-skill/help.md +83 -0
  33. package/plugin/skills/ase-meta-eli5/SKILL.md +116 -0
  34. package/plugin/skills/ase-meta-eli5/help.md +61 -0
  35. package/plugin/skills/ase-meta-proximity/SKILL.md +224 -0
  36. package/plugin/skills/ase-meta-proximity/help.md +78 -0
  37. package/plugin/skills/ase-task-condense/help.md +3 -3
  38. package/plugin/skills/ase-task-reboot/help.md +3 -3
  39. package/plugin/skills/ase-task-view/help.md +3 -3
@@ -0,0 +1,224 @@
1
+ ---
2
+ name: ase-meta-proximity
3
+ argument-hint: "[--help|-h] [--ground|-g] [--loop|-l] <topic>"
4
+ description: >
5
+ Determine the conceptual proximity of a topic -- its parent topic,
6
+ its most relevant sibling topics, and its most relevant child
7
+ topics -- optionally grounded in Internet/Web facts and optionally
8
+ navigable in an interactive loop. Use when the user wants to explore
9
+ the conceptual neighborhood of a topic, or mentions "proximity" or
10
+ "related topics".
11
+ user-invocable: true
12
+ disable-model-invocation: false
13
+ effort: high
14
+ allowed-tools:
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-dialog.md
21
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
22
+
23
+ <skill name="ase-meta-proximity">
24
+ Determine the Conceptual Proximity of a Topic
25
+ </skill>
26
+
27
+ <expand name="getopt"
28
+ arg1="ase-meta-proximity"
29
+ arg2="--ground|-g --loop|-l">
30
+ $ARGUMENTS
31
+ </expand>
32
+
33
+ <objective>
34
+ *Determine* the *conceptual proximity* of the following topic -- its
35
+ *parent* topic, its most relevant *sibling* topics, and its most
36
+ relevant *child* topics:
37
+ <topic><getopt-arguments/></topic>
38
+ </objective>
39
+
40
+ <define name="gather-facts">
41
+ <if condition="<getopt-option-ground/> is equal `true`">
42
+ Set <prompt>Search the Internet/Web and gather facts about
43
+ <arg1/></prompt>.
44
+
45
+ Then use the `ase-meta-search` skill in a sub-agent to gather facts with
46
+ the following tool call and store the returned facts in the placeholder
47
+ named `<arg2/>`:
48
+
49
+ `Agent(
50
+ description: "Query Web Search Service",
51
+ subagent_type: "ase:ase-meta-search",
52
+ prompt: "<prompt/>",
53
+ run_in_background: false
54
+ )`
55
+
56
+ <if condition="the placeholder named `<arg2/>` contains no usable facts">
57
+ Set the placeholder named `<arg2/>` to empty, so the determination below
58
+ falls back to model knowledge, and output the following <template/>:
59
+
60
+ <template>
61
+ <ase-tpl-bullet-secondary/> **WARNING**: grounding found no usable facts -- falling back to model knowledge.
62
+ </template>
63
+ </if>
64
+ </if>
65
+ <else>
66
+ Use the model's world knowledge and determine facts about <arg1/> and
67
+ store those facts in the placeholder named `<arg2/>`.
68
+ </else>
69
+ </define>
70
+
71
+ <flow>
72
+
73
+ 1. <step id="STEP 1: Check Topic">
74
+
75
+ <if condition="<topic/> is empty">
76
+ Only output the following <template/> and then immediately *STOP*
77
+ processing the entire current skill:
78
+
79
+ <template>
80
+ ⧉ **ASE**: ✪ skill: **ase-meta-proximity**, ▶ ERROR: expected a `<topic>` argument
81
+ </template>
82
+ </if>
83
+
84
+ </step>
85
+
86
+ 2. <step id="STEP 2: Explore Proximity">
87
+
88
+ *REPEAT* the following sub-steps in a *LOOP* until either
89
+ <getopt-option-loop/> is *not* equal `true` (then the loop runs
90
+ exactly *once* and stops after rendering), or the user declines/cancels
91
+ the dialog in sub-step 5:
92
+
93
+ 1. *Determine Topic*:
94
+
95
+ Determine the canonical name of the central *topic* which is stored
96
+ in <topic/>.
97
+
98
+ <expand name="gather-facts"
99
+ arg1="the following topic: <topic/>"
100
+ arg2="facts-topic"></expand>
101
+
102
+ Ground the determination of the canonical name of the topic
103
+ <topic/> in the facts of <facts-topic/> and do not contradict
104
+ them. Update <topic/> accordingly.
105
+
106
+ 2. *Determine Proximity*:
107
+
108
+ Determine the *conceptual proximity* of the current <topic/>
109
+ along three *dimensions*:
110
+
111
+ - **PARENT**:
112
+
113
+ The single most relevant *parent* topic (the broader topic
114
+ that <topic/> is a specialization of), which will be stored
115
+ in <parent/>.
116
+
117
+ <expand name="gather-facts"
118
+ arg1="the PARENT topic (the broader topic that the given topic is a specialization of) of the following topic: <topic/>"
119
+ arg2="facts-parent"></expand>
120
+
121
+ Ground the determination of the canonical name of the parent
122
+ topic <parent/> in the facts of <facts-parent/> and do not
123
+ contradict them.
124
+
125
+ - **SIBLINGS**:
126
+
127
+ The *four* most relevant *sibling* topics (topics on the
128
+ same level that share the same parent), which will be stored
129
+ in <sibling-1/> to <sibling-4/>.
130
+
131
+ <expand name="gather-facts"
132
+ arg1="the SIBLING topics (topics on the same level that share the same parent) of the following topic: <topic/>"
133
+ arg2="facts-siblings"></expand>
134
+
135
+ Ground the determination of the canonical names of the most
136
+ relevant sibling topics <sibling-1/> to <sibling-4/> in the
137
+ facts of <facts-siblings/> and do not contradict them.
138
+
139
+ - **CHILDREN**:
140
+
141
+ The *four* most relevant *children* topics (narrower topics
142
+ that are specializations of <topic/>), stored in <child-1/>
143
+ to <child-4/>.
144
+
145
+ <expand name="gather-facts"
146
+ arg1="the CHILDREN topics (narrower topics that are specializations) of the following topic: <topic/>"
147
+ arg2="facts-children"></expand>
148
+
149
+ Ground the determination of the canonical names of the most
150
+ relevant children topics <child-1/> to <child-4/> in the
151
+ facts of <facts-children/> and do not contradict them.
152
+
153
+ 3. *Render Proximity*:
154
+
155
+ Output the result with the following <template/>, listing each
156
+ proximity topic under its bullet-prefixed section header.
157
+
158
+ <template>
159
+ <ase-tpl-head title="PROXIMITY TOPICS"/>
160
+
161
+ ● **PARENT**:
162
+ ↑ <parent/>
163
+
164
+ ● **TOPIC**:
165
+ ○ **<topic/>**
166
+
167
+ ● **SIBLINGS**:
168
+ ⇄ <sibling-1/>
169
+ ⇄ <sibling-2/>
170
+ ⇄ <sibling-3/>
171
+ ⇄ <sibling-4/>
172
+
173
+ ● **CHILDREN**:
174
+ ↓ <child-1/>
175
+ ↓ <child-2/>
176
+ ↓ <child-3/>
177
+ ↓ <child-4/>
178
+
179
+ <ase-tpl-foot title="PROXIMITY TOPICS"/>
180
+ </template>
181
+
182
+ 4. <if condition="<getopt-option-loop/> is not equal `true`">
183
+ The loop runs only once in non-interactive mode: *break* out of
184
+ the *loop* and stop processing without any further output.
185
+ </if>
186
+
187
+ 5. *Navigate Proximity*:
188
+
189
+ In the following, you *MUST* *NOT* use your built-in
190
+ <user-dialog-tool/> tool! Instead, you *MUST* just show a custom
191
+ dialog according to the expanded `custom-dialog` definition. You
192
+ *MUST* closely follow this definition.
193
+
194
+ Let the user pick one of the nine proximity topics to navigate
195
+ to by raising a question with the following custom dialog:
196
+
197
+ <expand name="custom-dialog" arg1="--no-other">
198
+ Navigate: Which proximity topic would you like to navigate to?
199
+ PARENT: ↑ <parent/>
200
+ SIBLING-1: ⇄ <sibling-1/>
201
+ SIBLING-2: ⇄ <sibling-2/>
202
+ SIBLING-3: ⇄ <sibling-3/>
203
+ SIBLING-4: ⇄ <sibling-4/>
204
+ CHILD-1: ↓ <child-1/>
205
+ CHILD-2: ↓ <child-2/>
206
+ CHILD-3: ↓ <child-3/>
207
+ CHILD-4: ↓ <child-4/>
208
+ </expand>
209
+
210
+ Check the tool <result/> and dispatch accordingly:
211
+
212
+ - If <result/> is `CANCEL`:
213
+ *Break* out of the *loop* and stop processing without any
214
+ further output.
215
+
216
+ - Otherwise: Set <topic/> to the proximity topic corresponding
217
+ to the selected <result/> (the <parent/>, <sibling-K/>, or
218
+ <child-K/> value behind the chosen label).
219
+
220
+ Then you *MUST* *continue* the *loop* at step **2.1**.
221
+
222
+ </step>
223
+
224
+ </flow>
@@ -0,0 +1,78 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-meta-proximity` - Determine the Conceptual Proximity of a Topic
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-meta-proximity`
9
+ [`--help`|`-h`]
10
+ [`--ground`|`-g`]
11
+ [`--loop`|`-l`]
12
+ *topic*
13
+
14
+ ## DESCRIPTION
15
+
16
+ The `ase-meta-proximity` skill determines the *conceptual proximity* of
17
+ the supplied *topic* along three dimensions and reports the neighboring
18
+ topics grouped into three labeled sections: *PARENT* (the single broader
19
+ topic that *topic* specializes), *SIBLINGS* (the four most relevant
20
+ topics on the same level, sharing the same parent), and *CHILDREN* (the
21
+ four most relevant narrower topics that specialize *topic*).
22
+
23
+ By default the proximity is derived from model knowledge only. With the
24
+ `--ground`/`-g` option, the skill first searches the Internet/Web for
25
+ facts about the topic via the `ase-meta-search` skill (dispatched in a
26
+ sub-agent, querying all available search backends) and grounds the
27
+ determination in the found facts.
28
+
29
+ Without the `--loop`/`-l` option, the skill determines and prints the
30
+ proximity of the given topic once and then stops. With the `--loop`/`-l`
31
+ option, the skill instead presents the nine neighboring topics in an
32
+ interactive dialog; selecting one of them makes it the new *current
33
+ topic* and restarts the determination from the beginning, so the user
34
+ can *navigate* the topic taxonomy up (parent), sideways (siblings), and
35
+ down (children). Cancelling the dialog exits the loop. When `--loop` is
36
+ combined with `--ground`, each newly selected topic is re-grounded via
37
+ the `ase-meta-search` sub-agent before its proximity is re-determined.
38
+
39
+ ## OPTIONS
40
+
41
+ `--ground`|`-g`:
42
+ Ground the determination in Internet/Web facts gathered via the
43
+ `ase-meta-search` skill before determining the proximity. Without
44
+ this option, the determination is derived from model knowledge only.
45
+ When combined with `--loop`, every newly navigated-to topic is
46
+ re-grounded.
47
+
48
+ `--loop`|`-l`:
49
+ Present the neighboring topics in an interactive dialog and, upon
50
+ selection, adopt the picked topic as the new current topic and
51
+ restart the determination. Without this option, the proximity of the
52
+ given topic is printed once and the skill stops.
53
+
54
+ ## ARGUMENTS
55
+
56
+ *topic*:
57
+ The topic whose conceptual proximity is to be determined. It may be
58
+ a technical concept, a phenomenon, or any other subject; the skill
59
+ determines its parent, sibling, and child topics.
60
+
61
+ ## EXAMPLES
62
+
63
+ Determine the proximity of a topic from model knowledge:
64
+
65
+ ```text
66
+ ❯ /ase-meta-proximity Fourier transform
67
+ ```
68
+
69
+ Interactively navigate the conceptual neighborhood, grounded in
70
+ Internet/Web facts:
71
+
72
+ ```text
73
+ ❯ /ase-meta-proximity --ground --loop Agentic Software Engineering
74
+ ```
75
+
76
+ ## SEE ALSO
77
+
78
+ [`ase-meta-eli5`](../ase-meta-eli5/help.md), [`ase-meta-search`](../ase-meta-search/help.md), [`ase-code-explain`](../ase-code-explain/help.md).
@@ -47,9 +47,9 @@ After condensing, the user is asked whether to stop or hand off to
47
47
  Recognized tokens at this skill: `none` (default, interactive
48
48
  answer required), `DONE` (stop), `EDIT` (hand off to
49
49
  `ase-task-edit`), `IMPLEMENT` (hand off to `ase-task-implement`),
50
- or `PREFLIGHT` (hand off to `ase-task-preflight`). Example: `--next
51
- EDIT,DONE` condenses, hands off to editing, and the editing loop will
52
- exit immediately.
50
+ or `PREFLIGHT` (hand off to `ase-task-preflight`). Example:
51
+ `--next EDIT,DONE` condenses, hands off to editing, and the editing
52
+ loop will exit immediately.
53
53
 
54
54
  ## ARGUMENTS
55
55
 
@@ -33,9 +33,9 @@ unless `--next` pre-selects this choice.
33
33
  Recognized tokens at this skill: `none` (default, interactive
34
34
  answer required), `DONE` (stop), `EDIT` (hand off to
35
35
  `ase-task-edit`), `IMPLEMENT` (hand off to `ase-task-implement`),
36
- or `PREFLIGHT` (hand off to `ase-task-preflight`). Example: `--next
37
- EDIT,DONE` reboots, hands off to editing, and the editing loop will
38
- exit immediately.
36
+ or `PREFLIGHT` (hand off to `ase-task-preflight`). Example:
37
+ `--next EDIT,DONE` reboots, hands off to editing, and the editing
38
+ loop will exit immediately.
39
39
 
40
40
  ## ARGUMENTS
41
41
 
@@ -26,9 +26,9 @@ the plan in full, without any truncation or summarization.
26
26
  ## OPTIONS
27
27
 
28
28
  `--full`|`-f`:
29
- Render the plan in full, without collapsing the `IMPLEMENTATION
30
- DRAFT` section. By default, that section is replaced with `[...]`
31
- for plans longer than 90 lines.
29
+ Render the plan in full, without collapsing the
30
+ `IMPLEMENTATION DRAFT` section. By default, that section is
31
+ replaced with `[...]` for plans longer than 90 lines.
32
32
 
33
33
  ## ARGUMENTS
34
34