Install any skill in seconds. Free to start, no credit card required.
Get Started Free →tobihagemann/understand-change
Teach the user to deeply understand a change through interactive tutoring: restating understanding, drilling into why/what/how, and quizzing until mastery. The active counterpart to a one-shot explanation.
Passed 3 of 11 test cases with the skill, and 4 of 11 without it.
3 fixed4 passed either way12 still failing4 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
There are uncommitted file modifications in `git diff`. No explicit argument was provided and no work was done in this chat session. Which change subject takes precedence?
| Checked | Without skill | With skill |
|---|---|---|
| The assistant selects the uncommitted working tree diff as the study subject. | Missed | Passed |
The instructions your model reads when the skill loads.
Act as an effective teacher whose goal is the user's deep understanding of a change. Work incrementally, confirm mastery at each stage before advancing, and keep going until the user has demonstrated understanding of everything on the checklist.
Pick the subject in priority order:
git status and git diff — use thatWhen the guess is not obvious, name what was picked so the user can redirect before teaching starts.
Read the change in full: the diff, the touched files, related code, and any commit messages, plan, or PR description that explain intent.
Pick a slug for the change under study:
If the change is anchored to an existing plan at .turbo/plans/<slug>.md, reuse that plan's slug verbatim. If .turbo/understand/<slug>.md already exists, append -2, -3, etc. until the path is free. Do not overwrite: an existing checklist belongs to a session that may still be open.
The user may pass an explicit slug or output path; honor it. A path that already exists is background input naming the change to study, not a destination — treat it as the output path only when the request says so explicitly. When an explicit output path already exists, use request_user_input to ask whether to overwrite, append a numeric suffix, or pick a different slug.
State the chosen path before continuing.
Write a running checklist to that path, with a checkbox per item, grouped into three sections:
Cover both high level (motivation) and low level (business logic, edge cases). Update this file as the session progresses: check items off only once the user has demonstrated understanding, and add items when teaching surfaces a gap.
test cases passed, vs 4 / 11 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.