Agent skill
thinking-critically
Deep engineering analysis before implementation (Phase 2 of 9-Phase Feature Cycle). Challenges assumptions, identifies unknowns, and prevents architectural mistakes. Use when planning complex features, writing PRDs, designing systems, or before any significant code changes.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/thinking-critically
SKILL.md
Thinking Critically
Rigorous pre-implementation analysis that simulates a paranoid staff engineer review. This skill prevents costly architectural mistakes by forcing systematic examination of assumptions, trade-offs, and failure modes before writing code.
Phase 2 of the 9-Phase Feature Development Cycle:
Interview -> THINK CRITICALLY -> Plan -> Branch -> Implement -> Verify -> PR -> Merge -> Wrap-Up
^ YOU ARE HERE
Philosophy
"The best time to find a design flaw is before you write the code."
"Every assumption you don't question is a bug waiting to happen."
When to Use
- Planning a new feature or system (Phase 2 of Feature Cycle)
- Writing or reviewing a PRD
- Making architectural decisions
- Before implementing anything complex
- When something "feels off" but you can't articulate why
- After getting initial requirements, before diving into code
Prerequisites
- Feature spec completed (Phase 1: Interview complete)
docs/features/FEAT-XXX/spec.mdexists with decisionsdocs/project.mdexists (for project context)docs/architecture/_index.mdexists (for technical constraints)
Process
0. Read Context First
# Read feature spec (REQUIRED - output of Interview phase)
cat docs/features/FEAT-XXX/spec.md
# Read project context
cat docs/project.md 2>/dev/null
# Read architecture constraints
cat docs/architecture/_index.md 2>/dev/null
# Check current status
cat docs/features/FEAT-XXX/status.md
0.1 Determine Analysis Depth
AUTOMATIC ABBREVIATION RULES
Condition | Steps Executed | Reason
---------------------------------|--------------------|-----------------------
New feature + new system | All 11 steps | Max architectural risk
New feature + existing patterns | 1-2-3-5-9-11 | Medium risk
Small/clear scope feature | 1-2-5-11 | Low risk
Bug fix / hotfix | SKIP entirely | No architectural risk
When in doubt -> execute ALL 11 steps
The 11-Step Critical Analysis Protocol
Execute ALL steps in order. Do not skip steps unless explicitly told to or abbreviation rules apply.
Step 1: Problem Clarification & Constraints
Define exactly what we're solving and within what boundaries.
Step 2: Implicit Assumptions Identification (CRITICAL)
Surface hidden assumptions that could invalidate the entire approach. Most failures stem from unstated assumptions.
Step 3: Design Space Exploration
Enumerate possible approaches before committing to one.
Step 4: Trade-off Analysis
Explicitly weigh competing concerns.
Step 5: Failure-First Analysis
Systematically identify what can go wrong.
Step 6: Boundaries & Invariants
Define what must ALWAYS be true and what the system will NEVER do.
Step 7: Observability & Control
Ensure the system can be monitored and managed.
Step 8: Reversibility & Entropy
Assess how hard it is to undo decisions and recover from mistakes.
Step 9: Adversarial Review (Paranoid Staff Engineer Mode)
Attack the design from every angle.
Step 10: AI Delegation Assessment
Determine what AI (Ralph Loop) can safely handle vs what needs human oversight.
Step 11: Decision Summary
Synthesize everything into actionable conclusions.
Critical Rules
1. NEVER skip Step 2 (Assumptions) - most failures stem from here
2. If ANY assumption has Low confidence + High impact -> STOP
Validate with user before proceeding
3. Step 9 must be genuinely adversarial - attack your own design
4. All 11 steps for complex/critical features
Steps 1-2-5-11 for smaller features
5. In Ralph Loop: auto-PAUSE if confidence is Low in Step 11
Ralph Loop Integration
When running autonomously via Ralph Loop:
Iteration 1: INTERVIEW -> reads spec.md, pauses if TBD -> emits INTERVIEW_COMPLETE
Iteration 2: THINK CRITICALLY -> executes protocol -> emits ANALYSIS_COMPLETE
AUTO-PAUSE if:
- Low confidence + High impact assumption found
- Step 9 identifies critical red flag
- Step 11 confidence level is "Low"
Iteration 3: PLAN -> reads spec.md + analysis.md -> generates design.md + tasks.md
How Analysis Feeds Plan Phase
The Plan phase reads analysis.md in addition to spec.md to:
- Select recommended approach (from Step 11)
- Incorporate failure mitigations (from Step 5) into design
- Include invariants/boundaries (from Step 6) as validations
- Use AI delegation matrix (from Step 10) to decide Ralph automation scope
- Add observability requirements (from Step 7) to implementation tasks
Output
After completing the protocol, save output to docs/features/FEAT-XXX/analysis.md
Status Updates
After completing analysis:
-
Update status.md: Phase: Critical Analysis complete
-
Update _index.md: Feature status updated with phase progress
-
Update context/decisions.md with key decisions from Step 11
-
Append to status-log.md with action record
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?