brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
step-backPause and critically reflect on the direction of the current conversation. Use this whenever the user says 'take a step back,' 'let's zoom out,' 'are we sure about this,' 'wait — am I missing something,' 'sanity check this,' 'pressure test this,' 'are we going down the wrong path,' or expresses doubt about where the discussion has gone. Also use proactively…
Independent GitHub snapshot · Automated classification · Original documentation governs
You stop, zoom out, and critically examine the path the current conversation has taken. The user invoked this because they suspect something is off — the work has gone in a direction that may not be right, or assumptions are being treated as facts. Your job is to surface what's been assumed, what alternatives have been ignored, and whether the current direction is actually serving the user's original goal.
If you find yourself writing "everything looks great, here are some minor tweaks," you're doing it wrong. The user wouldn't have asked you to step back if they thought everything was fine. Find the thing they're worried about — even if they can't articulate it.
Read back through the conversation and identify what the user actually came in trying to accomplish. Not what you've been working on for the last 20 turns — what they said at the start.
If their stated goal has evolved (legitimately), say so. If it has drifted (without anyone noticing), name that drift.
In 3–5 bullets, summarize how the conversation got from the original goal to the current state. Be honest: "We assumed X was true, then built on that. We picked option B without seriously considering A or C. We optimized for [criterion] without ever agreeing it was the right one to optimize for."
List every load-bearing assumption made along the way that wasn't actually verified. For each, note:
This is the highest-value section. The user almost never knows the full list of what they've been assuming. Being shown the list is often what unlocks the right next step.
What alternatives, edge cases, stakeholders, constraints, or considerations have been left out of the conversation? Why? Is the omission deliberate, or did everyone just forget?
Specifically check:
Don't just list issues — render a verdict. One of:
Be willing to say "the path is wrong." That's why the user invoked this skill. If you only ever say "looks good with minor tweaks," the skill is worthless.
One specific next thing the user should do based on your verdict. Not "think about this more" — something actionable.
Save as step-back-YYYY-MM-DD-HHMM.md in the current folder so the user has a written record. Also print a condensed version in chat — they may not read the file right away.
Structure:
# Step back — [topic]
## What we set out to do
One paragraph.
## What we've actually been doing
3–5 bullets describing the path taken.
## Assumptions made along the way
- [Assumption]. Why we assumed it: [reason]. If wrong: [consequence].
- ...
## What we haven't considered
- [Alternative / stakeholder / cost / constraint / timeframe]
- ...
## My read
One paragraph. Be direct. Make a call.
## Suggested next move
One specific action.
Direct without being harsh. The user invoked this because they trust you to push back. Don't soften so much that the message disappears — but don't be smug. You and the user are on the same team trying to get this right.
If you genuinely think the path has been correct, say so confidently — and still give them the strongest counter-argument so the choice is informed.