
cw-panel
Convene a panel of reviewers to analyze a draft from multiple perspectives, then synthesize their feedback into consensus findings, productive tensions, and prioritized recommendations.
- Installs
- 208
- Last 24h
- +8
- Trending rank
- #9584
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/everyinc/compound-writing --skill cw-panel- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads cw-panel automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Panel Review
Convene multiple reviewer agents to analyze a piece, then synthesize their perspectives into a unified analysis that surfaces consensus, tensions, and priorities.
When to Use
- Before publishing something high-stakes
- When you want multiple perspectives without running reviewers manually
- When you suspect different aspects need different kinds of attention
- When you're too close to the work to know what feedback you need
The Flow
1. Load Context
Read ../../references/context-contract.md, the draft, and any available brief, outline, project instructions, feedback, or status metadata to understand:
- piece_type — essay, argument, explainer, narrative, etc.
- audience — general, specialist, insider
- stage — early draft, revision, near-final
- goals — if stated
Infer missing context from the draft and request. Do not require .status.yaml.
2. Propose Panel
Based on piece context, propose 4-6 reviewers.
Selection heuristics:
| Signal | Suggests Including |
|---|---|
| Personal/reflective content | sedaris, mom |
| Argumentative content | nemesis, vonnegut |
| Technical or jargon-heavy | reader, mom, hemingway |
| Narrative structure | vonnegut, hitchcock, sorkin |
| Feels slow or wandering | sorkin |
| Feels bloated | hemingway |
| High-stakes / pre-publish | nemesis, hemingway |
| Cold read, uncertain audience response, or missing setup | reader |
| General audience | reader |
| Non-expert accessibility | mom |
| Early stage | vonnegut (fundamentals) |
| Late stage | hemingway, nemesis (polish, stress-test) |
Check the active writer and project context for:
- Preferred reviewers
- Reviewers to exclude
- Past patterns
Present the proposal:
## Proposed Panel
**Draft:** [title or slug]
**Context:** [piece_type] for [audience], currently at [stage]
Based on this context, I recommend:
| Reviewer | Why |
|----------|-----|
| **[name]** | [One-line rationale tied to piece context] |
| **[name]** | [Rationale] |
| **[name]** | [Rationale] |
| **[name]** | [Rationale] |
**Not including:**
- **[name]** — [Why not relevant for this piece]
- **[name]** — [Why not]
Proceed with this panel, or adjust?
Wait for user confirmation or modification.
3. Run Reviewers in Parallel
Once confirmed:
- Run all selected reviewers in parallel when the active platform supports parallel workers and the user's explicit panel request authorizes them.
- On Claude, use the matching
compound-writing:review:*subagent when available. - On Codex or another runtime, use the matching reviewer skill or an isolated worker with that lens.
- Give each reviewer the draft plus the minimum relevant context.
- Each reviewer returns its standard prose output independently.
- On Claude, use the matching
- Collect all outputs
Example spawning pattern:
[Spawn in parallel:]
- Task: nemesis-reviewer with draft
- Task: mom-reviewer with draft
- Task: hemingway-reviewer with draft
- Task: sorkin-reviewer with draft
4. Run Synthesizer
Use the panel-synthesizer agent when available; otherwise synthesize the outputs directly. Include:
- The draft
- Draft context from the active brief, instructions, metadata, or careful inference
- All reviewer outputs (full prose)
Synthesizer prompt should include:
## Draft
[full draft text]
## Context
piece_type: [from context or inference]
audience: [from context or inference]
stage: [from context or inference]
goals: [from context if present]
## Reviewer Outputs
### nemesis-reviewer
[full output]
### mom-reviewer
[full output]
### hemingway-reviewer
[full output]
[etc.]
5. Return Synthesis
Present the synthesizer's output to the user.
Panel Size
- Minimum: 3 reviewers (fewer than this, just run them individually)
- Recommended: 4-5 reviewers (good coverage without redundancy)
- Maximum: 8 reviewers (all of them—full stress test)
Available Reviewers
| Reviewer | Subagent Type | Focus |
|---|---|---|
| nemesis | compound-writing:review:nemesis-reviewer | Logical rigor, unsupported claims |
| reader | compound-writing:review:reader-reviewer | First-time reading experience, missing setup, trust and friction |
| mom | compound-writing:review:mom-reviewer | Accessibility, jargon, general reader |
| hemingway | compound-writing:review:hemingway-reviewer | Economy, cutting, word-level |
| sedaris | compound-writing:review:sedaris-reviewer | Specificity, humor, voice |
| sorkin | compound-writing:review:sorkin-reviewer | Pacing, momentum, forward motion |
| vonnegut | compound-writing:review:vonnegut-reviewer | Story fundamentals, structure |
| hitchcock | compound-writing:review:hitchcock-reviewer | Tension, suspense, stakes |
Default Panels by Piece Type
If the active context names a piece type, use it as a starting point:
| piece_type | Default Panel |
|---|---|
essay / personal | reader, sedaris, vonnegut, sorkin |
argument / opinion | nemesis, vonnegut, hemingway, reader |
explainer / technical | reader, mom, hemingway, sorkin |
narrative / story | vonnegut, hitchcock, sorkin, sedaris |
newsletter | reader, sorkin, hemingway |
Always adjust based on specific signals in the draft.
Example Session
User: /cw-panel
Agent: I'll convene a panel to review your draft. Let me read it and check the status.
[Reads draft]
[Loads the brief and project context: personal essay, general audience,
revision stage, goal: "make it land emotionally without being sappy"]
## Proposed Panel
**Draft:** father-and-the-sea
**Context:** essay for general audience, revision stage
Based on the context—personal essay aiming for emotional impact without
sentimentality—I recommend:
| Reviewer | Why |
|----------|-----|
| **mom** | General audience check. Will flag where you lose non-insiders. |
| **sedaris** | Personal material that might benefit from more specificity or humor. |
| **sorkin** | Revision stage—check if pacing is tight. |
| **nemesis** | The emotional claims need to be earned, not asserted. |
**Not including:**
- **hemingway** — The prose reads clean; economy isn't the issue here
- **hitchcock** — Not a tension-driven piece
- **vonnegut** — Structure is solid; this needs polish not fundamentals
Proceed with this panel, or adjust?
User: Add hemingway actually, I think it might be overwritten
Agent: Adding hemingway. Running the panel now.
[Spawns 5 reviewer agents in parallel]
[Collects outputs]
[Spawns panel-synthesizer with draft + context + all outputs]
## Panel Synthesis
**Panel:** nemesis, hemingway, mom, sedaris, sorkin
**Piece context:** essay for general audience, revision stage, goal: emotional
impact without sappiness
---
### Consensus Findings
| Issue | Flagged By | Recommendation |
|-------|------------|----------------|
| Opening two paragraphs are slow | sorkin, hemingway, nemesis | Cut or restructure—start closer to the boat |
| "He taught me everything" is unearned | nemesis, sedaris | Show what he taught, don't declare it |
| Section 3 gets abstract | mom, sorkin | Ground it in a specific moment |
---
### Productive Tensions
**Tension: The fishing gear paragraph**
> "His tackle box was a museum of failures—rusted lures from the '70s, a reel
> that hadn't worked since Reagan, hooks that had never caught anything but
> his own thumb."
| Cut it | Keep it |
|--------|---------|
| **hemingway:** 47 words that could be 15. "His tackle box held decades of failure" does the job. | **sedaris:** This is the most alive moment in the piece. The specific details are doing real work. |
**What's at stake:** The piece aims for emotional impact without sappiness.
Specific, wry details (sedaris) might be the path there. But if they slow
momentum, they work against the goal.
---
### Unique Insights
- **sedaris:** "There's a joke hiding in the part about him never admitting he
was wrong. You're circling it but won't commit."
- **nemesis:** "Your ending asks the reader to feel something you haven't set
up. The 'I finally understood' move is unearned."
---
### Recommended Priorities
1. **Restructure the opening** — Three reviewers flagged this. Start on the
boat, not before it.
2. **Earn the ending** — The emotional payoff needs setup. Show what you
finally understood through a scene, not a declaration.
3. **Decide on the tackle box** — Genuine tension. Your call based on what
you're optimizing for.
---
### The Hard Question
> What specifically did you learn from him that you couldn't have learned from
> anyone else? Multiple reviewers noted you assert the relationship's importance
> without showing what made it irreplaceable.
Error Handling
If a reviewer fails to spawn:
- Note which reviewer is missing
- Proceed with available outputs
- Mention the gap in synthesis
If the draft has no metadata:
- Infer what you can from the draft and request.
- State only assumptions that affect the panel or verdict.
- Do not create a status file merely to run the review.
If user provides no draft:
- Ask for the draft path or slug to load
- Or ask them to paste the draft
For tensions that deserve another round, offer cw-debate; do not automatically spend the extra time and context.
Lessons
[Skill-specific lessons will be added here as they're captured]
FAQ
What does the cw-panel skill do?
Convene a panel of reviewers to analyze a draft from multiple perspectives, then synthesize their feedback into consensus findings, productive tensions, and prioritized recommendations.
How do I install cw-panel?
Run npx skills add https://github.com/everyinc/compound-writing --skill cw-panel in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/cw-panel/ (personal) or .claude/skills/cw-panel/ (project).
Which AI agents can use cw-panel?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is cw-panel safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains cw-panel?
It is published by everyinc in everyinc/compound-writing. It has 208 recorded installs.
More from everyinc/compound-writing
cw-sedaris
everyinc/compound-writing
Open the skill to read its SKILL.md instructions.
cw-dev-edit
everyinc/compound-writing
Review a draft for big-picture issues in argument, structure, stakes, evidence, and payoff. Use when a piece needs developmental editing, a top-level diagnosis, or substantial restructuring before sentence polish.
cw-hitchcock
everyinc/compound-writing
Open the skill to read its SKILL.md instructions.
cw-scribe
everyinc/compound-writing
Route open-ended writing work through the smallest useful Compound Writing workflow. Use when the user wants to start, continue, finish, or improve a piece and has not named a more specific skill.
cw-onboarding
everyinc/compound-writing
Open the skill to read its SKILL.md instructions.
cw-simplify
everyinc/compound-writing
Open the skill to read its SKILL.md instructions.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.