Token导航 LogoToken导航

Agent Skill · 研究检索

doing-a-simple-two-stage-fanout(做一个简单的两级扇出)

doing-a-simple-two-stage-fanout 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

doing-a-simple-two-stage-fanout 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 72,863。

总安装 186周安装 8GitHub Stars 176下载 65核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:doing-a-simple-two-stage-fanout(做一个简单的两级扇出)
来源仓库:https://github.com/ed3dai/ed3d-plugins
仓库路径:skills/doing-a-simple-two-stage-fanout
安装命令:
npx skills add https://github.com/ed3dai/ed3d-plugins --skill doing-a-simple-two-stage-fanout
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ed3dai/ed3d-plugins --skill doing-a-simple-two-stage-fanout

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

doing-a-simple-two-stage-fanout 采用两级扇出分析:先分片由 Worker 处理,再由 Critic 复核。它将语料库分配给多个 Worker,每个 Critic 审查对应子集的报告,最后 Summarizer 合成结果。

每阶段均写入文件,确保可追溯性,适用于大规模文本分析与证据交叉验证场景。安装前应确认是否允许并行调用子代理,并评估对上下文长度与任务拆分的限制。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/doing-a-simple-two-stage-fanout

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/ed3dai/ed3d-plugins --skill doing-a-simple-two…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

doing-a-simple-two-stage-fanout 怎么安装?

在终端执行 npx skills add https://github.com/ed3dai/ed3d-plugins --skill doing-a-simple-two-stage-fan…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

doing-a-simple-two-stage-fanout 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

doing-a-simple-two-stage-fanout 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

doing-a-simple-two-stage-fanout 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

doing-a-simple-two-stage-fanout 用的人多吗?

公开数据是累计安装 186 次,近一周安装 8 次,下载 65 次,GitHub 176 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

doing-a-simple-two-stage-fanout 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
doing-a-simple-two-stage-fanout

做一个简单的两级扇出 · 本页

186176只读未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Two-Stage Fan-Out Analysis

Divide a corpus across Worker subagents, review with Critic subagents, synthesize with a Summarizer. Every stage writes to files; every subagent gets its own task.

Overview

Corpus → [Workers] → [Critics] → Summarizer → Report

Workers each analyze a slice of the corpus. Critics each review all Worker reports for a subset of segments, checking for gaps and inconsistencies. A single Summarizer reads all Critic reports and produces the final output.

Step 0: Gather Inputs

If the user's intent is not already clear, ask two questions using AskUserQuestion:

Question 1: What to analyze. Ask what corpus to analyze and what the analysis goal is. Skip if obvious from context.

Question 2: Effort level. Present these options in this order (do not reorder to put recommended first):

LevelSEGMENTS_PERREVIEWS_PERWhen to use
Some effort32Default for most analyses
A lot of effort33When thoroughness matters more than speed
Herculean effort23When you cannot afford to miss anything

Recommend one if you have enough context, by appending "(Recommended)" to that option's label. But keep the options in the order shown above regardless.

Definitions:

  • SEGMENTS_PER — how many corpus segments each Worker processes
  • REVIEWS_PER — how many independent Critic reviews each segment receives

Step 1: Compute the Layout

You need to determine how many segments, workers, and critics the analysis requires. This depends on corpus size and agent context capacity.

Estimating Corpus Size

If you have file paths, estimate tokens:

  • Prose: 1 token per 4 characters
  • Source code: 1 token per 3 characters
  • By word count: 1 word is roughly 1.33 tokens

Use the Bash tool to count characters: wc -c file1 file2... or find /path -type f -exec cat {} + | wc -c.

For more precise estimates, run the compute_layout.py script bundled with this skill:

python3 /path/to/compute_layout.py --corpus-chars 800000 --segments-per 3 --reviews-per 2
python3 /path/to/compute_layout.py --corpus-files file1.txt file2.txt --segments-per 3 --reviews-per 2
python3 /path/to/compute_layout.py --corpus-tokens 200000 --segments-per 3 --reviews-per 2 --json

Computing Manually

If you cannot run the script, compute by hand. Use the Bash tool with python3 -c "..." for all arithmetic — do not compute in your head.

Agent capacity:

AGENT_CONTEXT  = 200,000 tokens
RESERVED       = 35%  (for prompt, reasoning, output)
AVAILABLE      = AGENT_CONTEXT * 0.65 = 130,000 tokens
SEGMENT_BUDGET = AVAILABLE / SEGMENTS_PER

Segment count:

OVERLAP  = 10% of SEGMENT_BUDGET
STRIDE   = SEGMENT_BUDGET - OVERLAP
SEGMENT_COUNT = ceil((CORPUS_TOKENS - SEGMENT_BUDGET) / STRIDE) + 1

If CORPUS_TOKENS <= SEGMENT_BUDGET, then SEGMENT_COUNT = 1 (no fan-out needed).

Agent counts:

WORKER_COUNT = ceil(SEGMENT_COUNT / SEGMENTS_PER)
TOTAL_CRITIC_ASSIGNMENTS = SEGMENT_COUNT * REVIEWS_PER
CRITIC_COUNT = ceil(TOTAL_CRITIC_ASSIGNMENTS / SEGMENTS_PER)

What These Numbers Mean

  • Each Worker reads SEGMENTS_PER consecutive segments of raw corpus and writes an analysis report.
  • Each Critic reads all Worker reports that cover a subset of segments and writes a review.
  • Each segment gets reviewed by REVIEWS_PER different Critics (redundancy for thoroughness).

Assigning Critics to Segments

The critic count tells you how many critics to create, but you also need to decide which segments each critic reviews. Use round-robin assignment to distribute REVIEWS_PER critic passes evenly across segments:

For each segment S (1 to SEGMENT_COUNT):
    Assign REVIEWS_PER different critics to review S
    Rotate through critics: critic index = (S * review_pass + offset) % CRITIC_COUNT

In practice, use python3 -c "..." to generate the assignment table. Example for 6 segments, 4 critics, REVIEWS_PER=2:

C01 reviews: S01, S03, S05
C02 reviews: S02, S04, S06
C03 reviews: S01, S04, S06
C04 reviews: S02, S03, S05

Each segment appears in exactly 2 critics' lists. Each critic reads the Worker reports that cover its assigned segments. Include this assignment table in the orchestration plan so the mapping is explicit and verifiable.

Step 2: Set Up the Temp Directory

If the user specified a working directory, use it. Otherwise, create one:

WORK_DIR=$(mktemp -d -t fanout-XXXXXX)
mkdir -p "$WORK_DIR/segments" "$WORK_DIR/workers" "$WORK_DIR/critics"

All paths in prompts and file references are absolute paths. Subagents cannot resolve relative paths reliably.

Step 3: Enter Plan Mode and Write the Orchestration Plan

Enter plan mode. Write a plan document that includes:

  1. Layout summary: corpus size, segment count, worker count, critic count, effort level
  2. Fan-out diagram: a Mermaid diagram showing the pipeline (see diagram-templates.md for syntax). For large layouts (>10 workers), collapse worker ranges (e.g., W01-W10) into summary nodes. If the user requests Graphviz instead, use the DOT template from the same file.
  3. Worker assignment table: which segments each Worker handles (e.g., W01: S01-S03)
  4. Critic assignment table: which segments each Critic reviews, generated using the round-robin method from Step 1. Verify that each segment appears exactly REVIEWS_PER times across all critics.
  5. Stage descriptions: for each stage (Workers, Critics, Summarizer), describe what agents will do, their input/output paths, and which agents run in parallel
  6. File layout: show the directory tree that will be produced

Do not include time estimates in the plan. Agent execution time is unpredictable and estimates are misleading.

Exit plan mode. Do not proceed until the user approves the plan.

Diagram Guidelines

Worker nodes should show their segment assignments: W01<br/>S01-S03. Critic nodes show their review scope. Cap visible nodes at ~15; collapse ranges for larger layouts. See diagram-templates.md for full Mermaid and Graphviz templates with styling.

Step 4: Create All Tasks

Before launching any subagents, create ALL tasks upfront using TaskCreate:

  • One task per Worker (W01, W02,...)
  • One task per Critic (C01, C02,...)
  • One task for the Summarizer

Then set up dependencies with TaskUpdate addBlockedBy:

  • Each Critic task is blocked by the Worker tasks whose segments it reviews
  • The Summarizer task is blocked by all Critic tasks

This creates the full dependency graph before any work starts.

Step 5: Launch Workers

Mark Worker tasks as in_progress, then launch all Workers in parallel (one Task tool call per worker, all in the same message).

Worker Prompt Template

Each Worker gets a prompt structured like this:

You are {WORKER_NAME}, a corpus analysis worker.

## Your Assignment
Analyze segments {FIRST_SEG} through {LAST_SEG} of the corpus.

## Input
Read these files:
- {ABSOLUTE_PATH_TO_SEGMENT_FILE_1}
- {ABSOLUTE_PATH_TO_SEGMENT_FILE_2}
- ...

## Analysis Goal
{WHAT_THE_USER_WANTS_ANALYZED}

## Output Format
Write your report to: {ABSOLUTE_PATH_TO_WORK_DIR}/workers/{WORKER_NAME}.md

Structure your report as:

### Summary
2-3 sentence overview of findings for your segments.

### Detailed Findings
For each significant finding:
- **Finding**: one-line description
- **Location**: file/section where found
- **Evidence**: relevant quote or reference
- **Significance**: why this matters

### Segment Coverage
List each segment you analyzed and confirm you read it completely.
If any segment was too large to process fully, state which parts you skipped.

Adapt the analysis goal and output format to match what the user asked for. The template above is a starting point — be specific about what constitutes a "finding" for this particular analysis.

After Workers Complete

Verify each worker wrote its output file:

ls -la "$WORK_DIR/workers/"

Mark completed Worker tasks as completed. If any Worker failed or did not produce output, see Failure Recovery below.

Step 6: Launch Critics

Mark Critic tasks as in_progress, then launch all Critics in parallel.

Critic Prompt Template

You are {CRITIC_NAME}, reviewing Worker analyses for segments {SEG_RANGE}.

## Input
Read these Worker reports:
- {ABSOLUTE_PATH_TO_WORK_DIR}/workers/{WORKER_1}.md
- {ABSOLUTE_PATH_TO_WORK_DIR}/workers/{WORKER_2}.md
- ...

## Your Task
1. Read all Worker reports listed above.
2. Evaluate completeness: did the Workers cover their segments thoroughly?
3. Identify cross-segment patterns the Workers may have missed individually.
4. Flag contradictions between Worker reports.
5. Note any gaps — segments or topics that were under-analyzed.

## Output Format
Write your review to: {ABSOLUTE_PATH_TO_WORK_DIR}/critics/{CRITIC_NAME}.md

Structure your review as:

### Cross-Segment Patterns
Themes or findings that span multiple Workers' segments.

### Quality Assessment
For each Worker report you reviewed:
- Coverage: complete / partial / insufficient
- Accuracy: any factual issues or misinterpretations

### Gaps and Contradictions
Anything missing or conflicting across reports.

### Consolidated Key Findings
The most important findings from the segments you reviewed, after accounting for quality.

After Critics Complete

Verify output files and mark tasks completed. Handle failures per Failure Recovery.

Step 7: Launch Summarizer

Mark the Summarizer task as in_progress. Launch a single Summarizer subagent.

Summarizer Prompt Template

You are the Summarizer, producing the final analysis report.

## Input
Read all Critic reviews:
- {ABSOLUTE_PATH_TO_WORK_DIR}/critics/{CRITIC_1}.md
- {ABSOLUTE_PATH_TO_WORK_DIR}/critics/{CRITIC_2}.md
- ...

You may also reference Worker reports for detail:
- {ABSOLUTE_PATH_TO_WORK_DIR}/workers/*.md

## Your Task
Synthesize all Critic reviews into a single cohesive report. Prioritize the Critics' consolidated findings and cross-segment patterns.

## Output
Write the final report to: {ABSOLUTE_PATH_TO_WORK_DIR}/final-report.md

Structure:

### Executive Summary
3-5 sentences: what was analyzed, what was found, what matters most.

### Key Findings
The most significant findings, ordered by importance. Each finding should include supporting evidence from the Critic and Worker reports.

### Detailed Analysis
Full narrative organized by theme or topic.

### Methodology Notes
- Corpus size, segment count, agent layout
- Any gaps, failures, or limitations encountered during analysis

### Appendix
- List of all Worker and Critic reports with paths

The Summarizer should return a brief (2-3 sentence) summary of findings to you, and defer the full explanation to the written file. Return the file path to the user.

Failure Recovery

Context Limit Failures

If a subagent fails because it hit its context limit:

  1. Split its work in half.
  2. For Workers: create two new workers with half the segments each. Name them by appending a letter: W03a, W03b.
  3. For Critics: create two new critics with half the review scope. Name them C01a, C01b.
  4. Create new tasks for the split agents, with the same dependencies as the original.
  5. Mark the original task as completed (it was replaced, not failed).
  6. Launch the new agents.

Missing Output Files

If a subagent completes but its output file does not exist:

  1. Retry once with the same prompt.
  2. If it fails again, note the gap in the Summarizer prompt so it can account for missing coverage.

Stuck Detection

If you have retried the same agent 3 times with similar failures, stop. Report what you expected, what happened, and what assumption might be wrong. Do not keep retrying.

Quick Reference

ParameterSome EffortA Lot of EffortHerculean
SEGMENTS_PER332
REVIEWS_PER233
Agent context reserved35%35%35%
Segment overlap10%10%10%
Default agent typesonnet-general-purposesonnet-general-purposesonnet-general-purpose
Agent NamingConvention
WorkersW01, W02,... W99
Split workersW03a, W03b
CriticsC01, C02,... C99
Split criticsC01a, C01b
Summarizer(just "Summarizer")

Absolute Path Rule

Every file path in every subagent prompt is an absolute path. Subagents do not inherit your working directory. If you write /tmp/fanout-abc123/workers/W01.md, that exact string appears in the prompt — never ./workers/W01.md or workers/W01.md.

Checklist

Create a task (TaskCreate) for every item below. Mark each in_progress before starting it, completed after finishing. Do not skip items or batch them.

  • Ask user for analysis goal (or confirm from context)
  • Ask user for effort level
  • Estimate corpus size (use Bash wc -c for character counts)
  • Compute layout (run compute_layout.py or use Bash python3 -c "..." — never mental math)
  • Generate critic-to-segment assignment table (use python3 -c "...")
  • Create temp directory with segments/, workers/, critics/ subdirectories
  • Enter plan mode and write orchestration plan with diagram, assignment tables, and file layout
  • Exit plan mode and get user approval
  • Create all subagent tasks (one per Worker, Critic, Summarizer) with dependencies
  • Launch Workers in parallel; verify output files exist with ls
  • Launch Critics in parallel; verify output files exist with ls
  • Launch Summarizer; verify output file exists
  • Return report path to user

平台分布

Codex

34.95%
按下载量换算23

Claude

30.41%
按下载量换算20

Cursor

19.52%
按下载量换算13

Gemini CLI

8.19%
按下载量换算5

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills