Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Align on the shape of a change through an interview, then implement it. Escalates open product decisions and settles the implementation shape in conversation. Use when the user asks to "discuss this change", "align on this change first", "ask me questions first", "interview me then implement", "agree on the approach before coding", or wants the shape of a single change settled before any code is written.
.claude/skills/tobihagemann-discuss-change/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -41% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-14 | ✓→✗ | ▼ Worse | 44% | 0% |
| case-15 | ✓→✗ | ▼ Worse | 91% | 0% |
Escalate open decisions, agree on the implementation shape, then implement.
Use update_plan to track each step, restating any remaining steps of a parent workflow alongside them:
$implement skillAbsorb the request without interrupting. Take the task from the user's request, or from conversation context when the task was already established. Restate the goal in one or two sentences and confirm.
Identify product or design decisions the request did not resolve. Escalate these via request_user_input before any code is written. Read the code the change would touch before judging whether a bullet matches. Skip when no bullet below matches the change.
Escalate when:
Do not escalate technical decisions the agent can make autonomously: which data structure, which existing pattern to follow, internal implementation approach. The boundary is product intent.
Confirm external constraints before escalating. When an option depends on a third-party API, service, or platform behaving a particular way, query documentation MCP tools (or web search as a fallback) and drop the option unless current documentation confirms that behavior.
Output what is at stake as text first, even when the reading it came from is fresh in this conversation. When the decision turns on a failure or misuse scenario, that means the invariant the change would protect and what makes that scenario reachable given the existing guards. Then use request_user_input to present the decision as a concise trade-off with options. Mark the strongest option "(Recommended)" and place it first.
Offer a Get a second opinion option whenever the decision is costly to reverse (it establishes a pattern others will follow, defines an interface, commits to a data shape, or imports a pattern the codebase has not used), and whenever no option earns "(Recommended)" with conviction. It runs the $consult-claude skill for what each option commits to, what reversing it costs, and what the prevailing convention is. Hold the concrete options to two so the question stays within the three-option limit. Then resolve the decision with that answer in hand, re-asking when the choice stays the user's.
Interview the user about the implementation shape until you reach shared understanding. Use request_user_input, one question at a time. Cover whichever of these matter for the task. Do not present a rigid checklist. Skip when the request and the resolved decisions already name the files to touch, the existing code to build on, and the tests to write.
| Area | What to explore | |---|---| | Prototype unknowns | What does the surface look like, and does the interaction pattern make sense in the hand? Separate these from ordinary design questions by whether an answer in prose would still leave the user guessing. | | Reuse vs new | Which existing code should the change build on? Which patterns should it deliberately not follow, and why? | | File placement | Where do new files live? Which existing files are modified? | | Data flow | How does data move through the change? Any new boundaries or contracts? | | Edge cases | Partial failure, empty states, backward compatibility, concurrency | | Tests | Which existing test patterns apply? Where do new tests live? | | Scope cut | Anything to explicitly defer? |
$consult-claude skill for the soundest answer on technical merit alone, independent of the task's original scope; on a question of product intent, run it for what each answer commits to and what reversing it costs. Then resolve the question with that answer in hand, re-asking when the choice stays the user's.$prototype skill on that unknown, then asks the question again with the prototype in hand.Output the agreed shape as text, short enough to read at a glance: what the change does, where it lands, the decisions resolved in Steps 2 and 3, how to tell it worked, and anything deliberately deferred. This text is the change description Step 5 implements, so keep it concrete enough to act on.
Then use request_user_input to offer these paths:
$prototype skill, fold what it settled into the shape, then re-present. Mark it "(Recommended)" in place of Approve while such an unknown is open, since a surface or interaction pattern that is still unproven cannot be judged from the shape description.$implement SkillRun the $implement skill. The shape confirmed in Step 4 is the change it applies.
Then call update_plan to mark this step completed and continue with the next step of the active workflow.
$turboplan for plan mode.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 9,161 | 33,657 | +267% | 1 | 1 | 0% | 1,711 | 1,856 | +8% | 0 | 0 | — |
case-02 | fail→fail | 10,046 | 24,967 | +149% | 1 | 1 | 0% | 1,758 | 1,760 | +0% | 0 | 0 | — |
case-03 | fail→fail | 5,769 | 24,457 | +324% | 1 | 1 | 0% | 338 | 1,871 | +454% | 0 | 0 | — |
case-04 | fail→pass | 21,304 | 3,232 | -85% | 1 | 1 | 0% | 3,608 | 2,116 | -41% | 0 | 0 | — |
case-05 | fail→fail | 5,149 | 12,300 | +139% | 1 | 1 | 0% | 368 | 2,577 | +600% | 0 | 0 | — |
case-06 | fail→fail | 18,165 | 4,185 | -77% | 1 | 1 | 0% | 3,897 | 1,849 | -53% | 0 | 0 | — |
case-07 | fail→fail | 9,069 | 5,316 | -41% | 1 | 1 | 0% | 1,636 | 1,752 | +7% | 0 | 0 | — |
case-08 | fail→fail | 17,074 | 7,492 | -56% | 1 | 1 | 0% | 2,937 | 2,013 | -31% | 0 | 0 | — |
case-09 | fail→fail | 11,372 | 7,378 | -35% | 1 | 1 | 0% | 1,522 | 2,310 | +52% | 0 | 0 | — |
case-10 | fail→fail | 17,561 | 9,872 | -44% | 1 | 1 | 0% | 3,344 | 2,190 | -35% | 0 | 0 | — |
case-11 | fail→fail | 9,548 | 5,893 | -38% | 1 | 1 | 0% | 1,663 | 1,883 | +13% | 0 | 0 | — |
case-12 | fail→fail | 18,759 | 18,723 | -0% | 1 | 1 | 0% | 3,899 | 2,088 | -46% | 0 | 0 | — |
case-13 | fail→fail | 24,279 | 5,454 | -78% | 1 | 1 | 0% | 5,037 | 1,774 | -65% | 0 | 0 | — |
case-14 | pass→fail | 7,654 | 7,624 | -0% | 1 | 1 | 0% | 1,289 | 1,862 | +44% | 0 | 0 | — |
case-15 | pass→fail | 7,600 | 11,435 | +50% | 1 | 1 | 0% | 1,416 | 2,701 | +91% | 0 | 0 | — |
case-16 | fail→fail | 8,523 | 7,394 | -13% | 1 | 1 | 0% | 1,371 | 1,920 | +40% | 0 | 0 | — |
case-17 | fail→fail | 12,851 | 37,500 | +192% | 1 | 1 | 0% | 1,988 | 2,237 | +13% | 0 | 0 | — |
case-18 | fail→fail | 7,255 | 6,690 | -8% | 1 | 1 | 0% | 1,115 | 2,613 | +134% | 0 | 0 | — |
case-19 | fail→pass | 9,444 | 4,780 | -49% | 1 | 1 | 0% | 1,722 | 2,480 | +44% | 0 | 0 | — |
case-20 | fail→fail | 14,261 | 7,276 | -49% | 1 | 1 | 0% | 2,275 | 2,123 | -7% | 0 | 0 | — |
case-21 | fail→pass | 10,696 | 7,838 | -27% | 1 | 1 | 0% | 1,634 | 2,428 | +49% | 0 | 0 | — |
case-22 | pass→pass | 9,004 | 7,597 | -16% | 1 | 1 | 0% | 1,522 | 2,982 | +96% | 0 | 0 | — |
case-23 | fail→fail | 17,570 | 25,089 | +43% | 1 | 1 | 0% | 3,448 | 1,905 | -45% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 5 counted toward the lift figure. The other 18 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +4 percentage points is the difference between those two pass rates over the 5 comparable cases. 5 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/21/2026 | -9% |
Other measured skills in the registry, with their headline benchmark lift.