{"skill":{"slug":"virtual-reading-group","displayName":"Virtual Reading Group","summary":"Orchestrate a multi-agent virtual academic reading group. Use when reading multiple papers, generating expert discussion notes, cross-examining positions acr...","description":"---\nname: virtual-reading-group\ndescription: Orchestrate a multi-agent virtual academic reading group. Use when reading multiple papers, generating expert discussion notes, cross-examining positions across papers, and synthesizing integrated summaries with full citations. Triggers on requests to analyze academic literature, run paper discussions, create reading group sessions, or synthesize research across multiple sources. Supports 1-50 papers with configurable expert personas (1-4 papers work but produce simpler single-expert output).\n---\n\n# Virtual Reading Group\n\nOrchestrate parallel expert agents to read papers, discuss findings, challenge each other's interpretations, and synthesize an integrated discussion document with traceable citations.\n\n## Quick Start\n\nMinimum inputs required:\n1. **Research question** — the lens through which papers are analyzed\n2. **Paper list** — paths to PDFs/text files, or paper descriptions for web lookup\n3. **Output directory** — where all outputs are written\n\nOptional inputs:\n- Custom expert personas (default: see `references/default-personas.md`)\n- Custom junior researcher persona\n- Language preference (default: English)\n- Number of experts (default: auto-calculated from paper count)\n\n## Workflow Overview\n\nThe skill runs 4 sequential phases. Each phase must complete before the next begins.\n\n| Phase | Agents | Input | Output |\n|-------|--------|-------|--------|\n| 1. Paper Reading | N experts (parallel) | Papers + research question | `{AuthorYear}_notes.md`, `{Expert}_session_summary.md` |\n| 2. Junior Discussion | 1 junior researcher | All Phase 1 outputs | `{Junior}_discussion.md` |\n| 3. Expert Responses | N experts (parallel) | Phase 2 output + other experts' summaries | `{Expert}_response_to_{Junior}.md` |\n| 4. Synthesis | 1 synthesizer | All previous outputs | `Integrated_Discussion_Summary.md` |\n\n**For detailed prompts and phase specifications**: Read `references/workflow.md`.\n\n## Orchestration Procedure\n\n> ⚠️ **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.\n\n### 1. Validate Inputs\n\n```\n- Confirm research question is specified\n- Confirm paper list is non-empty\n- Confirm output directory exists or create it\n- Load personas from user input or references/default-personas.md\n```\n\n### 2. Calculate Expert Assignment\n\nDetermine number of experts and paper batches:\n\n```\nif paper_count <= 4:\n    num_experts = 1\nelif paper_count <= 10:\n    num_experts = 2\nelif paper_count <= 20:\n    num_experts = min(4, ceil(paper_count / 5))\nelse:\n    num_experts = min(8, ceil(paper_count / 5))\n\nDistribute papers evenly across experts (max 5 per expert).\n\n# ⚠️ Context contamination warning: assigning >5 papers per expert degrades\n# note quality — later papers in the batch get shallower treatment as context\n# fills up. Prefer 3-5 papers per agent for best results.\n```\n\n### 3. Execute Phase 1 — Paper Reading (Parallel)\n\nFor each expert, spawn a sub-agent with:\n- **Label:** `expert-reader-{expert_name}`\n- **Model:** opus (or sonnet for budget)\n- **Core instructions:**\n  - Read assigned papers through research question lens\n  - Write notes using `references/paper-notes-template.md`\n  - Save as `{output_dir}/{AuthorYear}_notes.md`\n  - Write session summary with cross-cutting themes\n  - **Critical:** Quote specific passages with section labels — all claims must be traceable\n\n📄 **Full prompt template:** See `references/workflow.md` → Phase 1\n\n**Wait for all Phase 1 agents to complete before proceeding.**\n\n### 4. Execute Phase 2 — Junior Discussion (Single Agent)\n\nSpawn single agent with:\n- **Label:** `junior-discussion`\n- **Model:** opus (required — needs strong reasoning)\n- **Core instructions:**\n  - Read all Phase 1 outputs (notes + summaries)\n  - For each paper: summarize claims, pose challenging questions to each expert\n  - Generate Grand Questions: 3 unsolved problems, 2 testable hypotheses, 2 methodological gaps\n  - Reference specific passages — be intellectually provocative\n\n📄 **Full prompt template:** See `references/workflow.md` → Phase 2\n\n**Wait for Phase 2 to complete before proceeding.**\n\n### 5. Execute Phase 3 — Expert Responses (Parallel)\n\nFor each expert, spawn a sub-agent with:\n- **Label:** `expert-response-{expert_name}`\n- **Model:** opus (recommended)\n- **Core instructions:**\n  - Read junior's discussion + other experts' summaries + own notes\n  - Respond to each question directed at them (150-300 words per response)\n  - Reference specific paper passages, engage with other expert's perspective\n  - Respond to Grand Questions from their domain expertise\n  - Be collegial but intellectually rigorous — disagree where warranted\n\n📄 **Full prompt template:** See `references/workflow.md` → Phase 3\n\n**Wait for all Phase 3 agents to complete before proceeding.**\n\n### 6. Execute Phase 4 — Synthesis (Single Agent)\n\nSpawn single agent with:\n- **Label:** `synthesis`\n- **Model:** opus (required — complex reasoning)\n- **Core instructions:**\n  - Read ALL files from Phases 1-3\n  - Follow `assets/synthesis-template.md` structure\n  - Organize by THEME, not by paper or speaker\n  - Every claim attributed: `[Expert_A]`/`[Expert_B]`/`[Junior]` + `(PaperCode, §Section)`\n  - Include: Points of Consensus, Points of Disagreement, Open Questions\n  - **Synthesize, don't summarize** — find the intellectual threads\n\n📄 **Full prompt template:** See `references/workflow.md` → Phase 4\n\n### 7. Report Completion\n\nList all generated files and provide a brief summary of the discussion themes.\n\n## Iteration and Follow-up\n\n### Deeper Discussion\n\nIf user wants experts to expand on specific points:\n1. Spawn new expert response agent(s) with targeted follow-up questions\n2. Re-run Phase 4 synthesis including the additional responses\n\n### Second Round\n\nFor a full second round (new questions, new responses):\n1. Rename Phase 2-4 outputs with round suffix (e.g., `Chen_discussion_r1.md`)\n2. Re-run Phase 2 with instruction to build on previous round\n3. Continue through Phases 3-4\n\n### Recovery from Partial Run\n\nIf a phase fails:\n1. Check error handling in `references/workflow.md`\n2. Retry failed agent(s) individually  \n3. Continue from last successful phase (outputs are saved incrementally)\n\n## File Naming Conventions\n\n| File Type | Pattern | Example |\n|-----------|---------|---------|\n| Paper notes | `{FirstAuthorLastName}{Year}_notes.md` | `Chen2024_notes.md` |\n| Expert summary | `{ExpertLastName}_session_summary.md` | `Lin_session_summary.md` |\n| Junior discussion | `{JuniorLastName}_discussion.md` | `Chen_discussion.md` |\n| Expert response | `{ExpertLastName}_response_to_{JuniorLastName}.md` | `Lin_response_to_Chen.md` |\n| Synthesis | `Integrated_Discussion_Summary.md` | — |\n\n## Citation Requirements\n\n**Enforce in all agent prompts:**\n\n1. Every factual claim must reference a paper\n2. Use format: `(AuthorYear, §Section)` or `(AuthorYear, p.X)`\n3. Direct quotes must include section/page\n4. Discussion claims must attribute speaker: `[Expert_A]`, `[Expert_B]`, `[Junior]`\n\n### ⚠️ Anti-Fabrication Rule (Critical)\n\n**Never fabricate citations.** If an agent cannot find the exact passage in the source text:\n- Leave the field blank or write `<!-- source not found -->`\n- Do NOT paraphrase and present it as a quote\n- Do NOT infer what the paper \"probably says\"\n\nFabricated citations are worse than missing citations — they corrupt the knowledge base silently. **Accuracy > Coverage.**\n\n### No Source = No Notes\n\nIf a paper has no PDF or markdown source available:\n- Write a placeholder note with status `📭 未讀`\n- Leave all content sections blank\n- Do NOT attempt to write notes from memory or web search results\n\nOnly write substantive notes when the actual source document is accessible.\n\n## Scaling Guidelines\n\n| Papers | Experts | Batches | Estimated Time |\n|--------|---------|---------|----------------|\n| 1-6 | 1 | 1 | 15-20 min |\n| 7-12 | 2 | 2 | 20-30 min |\n| 13-24 | 3-4 | 3-4 | 30-45 min |\n| 25-50 | 4-8 | 5-8 | 45-90 min |\n\n## Customization\n\n### Custom Personas\n\nReplace default personas by providing:\n\n```markdown\nExpert A: Dr. [Name], [Role]. Background in [X]. \nEmphasizes [methodology/perspective]. Skeptical of [Y].\nTone: [collegial/rigorous/provocative].\n\nExpert B: Dr. [Name], [Role]. Background in [X].\n...\n```\n\nSee `references/default-personas.md` for complete templates.\n\n### Language\n\nPass the `language` parameter when invoking the orchestration:\n- All agent prompts include `Language: {language}` instruction\n- Agents read papers and write outputs in the specified language  \n- Default: English\n\nExample: \"Run the reading group in Japanese\" → adds `Language: Japanese` to all phase prompts.\n\n### Model Selection\n\nModel choice significantly impacts output quality and cost:\n\n| Configuration | Phases | Quality | Cost | Use When |\n|--------------|--------|---------|------|----------|\n| **Full opus** | All phases use opus | Highest | $$$ | Publication-quality analysis, complex papers |\n| **Mixed** | Phase 1: sonnet, Phases 2-4: opus | High | $$ | Good balance — reading is less reasoning-intensive |\n| **Budget** | All phases use sonnet | Medium | $ | Quick exploration, simpler papers |\n\n**Recommendations:**\n- **Phase 2 (Junior Discussion)** benefits most from opus — requires synthesizing multiple papers and generating non-obvious questions\n- **Phase 4 (Synthesis)** also benefits from opus — thematic organization requires complex reasoning\n- **Phase 1 (Reading)** can use sonnet if papers aren't highly technical\n- **Phase 3 (Responses)** can use sonnet if questions are straightforward\n\n## Integration\n\nThis skill is standalone but works well with paper collection workflows:\n- **literature-manager** or similar skills: Use to gather and organize papers first, then pass the collection to virtual-reading-group\n- **PDF extraction tools**: Pre-extract text from PDFs if agents have trouble reading them directly\n\n## References\n\n- `references/workflow.md` — Detailed phase specifications and full prompt templates\n- `references/default-personas.md` — Ready-to-use expert and junior researcher personas\n- `references/paper-notes-template.md` — Template for individual paper notes\n\n## Assets\n\n- `assets/synthesis-template.md` — Structure for the final integrated discussion summary\n","topics":["Multi Agent","Orchestrate"],"tags":{"latest":"1.1.0"},"stats":{"comments":0,"downloads":1053,"installsAllTime":39,"installsCurrent":2,"stars":0,"versions":2},"createdAt":1771431319498,"updatedAt":1778491574637},"latestVersion":{"version":"1.1.0","createdAt":1771579636061,"changelog":"Reduce max papers per expert from 6 to 5 (3-5 optimal to avoid context contamination); add Anti-Fabrication Rule (leave blank if source not found, never fabricate citations); add No Source = No Notes policy","license":null},"metadata":null,"owner":{"handle":"isonaei","userId":"s17638zav1vjtbv26j8faqzk0n885wwg","displayName":"IsonaEi","image":"https://avatars.githubusercontent.com/u/103190225?v=4"},"moderation":null}