From cleanroom
Use when unbiased analysis is needed without conversation context contamination. Launches an isolated read-only background agent with a self-contained prompt crafted from current context. Use for audits, reviews, reports, or any analysis where prior assumptions might bias results.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cleanroom:cleanroomThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Launch an isolated background agent with no conversation context. You craft a detailed, self-contained prompt using your full context, then dispatch a read-only agent that sees only that prompt.
Launch an isolated background agent with no conversation context. You craft a detailed, self-contained prompt using your full context, then dispatch a read-only agent that sees only that prompt.
digraph cleanroom {
"Has argument?" [shape=diamond];
"Infer task from conversation" [shape=box];
"Gather context" [shape=box];
"Craft decontextualized prompt" [shape=box];
"Launch background agent" [shape=box];
"Confirm to user" [shape=doublecircle];
"Has argument?" -> "Gather context" [label="yes"];
"Has argument?" -> "Infer task from conversation" [label="no"];
"Infer task from conversation" -> "Gather context";
"Gather context" -> "Craft decontextualized prompt";
"Craft decontextualized prompt" -> "Launch background agent";
"Launch background agent" -> "Confirm to user";
}
$ARGUMENTS if provided. If empty, infer the analysis task from conversation context — or ask the user if unclear.Agent tool with run_in_background: true and subagent_type: "general-purpose".The prompt you craft is the ONLY thing the background agent sees. It has zero conversation history.
| Rule | Violation Example | Correct Example |
|---|---|---|
| Self-contained | "the file we discussed" | Full path: /Users/foo/.local/share/chezmoi/dot_zshrc.tmpl |
| Specific | "check the config" | "Analyze private_dot_ssh/private_config.tmpl for..." |
| Inline critical code | "look at the function" | Include the actual code snippet in the prompt |
| Explicit goal | "review this" | "Evaluate whether X handles Y. Return findings as..." |
| Scoped | (no boundaries) | "In scope: X, Y. Out of scope: Z." |
| Read-only | (no constraints) | "You may only read and search. Do not write or modify anything." |
Structure every crafted prompt like this:
You are a clean room analyst. You have NO prior context about this project or conversation.
## Constraints
- You are READ-ONLY. Use Read, Grep, Glob, and read-only Bash commands only.
- Do NOT use Write, Edit, MultiEdit, or any destructive Bash commands.
- Do NOT create files, modify files, or take any actions — only analyze and report.
## Background
[What the project/codebase is, relevant architecture, key files — everything
the agent needs to orient itself without conversation history]
## Task
[Exactly what to analyze, what questions to answer]
## Scope
- In scope: [specific files, directories, concerns]
- Out of scope: [what to ignore]
## Expected Output
[Format: structured report, severity ratings, numbered findings, etc.]
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub ericanderson/claude-plugins --plugin cleanroom