@rse/ase 0.9.4 → 0.9.6
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-artifact.js +331 -0
- package/dst/ase-config.js +56 -10
- package/dst/ase-service.js +2 -0
- package/dst/ase-task.js +139 -64
- package/dst/ase.js +2 -0
- package/package.json +5 -3
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/meta/ase-format-meta.md +5 -2
- package/plugin/meta/{ase-format-plan.md → ase-format-task.md} +7 -6
- package/plugin/package.json +1 -1
- package/plugin/skills/ase-arch-analyze/SKILL.md +1 -1
- package/plugin/skills/ase-arch-discover/SKILL.md +17 -9
- package/plugin/skills/ase-arch-discover/help.md +14 -0
- package/plugin/skills/ase-code-craft/SKILL.md +2 -2
- package/plugin/skills/ase-code-insight/SKILL.md +1 -1
- package/plugin/skills/ase-code-lint/SKILL.md +1 -1
- package/plugin/skills/ase-code-refactor/SKILL.md +2 -2
- package/plugin/skills/ase-code-resolve/SKILL.md +3 -3
- package/plugin/skills/ase-docs-proofread/SKILL.md +1 -1
- package/plugin/skills/ase-meta-brainstorm/SKILL.md +22 -21
- package/plugin/skills/ase-meta-brainstorm/help.md +38 -12
- package/plugin/skills/ase-meta-chat/SKILL.md +1 -1
- package/plugin/skills/ase-meta-diaboli/SKILL.md +1 -1
- package/plugin/skills/ase-meta-diff/SKILL.md +1 -1
- package/plugin/skills/ase-meta-quorum/SKILL.md +37 -5
- package/plugin/skills/ase-meta-quorum/help.md +18 -0
- package/plugin/skills/ase-meta-review/SKILL.md +1 -1
- package/plugin/skills/ase-meta-search/SKILL.md +35 -6
- package/plugin/skills/ase-meta-search/help.md +14 -2
- package/plugin/skills/ase-meta-steelman/SKILL.md +1 -1
- package/plugin/skills/ase-meta-why/SKILL.md +117 -25
- package/plugin/skills/ase-meta-why/help.md +30 -2
- package/plugin/skills/ase-task-condense/SKILL.md +1 -1
- package/plugin/skills/ase-task-delete/help.md +0 -4
- package/plugin/skills/ase-task-edit/SKILL.md +4 -4
- package/plugin/skills/ase-task-edit/help.md +0 -4
- package/plugin/skills/ase-task-grill/SKILL.md +1 -1
- package/plugin/skills/ase-task-grill/help.md +0 -4
- package/plugin/skills/ase-task-implement/SKILL.md +1 -1
- package/plugin/skills/ase-task-implement/help.md +5 -6
- package/plugin/skills/ase-task-preflight/SKILL.md +1 -1
- package/plugin/skills/ase-task-reboot/SKILL.md +1 -1
|
@@ -38,7 +38,7 @@ to `true`, <getopt-option-dry/> to `true`, and <getopt-option-next/> to
|
|
|
38
38
|
<request><getopt-arguments/></request>
|
|
39
39
|
</objective>
|
|
40
40
|
|
|
41
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-
|
|
41
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md
|
|
42
42
|
|
|
43
43
|
Procedure
|
|
44
44
|
---------
|
|
@@ -218,7 +218,7 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
218
218
|
(e.g. `flowchart TB`, `stateDiagram-v2`, `sequenceDiagram`,
|
|
219
219
|
`classDiagram`, or `erDiagram`, depending on intent) and
|
|
220
220
|
dispatching the rendering to the `ase-meta-diagram`
|
|
221
|
-
sub-agent by calling the tool `Agent(name: "ase
|
|
221
|
+
sub-agent by calling the tool `Agent(name: "ase-meta-diagram",
|
|
222
222
|
description: "Diagram Rendering", subagent_type:
|
|
223
223
|
"ase:ase-meta-diagram", prompt: <mermaid-spec/>)`, reproducing
|
|
224
224
|
its returned fenced code block verbatim. For *current
|
|
@@ -38,7 +38,7 @@ to `true`, <getopt-option-dry/> to `true`, and <getopt-option-next/> to
|
|
|
38
38
|
<problem><getopt-arguments/></problem>
|
|
39
39
|
</objective>
|
|
40
40
|
|
|
41
|
-
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-
|
|
41
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md
|
|
42
42
|
|
|
43
43
|
Procedure
|
|
44
44
|
---------
|
|
@@ -154,7 +154,7 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
154
154
|
TB`, `stateDiagram-v2`, `sequenceDiagram`, `classDiagram`, or
|
|
155
155
|
`erDiagram`, depending on intent) and dispatching the rendering
|
|
156
156
|
to the `ase-meta-diagram` sub-agent by calling the tool
|
|
157
|
-
`Agent(name: "ase
|
|
157
|
+
`Agent(name: "ase-meta-diagram", description: "Diagram
|
|
158
158
|
Rendering", subagent_type: "ase:ase-meta-diagram", prompt:
|
|
159
159
|
<mermaid-spec/>)`, reproducing its returned fenced code block
|
|
160
160
|
verbatim. Omit <optional-diagram/> entirely for simple or
|
|
@@ -267,7 +267,7 @@ permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
|
267
267
|
(e.g. `flowchart TB`, `stateDiagram-v2`, `sequenceDiagram`,
|
|
268
268
|
`classDiagram`, or `erDiagram`, depending on intent) and
|
|
269
269
|
dispatching the rendering to the `ase-meta-diagram`
|
|
270
|
-
sub-agent by calling the tool `Agent(name: "ase
|
|
270
|
+
sub-agent by calling the tool `Agent(name: "ase-meta-diagram",
|
|
271
271
|
description: "Diagram Rendering", subagent_type:
|
|
272
272
|
"ase:ase-meta-diagram", prompt: <mermaid-spec/>)`, reproducing
|
|
273
273
|
its returned fenced code block verbatim. For *current
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-meta-brainstorm
|
|
3
|
-
argument-hint: "[--help|-h] [--
|
|
3
|
+
argument-hint: "[--help|-h] [--max-clarify|-c=3] [--min-ideas|-i=12] [--min-rank|-r=7] [--max-shortlist|-s=4] <topic>"
|
|
4
4
|
description: >
|
|
5
5
|
Collaboratively brainstorm a topic by diverging on ideas, converging
|
|
6
6
|
through clustering and scoring, and distilling a shortlist with
|
|
@@ -23,15 +23,15 @@ Collaboratively Brainstorm a Topic
|
|
|
23
23
|
|
|
24
24
|
<expand name="getopt"
|
|
25
25
|
arg1="ase-meta-brainstorm"
|
|
26
|
-
arg2="--
|
|
26
|
+
arg2="--max-clarify|-c=3 --min-ideas|-i=12 --min-rank|-r=7 --max-shortlist|-s=4">
|
|
27
27
|
$ARGUMENTS
|
|
28
28
|
</expand>
|
|
29
29
|
|
|
30
30
|
<objective>
|
|
31
|
-
Collaboratively brainstorm the topic <topic><getopt-arguments/></topic>
|
|
32
|
-
*diverging* into a broad space of candidate ideas, then
|
|
33
|
-
through clustering and scoring, and finally distilling a
|
|
34
|
-
with a single recommended direction.
|
|
31
|
+
Collaboratively brainstorm the topic <topic><getopt-arguments/></topic>
|
|
32
|
+
by first *diverging* into a broad space of candidate ideas, then
|
|
33
|
+
*converging* through clustering and scoring, and finally distilling a
|
|
34
|
+
*shortlist* with a single recommended direction.
|
|
35
35
|
</objective>
|
|
36
36
|
|
|
37
37
|
Guiding Tenets
|
|
@@ -90,19 +90,20 @@ Honor the following tenets throughout the brainstorming:
|
|
|
90
90
|
|
|
91
91
|
Before generating any ideas, *explore the project context* (review
|
|
92
92
|
relevant existing files, documentation, and recent changes) and
|
|
93
|
-
determine the <m/> (<m
|
|
94
|
-
- the purpose, constraints,
|
|
95
|
-
that must be pinned down for
|
|
96
|
-
grounded.
|
|
93
|
+
determine the <m/> (<m/> = 1..<getopt-option-max-clarify/>)
|
|
94
|
+
*essential unknowns* about the topic - the purpose, constraints,
|
|
95
|
+
scope boundaries, and success criteria that must be pinned down for
|
|
96
|
+
the brainstorming to be reasonably grounded.
|
|
97
97
|
|
|
98
|
-
Notice: you are intentionally constrained to just
|
|
99
|
-
as too much upfront intent
|
|
100
|
-
of ideas later. So, you *MUST*
|
|
101
|
-
unknowns to the absolute minimum
|
|
98
|
+
Notice: you are intentionally constrained to just
|
|
99
|
+
1..<getopt-option-max-clarify/> unknowns, as too much upfront intent
|
|
100
|
+
clarification kills the brainstorming of ideas later. So, you *MUST*
|
|
101
|
+
reduce the clarifications of the unknowns to the absolute minimum in
|
|
102
|
+
general and cap it at <getopt-option-max-clarify/>!
|
|
102
103
|
|
|
103
|
-
For each essential unknown, derive a short 1-3 word facet
|
|
104
|
-
and a corresponding question <question-M/> whose answer
|
|
105
|
-
changes which ideas make sense at all.
|
|
104
|
+
For each essential unknown to clarify, derive a short 1-3 word facet
|
|
105
|
+
<facet-M/> and a corresponding question <question-M/> whose answer
|
|
106
|
+
materially changes which ideas make sense at all.
|
|
106
107
|
|
|
107
108
|
1. For each <question-M/> in the iteration cycle <M/> (<M/>=1...<m/>):
|
|
108
109
|
|
|
@@ -159,7 +160,7 @@ Honor the following tenets throughout the brainstorming:
|
|
|
159
160
|
variety in outcome.
|
|
160
161
|
|
|
161
162
|
Do still *not* judge, rank, or prune ideas in this step. Generate
|
|
162
|
-
ideas until you either reach at least <getopt-option-
|
|
163
|
+
ideas until you either reach at least <getopt-option-min-ideas/> distinct
|
|
163
164
|
candidate ideas or have clearly exhausted the meaningfully distinct
|
|
164
165
|
space.
|
|
165
166
|
|
|
@@ -199,10 +200,10 @@ Honor the following tenets throughout the brainstorming:
|
|
|
199
200
|
purpose and constraints on a Likert scale of 0 (poor) to 10
|
|
200
201
|
(excellent), considering *value*, *uniqueness*, *risk*, and
|
|
201
202
|
*alignment with the existing code base*. Keep only ideas in the
|
|
202
|
-
clusters with a rank of at least
|
|
203
|
+
clusters with a rank of at least <getopt-option-min-rank/>.
|
|
203
204
|
|
|
204
205
|
3. From the scored ideas <idea-N/>, distill a *shortlist* of the top
|
|
205
|
-
|
|
206
|
+
<getopt-option-max-shortlist/> options, sorted by rank from highest to lowest.
|
|
206
207
|
|
|
207
208
|
For this, draw the shortlist from *distinct* clusters <cluster-C/>
|
|
208
209
|
wherever possible - prefer a diverse shortlist spanning different
|
|
@@ -216,7 +217,7 @@ Honor the following tenets throughout the brainstorming:
|
|
|
216
217
|
and its primary trade-off), and output the following <template/>:
|
|
217
218
|
|
|
218
219
|
<template>
|
|
219
|
-
<ase-tpl-bullet-normal/> **DISTILLED IDEA <
|
|
220
|
+
<ase-tpl-bullet-normal/> **DISTILLED IDEA**: <option-N/>
|
|
220
221
|
</template>
|
|
221
222
|
|
|
222
223
|
4. Finally, derive a single *recommended idea* - the highest-ranked
|
|
@@ -7,7 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
`ase-meta-brainstorm`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
|
-
[`--
|
|
10
|
+
[`--max-clarify=3`]
|
|
11
|
+
[`--min-ideas`|`-i=12`]
|
|
12
|
+
[`--min-rank=7`]
|
|
13
|
+
[`--max-shortlist=4`]
|
|
11
14
|
*topic*
|
|
12
15
|
|
|
13
16
|
## DESCRIPTION
|
|
@@ -16,18 +19,19 @@ The `ase-meta-brainstorm` skill guides a collaborative ideation
|
|
|
16
19
|
session on a *topic* *before* any implementation begins. It first
|
|
17
20
|
*clarifies intent* by exploring the project context and interviewing
|
|
18
21
|
the user - one grounded, multiple-choice question at a time - about
|
|
19
|
-
purpose, constraints, scope, and success criteria
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
purpose, constraints, scope, and success criteria (asking at most
|
|
23
|
+
`--max-clarify`, default 3, questions). It then *diverges* into a broad
|
|
24
|
+
space of candidate ideas (at least `--min-ideas`, default 12) pursued from
|
|
25
|
+
deliberately diverse angles (MVP-first, risk-first, UX-first,
|
|
26
|
+
reuse-first, and wildcard), without judging them.
|
|
23
27
|
|
|
24
28
|
Next it *converges* by clustering the ideas into coherent themes,
|
|
25
29
|
pruning speculative or out-of-scope ones via *YAGNI*, and scoring the
|
|
26
|
-
survivors on a 0-10 fit scale (keeping only those ranked
|
|
27
|
-
Finally it distills a *shortlist* of the top
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
synthesis of the shortlist.
|
|
30
|
+
survivors on a 0-10 fit scale (keeping only those ranked `--min-rank`,
|
|
31
|
+
default 7, or higher). Finally it distills a *shortlist* of the top
|
|
32
|
+
`--max-shortlist`, default 4, directions - drawn from distinct clusters
|
|
33
|
+
wherever possible - and derives a single *RECOMMENDATION*, being either
|
|
34
|
+
the highest-ranked option or a principled synthesis of the shortlist.
|
|
31
35
|
|
|
32
36
|
On completion the skill offers a *next step*: stop, or hand the
|
|
33
37
|
recommended direction off to the `ase-task-edit`, `ase-code-craft`, or
|
|
@@ -35,11 +39,26 @@ recommended direction off to the `ase-task-edit`, `ase-code-craft`, or
|
|
|
35
39
|
|
|
36
40
|
## OPTIONS
|
|
37
41
|
|
|
38
|
-
`--
|
|
42
|
+
`--max-clarify=3`:
|
|
43
|
+
The *maximum* number of essential-unknown clarification questions
|
|
44
|
+
asked in the *clarify intent* phase (default: 3). Lower it for a
|
|
45
|
+
faster, leaner intake, raise it for more upfront grounding.
|
|
46
|
+
|
|
47
|
+
`--min-ideas`|`-i=12`:
|
|
39
48
|
The *minimum* number of candidate ideas to generate in the *diverge*
|
|
40
49
|
phase before converging (default: 12). Raise it for a broader idea
|
|
41
50
|
space, lower it for a quicker, narrower session.
|
|
42
51
|
|
|
52
|
+
`--min-rank=7`:
|
|
53
|
+
The *minimum* 0-10 fit rank an idea must score to survive the
|
|
54
|
+
*converge* phase (default: 7). Raise it for a stricter filter, lower
|
|
55
|
+
it to retain more ideas.
|
|
56
|
+
|
|
57
|
+
`--max-shortlist=4`:
|
|
58
|
+
The *maximum* number of distilled options on the final *shortlist*
|
|
59
|
+
(default: 4). Lower it for a sharper focus, raise it for more
|
|
60
|
+
finalists.
|
|
61
|
+
|
|
43
62
|
## ARGUMENTS
|
|
44
63
|
|
|
45
64
|
*topic*:
|
|
@@ -57,7 +76,14 @@ Brainstorm an approach for a new feature:
|
|
|
57
76
|
Brainstorm with a broader idea space of at least 20 candidates:
|
|
58
77
|
|
|
59
78
|
```text
|
|
60
|
-
❯ /ase-meta-brainstorm --
|
|
79
|
+
❯ /ase-meta-brainstorm --min-ideas 20 an offline-first sync layer
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Brainstorm quickly with a single clarification, a stricter score floor,
|
|
83
|
+
and a tighter shortlist:
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
❯ /ase-meta-brainstorm --max-clarify 1 --min-rank 8 --max-shortlist 3 an offline-first sync layer
|
|
61
87
|
```
|
|
62
88
|
|
|
63
89
|
## SEE ALSO
|
|
@@ -306,7 +306,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
306
306
|
labels ultra short (basenames or module names only).
|
|
307
307
|
|
|
308
308
|
2. Dispatch the rendering to the `ase-meta-diagram` sub-agent by
|
|
309
|
-
calling the tool `Agent(name: "ase
|
|
309
|
+
calling the tool `Agent(name: "ase-meta-diagram",
|
|
310
310
|
description: "Diagram Rendering", subagent_type:
|
|
311
311
|
"ase:ase-meta-diagram", prompt: "<mermaid-spec/>")` and capture
|
|
312
312
|
its returned `text` field as <diagram/>.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-meta-quorum
|
|
3
|
-
argument-hint: "[--help|-h] <question>"
|
|
3
|
+
argument-hint: "[--help|-h] [--models|-m <model>[,...]] <question>"
|
|
4
4
|
description: >
|
|
5
5
|
Query Multiple AIs for Quorum Answer.
|
|
6
6
|
user-invocable: true
|
|
@@ -13,11 +13,18 @@ allowed-tools:
|
|
|
13
13
|
|
|
14
14
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
15
15
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
16
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
16
17
|
|
|
17
18
|
<skill name="ase-meta-quorum">
|
|
18
19
|
Query Multiple AIs for Quorum Answer
|
|
19
20
|
</skill>
|
|
20
21
|
|
|
22
|
+
<expand name="getopt"
|
|
23
|
+
arg1="ase-meta-quorum"
|
|
24
|
+
arg2="--models|-m=(all|chatgpt|gemini|deepseek|grok|glm|qwen)...">
|
|
25
|
+
$ARGUMENTS
|
|
26
|
+
</expand>
|
|
27
|
+
|
|
21
28
|
<objective>
|
|
22
29
|
Find a *quorum answer* on an arbitrary question,
|
|
23
30
|
by querying *multiple* AIs for an *optimal consensus*.
|
|
@@ -30,7 +37,7 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
30
37
|
Prepare the LLM query by setting <query/> to the following <template/>:
|
|
31
38
|
|
|
32
39
|
<template>
|
|
33
|
-
|
|
40
|
+
<getopt-arguments/>.
|
|
34
41
|
Please respond with facts and very concise and brief only,
|
|
35
42
|
usually with just 1 to 7 corresponding bullet points and with short sentences.
|
|
36
43
|
Optionally, mention potential cruxes which should be noticed.
|
|
@@ -53,12 +60,20 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
53
60
|
|
|
54
61
|
2. <step id="STEP 2: Query Foreign AIs">
|
|
55
62
|
|
|
63
|
+
The user-selectable foreign models are restricted by the
|
|
64
|
+
`--models`/`-m` option, parsed into <getopt-option-models/>
|
|
65
|
+
as a comma-separated list of model tokens. The default is
|
|
66
|
+
the single token `all`. If <getopt-option-models/> contains
|
|
67
|
+
the token `all`, you *MUST* treat it as the full list
|
|
68
|
+
`chatgpt,gemini,deepseek,grok,glm,qwen` (all models). Anthropic
|
|
69
|
+
Claude (yourself) is *always* included, independent of this option.
|
|
70
|
+
|
|
56
71
|
<define name="agent">
|
|
57
72
|
Call the `Agent` tool:
|
|
58
73
|
|
|
59
74
|
```text
|
|
60
75
|
Agent(
|
|
61
|
-
name: "ase
|
|
76
|
+
name: "ase-meta-chat-<arg2/>",
|
|
62
77
|
description: "Query Foreign LLM: <arg1/>",
|
|
63
78
|
subagent_type: "ase:ase-meta-chat",
|
|
64
79
|
prompt: "<arg2/> <query/>"
|
|
@@ -67,12 +82,28 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
67
82
|
|
|
68
83
|
</define>
|
|
69
84
|
|
|
85
|
+
Query only those foreign models whose token is contained in
|
|
86
|
+
<getopt-option-models/> (where `all` selects every model); silently
|
|
87
|
+
skip all others:
|
|
88
|
+
|
|
89
|
+
<if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `chatgpt`">
|
|
70
90
|
<expand name="agent" arg1="OpenAI ChatGPT" arg2="chatgpt"></expand>
|
|
91
|
+
</if>
|
|
92
|
+
<if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `gemini`">
|
|
71
93
|
<expand name="agent" arg1="Google Gemini" arg2="gemini"></expand>
|
|
94
|
+
</if>
|
|
95
|
+
<if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `deepseek`">
|
|
72
96
|
<expand name="agent" arg1="DeepSeek" arg2="deepseek"></expand>
|
|
97
|
+
</if>
|
|
98
|
+
<if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `grok`">
|
|
73
99
|
<expand name="agent" arg1="xAI Grok" arg2="grok"></expand>
|
|
100
|
+
</if>
|
|
101
|
+
<if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `glm`">
|
|
74
102
|
<expand name="agent" arg1="Z.AI GLM" arg2="glm"></expand>
|
|
103
|
+
</if>
|
|
104
|
+
<if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `qwen`">
|
|
75
105
|
<expand name="agent" arg1="Alibaba Qwen" arg2="qwen"></expand>
|
|
106
|
+
</if>
|
|
76
107
|
|
|
77
108
|
You *MUST* *NOT* output anything in this step.
|
|
78
109
|
|
|
@@ -116,7 +147,7 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
116
147
|
|
|
117
148
|
<template>
|
|
118
149
|
**QUESTION**:
|
|
119
|
-
|
|
150
|
+
<getopt-arguments/>
|
|
120
151
|
|
|
121
152
|
● **CONSENSUS ANSWER**:
|
|
122
153
|
- [...]
|
|
@@ -153,7 +184,8 @@ by querying *multiple* AIs for an *optimal consensus*.
|
|
|
153
184
|
- [...]
|
|
154
185
|
</template>
|
|
155
186
|
|
|
156
|
-
In this output, remove the sections of those AIs which were not
|
|
187
|
+
In this output, remove the sections of those AIs which were not
|
|
188
|
+
queried (excluded via `--models`/`-m`) or were not available.
|
|
157
189
|
You *MUST* *NOT* output any further explanations yourself.
|
|
158
190
|
|
|
159
191
|
</step>
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
`ase-meta-quorum`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
|
+
[`--models`|`-m` *model*[,...]]
|
|
10
11
|
*question*
|
|
11
12
|
|
|
12
13
|
## DESCRIPTION
|
|
@@ -23,6 +24,17 @@ a Likert scale of `0..N` (where `N` is the number of available
|
|
|
23
24
|
responders), and reports the consensus answer alongside the
|
|
24
25
|
complete, unmodified individual responses.
|
|
25
26
|
|
|
27
|
+
## OPTIONS
|
|
28
|
+
|
|
29
|
+
`--models`|`-m` *model*[,...]:
|
|
30
|
+
Restrict the *foreign* LLMs that are queried to the given
|
|
31
|
+
comma-separated list of *model* tokens. Recognized tokens are
|
|
32
|
+
`all`, `chatgpt`, `gemini`, `deepseek`, `grok`, `glm`, and `qwen`,
|
|
33
|
+
where `all` selects every model. The default is `all`. Models that
|
|
34
|
+
are not selected (or not available) are *silently skipped*.
|
|
35
|
+
Anthropic Claude (the skill itself) is *always* included,
|
|
36
|
+
independent of this option.
|
|
37
|
+
|
|
26
38
|
## ARGUMENTS
|
|
27
39
|
|
|
28
40
|
*question*:
|
|
@@ -36,6 +48,12 @@ Ask the quorum a factual question:
|
|
|
36
48
|
❯ /ase-meta-quorum What are the most common causes of memory leaks in Node.js?
|
|
37
49
|
```
|
|
38
50
|
|
|
51
|
+
Ask only a subset of the foreign models:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
❯ /ase-meta-quorum --models chatgpt,gemini,grok Which sorting algorithm is fastest in practice?
|
|
55
|
+
```
|
|
56
|
+
|
|
39
57
|
## SEE ALSO
|
|
40
58
|
|
|
41
59
|
`ase-meta-chat`, `ase-meta-search`, `ase-meta-evaluate`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-meta-search
|
|
3
|
-
argument-hint: "[--help|-h] <query>"
|
|
3
|
+
argument-hint: "[--help|-h] [--services|-s=(all|perplexity|brave|exa|websearch)...] <query>"
|
|
4
4
|
description: >
|
|
5
5
|
Search the Internet/Web with a query.
|
|
6
6
|
Prefer this skill before using Perplexity, Brave and WebSearch.
|
|
@@ -17,14 +17,21 @@ allowed-tools:
|
|
|
17
17
|
|
|
18
18
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
|
|
19
19
|
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
|
|
20
|
+
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
|
|
20
21
|
|
|
21
22
|
<skill name="ase-meta-search">
|
|
22
23
|
Search the Internet/Web
|
|
23
24
|
</skill>
|
|
24
25
|
|
|
26
|
+
<expand name="getopt"
|
|
27
|
+
arg1="ase-meta-search"
|
|
28
|
+
arg2="--services|-s=(all|perplexity|brave|exa|websearch)...">
|
|
29
|
+
$ARGUMENTS
|
|
30
|
+
</expand>
|
|
31
|
+
|
|
25
32
|
<objective>
|
|
26
33
|
Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
27
|
-
<query
|
|
34
|
+
<query><getopt-arguments/></query>
|
|
28
35
|
</objective>
|
|
29
36
|
|
|
30
37
|
<flow>
|
|
@@ -34,7 +41,7 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
34
41
|
<define name="agent">
|
|
35
42
|
```text
|
|
36
43
|
Agent(
|
|
37
|
-
name: "ase
|
|
44
|
+
name: "ase-meta-search",
|
|
38
45
|
description: "Query Web Search Service",
|
|
39
46
|
subagent_type: "ase:ase-meta-search",
|
|
40
47
|
prompt: <content/>
|
|
@@ -42,24 +49,46 @@ Your objective is to *search* the *Internet*/*Web* for the following query:
|
|
|
42
49
|
```
|
|
43
50
|
</define>
|
|
44
51
|
|
|
45
|
-
|
|
52
|
+
Treat <getopt-option-services/> as a comma-separated list of
|
|
53
|
+
*backend tokens*. The getopt parser validates only the *first*
|
|
54
|
+
token, so you *MUST* validate each remaining token yourself against
|
|
55
|
+
the allowed set `all`, `perplexity`, `brave`, `exa`, `websearch`. If
|
|
56
|
+
any token is *not* in this set, only output the following <template/>
|
|
57
|
+
and then immediately *STOP* processing the entire current skill:
|
|
58
|
+
|
|
59
|
+
<template>
|
|
60
|
+
⧉ **ASE**: ✪ skill: **ase-meta-search**, ▶ ERROR: invalid `--services` token: **<token/>**
|
|
61
|
+
</template>
|
|
62
|
+
|
|
63
|
+
A backend is *selected* if `all` is in <getopt-option-services/> *OR*
|
|
64
|
+
that backend's own name is in <getopt-option-services/>.
|
|
65
|
+
|
|
66
|
+
If the `perplexity` backend is *selected* and the MCP tool
|
|
67
|
+
`perplexity_search` from the MCP server `search-perplexity` is available:
|
|
68
|
+
|
|
46
69
|
<expand name="agent">
|
|
47
70
|
Call the MCP tool `perplexity_search(query: "<query/>")`
|
|
48
71
|
from the MCP server `search-perplexity`.
|
|
49
72
|
</expand>
|
|
50
73
|
|
|
51
|
-
If the
|
|
74
|
+
If the `brave` backend is *selected* and the MCP tool
|
|
75
|
+
`brave_web_search` from the MCP server `search-brave` is available:
|
|
76
|
+
|
|
52
77
|
<expand name="agent">
|
|
53
78
|
Call the MCP tool `brave_web_search(query: "<query/>")`
|
|
54
79
|
from the MCP server `search-brave`.
|
|
55
80
|
</expand>
|
|
56
81
|
|
|
57
|
-
If the
|
|
82
|
+
If the `exa` backend is *selected* and the MCP tool
|
|
83
|
+
`web_search_exa` from the MCP server `search-exa` is available:
|
|
84
|
+
|
|
58
85
|
<expand name="agent">
|
|
59
86
|
Call the MCP tool `web_search_exa(query: "<query/>")`
|
|
60
87
|
from the MCP server `search-exa`.
|
|
61
88
|
</expand>
|
|
62
89
|
|
|
90
|
+
If the `websearch` backend is *selected*:
|
|
91
|
+
|
|
63
92
|
<expand name="agent">
|
|
64
93
|
Call the tool `WebSearch(query: "<query/>")`.
|
|
65
94
|
</expand>
|
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
`ase-meta-search`
|
|
9
9
|
[`--help`|`-h`]
|
|
10
|
+
[`--services`|`-s`=(`all`|`perplexity`|`brave`|`exa`|`websearch`)...]
|
|
10
11
|
*query*
|
|
11
12
|
|
|
12
13
|
## DESCRIPTION
|
|
13
14
|
|
|
14
15
|
The `ase-meta-search` skill searches the *Internet*/*Web* for the
|
|
15
|
-
given *query*. It dispatches the query in parallel to
|
|
16
|
+
given *query*. It dispatches the query in parallel to the *selected*
|
|
16
17
|
search services (Perplexity, Brave, Exa, and Claude's built-in
|
|
17
18
|
`WebSearch`) via the `ase:ase-meta-search` sub-agent and consolidates
|
|
18
19
|
all responses into a single answer without removing original
|
|
@@ -23,17 +24,28 @@ Brave, or `WebSearch` individually.
|
|
|
23
24
|
|
|
24
25
|
## ARGUMENTS
|
|
25
26
|
|
|
27
|
+
`--services`|`-s`=(`all`|`perplexity`|`brave`|`exa`|`websearch`)...:
|
|
28
|
+
The comma-separated list of search backends to query. The default
|
|
29
|
+
`all` queries every available backend (the original behavior);
|
|
30
|
+
otherwise only the listed backends are queried.
|
|
31
|
+
|
|
26
32
|
*query*:
|
|
27
33
|
The search query to dispatch to the search services.
|
|
28
34
|
|
|
29
35
|
## EXAMPLES
|
|
30
36
|
|
|
31
|
-
Search the Web for a topic:
|
|
37
|
+
Search the Web for a topic across all backends:
|
|
32
38
|
|
|
33
39
|
```text
|
|
34
40
|
❯ /ase-meta-search latest stable release of TypeScript and release notes
|
|
35
41
|
```
|
|
36
42
|
|
|
43
|
+
Search the Web using only the Brave and Exa backends:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
❯ /ase-meta-search --services=brave,exa latest stable release of TypeScript
|
|
47
|
+
```
|
|
48
|
+
|
|
37
49
|
## SEE ALSO
|
|
38
50
|
|
|
39
51
|
`ase-meta-chat`, `ase-meta-quorum`, `ase-arch-discover`.
|
|
@@ -39,7 +39,7 @@ to <getopt-option-count/>; if <getopt-option-count/> is *non-numeric* or
|
|
|
39
39
|
|
|
40
40
|
<flow>
|
|
41
41
|
|
|
42
|
-
1. <step id="STEP 1:
|
|
42
|
+
1. <step id="STEP 1: Restate Thesis">
|
|
43
43
|
|
|
44
44
|
Begin a *round* of fortification and consolidating reasoning. On
|
|
45
45
|
the first visit, set <i>1</i> (set round counter to one); on each
|