atelier-oracle-challenge

Challenge: Critical Thinking Prompt

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "atelier-oracle-challenge" with this command: npx skills add martinffx/claude-code-atelier/martinffx-claude-code-atelier-atelier-oracle-challenge

Challenge: Critical Thinking Prompt

The Iron Law

NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST

When you encounter a bug, error, or unexpected behavior, you MUST identify the root cause before implementing a fix. This means:

  • Don't just fix the symptom—fix the disease

  • If you don't understand why it broke, you don't know if your fix will work

  • Quick fixes without investigation become technical debt

This is non-negotiable. If you're implementing a fix without understanding the root cause, you're just guessing.

When to Use Challenge

Before Implementing Fixes:

  • Any bug fix

  • Error handling changes

  • Edge case handling

  • Performance fixes

To Validate Approach:

  • Architecture decisions

  • Technology choices

  • Design patterns

  • Requirement assumptions

The Four Phases:

Phase 1: Root Cause Investigation

  • Reproduce the issue consistently

  • Identify what's different between expected and actual behavior

  • Trace back to where the state diverges

Phase 2: Pattern Recognition

  • Does this match a known pattern of bugs?

  • Is there a category of errors this belongs to?

  • What's common between this and other similar issues?

Phase 3: Hypothesis Formation

  • What do I believe is causing this?

  • What's the minimal test that would prove/disprove this?

  • What would a correct implementation look like?

Phase 4: Implementation

  • Verify fix with tests (consider domain boundary testing)

  • Check for similar issues elsewhere

  • Document what was learned

Step 1: Parse Challenge Request

Analyze the challenge request: $ARGUMENTS

Challenge Extraction:

  • Core concern: Extract the main doubt or question

  • Target approach: Identify what is being challenged

  • Context: Relevant background from current session

  • Specific aspects: Particular elements to question

Challenge Summary: You're challenging: [identified approach] Because: [extracted concern] In context of: [session context]

Step 2: Set Up Critical Thinking Framework

Critical Thinking Prompts:

  • Is this approach solving the right problem?

  • Are the underlying assumptions still valid?

  • What evidence contradicts this direction?

  • How does this fit with your constraints and goals?

  • What are the opportunity costs?

Step 3: Sequential Thinking Analysis

Use sequential thinking (mcp__sequential-thinking__sequentialthinking) to analyze this challenge:

Thought 1: Question the fundamental assumptions Thought 2: Examine contradictory evidence Thought 3: Explore alternative approaches Thought 4: Assess context-specific fit Thought 5: Evaluate risks and trade-offs Thought 6: Synthesize findings into recommendation

Build systematically through evidence, alternatives, and risks. Continue until you reach a clear conclusion.

Step 4: Critical Evaluation Output

Self-Critique Questions:

  • Does the analysis address the user's specific context?

  • Are the recommendations practical and implementable?

  • Have we considered the most important constraints?

  • Are there any blind spots or missing perspectives?

Final Synthesis:

  • Assumption validity: Are the underlying assumptions sound?

  • Evidence assessment: Does evidence support or contradict?

  • Alternative recommendation: If current approach is problematic, what instead?

  • Risk mitigation: How to address identified concerns?

Usage Examples

Challenge Technical Decisions:

/atelier-challenge "Do we really need a microservices architecture for this simple app?"

Challenge Implementation Approach:

/atelier-challenge "I think this caching strategy will actually slow things down"

Challenge Requirements:

/atelier-challenge "Are we solving the right problem with this feature?"

Challenge Architectural Patterns:

/atelier-challenge "Should we really use event sourcing for this use case?"

When to Use Challenge

Before Major Decisions:

  • Architecture choices

  • Technology stack decisions

  • Design pattern selection

  • Implementation approach

When Something Feels Off:

  • "This seems overly complex"

  • "I'm not sure this solves the real problem"

  • "This approach feels wrong"

  • "Are we over-engineering this?"

To Prevent Automatic Agreement:

  • When you want genuine critical evaluation

  • When you need to challenge conventional wisdom

  • When you want to test your own assumptions

Challenge vs ThinkDeep

Use /atelier-challenge: Question assumptions, test validity, assess risks, prevent automatic agreement Use /atelier-thinkdeep: Deep exploration, comprehensive analysis, alternative discovery, complex decisions

Key distinction: Challenge = critical evaluation, ThinkDeep = deep exploration

Red Flags

Warning signs you're not doing proper debugging:

  • Implementing a fix without reproducing the bug first

  • Changing code to "see if it works"

  • Not writing a test to verify the bug exists

  • Fixing symptoms instead of root cause

  • Not checking if the fix breaks other tests

  • Not understanding why the fix works

Common Rationalizations

Don't rationalize—investigate:

Rationalization Reality

"It's probably a race condition" You don't know, so find out

"It's always worked before" Something changed, find what

"The tests are just flaky" Tests caught a real bug

"It's an edge case" Your code has edge cases in prod

"It's fast enough for now" Technical debt accumulating

"I know what the problem is" You have a hypothesis, not a certainty

Quick Reference

Debugging workflow:

  • Reproduce → Can you make it happen consistently?

  • Isolate → What's the minimal case?

  • Identify → What's different? What's the same?

  • Hypothesize → What do you think is wrong?

  • Test → Verify your hypothesis

  • Fix → Implement the solution

  • Verify → Does the fix work? Do other tests pass?

Remember: Domain boundaries define test boundaries—test at boundaries, mock at boundaries.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python:architecture

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

atelier-typescript-drizzle-orm

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python:build-tools

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python:modern-python

No summary provided by upstream source.

Repository SourceNeeds Review