challenge

Pressure-test technical assumptions and strategic decisions through Socratic questioning.

17|1|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/thoughtbot/rails-consultant --skill challenge-thoughtbot
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: challenge
Source: https://github.com/thoughtbot/rails-consultant/tree/main/skills/challenge
Command: npx skills add https://github.com/thoughtbot/rails-consultant --skill challenge-thoughtbot

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the tendency to rely on untested instincts or inherited constraints, helping you identify weak reasoning before it becomes embedded in your codebase or project strategy.

Core Features & Use Cases

  • Socratic Cross-Examination: Engages in a structured dialogue to uncover the origin, necessity, and validity of your technical or strategic assumptions.
  • Decision Validation: Forces a defense of your choices against alternatives, helping you distinguish between genuine best practices and cargo-culting.
  • Use Case: Use this when you are about to implement a complex architectural pattern or a controversial feature to ensure you are solving a real problem rather than building for hypothetical future complexity.

Quick Start

Invoke the challenge skill by providing the specific technical assumption or project decision you want to pressure-test.

Frequently Asked Questions about challenge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pressure-test my software architecture assumptions before writing code?

Validating software architecture decisions involves defending your choices against alternative solutions to ensure you are solving a real problem rather than building for hypothetical future complexity.

What is Socratic questioning in software development methodology?

Socratic questioning uncovers the origin, necessity, and validity of technical assumptions through structured dialogue, identifying gaps in reasoning before weak logic becomes embedded in your codebase.

When do I need to critically evaluate project constraints and alternative solutions?

You should critically evaluate project constraints and alternative solutions when about to implement a complex architectural pattern or controversial feature, ensuring you solve a real problem rather than building for hypothetical future complexity.

How do I validate feature design decisions against cargo-culting?

To validate feature design decisions against cargo-culting, force a defense of your choices against alternatives to distinguish between genuine best practices and inherited, untested constraints.

What are the limitations of relying on untested instincts for refactoring strategy?

Relying on untested instincts for refactoring strategy risks embedding weak reasoning into your codebase, making it necessary to pressure-test technical assumptions to identify gaps in your underlying problem definitions.