Agent skill
domain-review-before-implementation
BEFORE dispatching any implementation agent or starting to code - if you're about to write "Task(subagent_type=..., prompt=...)" for implementation, or about to implement a plan yourself, STOP and review first. The prompt you're about to send IS a brief - review it for design flaws before the agent implements garbage.
Install this agent skill to your Project
npx add-skill https://github.com/snits/claude-files/tree/main/skills/domain-review-before-implementation
SKILL.md
Domain Review Before Implementation
The Trigger
Use this skill when you're about to:
- Dispatch a
Task()for implementation work - Start coding from a plan or task description
- Send a prompt to a subagent that will write code
The prompt you write IS the brief. If you're about to send an implementation agent a task, that task description needs review first.
Ask yourself: "Am I about to have code written (by me or an agent)?" If yes → domain review first.
Overview
Core principle: Task briefs contain design flaws. Domain experts catch them before implementation, not code reviewers after.
Real-world data: Phase 4A Task 16 (RiverGraph serialization) - "straightforward" brief reviewed by domain expert found 8 issues (3 critical type safety bugs, 3 important design gaps, 2 minor improvements). Cost: 5 minutes review. Savings: hours of debugging and refactoring.
The Iron Law
NO IMPLEMENTATION WITHOUT DOMAIN REVIEW FIRST
If you have a written brief, as a separate file or within a larger plan, dispatch domain expert before any implementation. No exceptions.
Not for:
- "Simple additions" (simple briefs hide complex issues)
- "Just following the steps" (steps may be flawed)
- "Time pressure" (exactly when you need review most)
- Don't rationalize. Review means review.
When to Use
MANDATORY for:
- Any task with a written brief, spec, or implementation plan
- All tasks in subagent-driven-development workflow
- Tasks you're about to implement (even if they seem simple)
Especially critical when:
- Brief includes code examples (may have anti-patterns)
- Specialized domain (serialization, networking, security, concurrency, data modeling)
- You recognize the pattern (familiarity breeds assumptions)
- Time pressure (exactly when you need to catch issues early)
The Pattern
BEFORE This Skill
Read brief → Implement → Code review finds issues → Refactor
Cost: Implementation time + refactoring time + context switching
AFTER This Skill
Read brief → Domain experts review brief → Fix brief → Implement with corrections
Cost: 5 minutes review
Savings: Hours of rework
Implementation
Step 1: Dispatch Domain Expert
If you have Task tool available:
Use Task tool to dispatch domain-appropriate expert agents.
- If reviewing an implementation plan, dispatch multiple agents focused on different aspects (examples: alogrithmic correctness, architecture, api, tasks properly sized, ...)
- If reviewing a design, dispatch multiple agents focused on different aspects (examples: conceptual correctness, ui/ux, architecture, api, ...)
- If reviewing a task brief dispatch domain-appropriate expert agents to validate the prompt.
Dispatch the agents with a prompt similar to this format:
Task(subagent_type="general-purpose", prompt=f"""
**Role:** You are a [domain] expert specializing in [specific area].
**Task:** Review this task brief for technical correctness and design flaws.
**Brief location:** [path to brief]
**Review focus:**
1. [Domain-specific concerns - e.g., serialization format, data types, security, industry standards]
2. Edge cases and error handling
3. Performance implications
4. Best practices compliance
5. Integration considerations
6. Coherence with overall plan
7. Task complexity and whether it should be decomposed.
**Provide:**
1. List of issues (Critical/Important/Minor)
2. For each: what's wrong and recommended fix
3. Things done well
4. Overall: "Ready to implement" or "Needs revision"
**Note:** Review the BRIEF/DESIGN, not code. Focus on flaws that cause problems during implementation.
""")
If Task tool not available:
STOP and ask your human partner: "I need to have a domain expert review this brief before implementing. How should I dispatch a consulting agent in this environment?"
Don't skip review because tool isn't obvious. Escalate to get the right mechanism.
Step 2: Address Issues
- Fix all Critical issues in brief before implementing
- Fix Important issues (or document why skipping)
- Note Minor issues for cleanup
Step 3: Implement with Corrections
Now dispatch implementation agent with corrected brief.
Step 4: Code Review After Implementation
Use code-reviewer to catch implementation gaps.
Domain Expert Examples
Serialization tasks: "Data serialization expert specializing in format design, type safety, and versioning"
Security tasks: "Application security specialist focusing on OWASP Top 10, attack vectors, and secure design patterns"
Networking tasks: "Distributed systems expert specializing in protocols, error handling, and network reliability"
Database tasks: "Database architect specializing in schema design, indexing strategies, and query optimization"
Algorithm tasks: "Algorithm specialist focusing on complexity analysis, edge cases, and correctness proofs"
Concurrency tasks: "Concurrency expert specializing in race conditions, deadlocks, and synchronization patterns"
Common Rationalizations
| Excuse | Reality |
|---|---|
| "Brief is simple/straightforward" | Task 16 "straightforward serialization" had 8 issues. Simple briefs hide complex issues. |
| "Brief has TDD steps already" | TDD tests the implementation, not the design. Flawed design → passing tests for wrong behavior. |
| "Not security-critical" | Technical correctness matters everywhere. Type safety bugs, data loss, performance issues affect all code. |
| "I know this pattern" | Familiarity causes assumptions. Expert finds issues you overlook because "I've done this before." |
| "Domain review is overkill" | 5 minutes review vs hours debugging. Math favors review. |
| "Subagent overhead not worth it" | Agent dispatch: 30 seconds. Finding 8 bugs later: hours. Review always wins. |
| "I can see issues myself" | Then fix them in the brief BEFORE implementing. Domain expert systematically finds what you miss. |
| "We already reviewed the plan, so we don't need a review for this task brief" | More focused review on the task prompt routinely finds issues missed when reviewing the full plan. |
Red Flags - You're Rationalizing
If you think ANY of these thoughts, STOP and dispatch domain expert:
- "Brief is well-specified, just implement it"
- "This is a standard pattern"
- "The examples look good"
- "We're in a hurry"
- "Domain review for this is overkill"
- "I'll catch issues during implementation"
All of these mean: Dispatch domain expert first. No exceptions.
Integration with Workflows
With subagent-driven-development
CRITICAL: If you're using subagent-driven-development, you MUST add domain review as mandatory step.
Original workflow (from that skill):
For each task:
1. READ the task from plan
2. Dispatch implementation subagent
3. Code review
4. Fix code review issues
REQUIRED modification - add domain review FIRST:
For each task:
1. READ the task from plan
2. DISPATCH DOMAIN EXPERT to review task brief ← MANDATORY
3. ADDRESS domain expert issues ← MANDATORY
4. Dispatch implementation subagent
5. Code review
6. Fix code review issues
Why both reviews:
- Domain review: Catches design flaws in the BRIEF (wrong approach, anti-patterns, security issues)
- Code review: Catches implementation gaps in the CODE (missed requirements, bugs, style issues)
Skipping domain review = implementing flawed designs. Code review can't fix architectural problems.
With executing-plans
Add domain review as first step before parallel execution:
1. Load plan
2. For each task: Dispatch domain expert, collect issues
3. Review all domain feedback with human
4. Execute tasks in parallel with corrections applied
Why This Works
Prevention vs remediation:
- Domain review: 5 min, catches design flaws
- Implementation: 30 min with flawed brief
- Debugging: 2+ hours finding root cause
- Refactoring: 1+ hour fixing architecture
Cost comparison:
- With review: 5 + 30 = 35 minutes
- Without review: 30 + 120 + 60 = 210 minutes
6× time savings for 5 minutes of review.
Real-World Example
Task: "Implement RiverGraph serialization using NumPy npz format"
Without domain review:
- Implement using code from brief
- Tests pass ✓
- MyPy fails (numpy scalars vs Python types)
- Runtime errors (ID arrays not numpy arrays)
- Missing validation (corrupted files accepted)
- Refactor for 2+ hours
With domain review (actual Phase 4A data):
- 5 min domain review finds 8 issues
- Fix in brief before implementing
- Implementation takes 30 min
- Tests pass ✓
- MyPy passes ✓
- Code review finds 1 minor issue
- Fix in 5 min
- Done
The Bottom Line
Task briefs lie. Not maliciously - they're written without complete knowledge. Authors don't know every edge case, anti-pattern, or domain best practice.
Domain experts find the lies before they become bugs.
5 minutes. Every task. No exceptions.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
design-meeting
Use when you need multiple domain perspectives to review a spec, design, architecture, or investigate a complex bug — spawns a team of domain-focused agents that independently review, cross-examine each other's findings, and discuss via direct messages to converge on actionable recommendations
writing-personas
Use when creating, editing, or tuning agent persona/role prompts — especially when personas show overconfidence, attention narrowing, skipped tool use, or domain tunnel vision
consulting-agents
Use when you need information you don't have, expertise outside your comfort zone, or a single fresh perspective on code — dispatches individual agents to research, advise, or review. For multi-perspective reviews where agents discuss and converge, use design-meeting instead. NOT for implementation delegation (see subagent-driven-development).
Change Control Board
Use when a code reviewer has approved a change that touches security boundaries, shared interfaces, cross-tool protocols, config loading paths, subprocess argument sources, or multiple modules with different domain concerns. Also use when framing like "straightforward", "routine", or "familiar pattern" accompanies a change with non-obvious risk.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
Didn't find tool you were looking for?