Install any skill in seconds. Free to start, no credit card required.
Get Started Free →cursor/why
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.
Passed 11 of 17 test cases with the skill, and 4 of 17 without it.
and 11 more in the full report
12 fixed3 passed either way7 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/4/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
When anchoring commit history for `src/billing/tax.py`, we identified PR merge commit `#4321`. Which `gh` CLI invocation and parameters retrieve full PR title, body, discussion comments, reviews, and linked issues?
| Checked | Without skill | With skill |
|---|---|---|
| Executes gh pr view 4321 with --json title,body,author,createdAt,mergedAt,labels,closingIssuesReferences,comments,reviews. | Missed | Passed |
The instructions your model reads when the skill loads.
Investigate the motivation and intent behind code. The companion how skill answers what the code does and how it works. why answers what forces led to its shape.
Each spawn below names a role line in the pstack-models.mdc rule and a default. Set model to that line's value, or to the default if the rule or the line is missing. Leave model unset when the value is auto or inherit-parent. If the Task tool rejects a slug, use the default and say so. If it rejects the default, use the closest valid slug of the same family from its error message. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the poteto-mode skill.
Every spawn is generalPurpose with readonly: false (agent mode). Do not use readonly/Ask mode. It strips MCP access, which disables the MCP-backed investigators and the synthesizer's citation spot-checks. Investigators still shouldn't write anything.
Operate as a careful, cautious, and precise investigator. Be honest about what you know vs what you're inferring. Read references/epistemics.md for the full confidence framework and phrasing guide. The synthesizer must follow it.
The target is usually a chunk of code, a pattern, a feature, or a named design decision. The question is usually a design rationale, a tradeoff, a motivating edge case, an external constraint, dead code, or a broad history sweep.
If the target is vague ("why do we do it this way?" with no clear referent), make your best guess from conversation context (open files, recent edits, cursor location, what was just discussed). State your interpretation briefly so the user can redirect if you're off, then proceed.
Before spawning investigators, build the seed context inline: file paths and line ranges, key symbols (functions, classes, constants), the last few commits touching the target, PR numbers from merge commits (pattern (#1234) in the subject line), and any linked ticket IDs. Run git blame -L <start>,<end> <file> for last-touch commits, git log --follow -p -- <file> for full history with patches through renames, git log --oneline -20 -- <file> for recent commits with PR numbers visible, and git log -1 --format=%B <commit> to extract PR numbers. Then pull the PR bodies and discussion for any substantive commit: gh pr view <number> --json title,body,author,createdAt,mergedAt,labels,closingIssuesReferences,comments,reviews. This anchor goes to every investigator and to the synthesizer.
Default to the full parallel investigation. The goal is a complete coverage map, not a minimal one. Document the null, don't skip the search.
Before spawning investigators, list the available MCPs from the Cursor environment. Use the available-tools map when present. Otherwise inspect the mcps/ directory Cursor exposes for enabled MCP servers.
Map each available MCP to one evidence category:
test cases passed, vs 4 / 17 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.