Using Superpowers
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
Align on the shape of a change through an interview, then implement it.
$ npx skills add tobihagemann/turbo --skill discuss-change -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tobihagemann/turbo discuss-change --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/codex/skills/discuss-change .claude/skills/discuss-change && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "discuss-change" agent skill from https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-change into .claude/skills/discuss-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discuss-change", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-changeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tobihagemann/turbo --skill discuss-change -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tobihagemann/turbo discuss-change --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .agents/skills && cp -r skills-src/codex/skills/discuss-change .agents/skills/discuss-change && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "discuss-change" agent skill from https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-change into .agents/skills/discuss-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discuss-change", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tobihagemann/turbo --skill discuss-change -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tobihagemann/turbo discuss-change --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/codex/skills/discuss-change .cursor/skills/discuss-change && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "discuss-change" agent skill from https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-change into .cursor/skills/discuss-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discuss-change", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tobihagemann/turbo.git --path codex/skills/discuss-change--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tobihagemann/turbo --skill discuss-change -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tobihagemann/turbo discuss-change --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/codex/skills/discuss-change .gemini/skills/discuss-change && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "discuss-change" agent skill from https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-change into .gemini/skills/discuss-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discuss-change", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tobihagemann/turbo discuss-changeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tobihagemann/turbo --skill discuss-change -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .github/skills && cp -r skills-src/codex/skills/discuss-change .github/skills/discuss-change && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "discuss-change" agent skill from https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-change into .github/skills/discuss-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discuss-change", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tobihagemann/turbo --skill discuss-change -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tobihagemann/turbo discuss-change --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/codex/skills/discuss-change .opencode/skills/discuss-change && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "discuss-change" agent skill from https://github.com/tobihagemann/turbo/tree/main/codex/skills/discuss-change into .opencode/skills/discuss-change/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "discuss-change", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
discuss-changeAlign on the shape of a change through an interview, then implement it.
Discuss Change is an agent skill from tobihagemann/turbo. 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.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Requirements gathering. The repository describes itself as: Reusable workflows for planning, building, reviewing, and shipping with Claude Code and Codex. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 931eda5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Discuss Change loads about 3k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 1,851 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tobihagemann/turbo at commit 931eda5, republished under its MIT licence (© tobihagemann). 1,851 words, ~2,971 tokens.
.claude/skills/discuss-change/SKILL.md (or your agent's skills folder).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.
Look up a named precedent before escalating. When the request, or a document it points to, names a precedent the change is meant to follow, such as an existing product, a protocol, or a standard, look up how it behaves on the points the change touches, and frame options against what the lookup found. Mark as unverified only a claim about it that the lookup could not settle.
Observe existing surfaces before escalating. When an option concerns how an existing surface looks, observe it as it currently renders, by running the app from the current code, or from a screenshot requested from the user, and drop any option its rendered state rules out.
Read the code an option's benefit lands in before escalating. When an option is justified by what it lets code outside the change do, such as the caller of an interface or the consumer of an output, read that code and follow the benefit through it. Confirm the code needs what the option provides and does not already get it another way. Drop a benefit the reading does not bear out.
Apply the UX lens before escalating. When a decision concerns what the software does for the person using it, a default or a control included, run the $user-experience skill on it first, and state each option as the behavior that person gets and the goal it serves. Leave the mechanism behind each behavior to Step 3.
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. Treat the work of departing from the codebase's existing structure as a cost to state beside the option that incurs it, with no bearing on which option is strongest.
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? Keep in scope any items the change would otherwise leave as the last holdouts of the behavior it replaces, however small their payoff. |
$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.$user-experience skill on it before framing options, and state each option as the behavior that person gets and the goal it serves.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. Label any consistency or durability machinery the shape adds (a lease, lock, queue, versioning scheme, or new persistent entity) as machinery. For each, name the stated requirement or user decision that demands it, or say that none does, and state what dropping it would give up. For each deferred item, including an addition the user declined earlier, state the user story it serves, or what it simplifies when it is a technical item, and recommend noting it for later or dropping it. Recommend noting only an item that serves a goal the person using the software actually has or that simplifies existing code. This text is the change description Step 6 implements, so keep it concrete enough to act on.
Close with how to reply: approve the shape as settled, or describe what to change. When the shape defers items, add that an approval notes the ones recommended for noting and drops the rest, and can flip any of them. When an unknown that only a built artifact settles is still open, also offer prototyping it first, and recommend that over approving, since a surface or interaction pattern that is still unproven cannot be judged from the shape description.
Then end the turn.
A goal continuation turn that carries no reply from the user is not an approval: end it without calling any tool and without advancing.
$prototype skill, then fold what it settled into the shape. Then re-present the shape, close with Step 4's reply guidance, and end the turn again.$note-improvement skill once for each deferred item settled as noted. Once every such item is noted, continue to Step 6.$implement SkillRun the $implement skill. The shape the user approved 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.© tobihagemann, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in codex/skills/discuss-change of tobihagemann/turbo.
Open the folder on GitHubat commit 931eda5
Discuss Change next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Discuss Change this skilltobihagemann/turbo | 408 | — | ~3k | Automated safety check: Pass | MIT | |
| Using Superpowersfarm-fe/farm | 5.6k | 36 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Interview Meaddyosmani/agent-skills | 105k | 6 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Brainstormingobra/superpowers | 297k | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Grillingpietheinstrengholt/rssmonster | 564 | 31 repos | ~510 | Automated safety check: Pass | MIT | |
| Agentic Workflow Designerdotnet/Open-XML-SDK | 4.6k | 2 repos | ~3.5k | Automated safety check: Pass | MIT |
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
addyosmani/agent-skills
Asks one question at a time, each with a best guess attached, until the agent is about 95 percent sure what you really want, before any plan, spec or code.
obra/superpowers
Makes the agent clarify intent and agree on a design with you before writing any code, scaling the process from a quick spike to a written spec.
pietheinstrengholt/rssmonster
Grill the user relentlessly about a plan, decision, or idea.
dotnet/Open-XML-SDK
Interviews you one question at a time about goal, trigger, permissions and data needs, then drafts a single agentic workflow markdown file.
MemTensor/MemOS
Shows a question as a modal in the interface to clarify a task, collect a preference or get approval, since the user cannot see terminal output.
tobihagemann/turbo
Consult ChatGPT Pro via ChatGPT browser automation for problems that resist standard approaches.
tobihagemann/turbo
Fetch and summarize review feedback and conversation from a GitHub PR (unresolved review threads, review bodies, and PR conversation comments) without making changes.
tobihagemann/turbo
Recall why a past change was made by locating the Claude Code transcript that produced it.
tobihagemann/turbo
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments.
tobihagemann/turbo
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments.
tobihagemann/turbo
Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, architecture rot, and low-value tests.
Categories
Align on the shape of a change through an interview, then implement it. Discuss Change is an agent skill from tobihagemann/turbo. Align on the shape of a change through an interview, then implement it.
Discuss Change fits situations like: the user asks to discuss this change; align on this change first; ask me questions first; interview me then implement.
Run `npx skills add tobihagemann/turbo --skill discuss-change -a claude-code`. Or copy the skill folder (codex/skills/discuss-change in tobihagemann/turbo) into .claude/skills/discuss-change in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tobihagemann/turbo --skill discuss-change -a codex`. Or copy the skill folder (codex/skills/discuss-change in tobihagemann/turbo) into .agents/skills/discuss-change in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tobihagemann/turbo --skill discuss-change -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/discuss-change, .gemini/skills/discuss-change, .github/skills/discuss-change and .opencode/skills/discuss-change in your project.
SKILL.md names no scripts, command-line tools or credentials: Discuss Change is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Discuss Change is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Discuss Change: Using Superpowers (farm-fe/farm, 5.6k stars), Interview Me (addyosmani/agent-skills, 105k stars), Brainstorming (obra/superpowers, 297k stars) and Grilling (pietheinstrengholt/rssmonster, 564 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tobihagemann (a GitHub user) maintains it in tobihagemann/turbo, which has 408 GitHub stars. The repository holds 81 skills in this directory. The repository was last updated on October 9, 2026.
Source: tobihagemann/turbo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.