Critique a written proposal or design artifact via 5 philosophical personas in parallel, with consensus synthesis.
npx skills add https://github.com/notque/vexjoy-agent --skill multi-persona-critique
This skill takes a set of proposals — feature ideas, architectural decisions, design choices, strategy options — and sends ALL of them to 5 distinct intellectual personas for parallel, independent critique. Each persona brings a different philosophical lens. The skill then synthesizes all critiques into a consensus report showing where personas agree, where they disagree, and what the disagreements reveal.
This is NOT the roast skill. Key differences:
roast critiques CODE with HackerNews personas and validates file:line claimsroast is evidence-based (checking actual code); this is argument-based (evaluating reasoning)Key constraints baked into the workflow:
| Signal | Load These Files | Why |
|---|---|---|
| example-driven tasks, errors | examples-and-errors.md | Loads detailed guidance from examples-and-errors.md. |
| dispatching the five critique personas (Phase 2) | personas.md | Loads detailed guidance from personas.md. |
| writing the Phase 5 synthesis report | synthesis-template.md | Loads detailed guidance from synthesis-template.md. |
| roast-style code critique with HN personas | roast.md | Loads the roast workflow: evidence-based critique via 5 HN personas with claim validation. |
| HN persona specs, claim format, validation verdicts | hn-personas.md | Loads HN commenter persona specifications, prompt template, and claim format. |
Goal: Extract or generate clear, numbered proposals ready for critique.
Step 1: Determine input mode
| Input | Action |
|-------|--------|
| User provides proposals directly | Extract and number them |
| User says "generate N ideas about X" | Research the domain, read relevant code/docs, then generate proposals |
| Ambiguous input | Ask user to clarify before proceeding |
Step 2: Normalize proposals
Each proposal must be a clear, self-contained description (2-4 sentences) that any of the 5 personas can evaluate independently. If user-provided proposals are vague, expand them to include:
If generating proposals, research the domain first:
Step 3: Number and present
Present the numbered proposal list back to the user before proceeding. Format:
Proposals for critique:
1. [Title] — [2-4 sentence description]
2. [Title] — [2-4 sentence description]
...
Gate: Numbered list of proposals ready. Each proposal is self-contained with 2-4 sentences. Proceed only when gate passes.
Goal: Construct prompts for each of the 5 personas.
Load the full persona specifications from ${CLAUDE_SKILL_DIR}/references/personas.md. For each persona, construct a prompt containing an identity block, the numbered proposals, rating and ranking requirements, a fairness mandate, and the structured output format — see ${CLAUDE_SKILL_DIR}/references/examples-and-errors.md (Phase 2: Persona Prompt Construction) for the complete construction recipe.
Gate: 5 persona prompts constructed, each containing all proposals and the full persona specification. Proceed only when gate passes.
Goal: Launch all 5 personas in parallel and collect independent critiques.
Launch 5 agents using the Agent tool, one per persona. Each agent runs independently with no awareness of other personas.
The 5 parallel agents:
Focus: Logical coherence, hidden assumptions, falsifiability, necessity vs novelty
Focus: Build cost vs value, maintenance burden, simpler alternatives, user need
Focus: Accidental complexity, separation of concerns, elegance, failure modes
Focus: Daily impact, friction, delight, whether the problem is already solved
Focus: Human agency, dependency risk, genuine vs manufactured problems, unintended consequences
Each agent must produce:
CRITICAL: Wait for ALL 5 agents to complete before proceeding to Phase 4. Do not begin synthesis on partial results. Every persona must contribute before consensus can be determined.
Gate: All 5 persona reports received. Each report contains ratings for all proposals and a ranked list. Proceed only when gate passes.
Goal: Build a consensus matrix and identify agreement, disagreement, and cross-cutting patterns.
Step 1: Build the consensus matrix
Create a matrix: proposals (rows) x personas (columns) x ratings. See the consensus matrix template in ${CLAUDE_SKILL_DIR}/references/examples-and-errors.md.
Step 2: Classify consensus patterns
For each proposal, classify:
Step 3: Extract disagreement specifics
For CONTESTED and OUTLIER proposals, extract the specific disagreement:
Step 4: Calculate weighted consensus score
Assign numeric values: STRONG=3, PROMISING=2, WEAK=1, REJECT=0
For each proposal: sum all 5 ratings, giving a score from 0-15.
Step 5: Rank proposals by consensus score
Sort proposals from highest to lowest weighted score. Note ties and what distinguishes tied proposals.
Gate: Consensus matrix complete with classifications, disagreement analysis, and ranked scores. Proceed only when gate passes.
Goal: Deliver the synthesis report using the template from ${CLAUDE_SKILL_DIR}/references/synthesis-template.md.
Load the synthesis template and populate all 7 sections (Consensus Matrix; Features to Build; Worth Investigating; Interesting Disagreements; Shelve; Cross-Cutting Insights; Deepest Insight). See ${CLAUDE_SKILL_DIR}/references/examples-and-errors.md (Phase 5: Synthesis Report Sections) for each section's purpose and score-band criteria.
Gate: Report complete with all sections populated. Critique done.
<!-- no-pair-required: section-header-only; individual failure modes below carry Do-instead blocks -->
See ${CLAUDE_SKILL_DIR}/references/examples-and-errors.md for:
${CLAUDE_SKILL_DIR}/references/personas.md: Full persona specifications, identity, evaluation criteria, prompt templates${CLAUDE_SKILL_DIR}/references/synthesis-template.md: Consensus matrix format and synthesis report structure${CLAUDE_SKILL_DIR}/references/examples-and-errors.md: Worked examples, failure modes, error handlingroast: Code critique with evidence-based validation (complementary — roast critiques code, this critiques ideas)decision-helper: Weighted decision scoring for architectural choices (narrower — single-dimension scoring vs multi-persona critique)Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take notque/multi-persona-critique from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.