$npx -y skills add human-avatar/skills-for-humanity --skill s4h-constraint-scope-reductionFinds the minimum that satisfies the actual requirement — stripping everything wanted but not needed. Triggers: 'minimum viable', 'what's the minimum', 'strip this back', 'what do we actually need', 'scope reduction', 'simplify the requirement'.
| 1 | # Constraint Scope Reduction |
| 2 | |
| 3 | Scope grows because wants accumulate alongside needs, and no one separates them. This skill |
| 4 | forces that separation. The goal is not to build less — it is to find the version where |
| 5 | every element is doing real work, and nothing is there because it sounded good in the |
| 6 | planning meeting. |
| 7 | |
| 8 | --- |
| 9 | |
| 10 | ## Your Process |
| 11 | |
| 12 | **Step 1: State the Full Current Scope** |
| 13 | List everything in the current plan, feature set, or requirement. Be complete — you can |
| 14 | only strip what you've named. |
| 15 | |
| 16 | **Framing check:** Confirm the constraint and the goal it is blocking before continuing. State what you've identified — the specific scope being reduced and the core job it must accomplish — in one sentence, then use `AskUserQuestion`: |
| 17 | - **Question:** "I'm reading this as: [your one-sentence framing of the scope and the core job it must accomplish]. Is that right?" |
| 18 | - **Header:** "Framing" |
| 19 | - **Options:** |
| 20 | - **Yes — proceed** — framing is correct |
| 21 | - **Adjust** — one element is off; user will correct it before you continue |
| 22 | - **Reframe** — different situation than read; incorporate the correction before proceeding |
| 23 | |
| 24 | **Step 2: Find the Core Job** |
| 25 | Ask: what is the single verb this must do? Not what it should do, what it must do. Strip |
| 26 | all nouns and adjectives until only the job remains. "A user can complete a purchase" is a |
| 27 | job. "A seamless, intuitive checkout experience" is not. |
| 28 | |
| 29 | **Step 3: Classify Each Element — Must or Want** |
| 30 | For every element in scope: is it required for the core job (must) or desired beyond it |
| 31 | (want)? Apply pressure to musts — if you removed it, would the core job fail? |
| 32 | |
| 33 | **Step 4: Remove All Wants and Test** |
| 34 | Drop every want. Confirm: can the core job still be done? If yes, the wants were not load- |
| 35 | bearing. If no, you've found a hidden must — reclassify and investigate why it felt optional. |
| 36 | |
| 37 | **Step 5: Simplify the Musts** |
| 38 | For each must: is there a simpler way to achieve the same outcome? Simpler means fewer |
| 39 | moving parts, less code, lower cost, or faster delivery — not necessarily less effort to |
| 40 | design. |
| 41 | |
| 42 | **Step 6: State the Minimum Viable Version** |
| 43 | Write the minimum scope in a single paragraph. It should be possible to build from this |
| 44 | description without the original scope document. |
| 45 | |
| 46 | --- |
| 47 | |
| 48 | ## Human Check-in |
| 49 | |
| 50 | Before proceeding, use the `AskUserQuestion` tool. State your interpretation of the situation in 1–2 sentences — what is being analyzed and what the core question is — then ask: |
| 51 | |
| 52 | - **Question:** "My read: [your 1–2 sentence interpretation]. How do you want to proceed?" |
| 53 | - **Header:** "Scope" |
| 54 | - **Options:** |
| 55 | - **Full analysis** — Complete all steps, reasoning shown throughout |
| 56 | - **Key findings only** — Bottom-line output, skip step-by-step detail |
| 57 | - **Minimum viable scope only** — The smallest version that still satisfies the actual need |
| 58 | - **Reframe** — The read is off; correct it and the analysis will follow the corrected framing |
| 59 | |
| 60 | Proceed based on their selection. If the user reframes, incorporate the correction before running any analysis. |
| 61 | |
| 62 | ## Output Format |
| 63 | |
| 64 | **Current scope:** |
| 65 | > [Bulleted list of everything in scope] |
| 66 | |
| 67 | **Core job (the verb):** |
| 68 | > [Single sentence] |
| 69 | |
| 70 | **Must vs Want classification:** |
| 71 | |
| 72 | | Element | Must / Want | Reason | |
| 73 | |---------|-------------|--------| |
| 74 | | | | | |
| 75 | |
| 76 | **What was removed and why it's safe to remove:** |
| 77 | > [Brief list — each removal with one-line justification] |
| 78 | |
| 79 | **Minimum viable scope:** |
| 80 | > [Single paragraph — buildable without further clarification] |
| 81 | |
| 82 | --- |
| 83 | |
| 84 | ## Notes |
| 85 | |
| 86 | The most common mistake is reclassifying wants as musts when pressure is applied. Challenge |
| 87 | every must: "if we launched without this, what actually breaks?" The answer is usually |
| 88 | "nothing breaks, someone would be annoyed." |
| 89 | |
| 90 | --- |
| 91 | |
| 92 | ## What's Next |
| 93 | |
| 94 | After delivering this output, use `AskUserQuestion` to offer the next move: |
| 95 | |
| 96 | - **Question:** "Scope reduced. What's next?" |
| 97 | - **Header:** "Next" |
| 98 | - **Options:** |
| 99 | - `/s4h-decision-criteria-weighting` — Evaluate options within the reduced scope |
| 100 | - `/s4h-resource-allocation-analysis` — Reallocate for the new scope |
| 101 | - `/s4h-decision-premortem-analysis` — Stress-test the reduced scope plan |
| 102 | - **Done** — Wrap up and synthesise what we have so far |