本文へ移動
cccskills
無料GitHub で公開

ase-meta-quorum

Query multiple foreign AIs in parallel and synthesize a consensus ("quorum") answer with a consensus rating. Use when the user wants a quorum, a consensus answer, or the opinions of multiple AIs on a question.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md8.2 KB
  • help.md2.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md

<purpose name="ase-meta-quorum"> Query Multiple AIs for Quorum Answer </purpose>

<expand name="getopt" arg1="ase-meta-quorum" arg2="--models|-m=(all|chatgpt|gemini|deepseek|grok|glm|qwen|claude|codex|copilot)..."> $ARGUMENTS </expand>

<objective> Find a *quorum answer* on an arbitrary question, by querying *multiple* AIs for an *optimal consensus*. </objective> <flow>
  1. <step id="STEP 1: Preview Own Answer">

    The user-selectable foreign models are restricted by the --models/-m option, parsed into <getopt-option-models/> as a comma-separated list of model tokens. The getopt parser validates only the first token, so you MUST validate each remaining token yourself against the allowed set all, chatgpt, gemini, deepseek, grok, glm, qwen, claude, codex, copilot. If any token is not in this set, bind <token/> to that offending token, then only output the following <template/> and then immediately STOP processing the entire current skill:

    <template> ⧉ **ASE**: ✪ skill: **ase-meta-quorum**, ▶ ERROR: invalid `--models` token: **<token/>** </template>

    Prepare the LLM query by setting <query/> to the following <template/>:

    <template> <getopt-arguments/>. Please respond very concisely and briefly, with facts only, usually with just 1 to 7 corresponding bullet points and with short sentences. Optionally, mention potential cruxes which should be noticed. Besides bullet points, do not provide any additional explanations. Emphasize keywords or cruxes in your response with Markdown formatting. Format code parts with Markdown formatting. </template>

    For yourself (Anthropic Claude), first answer this <query/> in advance yourself by showing your own answer to the query as a sneak preview. For this, output the following <template/>:

    <template> **Anthropic Claude** (sneak preview in advance): - [...] - [...] </template> </step>
  2. <step id="STEP 2: Query Foreign AIs">

    The default is the single token all. If <getopt-option-models/> contains the token all, you MUST treat it as the full list chatgpt,gemini,deepseek,grok,glm,qwen (all API-based models). The harness-based models claude, codex, and copilot are never part of all and are queried only when their token is given explicitly (in addition to all, if wished). Anthropic Claude (yourself) is always included, independent of this option.

    <define name="agent"> Call the `Agent` tool:
        Agent(
            description:       "Query Foreign LLM: <arg1/>",
            subagent_type:     "ase:ase-meta-chat",
            prompt:            "<arg2/> <query/>",
            run_in_background: false
        )
    
    </define>

    Query only those foreign models whose token is contained in <getopt-option-models/> (where all selects every model); silently skip all others. Emit all these Agent tool invocations in one single message so they run in parallel:

    <if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `chatgpt`"> <expand name="agent" arg1="OpenAI ChatGPT" arg2="chatgpt"></expand> </if> <if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `gemini`"> <expand name="agent" arg1="Google Gemini" arg2="gemini"></expand> </if> <if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `deepseek`"> <expand name="agent" arg1="DeepSeek" arg2="deepseek"></expand> </if> <if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `grok`"> <expand name="agent" arg1="xAI Grok" arg2="grok"></expand> </if> <if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `glm`"> <expand name="agent" arg1="Z.AI GLM" arg2="glm"></expand> </if> <if condition="<getopt-option-models/> contains `all` OR <getopt-option-models/> contains `qwen`"> <expand name="agent" arg1="Alibaba Qwen" arg2="qwen"></expand> </if> <if condition="<getopt-option-models/> contains `claude`"> <expand name="agent" arg1="Anthropic Claude (harness)" arg2="claude"></expand> </if> <if condition="<getopt-option-models/> contains `codex`"> <expand name="agent" arg1="OpenAI Codex" arg2="codex"></expand> </if> <if condition="<getopt-option-models/> contains `copilot`"> <expand name="agent" arg1="GitHub Copilot" arg2="copilot"></expand> </if>

    You MUST NOT output anything in this step.

    </step>
  3. <step id="STEP 3: Summarize Responses">

    Agents which returned a response with an ERROR: prefix are silently skipped and are treated as not available.

    Summarize all responses, of both yourself and all available agents, with just 1 to 7 corresponding bullet points and with short sentences.

    You MUST NOT output anything in this step.

    </step>
  4. <step id="STEP 4: Determine Consensus Rating">

    First, count the number of available foreign AIs (those queried in STEP 2 which did not return an ERROR: response). If this count is zero -- i.e., every foreign AI errored out or none were reachable and only yourself (Anthropic Claude) remains -- a quorum is not possible. In this case, set <c></c> and <n></n> to empty and instead set <disagreement/> to (no quorum: no foreign AIs were available), then skip the rest of this step.

    Otherwise, let <n/> be the total number of responders (yourself plus all available foreign AIs above). Then determine, on a Likert scale of 0..<n/>, the amount of the overall consensus <c/> of all the responses. If all responses disagree, the consensus <c/> is zero. If all responses agree, <c/> is <n/>.

    If not all AIs agree, determine <disagreement/> information, formatted as (disagreement: <ai/>, <ai/>, [...]) where <ai/> is a name of an AI which disagreed with the consensus. Else, if all AIs agree, set <disagreement></disagreement>.

    You MUST NOT output anything in this step.

    </step>
  5. <step id="STEP 5: Show Results">

    Finally, show the summary, the consensus, and the complete and unmodified responses of yourself and each of the queried foreign AIs, based on the following output <template/>:

    <template> **QUESTION**: <getopt-arguments/>

    ● CONSENSUS ANSWER:

    • [...]
    • [...]

    CONSENSUS RATE: <c/>/<n/> <disagreement/>

    ○ Anthropic Claude:

    • [...]
    • [...]

    ○ OpenAI ChatGPT:

    • [...]
    • [...]

    ○ Google Gemini:

    • [...]
    • [...]

    ○ DeepSeek:

    • [...]
    • [...]

    ○ xAI Grok:

    • [...]
    • [...]

    ○ Z.AI GLM:

    • [...]
    • [...]

    ○ Alibaba Qwen:

    • [...]
    • [...]

    ○ Anthropic Claude (harness):

    • [...]
    • [...]

    ○ OpenAI Codex:

    • [...]
    • [...]

    ○ GitHub Copilot:

    • [...]
    • [...] </template>

    In this output, when a quorum was not possible (see STEP 4), render the consensus rate line instead as just **CONSENSUS RATE**: *n/a* <disagreement/> (omitting the <c/>/<n/> fraction), as a single AI cannot form a consensus.

    In this output, remove the sections of those AIs which were not queried (excluded via --models/-m) or were not available. You MUST NOT output any further explanations yourself.

    </step>
</flow>

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Review software architecture, including package cohesion and inter-package coupling

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月13日 更新

Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月13日 更新

Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency, or security.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月13日 更新

Craft Source Code: Use when user wants to "create", "add", or "craft" a new feature from scratch.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月13日 更新

Edit Source Code: Use when the user wants to "edit" the code base in one shot from a query or a bare analyzer issue id like "P1", fusing crafting, refactoring, and resolving with optional grilling, verification, looping, and Git worktree isolation.

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月13日 更新

Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user asks "how does this work?"

日本語の概要は準備中です。原文の説明を表示しています。

rse/ase602026年10月13日 更新

rse のスキルをすべて見る

このスキルの問題を報告する