/agentsop-agent-topology-selection
Cross-framework enhancement overlay for choosing a multi-agent topology BEFORE writing any agent. A binary-question rubric — is single-agent + tools enough? do agents need to know about each other? does the output need one voice? — maps the answer to single-agent / supervisor /
$ npx -y skills add agentsope/SkillAlchemy --skill agentsop-agent-topology-selection --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/agentsop-agent-topology-selection
Context preview
The summary Claude sees to decide when to auto-load this skill.
Cross-framework enhancement overlay for choosing a multi-agent topology BEFORE writing any agent. A binary-question rubric — is single-agent + tools enough? do agents need to know about each other? does the output need one voice? — maps the answer to single-agent / supervisor /
SKILL.md
agentsop-agent-topology-selection.SKILL.mdname: agentsop-agent-topology-selection
version: 0.1.0
description: >-
Cross-framework enhancement overlay for choosing a multi-agent topology BEFORE writing any
agent. A binary-question rubric — is single-agent + tools enough? do agents need to know
about each other? does the output need one voice? — maps the answer to single-agent /
supervisor / swarm / sequential / hierarchical. Activates when a coder agent is tempted to
"split the work into roles" or reaches for a multi-agent framework. Encodes the *selection
rubric* that the per-framework skills assume but never surface. Search keywords: when to
use multi-agent, single vs multi agent, do I need multiple agents, supervisor vs swarm,
multi-agent vs single agent, agent team design.
overlay: true
cross_links: [crewai, langgraph, bounded-loop]
Multi-Agent Topology Selection · SOP (ENHANCE overlay)
> Overlay posture: this skill decides *whether and which* topology. It does not > teach the API — descend to `[[crewai]]` or `[[agentsop-langgraph]]` for that. Every > load-bearing claim carries an inline source tag resolving in > `references/R1-source-evidence.md`.
---
1. 何时激活 (When to Activate)
Activate when **any** of the following fire:
- The task description contains "team of agents", "researcher + writer + reviewer",
"manager agent", "agents that hand off", "split this into roles", or "multi-agent".
- A coder agent is about to instantiate ≥2 agents (CrewAI `Agent(...)` × N,
LangGraph supervisor/swarm, OpenAI Swarm handoffs) and has **not yet** justified why a single agent with tools is insufficient.
- Someone is choosing between CrewAI `Process.sequential` vs `Process.hierarchical`,
or LangGraph supervisor vs swarm vs hierarchical-teams, and wants the *rubric*, not the syntax.
- A multi-agent system is over budget on tokens/latency and the question is "can we
collapse agents back into one?".
Do **not** activate for: a single LLM call, a one-shot RAG query, or a fixed tool-call pipeline with no role separation. Those are the single-agent baseline this skill defends.
> Mental check: *"An agent needs agency, otherwise it's just another script."* > — João Moura, CrewAI founder `[[crewai · §1.3]]`. If you can write the control > flow in `if/else`, you do not need multiple agents — you need one agent (or a > graph) with explicit edges.
---
2. 核心心智模型 (Core Mental Model)
**Most "multi-agent" problems are single-agent + tools.** Add agents only when *context isolation* or *parallel expertise* genuinely demands it.
> "Single-agent is right for approximately 80% of cases; the trap is reaching for > multi-agent because it sounds more capable." `[[crewai · DC-1]]`
Two — and only two — forces justify a second agent:
1. **Context isolation.** One agent's working context would pollute another's (a critic that must not see its own draft's rationalisations; a tool-heavy sub-task whose 40 intermediate tool calls should not bloat the main thread). Splitting gives each agent a clean, bounded prompt. 2. **Parallel expertise.** Two *genuinely different* skills run concurrently or in strict sequence (research → write → review), where a single prompt provably cannot hold both jobs without quality collapse `[[crewai · DC-1]]`.
If neither force is present, **a single agent with the union of tools wins** — fewer hops, fewer tokens, no handoff failures. This is the baseline the rubric must beat, not the default to escape.
The selection rubric (three binary questions)
Q0 Is single-agent + tools enough?
(no context-isolation need, no parallel-expertise need)
YES → single-agent + tools. STOP. Do not add agents.
NO → ↓
Q1 Do the agents need to KNOW ABOUT EACH OTHER (peer handoff)?
NO → one funnels through a coordinator → SUPERVISOR
(or static order → SEQUENTIAL, if order is fixed)
YES → ↓
Q2 Must the OUTPUT speak with ONE VOICE / single audit funnel?
YES → SUPERVISOR (single user-facing persona, one funnel)
NO → SWARM (dynamic peer handoff, last-active agent remembered)
Scaling override: ≥6 specialists that group into teams → HIERARCHICAL
(supervisor-of-supervisors). Use only for grouping, not for routing.The two questions that actually separate the patterns: **(a) can sub-agents know each other, (b) is one user-facing voice mandated.** Everything else is tuning `[[langgraph · Case 2]]`.
---
3. SOP 工作流 (Selection Protocol)
Walk top-down. Each gate can send you *back down* the ladder — collapsing agents is as valid an answer as adding them.
Step 1 · Defend the single-agent baseline first
Ask Q0. Enumerate the would-be roles. For each, ask: *would merging it into one agent's prompt + toolset actually degrade output?* If you cannot point to a concrete failure mode (style drift, missed checklist, context bloat, parallel latency), the honest answer is single-agent + tools. Exit here ~80% of the time `[[crewai · DC-1]]`.
Step 2 · If splitting, decide static vs dynamic routing
- **Order is fixed and known at design time** (research always precedes write
precedes review) → **SEQUENTIAL**. Cheapest, most debuggable, 1× token baseline `[[crewai · §2.3]]`. In CrewAI this is `Process.sequential`; in LangGraph it is static edges A→B→C.
- **Routing must be decided at runtime** (which specialist handles *this* query) →
you need a coordinator or peer handoff → continue to Step 3.
Step 3 · Coordinator (supervisor) vs peers (swarm)
Ask Q1 then Q2.
- Agents that do **not** know each other and funnel through one router →
**SUPERVISOR**. Sub-agents are effectively tools the supervisor calls; the supervisor "translates" their output back to the user — which is *exactly* why it costs the most tokens `[[langgraph · Step 4]]`.
- Agents that **do** know each other and **no** single voice is mandated →
**SWARM**. Dynamic handoff, last-active agent stays active across turns, no translation step →
Read more
name: agentsop-agent-topology-selection version: 0.1.0 description: >- Cross-framework enhancement overlay for choosing a multi-agent topology BEFORE writing any agent. A binary-question rubric — is single-agent + tools enough? do agents need to know about each other? does the output need one voice? — maps the answer to single-agent / supervisor / swarm / sequential / hierarchical. Activates when a coder agent is tempted to "split the work into roles" or reaches for a multi-agent framework. Encodes the *selection rubric* that the per-framework skills assume but never surface. Search keywords: when to use multi-agent, single vs multi agent, do I need multiple agents, supervisor vs swarm, multi-agent vs single agent, agent team design. overlay: true cross_links: [crewai, langgraph, bounded-loop]
Multi-Agent Topology Selection · SOP (ENHANCE overlay)
> Overlay posture: this skill decides *whether and which* topology. It does not > teach the API — descend to `[[crewai]]` or `[[agentsop-langgraph]]` for that. Every > load-bearing claim carries an inline source tag resolving in > `references/R1-source-evidence.md`.
---
1. 何时激活 (When to Activate)
Activate when **any** of the following fire:
- The task description contains "team of agents", "researcher + writer + reviewer",
"manager agent", "agents that hand off", "split this into roles", or "multi-agent".
- A coder agent is about to instantiate ≥2 agents (CrewAI `Agent(...)` × N,
LangGraph supervisor/swarm, OpenAI Swarm handoffs) and has **not yet** justified why a single agent with tools is insufficient.
- Someone is choosing between CrewAI `Process.sequential` vs `Process.hierarchical`,
or LangGraph supervisor vs swarm vs hierarchical-teams, and wants the *rubric*, not the syntax.
- A multi-agent system is over budget on tokens/latency and the question is "can we
collapse agents back into one?".
Do **not** activate for: a single LLM call, a one-shot RAG query, or a fixed tool-call pipeline with no role separation. Those are the single-agent baseline this skill defends.
> Mental check: *"An agent needs agency, otherwise it's just another script."* > — João Moura, CrewAI founder `[[crewai · §1.3]]`. If you can write the control > flow in `if/else`, you do not need multiple agents — you need one agent (or a > graph) with explicit edges.
---
2. 核心心智模型 (Core Mental Model)
**Most "multi-agent" problems are single-agent + tools.** Add agents only when *context isolation* or *parallel expertise* genuinely demands it.
> "Single-agent is right for approximately 80% of cases; the trap is reaching for > multi-agent because it sounds more capable." `[[crewai · DC-1]]`
Two — and only two — forces justify a second agent:
1. **Context isolation.** One agent's working context would pollute another's (a critic that must not see its own draft's rationalisations; a tool-heavy sub-task whose 40 intermediate tool calls should not bloat the main thread). Splitting gives each agent a clean, bounded prompt. 2. **Parallel expertise.** Two *genuinely different* skills run concurrently or in strict sequence (research → write → review), where a single prompt provably cannot hold both jobs without quality collapse `[[crewai · DC-1]]`.
If neither force is present, **a single agent with the union of tools wins** — fewer hops, fewer tokens, no handoff failures. This is the baseline the rubric must beat, not the default to escape.
The selection rubric (three binary questions)
Q0 Is single-agent + tools enough?
(no context-isolation need, no parallel-expertise need)
YES → single-agent + tools. STOP. Do not add agents.
NO → ↓
Q1 Do the agents need to KNOW ABOUT EACH OTHER (peer handoff)?
NO → one funnels through a coordinator → SUPERVISOR
(or static order → SEQUENTIAL, if order is fixed)
YES → ↓
Q2 Must the OUTPUT speak with ONE VOICE / single audit funnel?
YES → SUPERVISOR (single user-facing persona, one funnel)
NO → SWARM (dynamic peer handoff, last-active agent remembered)
Scaling override: ≥6 specialists that group into teams → HIERARCHICAL
(supervisor-of-supervisors). Use only for grouping, not for routing.The two questions that actually separate the patterns: **(a) can sub-agents know each other, (b) is one user-facing voice mandated.** Everything else is tuning `[[langgraph · Case 2]]`.
---
3. SOP 工作流 (Selection Protocol)
Walk top-down. Each gate can send you *back down* the ladder — collapsing agents is as valid an answer as adding them.
Step 1 · Defend the single-agent baseline first
Ask Q0. Enumerate the would-be roles. For each, ask: *would merging it into one agent's prompt + toolset actually degrade output?* If you cannot point to a concrete failure mode (style drift, missed checklist, context bloat, parallel latency), the honest answer is single-agent + tools. Exit here ~80% of the time `[[crewai · DC-1]]`.
Step 2 · If splitting, decide static vs dynamic routing
- **Order is fixed and known at design time** (research always precedes write
precedes review) → **SEQUENTIAL**. Cheapest, most debuggable, 1× token baseline `[[crewai · §2.3]]`. In CrewAI this is `Process.sequential`; in LangGraph it is static edges A→B→C.
- **Routing must be decided at runtime** (which specialist handles *this* query) →
you need a coordinator or peer handoff → continue to Step 3.
Step 3 · Coordinator (supervisor) vs peers (swarm)
Ask Q1 then Q2.
- Agents that do **not** know each other and funnel through one router →
**SUPERVISOR**. Sub-agents are effectively tools the supervisor calls; the supervisor "translates" their output back to the user — which is *exactly* why it costs the most tokens `[[langgraph · Step 4]]`.
- Agents that **do** know each other and **no** single voice is mandated →
**SWARM**. Dynamic handoff, last-active agent stays active across turns, no translation step →
Other skills on skillalchemy.
- /LEAP
LEAP — 落地执行引擎。内含两条管线:A 分支蒸馏(从 raw data 提取 skill)、 B 分支融合(多 skill 编织为一个)。被 SkillAlchemy 编排器调用。 Use when 编排器判断需要蒸馏或融合时。
Open skill - /Lens
Lens — 给你的问题加一层认知镜片。输入任意任务描述,输出增强版 description, 发现「你不知道自己不知道」的隐性维度、前置条件和认知路线。 Use when 用户说「帮我想想」「分析一下」「生成 skill」「蒸馏」「融合」 或输入看起来太简单需要展开。
Open skill - /agentsop-aider
SOP for terminal-based, git-native AI pair programming with Aider (git work-tree + tree-sitter repo-map + edit-format + human-in-loop REPL). Use when editing code in an existing git repo via an LLM, when you need to converge a change to 2-5 files, pick an edit format that fits
Open skill - /agentsop-bio-fraud-forensics
Screens biomedical / life-science papers for signs of data fabrication, image manipulation, and statistical anomalies, using the detection techniques distilled from the field's canonical exposure platforms (PubPeer, Data Colada, Science Integrity Digest, For Better Science) and
Open skill - /agentsop-bounded-loop
Universal discipline for any LM-driven loop — agent retries, plan-act-observe, multi-agent handoffs, optimiser passes, test-fix cycles. Encodes the one rule every framework documents quietly and every team relearns expensively: the LM in the loop is NEVER a reliable terminator.
Open skill - /agentsop-code-execution-decision
Decision rubric for when an LM agent should write-and-run code (Program-of-Thought / code interpreter) versus reason in natural language: classify each step as deterministic- computable (emit + execute code, feed the result back) vs judgment (stay in prose). Use when designing
Open skill

