@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,203 @@
1
+ ---
2
+ name: ase-help-skill
3
+ argument-hint: "[--help|-h] [<skill-name>]"
4
+ description: >
5
+ Show the manual page of an ASE skill, addressed by its full name, by
6
+ any abbreviation of it, or by a description of its purpose, and list
7
+ the entire skill catalog when no name is given. Use when the user
8
+ wants the "manual", "man page", "manpage", or "help" of a particular
9
+ ASE skill, or asks what a certain `ase-xxx-xxx` skill does.
10
+ user-invocable: true
11
+ disable-model-invocation: false
12
+ effort: medium
13
+ allowed-tools:
14
+ - "Read"
15
+ ---
16
+
17
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
18
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
19
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md
20
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
21
+
22
+ <skill name="ase-help-skill">
23
+ Show the Manual Page of an ASE Skill
24
+ </skill>
25
+
26
+ <expand name="getopt"
27
+ arg1="ase-help-skill"
28
+ arg2="">
29
+ $ARGUMENTS
30
+ </expand>
31
+
32
+ <objective>
33
+ *Show* the *manual page* of the ASE skill addressed by the following
34
+ skill name, abbreviation of it, or description of its purpose:
35
+ <skill-ref><getopt-arguments/></skill-ref>
36
+ </objective>
37
+
38
+ The following <catalog/> is index of all ASE skills -- one
39
+ `⎈ **<group/>**` entry per skill group and one
40
+ ``○ `<name/>`: <purpose/>`` entry per skill -- and this is
41
+ the *sole* index <skill-ref/> is resolved against:
42
+
43
+ <catalog>
44
+ @${CLAUDE_SKILL_DIR}/catalog.md
45
+ </catalog>
46
+
47
+ <flow>
48
+
49
+ 1. <step id="STEP 1: Resolve Skill Name">
50
+
51
+ 1. <if condition="<skill-ref/> is empty">
52
+ No particular skill was addressed, so render the *entire*
53
+ <catalog/> as a browsable list with the following <template/>
54
+ -- one list entry per catalog entry, in catalog order, where
55
+ <name/> and <purpose/> are the two fields of the entry (and
56
+ <name-padded/> is <name/>, padded to 22 characters with
57
+ spaces on the right) -- and then immediately *STOP* processing
58
+ the entire current skill:
59
+
60
+ <template>
61
+ <ase-tpl-head title="SKILL CATALOG"/>
62
+
63
+ <catalog/>
64
+
65
+ <ase-tpl-foot title="SKILL CATALOG"/>
66
+
67
+ ⧉ **ASE**: ✪ skill: **ase-help-skill**, ▶ hint: **run `/ase-help-skill ase-xxx-xxx` for manual page of individual skill**
68
+ </template>
69
+ </if>
70
+
71
+ 2. Set <skill-ref-raw/> to <skill-ref/> with only its leading and
72
+ trailing whitespace stripped, as the *verbatim* wording of the
73
+ user is required later on.
74
+
75
+ *Normalize* <skill-ref/> by stripping all leading and trailing
76
+ whitespace and then, repeatedly, any leading `/` and `ase:`
77
+ prefix, so that `ase-code-lint`, `/ase-code-lint`,
78
+ `ase:ase-code-lint`, and `/ase:ase-code-lint` all normalize to
79
+ `ase-code-lint`. Do not output anything.
80
+
81
+ 3. Resolve the normalized <skill-ref/> against <catalog/> in *three*
82
+ tiers and store the outcome in <candidates/>. Each tier is tried
83
+ only if all preceding tiers yielded *no* candidate at all:
84
+
85
+ 1. *Exact Name Tier*:
86
+
87
+ If a catalog *name* is *equal* to <skill-ref/>, set
88
+ <candidates/> to exactly that *single* name.
89
+
90
+ 2. *Substring Name Tier*:
91
+
92
+ Set <candidates/> to *all* catalog *names* *containing*
93
+ <skill-ref/> as a substring, in alphabetical order.
94
+
95
+ 3. *Fuzzy Purpose Tier*:
96
+
97
+ Set <candidates/> to *all* catalog names whose *purpose* --
98
+ the part *after* the colon of the catalog entry -- *fuzzily*
99
+ matches <skill-ref-raw/>, in *descending* order of match
100
+ quality. Match against <skill-ref-raw/>, and *not* against
101
+ <skill-ref/>, as this tier matches free-text wording, which
102
+ the normalization of sub-step 2 would distort.
103
+
104
+ A purpose matches fuzzily if it shares the topic, the
105
+ wording, or evident synonyms with <skill-ref-raw/>, so
106
+ that e.g. `manpage` matches `Show the Manual Page of an
107
+ ASE Skill` and `root cause` matches `Five-Whys Root-Cause
108
+ Analysis`. Include *plausible* matches only -- if none is
109
+ plausible, leave <candidates/> empty.
110
+
111
+ Set <count/> to the number of entries in <candidates/>.
112
+ Do not output anything.
113
+
114
+ </step>
115
+
116
+ 2. <step id="STEP 2: Dispatch Resolution">
117
+
118
+ 1. <if condition="<count/> is equal 0">
119
+ Only output the following <template/> and then immediately
120
+ *STOP* processing the entire current skill:
121
+
122
+ <template>
123
+ ⧉ **ASE**: ✪ skill: **ase-help-skill**, ▶ ERROR: unknown skill: **<skill-ref-raw/>**
124
+ </template>
125
+ </if>
126
+
127
+ 2. <elseif condition="<count/> is equal 1">
128
+ Set <name/> to the single entry of <candidates/> and continue
129
+ processing. Do not output anything.
130
+ </elseif>
131
+
132
+ 3. <else>
133
+ The abbreviation is *ambiguous*, so let the user pick the
134
+ intended skill.
135
+
136
+ Set <shown/> to the *first* 9 entries of <candidates/>, as the
137
+ dialog renders at most *nine* answer lines.
138
+
139
+ <if condition="<count/> is greater than 9">
140
+ Set <truncation> (showing 9 of <count/> candidates)</truncation>
141
+ </if>
142
+ <else>
143
+ Set <truncation></truncation> (set to empty)
144
+ </else>
145
+
146
+ In the following, you *MUST* *NOT* use your built-in
147
+ <user-dialog-tool/> tool! Instead, you *MUST* just show a custom
148
+ dialog according to the expanded `custom-dialog` definition. You
149
+ *MUST* closely follow this definition.
150
+
151
+ Let the user select the intended skill by raising a question
152
+ with the following custom dialog, where each answer line
153
+ corresponds to one entry of <shown/>, using the catalog *name*
154
+ as the label and its catalog *purpose* as the description:
155
+
156
+ <expand name="custom-dialog" arg1="--no-other">
157
+ Ambiguous Skill: Which skill's manual page should be shown?<truncation/>
158
+ <name/>: <purpose/>
159
+ [...]
160
+ </expand>
161
+
162
+ Check the <result/> and dispatch accordingly:
163
+
164
+ - If <result/> is `CANCEL`:
165
+ *STOP* processing without any further output.
166
+
167
+ - Otherwise: Set <name/> to the selected skill name and
168
+ continue processing.
169
+ </else>
170
+
171
+ </step>
172
+
173
+ 3. <step id="STEP 3: Render Manual Page">
174
+
175
+ 1. Use the `Read` tool to read the manual page of the resolved
176
+ skill <name/> and set <manual/> to its content. The file path is
177
+ formed by joining <ase-plugin-root/> and `skills/<name/>/help.md`
178
+ with exactly *one* `/` separator, as <ase-plugin-root/> may or
179
+ may not carry a trailing `/`. Do not output anything related to
180
+ this tool call.
181
+
182
+ 2. <if condition="<manual/> is empty or could not be read">
183
+ Only output the following <template/> and then immediately
184
+ *STOP* processing the entire current skill:
185
+
186
+ <template>
187
+ ⧉ **ASE**: ✪ skill: **ase-help-skill**, ▶ ERROR: unreadable manual page: **<name/>**
188
+ </template>
189
+ </if>
190
+
191
+ 3. Treat <manual/> as *verbatim* Markdown. You *MUST* *NOT*
192
+ truncate, summarize, reformat, or partially show it. Only output
193
+ the following <template/>:
194
+
195
+ <template>
196
+ <ase-tpl-head title="MANUAL PAGE: <name/>"/>
197
+ <manual/>
198
+ <ase-tpl-foot title="MANUAL PAGE: <name/>"/>
199
+ </template>
200
+
201
+ </step>
202
+
203
+ </flow>
@@ -0,0 +1,60 @@
1
+
2
+ ⎈ **HELP**
3
+ ○ `ase-help-skill`: Show the Manual Page of an ASE Skill
4
+ ○ `ase-help-intent`: Match an Intent to an ASE Command
5
+
6
+ ⎈ **RESEARCH**
7
+ ○ `ase-meta-search`: Search the Internet/Web
8
+ ○ `ase-meta-proximity`: Determine the Conceptual Proximity of a Topic
9
+ ○ `ase-meta-brainstorm`: Collaboratively Brainstorm a Topic
10
+ ○ `ase-meta-chat`: Query Foreign LLM for Chat
11
+ ○ `ase-meta-quorum`: Query Multiple AIs for Quorum Answer
12
+ ○ `ase-meta-diaboli`: Play "Devil's Advocate" (Latin: "Advocatus Diaboli")
13
+ ○ `ase-meta-steelman`: Build the "Steelman" Argument
14
+ ○ `ase-meta-eli5`: Explain a Topic Like I'm 5
15
+ ○ `ase-meta-why`: Five-Whys Root-Cause Analysis
16
+ ○ `ase-meta-evaluate`: Evaluate Alternatives
17
+
18
+ ⎈ **ARCHITECTURE**
19
+ ○ `ase-arch-analyze`: Review Software Architecture
20
+ ○ `ase-arch-discover`: Discover Components
21
+
22
+ ⎈ **CODING**
23
+ ○ `ase-code-analyze`: Analyze Source Code
24
+ ○ `ase-code-lint`: Lint Source Code
25
+ ○ `ase-code-explain`: Explain Source Code
26
+ ○ `ase-code-insight`: Project Insight
27
+ ○ `ase-code-craft`: Craft Source Code
28
+ ○ `ase-code-refactor`: Refactor Artifacts
29
+ ○ `ase-code-resolve`: Resolve Problem
30
+ ○ `ase-sync-import`: Import Foreign Sources into Artifact Set
31
+ ○ `ase-sync-reconcile`: Reconcile Artifact Set to Artifact Set
32
+ ○ `ase-sync-export`: Export Artifact Set to Side-by-Side Files
33
+
34
+ ⎈ **DOCUMENTATION**
35
+ ○ `ase-docs-distill`: Distill Document Key Points
36
+ ○ `ase-docs-proofread`: Proofread Documents
37
+
38
+ ⎈ **VERSION CONTROL**
39
+ ○ `ase-meta-changelog`: Update ChangeLog Entries
40
+ ○ `ase-meta-commit`: Git Commit Message
41
+ ○ `ase-meta-diff`: Summarize Diff
42
+ ○ `ase-meta-review`: Review Staged Changes
43
+
44
+ ⎈ **TASK MANAGEMENT**
45
+ ○ `ase-task-id`: Configure Task Id
46
+ ○ `ase-task-list`: List Task Plans
47
+ ○ `ase-task-view`: View a Task Plan
48
+ ○ `ase-task-edit`: Iteratively Edit a Task Plan
49
+ ○ `ase-task-grill`: Iteratively Grill a Task Plan
50
+ ○ `ase-task-condense`: Condense a Task Plan
51
+ ○ `ase-task-reboot`: Reboot a Task Plan
52
+ ○ `ase-task-preflight`: Preflight a Task Plan
53
+ ○ `ase-task-implement`: Implement a Task Plan
54
+ ○ `ase-task-rename`: Rename a Task Plan
55
+ ○ `ase-task-delete`: Delete a Task Plan
56
+
57
+ ⎈ **OTHER SKILLS**
58
+ ○ `ase-meta-persona`: Persona Configuration
59
+ ○ `ase-meta-compat`: Self-Test ASE Compatibility
60
+
@@ -0,0 +1,83 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-help-skill` - Show the Manual Page of an ASE Skill
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-help-skill`
9
+ [`--help`|`-h`]
10
+ [*skill-name*]
11
+
12
+ ## DESCRIPTION
13
+
14
+ The `ase-help-skill` skill renders the *manual page* (`help.md`) of the
15
+ ASE skill addressed by *skill-name*. The page is emitted verbatim,
16
+ framed between a `( HELP )` header and footer rule.
17
+
18
+ The *skill-name* is resolved against a *catalog* of all ASE skills --
19
+ one `name: purpose` entry per skill, generated into
20
+ `skills/ase-help-skill/data.md` by `npm start build` in `plugin/`.
21
+ Before resolving, any leading `/` and `ase:` prefix is stripped, so
22
+ `ase-code-lint`, `/ase-code-lint`, and `ase:ase-code-lint` are
23
+ equivalent. Resolution then proceeds in three tiers, each tried only if
24
+ all preceding ones found nothing: an *exact* match on the full skill
25
+ name wins outright, otherwise *every* skill name containing
26
+ *skill-name* as a substring becomes a candidate, and otherwise
27
+ *skill-name* is *fuzzily* matched against the skill *purposes* -- so
28
+ a topical phrase such as `root cause` still finds `ase-meta-why` --
29
+ with the candidates ordered by descending match quality.
30
+
31
+ A *skill-name* matching no skill in any tier is reported as an error. A
32
+ *skill-name* matching more than one skill opens an interactive dialog
33
+ listing the candidates with their purposes; as the dialog renders at
34
+ most nine answer lines, a broader abbreviation such as `task` shows the
35
+ first nine candidates and states how many exist in total.
36
+
37
+ If *skill-name* is omitted, the whole catalog is rendered as a
38
+ browsable `Skill`/`Purpose` table instead.
39
+
40
+ The skill exposes *no* option flags beyond `--help`/`-h`.
41
+
42
+ ## ARGUMENTS
43
+
44
+ *skill-name*:
45
+ The full name of the ASE skill, any abbreviation of it, or a
46
+ description of its purpose. If omitted, the entire skill catalog is
47
+ listed.
48
+
49
+ ## EXAMPLES
50
+
51
+ Show the manual page of `ase-code-lint` via its shortest abbreviation:
52
+
53
+ ```text
54
+ ❯ /ase-help-skill lint
55
+ ```
56
+
57
+ Show the same manual page via its full, plugin-qualified name:
58
+
59
+ ```text
60
+ ❯ /ase-help-skill ase:ase-code-lint
61
+ ```
62
+
63
+ Pick a manual page from the candidates of an ambiguous abbreviation:
64
+
65
+ ```text
66
+ ❯ /ase-help-skill analyze
67
+ ```
68
+
69
+ Find a manual page by the purpose of the skill instead of its name:
70
+
71
+ ```text
72
+ ❯ /ase-help-skill root cause
73
+ ```
74
+
75
+ List the entire skill catalog:
76
+
77
+ ```text
78
+ ❯ /ase-help-skill
79
+ ```
80
+
81
+ ## SEE ALSO
82
+
83
+ [`ase-help-intent`](../ase-help-intent/help.md), [`ase-meta-proximity`](../ase-meta-proximity/help.md).
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: ase-meta-eli5
3
+ argument-hint: "[--help|-h] [--ground|-g] <topic>"
4
+ description: >
5
+ Explain a topic in "Explain Like I'm 5" (ELI5) style, optionally
6
+ grounded in Internet/Web facts. Use when the user wants a topic
7
+ explained in a very simple, child-friendly way, or mentions "eli5"
8
+ or "explain like I'm 5".
9
+ user-invocable: true
10
+ disable-model-invocation: false
11
+ effort: high
12
+ allowed-tools:
13
+ - "Agent"
14
+ ---
15
+
16
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
17
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
18
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
19
+
20
+ <skill name="ase-meta-eli5">
21
+ Explain a Topic Like I'm 5
22
+ </skill>
23
+
24
+ <expand name="getopt"
25
+ arg1="ase-meta-eli5"
26
+ arg2="--ground|-g">
27
+ $ARGUMENTS
28
+ </expand>
29
+
30
+ <objective>
31
+ *Explain* the following topic in "Explain Like I'm 5" (ELI5) style,
32
+ so that even a five year old child could understand it:
33
+ <topic><getopt-arguments/></topic>
34
+ </objective>
35
+
36
+ <flow>
37
+
38
+ 1. <step id="STEP 1: Check Topic">
39
+
40
+ <if condition="<topic/> is empty">
41
+ Only output the following <template/> and then immediately *STOP*
42
+ processing the entire current skill:
43
+
44
+ <template>
45
+ ⧉ **ASE**: ✪ skill: **ase-meta-eli5**, ▶ ERROR: expected a `<topic>` argument
46
+ </template>
47
+ </if>
48
+
49
+ Set <facts></facts> (set to empty)
50
+
51
+ </step>
52
+
53
+ 2. <step id="STEP 2: Ground Topic" condition="<getopt-option-ground/> is equal `true`">
54
+
55
+ Use the `ase-meta-search` skill in a sub-agent to gather facts
56
+ about the <topic/>: call the tool...
57
+
58
+ `Agent(
59
+ description: "Query Web Search Service",
60
+ subagent_type: "ase:ase-meta-search",
61
+ prompt: "Search the Internet/Web and gather facts about the following topic: <topic/>",
62
+ run_in_background: false
63
+ )`
64
+
65
+ ...and store the returned facts in <facts/>.
66
+
67
+ <if condition="<facts/> contains no usable facts about <topic/>">
68
+
69
+ Set <facts></facts> (set facts to empty), so the explanation below
70
+ falls back to model knowledge, and output the following <template/>:
71
+
72
+ <template>
73
+ <ase-tpl-bullet-secondary/> **WARNING**: grounding found no usable facts -- falling back to model knowledge.
74
+ </template>
75
+
76
+ </if>
77
+
78
+ </step>
79
+
80
+ 3. <step id="STEP 3: Explain Topic">
81
+
82
+ Explain the <topic/> in "Explain Like I'm 5" (ELI5) style: use
83
+ *simple*, *jargon-free* wording a five year old child could
84
+ understand -- short sentences, everyday words, and familiar images.
85
+ Do *not* use technical terms without immediately putting them into
86
+ child-friendly words.
87
+
88
+ <if condition="<facts/> is not empty">
89
+ Ground the explanation in the facts of <facts/> and do not
90
+ contradict them.
91
+ </if>
92
+
93
+ For this, first, explain *WHAT* the topic is and store it in
94
+ <what/>. Second, give an *ANALOGY* by comparing the topic to
95
+ something from the everyday life of a child and store this in
96
+ <analogy/>. Third, explain *WHY* the topic matters and store this in
97
+ <why/>.
98
+
99
+ Ensure that each of <what/>, <analogy/>, and <why/> is a *very
100
+ brief* and *concise* single text paragraph.
101
+
102
+ Output the result with the following <template/>:
103
+
104
+ <template>
105
+ <ase-tpl-bullet-secondary/> **TOPIC**: **<topic/>**
106
+
107
+ <ase-tpl-bullet-normal/> **WHAT**: <what/>.
108
+
109
+ <ase-tpl-bullet-normal/> **ANALOGY**: <analogy/>.
110
+
111
+ <ase-tpl-bullet-signal/> **WHY**: <why/>.
112
+ </template>
113
+
114
+ </step>
115
+
116
+ </flow>
@@ -0,0 +1,61 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-meta-eli5` - Explain a Topic Like I'm 5
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-meta-eli5`
9
+ [`--help`|`-h`]
10
+ [`--ground`|`-g`]
11
+ *topic*
12
+
13
+ ## DESCRIPTION
14
+
15
+ The `ase-meta-eli5` skill explains the supplied *topic* in "Explain
16
+ Like I'm 5" (ELI5) style, so that even a five year old child could
17
+ understand it. The explanation uses simple, jargon-free wording --
18
+ short sentences, everyday words, and familiar images -- and is
19
+ structured into three labeled blocks: *WHAT* (a plain-words summary),
20
+ *ANALOGY* (a concrete everyday-life comparison), and *WHY* (why the
21
+ topic matters), each kept brief with 1-3 bullet points.
22
+
23
+ By default the explanation is derived from model knowledge only. With
24
+ the `--ground`/`-g` option, the skill first searches the Internet/Web
25
+ for facts about the topic via the `ase-meta-search` skill (dispatched
26
+ in a sub-agent, querying all available search backends) and grounds
27
+ the explanation in the found facts. If the grounding yields no usable
28
+ facts, a warning is emitted and the explanation falls back to model
29
+ knowledge.
30
+
31
+ ## OPTIONS
32
+
33
+ `--ground`|`-g`:
34
+ Ground the explanation in Internet/Web facts gathered via the
35
+ `ase-meta-search` skill before explaining. Without this option,
36
+ the explanation is derived from model knowledge only.
37
+
38
+ ## ARGUMENTS
39
+
40
+ *topic*:
41
+ The topic to be explained. It may be a technical concept, a
42
+ phenomenon, or any other subject; the skill explains it in a
43
+ child-friendly way.
44
+
45
+ ## EXAMPLES
46
+
47
+ Explain a technical concept from model knowledge:
48
+
49
+ ```text
50
+ ❯ /ase-meta-eli5 What is a Fourier transform?
51
+ ```
52
+
53
+ Explain a recent topic grounded in Internet/Web facts:
54
+
55
+ ```text
56
+ ❯ /ase-meta-eli5 --ground What is Agentic Software Engineering?
57
+ ```
58
+
59
+ ## SEE ALSO
60
+
61
+ [`ase-code-explain`](../ase-code-explain/help.md), [`ase-meta-search`](../ase-meta-search/help.md), [`ase-docs-distill`](../ase-docs-distill/help.md).