skills/research/roast/SKILL.md
Constructive critique via 5 HackerNews personas with claim validation.
npx skillsauth add notque/claude-code-toolkit roastInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill produces evidence-based constructive critique through 5 specialized HackerNews commenter personas: Skeptical Senior, Well-Actually Pedant, Enthusiastic Newcomer, Contrarian Provocateur, and Pragmatic Builder. The workflow spawns these personas in parallel, validates all claims against actual files and lines, and synthesizes findings into an improvement-focused report.
Key constraints baked into the workflow:
read-only-ops skill invocation| Signal | Load These Files | Why |
|---|---|---|
| tasks related to this reference | personas.md | Loads detailed guidance from personas.md. |
| tasks related to this reference | report-template.md | Loads detailed guidance from report-template.md. |
Goal: Establish guardrails before any analysis begins.
Invoke the read-only-ops skill:
skill: read-only-ops
This ensures no modifications can occur during the analysis workflow.
Allowed operations:
Read tool for file contentsGlob tool for file patternsGrep tool for content searchls, wc, du, git status, git log, git diffForbidden operations:
Write tool -- no file creationEdit tool -- no file modificationrm, mv, cp, mkdir, touch, git add, git commit, git pushIf read-only mode cannot be activated, stop immediately. Never proceed with unguarded analysis.
Gate: Read-only mode active. Proceed only when gate passes.
Goal: Understand the target thoroughly before spawning critical perspectives.
Step 1: Identify target type
| Input | Target | Action |
|-------|--------|--------|
| No argument | README.md + repo structure | Read README, survey project layout |
| @file.md | Specific file | Read that file, identify related files |
| Description | Described concept | Search repo for related implementation |
Step 2: Read key files
Use Read tool to examine: README.md, main documentation, key implementation files relevant to the target.
Step 3: Survey structure
Use Glob to map the landscape:
**/*.md for documentation coverageStep 4: Search for patterns
Use Grep to find: specific claims to verify, usage patterns, dependency references, related test files.
Step 5: Ground verbal descriptions
If user describes a concept rather than pointing to a file, search the repo for existing implementation. Critique grounded in actual code beats critique of a strawman every time. Never analyze a verbal description without confirming the code exists.
Gate: Target identified and sufficient context gathered. Proceed only when gate passes.
Goal: Launch 5 agents in parallel, each embodying a roaster persona, analyzing the target with full evidence-gathering discipline.
Launch 5 general-purpose agents in parallel via Task tool. Load the full persona specification from the corresponding agent file into each prompt.
The 5 parallel tasks:
Skeptical Senior (agents/reviewer-code.md, senior lens)
Focus: Sustainability, maintenance burden, long-term viability
Well-Actually Pedant (agents/reviewer-code.md, pedant lens)
Focus: Precision, intellectual honesty, terminological accuracy
Enthusiastic Newcomer (agents/reviewer-perspectives.md, newcomer lens)
Focus: Onboarding experience, documentation clarity, accessibility
Contrarian Provocateur (agents/reviewer-perspectives.md, contrarian lens)
Focus: Fundamental assumptions, alternative approaches
Pragmatic Builder (agents/reviewer-domain.md, pragmatic-builder lens)
Focus: Production readiness, operational concerns
Each agent must:
read-only-ops skill first to enforce no-modification guardrails[CLAIM-N] with specific file:line referencesSee references/personas.md for full prompt template and claim format.
CRITICAL: Wait for all 5 agents to complete before proceeding to Phase 4. Do not begin validation on partial results. Every persona must contribute before synthesis can happen.
Gate: All 5 agents complete with tagged claims. Proceed only when gate passes.
Goal: Verify every [CLAIM-N] against actual evidence before including in the report.
Collect and validate every [CLAIM-N] from all 5 agents.
Step 1: Collect all claims
Extract every [CLAIM-N] tag from all 5 agent outputs. For each, track:
Step 2: Validate each claim
For each [CLAIM-N], read the referenced file/line using Read tool and assign a verdict:
| Verdict | Meaning | Criteria | |---------|---------|----------| | VALID | Claim is accurate | Evidence directly supports it | | PARTIAL | Overstated but has merit | Some truth, some exaggeration | | UNFOUNDED | Not supported | Evidence contradicts or doesn't exist | | SUBJECTIVE | Opinion, can't verify | Matter of preference/style |
Critical: You must read the file and check the line. Visual inspection misses nuance. "Obviously valid" is a rationalization word. Do not accept a claim because it sounds right or all personas agree on it — consensus is not the same as correctness.
Step 3: Cross-reference
Note claims found independently by multiple agents. If 3+ personas independently identify the same issue, escalate to HIGH priority regardless of individual severity.
Step 4: Prioritize
Sort VALID and PARTIAL findings by impact:
Gate: All claims validated with evidence. Proceed only when gate passes.
Goal: Transform aggressive persona outputs into constructive, actionable report.
Follow the full template in references/report-template.md. Key synthesis rules:
Validation Summary Table (include in report):
## Claim Validation Summary
| Claim | Agent | Verdict | Evidence |
|-------|-------|---------|----------|
| [CLAIM-1] | Senior | VALID | [file:line shows X] |
| [CLAIM-2] | Pedant | PARTIAL | [true that X, but Y mitigates] |
| [CLAIM-3] | Newcomer | UNFOUNDED | [code shows otherwise] |
Gate: Report complete with all sections populated. Analysis done.
User says: "Roast this repo"
skill: roast
Actions:
User says: "Poke holes in the architecture doc"
skill: roast @README.md
Actions:
User says: "Devil's advocate on using SQLite for the error learning database"
skill: roast the idea of using SQLite for the error learning database
Actions:
Cause: Persona agent skipped evidence-gathering or analyzed verbally Solution:
Cause: Phase 1 skipped or read-only-ops skill invocation failed
Solution:
read-only-ops before proceedingCause: Persona agent crossed from analysis into implementation Solution:
Cause: User invoked roast without specifying target and no README.md exists Solution:
${CLAUDE_SKILL_DIR}/references/report-template.md: Full report output template with tone transformation rules${CLAUDE_SKILL_DIR}/references/personas.md: Persona specifications, prompt template, and claim formatagents/reviewer-code.md: Code quality reviewer (senior and pedant lenses)agents/reviewer-perspectives.md: Perspectives reviewer (newcomer and contrarian lenses)agents/reviewer-domain.md: Domain reviewer (pragmatic-builder lens)documentation
Document translation: quick/normal/refined modes with chunked parallel subagents and glossary support.
development
AI image generation: Gemini and Nano Banana backends; single/series/batch workflows with prompt-to-disk.
testing
Unified voice content generation pipeline with mandatory validation and joy-check. 13-phase pipeline: LOAD, GROUND, STATS-CHECKPOINT, GENERATE, HOOK-GATE, VALIDATE, REFINE, VARIETY-GATE, JOY-CHECK, ANTI-AI, CLOSE-GATE, OUTPUT, CLEANUP. Use when writing articles, blog posts, or any content that uses a voice profile. Use for "write article", "blog post", "write in voice", "generate content", "draft article", "write about".
documentation
Critique-and-rewrite loop for voice fidelity validation.