skills/problem-classification/SKILL.md
MANDATORY first step. You MUST invoke this skill before brainstorming, designing, or planning any non-trivial work. Do NOT start asking clarifying questions on your own — this skill's gates ARE the clarifying questions. Invoke when the user asks to build, design, plan, create, architect, or implement anything substantial. Do NOT skip this because the task seems straightforward. Straightforward-seeming tasks with wrong framing produce the most expensive failures.
npx skillsauth add xD4O/praxis problem-classificationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
EXTREMELY_IMPORTANT: This is a MANDATORY protocol, not a suggestion. Follow every step. Do not skip steps. Do not combine steps. Do not summarize. Work through each gate in order.
You MUST complete this protocol before brainstorming, designing, or planning. Do not skip steps. Do not combine steps. Work through each gate sequentially.
Read the user's request. Classify it as exactly ONE of these:
| Type | Signature | Example | |---|---|---| | NEW-BUILD | Creating something that doesn't exist | "Build a notification service" | | EXTEND | Adding capability to something that exists | "Add OAuth to our API" | | FIX | Something is broken or wrong | "API returns 500 intermittently" | | OPTIMIZE | Something works but needs to be better | "Reduce query latency from 800ms" | | DECIDE | Choosing between alternatives | "Monolith vs microservices?" | | ANALYZE | Understanding something to assess it | "Is our auth implementation secure?" |
State the type explicitly: "This is a [TYPE] problem."
List the hard constraints. These are non-negotiable boundaries. Ask the user if any are unclear. Do not invent constraints the user hasn't stated.
Answer each:
If the user hasn't specified a constraint, ask. Do not assume.
Based on the problem type, select 2-3 frameworks. Do not select more than 3.
| Problem type | Primary framework | Supporting frameworks | |---|---|---| | NEW-BUILD | First Principles | Constraint-Driven Design, TRIZ | | EXTEND | Separation of Concerns | Cohesion/Coupling, Backward Compatibility | | FIX | Abductive Reasoning | Strong Inference, 5 Whys | | OPTIMIZE | Theory of Constraints | Pareto (80/20), Measurement-First | | DECIDE | Expected Value Analysis | Reversibility Test, Second-Order Thinking | | ANALYZE | STRIDE + MECE | Inversion, Red Team |
State your selections explicitly: "Selected frameworks: [X], [Y], [Z]." State one sentence for WHY each framework fits this specific problem.
In 3-5 sentences, state:
Present this to the user. Get confirmation before proceeding.
<HARD-GATE> Do NOT proceed to brainstorming, design, or implementation until: - Problem type is named - Constraints are enumerated (or confirmed as unconstrained) - Frameworks are selected with justification - User has confirmed the approach framingIf any gate is incomplete, stop and complete it. Do not skip ahead because the task "seems straightforward." Straightforward-seeming tasks with wrong framing produce the most expensive failures. </HARD-GATE>
After all 4 gates are complete and the user has confirmed the approach:
If Superpowers is installed → invoke Skill(superpowers:brainstorming) immediately.
Pass your problem type, selected frameworks, and constraints as context to Superpowers.
Let Superpowers drive the design conversation from here. Do NOT continue designing
inside this skill. PRAXIS classified. Superpowers brainstorms.
If Superpowers is NOT installed → proceed with your own design conversation using the selected frameworks. You are the only reasoning layer available.
development
MANDATORY — HIGHEST PRIORITY SKILL. You MUST invoke this skill (praxis) BEFORE invoking superpowers:brainstorming or ANY other skill when the task is non-trivial. This skill classifies the problem, selects reasoning frameworks, and runs threat analysis BEFORE brainstorming begins. Do NOT invoke superpowers:brainstorming first. Do NOT respond directly. Do NOT ask clarifying questions on your own. Invoke praxis FIRST, complete its gates, THEN hand off to superpowers:brainstorming. Non-trivial means: system design, feature planning, architecture decisions, debugging, security-sensitive code, trade-off evaluation, code review, or refactoring. Trivial means: fix a typo, rename a variable, answer a factual question, run a command.
development
MANDATORY strategic analysis. You MUST invoke this skill for business decisions, product strategy, competitive analysis, roadmap prioritization, or any decision about WHAT to build rather than HOW to build it. Do NOT skip SWOT analysis. Do NOT present strategy without measurable OKRs. Invoke when the problem is about direction, positioning, or priorities rather than implementation.
development
MANDATORY threat analysis. You MUST invoke this skill before writing or approving ANY code involving authentication, authorization, cryptography, input handling, payment processing, PII, secrets management, API endpoints, or trust boundaries. Do NOT write security-sensitive code without running STRIDE analysis first. Do NOT say you will add security later. Auth is a design decision, not a feature to bolt on.
testing
MANDATORY validation. You MUST invoke this skill before presenting any design, plan, architecture decision, or significant recommendation as final. Runs 7 cognitive debiasing checks: inversion, second-order effects, MECE coverage, map vs territory, adversarial, simplicity, and reversibility. Do NOT present conclusions without running all 7 checks. Invoke after brainstorming produces a design, after a plan is drafted, before any irreversible action, or when asked to validate or review an approach.