// Developer inquiry skill for technical investigation, validation, and decision-making. Use when exploring unfamiliar technology, validating approaches with spikes, comparing options, or making architecture decisions. Covers the full thinking process from "I don't know" to confident decision.
| name | dev-inquiry |
| description | Developer inquiry skill for technical investigation, validation, and decision-making. Use when exploring unfamiliar technology, validating approaches with spikes, comparing options, or making architecture decisions. Covers the full thinking process from "I don't know" to confident decision. |
Feynman-style technical inquiry for developers. Understand before you decide. Validate before you build.
"The first principle is that you must not fool yourself—and you are the easiest person to fool." — Richard Feynman
This skill supports four modes that often chain together:
| Mode | When to Use | Trigger Phrases |
|---|---|---|
| Investigate | Understand something unfamiliar | "explore", "understand", "how does X work" |
| Spike | Validate approach before building | "spike", "validate", "prove this works" |
| Compare | Evaluate options for your context | "compare", "vs", "which is better" |
| Decide | Make a concrete choice | "should we", "decide", "recommend" |
references/investigation.mdreferences/spike.mdreferences/scoring.mdreferences/scoring.md (uses comparison + decision framework)For understanding unfamiliar technology from first principles.
Process: Admit ignorance → Simplest experiment → Poke edges → Build mental model → Explain simply
Output: Mental model you can teach to someone else
For validating technical feasibility before full implementation.
Process: Define scope (4-8 hours) → Write tests first → Implement minimal → Test with real data → Document pattern
Output: Proven pattern ready to replicate, or pivot decision
For evaluating multiple options against your specific context.
Process: Define context → Choose criteria → Weight by importance → Score with evidence → Sanity check
Output: Weighted comparison matrix with evidence
For making a concrete choice with documented reasoning.
Process: Ensure understanding (investigate if needed) → Compare options → State recommendation → Document tradeoffs → Assess reversibility
Output: Clear recommendation with rationale and risks
"Let's explore @Observable"
↓ Investigation
"Can I actually build nested observation?"
↓ Spike (validates understanding)
"@Observable vs @StateObject for my app"
↓ Comparison
"Should we adopt the new Observation framework?"
↓ Decision
Each mode builds on the previous. Don't decide before you understand. Don't compare before you investigate.
| Request | Mode | Reference |
|---|---|---|
| "Let's explore Swift macros" | Investigate | references/investigation.md |
| "I want to understand async/await" | Investigate | references/investigation.md |
| "Spike SwiftData before we commit" | Spike | references/spike.md |
| "Validate this architecture works" | Spike | references/spike.md |
| "Compare REST vs GraphQL" | Compare | references/scoring.md |
| "SwiftData vs CoreData?" | Compare | references/scoring.md |
| "Should we use Combine?" | Decide | references/scoring.md |
| "Recommend an approach" | Decide | references/scoring.md |
For concrete examples across all modes, see references/examples.md.