virtual-reading-group

TotalClaw 作者 totalclaw

协调一个多代理虚拟学术阅读小组。在阅读多篇论文、生成专家讨论笔记、交叉检查论文中的立场以及综合带有完整引文的综合摘要时使用。触发分析学术文献、进行论文讨论、创建阅读小组会议或综合多个来源的研究的请求。支持 1-50 篇具有可配置专家角色的论文(1-4 篇论文有效,但会产生更简单的单专家输出)。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw skills install shop:totalclaw:totalclaw~isonaei-virtual-reading-group
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~isonaei-virtual-reading-group/file -o isonaei-virtual-reading-group.md
## 概述(中文)

协调一个多代理虚拟学术阅读小组。在阅读多篇论文、生成专家讨论笔记、交叉检查论文中的立场以及综合带有完整引文的综合摘要时使用。触发分析学术文献、进行论文讨论、创建阅读小组会议或综合多个来源的研究的请求。支持 1-50 篇具有可配置专家角色的论文(1-4 篇论文有效,但会产生更简单的单专家输出)。

## 原文

# Virtual Reading Group

Orchestrate parallel expert agents to read papers, discuss findings, challenge each other's interpretations, and synthesize an integrated discussion document with traceable citations.

## Quick Start

Minimum inputs required:
1. **Research question** — the lens through which papers are analyzed
2. **Paper list** — paths to PDFs/text files, or paper descriptions for web lookup
3. **Output directory** — where all outputs are written

Optional inputs:
- Custom expert personas (default: see `references/default-personas.md`)
- Custom junior researcher persona
- Language preference (default: English)
- Number of experts (default: auto-calculated from paper count)

## Workflow Overview

The skill runs 4 sequential phases. Each phase must complete before the next begins.

| Phase | Agents | Input | Output |
|-------|--------|-------|--------|
| 1. Paper Reading | N experts (parallel) | Papers + research question | `{AuthorYear}_notes.md`, `{Expert}_session_summary.md` |
| 2. Junior Discussion | 1 junior researcher | All Phase 1 outputs | `{Junior}_discussion.md` |
| 3. Expert Responses | N experts (parallel) | Phase 2 output + other experts' summaries | `{Expert}_response_to_{Junior}.md` |
| 4. Synthesis | 1 synthesizer | All previous outputs | `Integrated_Discussion_Summary.md` |

**For detailed prompts and phase specifications**: Read `references/workflow.md`.

## Orchestration Procedure

> ⚠️ **Important:** The prompts below are **abbreviated summaries**. For full prompt templates that produce quality output, use `references/workflow.md`. The pseudocode blocks show orchestration structure — adapt to your actual sub-agent spawning mechanism.

### 1. Validate Inputs

```
- Confirm research question is specified
- Confirm paper list is non-empty
- Confirm output directory exists or create it
- Load personas from user input or references/default-personas.md
```

### 2. Calculate Expert Assignment

Determine number of experts and paper batches:

```
if paper_count <= 4:
    num_experts = 1
elif paper_count <= 10:
    num_experts = 2
elif paper_count <= 20:
    num_experts = min(4, ceil(paper_count / 5))
else:
    num_experts = min(8, ceil(paper_count / 5))

Distribute papers evenly across experts (max 5 per expert).

# ⚠️ Context contamination warning: assigning >5 papers per expert degrades
# note quality — later papers in the batch get shallower treatment as context
# fills up. Prefer 3-5 papers per agent for best results.
```

### 3. Execute Phase 1 — Paper Reading (Parallel)

For each expert, spawn a sub-agent with:
- **Label:** `expert-reader-{expert_name}`
- **Model:** opus (or sonnet for budget)
- **Core instructions:**
  - Read assigned papers through research question lens
  - Write notes using `references/paper-notes-template.md`
  - Save as `{output_dir}/{AuthorYear}_notes.md`
  - Write session summary with cross-cutting themes
  - **Critical:** Quote specific passages with section labels — all claims must be traceable

📄 **Full prompt template:** See `references/workflow.md` → Phase 1

**Wait for all Phase 1 agents to complete before proceeding.**

### 4. Execute Phase 2 — Junior Discussion (Single Agent)

Spawn single agent with:
- **Label:** `junior-discussion`
- **Model:** opus (required — needs strong reasoning)
- **Core instructions:**
  - Read all Phase 1 outputs (notes + summaries)
  - For each paper: summarize claims, pose challenging questions to each expert
  - Generate Grand Questions: 3 unsolved problems, 2 testable hypotheses, 2 methodological gaps
  - Reference specific passages — be intellectually provocative

📄 **Full prompt template:** See `references/workflow.md` → Phase 2

**Wait for Phase 2 to complete before proceeding.**

### 5. Execute Phase 3 — Expert Responses (Parallel)

For each expert, spawn a sub-agent with:
- **Label:** `expert-response-{expert_name}`
- **Model:** opus (recommended)
- **Core instructions:**
  - Read junior's discussion + other experts' summaries + own notes
  - Respond to each question directed at them (150-300 words per response)
  - Reference specific paper passages, engage with other expert's perspective
  - Respond to Grand Questions from their domain expertise
  - Be collegial but intellectually rigorous — disagree where warranted

📄 **Full prompt template:** See `references/workflow.md` → Phase 3

**Wait for all Phase 3 agents to complete before proceeding.**

### 6. Execute Phase 4 — Synthesis (Single Agent)

Spawn single agent with:
- **Label:** `synthesis`
- **Model:** opus (required — complex reasoning)
- **Core instructions:**
  - Read ALL files from Phases 1-3
  - Follow `assets/synthesis-template.md` structure
  - Organize by THEME, not by paper or speaker
  - Every claim attributed: `[Expert_A]`/`[Expert_B]`/`[Junior]` + `(PaperCode, §Section)`
  - Include: Points of Consensus, Points of Disagreement, Open Questions
  - **Synthesize, don't summarize** — find the intellectual threads

📄 **Full prompt template:** See `references/workflow.md` → Phase 4

### 7. Report Completion

List all generated files and provide a brief summary of the discussion themes.

## Iteration and Follow-up

### Deeper Discussion

If user wants experts to expand on specific points:
1. Spawn new expert response agent(s) with targeted follow-up questions
2. Re-run Phase 4 synthesis including the additional responses

### Second Round

For a full second round (new questions, new responses):
1. Rename Phase 2-4 outputs with round suffix (e.g., `Chen_discussion_r1.md`)
2. Re-run Phase 2 with instruction to build on previous round
3. Continue through Phases 3-4

### Recovery from Partial Run

If a phase fails:
1. Check error handling in `references/workflow.md`
2. Retry failed agent(s) individually  
3. Continue from last successful phase (outputs are saved incrementally)

## File Naming Conventions

| File Type | Pattern | Example |
|-----------|---------|---------|
| Paper notes | `{FirstAuthorLastName}{Year}_notes.md` | `Chen2024_notes.md` |
| Expert summary | `{ExpertLastName}_session_summary.md` | `Lin_session_summary.md` |
| Junior discussion | `{JuniorLastName}_discussion.md` | `Chen_discussion.md` |
| Expert response | `{ExpertLastName}_response_to_{JuniorLastName}.md` | `Lin_response_to_Chen.md` |
| Synthesis | `Integrated_Discussion_Summary.md` | — |

## Citation Requirements

**Enforce in all agent prompts:**

1. Every factual claim must reference a paper
2. Use format: `(AuthorYear, §Section)` or `(AuthorYear, p.X)`
3. Direct quotes must include section/page
4. Discussion claims must attribute speaker: `[Expert_A]`, `[Expert_B]`, `[Junior]`

### ⚠️ Anti-Fabrication Rule (Critical)

**Never fabricate citations.** If an agent cannot find the exact passage in the source text:
- Leave the field blank or write `<!-- source not found -->`
- Do NOT paraphrase and present it as a quote
- Do NOT infer what the paper "probably says"

Fabricated citations are worse than missing citations — they corrupt the knowledge base silently. **Accuracy > Coverage.**

### No Source = No Notes

If a paper has no PDF or markdown source available:
- Write a placeholder note with status `📭 未讀`
- Leave all content sections blank
- Do NOT attempt to write notes from memory or web search results

Only write substantive notes when the actual source document is accessible.

## Scaling Guidelines

| Papers | Experts | Batches | Estimated Time |
|--------|---------|---------|----------------|
| 1-6 | 1 | 1 | 15-20 min |
| 7-12 | 2 | 2 | 20-30 min |
| 13-24 | 3-4 | 3-4 | 30-45 min |
| 25-50 | 4-8 | 5-8 | 45-90 min |

## Customization

### Custom Personas

Replace default personas by providing:

```markdown
Expert A: Dr. [Name], [Role]. Background in [X]. 
Emphasizes [methodology/perspective]. Skeptical of [Y].
Tone: [collegial/rigorous/provocative]