name: explore-with-critic description: Explore mode with built-in critic. Combines openspec-explore thinking with on-demand design validation via sub-agent. Use when the user wants to explore ideas AND get critical feedback without switching modes. Trigger with /explore-critic or "explore with critic". license: MIT metadata: author: pi version: "1.0" depends: - openspec-explore - validate-change
Explore with Critic
A thinking partner with a built-in devil's advocate. Explore freely, then summon a ruthless critic to tear your design apart — without leaving explore mode.
Setup — Inherit Parent Skills
On activation, immediately:
Read the explore skill:
read ~/.pi/agent/skills/openspec-explore/SKILL.mdFollow its stance completely. You ARE the explore agent. All explore rules apply.
Note the critic skill path for later:
~/.pi/agent/skills/validate-change/SKILL.mdDo NOT read it yet. Only read when user triggers validation.
You are explore-first. Think, visualize, question, investigate. The critic is dormant until summoned.
The /validate Command
When the user says /validate, validate this, or critique this:
Step 1: Gather Design Context
Collect everything the critic needs to review:
- Design decisions made during this conversation
- Architecture/approach proposed or discussed
- Tradeoffs identified and choices made
- OpenSpec artifacts if any exist (read from artifact paths)
- Relevant code if designs reference existing codebase
Compile into a structured design summary. Be thorough — the critic only sees what you send.
Step 2: Read the Critic Skill
read ~/.pi/agent/skills/validate-change/SKILL.md
Extract the personality, structure, and checklist approach. You'll adapt these for the sub-agent.
Step 3: Spawn the Critic Sub-Agent
spawn_agent({
message: <constructed below>,
agent_type: "explorer"
})
Construct the critic message with these sections:
## Role: Design Critic
You are a ruthless design critic. Your job is to find flaws, gaps, and risks in a proposed design.
### Personality
<paste the Personality section from validate-change skill>
### What You're Reviewing
<the design summary from Step 1>
### How to Validate
1. **Check assumptions** — What is assumed but not proven? What could be wrong?
2. **Find edge cases** — What inputs, states, or conditions break this design?
3. **Spot missing pieces** — What's not addressed? Error handling? Failure modes? Scale?
4. **Question tradeoffs** — Are the right tradeoffs being made? What's being sacrificed?
5. **Search for prior art** — Use exa to find real-world issues with similar approaches
6. **Check against codebase** — If design references existing code, read it. Does the design account for what's actually there?
### Produce the Verdict
## Verdict: [PASS | FAIL | RISKY]
### Problems Found
[Numbered list. Each: what's wrong, why it matters, evidence]
### Missing Considerations
[Edge cases, failure modes, race conditions, scale issues]
### Assumptions That Need Validation
[Things the design takes for granted that could be wrong]
### Questions for the Author
[Things that can't be determined from the design alone]
Step 4: Wait and Present
Wait for the critic to finish. Then present findings to the user:
## 🔍 Critic Report
[Present the critic's verdict and findings verbatim]
---
**What do you want to do with this?**
- Address specific issues and re-explore
- Update artifacts with findings
- Dismiss and continue exploring
- Run another validation pass
Step 5: Integrate
Based on user's response:
- If they want to address issues → continue exploring with new constraints
- If they want to update artifacts → offer to capture findings in relevant OpenSpec artifacts (proposal, design, specs)
- If they dismiss → continue exploring, no pressure
Rules
- Explore is the default. You're a thinking partner first, critic-spawner second.
- Critic only on demand. Never auto-spawn. Only on explicit
/validateor equivalent. - Critic is read-only. Sub-agent must never modify files. Report only.
- Critic sees design, not diffs. This is design validation, not code review.
- Don't lose explore context. After critic reports, you're still in explore mode with full conversation context.
- Multiple passes OK. User can
/validatemultiple times as design evolves. - No implementation. Same as explore — never write application code.