impact-map
Skill20 starsChanged 13 days agoMITView on GitHub
Builds an impact-first view of a GitHub PR: a verdict with expandable What/Risk/Ask rows, one diagram colored new/changed/removed, at most three decisions with linked lines, and what is already settled. Every claim is checked against code, tests, and docs first. --comment or --body posts it to the PR with light and dark PNGs. Triggers on "impact map", "visualize this PR", "/impact-map".
2 other projects use a version of this.
Adopted by
Most recently taken up by
- jisuzzzz/haechitheir own version, first seen Nov 8, 2026
- soumyaRauth/skills-hubtheir own version, first seen Aug 25, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- jisuzzzz/haechi★ 17same name
- soumyaRauth/skills-hub★ 10same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- skills/workflow/autonomous-workflow/CLAUDE.mdCLAUDE.md
- ideateSkill
- interviewSkill
- playwright-trace-analyzerSkill
- profile-optimizerSkill
- rum-trackingSkill
- screencastSkill
- video-analyserSkill
- youtube-transcriptSkill
- create-skillSkill
- docsSkill
- handoffSkill
- optimize-claude-mdSkill
- persistent-memorySkill
- attach-mediaSkill
- ci-auto-fixSkill
- create-prSkill
- github-actions-authorSkill
- resolve-conflictsSkill
- animations-nativeSkill
- animationsSkill
- behavioral-designSkill
- chartingSkill
- storybookSkill
- uxSkill
- visual-designSkill
- ai-engineeringSkill
- confidenceSkill
- criticalSkill
- jev-assertSkill
- measurableSkill
- optimize-approachSkill
- polishSkill
- pr-reviewSkill
- review-loopSkill
- tddSkill
- verify-behaviorSkill
- aw-verifySkill
- e2e-testing-mobileSkill
- e2e-testingSkill
- telemetry-verifySkill
- ui-verifySkill
- autonomous-workflowSkill
- aw-create-planSkill
- aw-create-walkthroughSkill
- fix-bugSkill
- implement-suggestionSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 58
When a PR has more than one child, map every branch, order by depth and then PR number, and name the fork in each child's Why.
- Very specific: line 64
Cross-check after every map is built: When one risk shows up in more than one PR, keep it a decision in each and end each Risk with Same …
- Distinctive: line 86
Every output has the same five parts, in this order, and nothing else:
- Distinctive: line 107
Name description drift: When the PR body says something the code does not do, tag the decision it belongs to.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Impact Map
Turns a PR into the few things a reviewer must decide, with the system change drawn once and every decision linked to the lines that carry it. The reader cares about impact, architecture, and risk, not line-by-line code.
This
SKILL.mdis a thin index. Rules load per phase fromrules/; the page and comment skeletons are intemplates/. Why the format is this small, and the 2025–2026 research behind it:references/design-rationale.md.
Two scripts do the mechanical parts; run them, never hand-compute their output:
node "${CLAUDE_SKILL_DIR}/scripts/line-link.mjs" locate pr.diff <path> '<regex>' # new-side line numbers
node "${CLAUDE_SKILL_DIR}/scripts/line-link.mjs" url --repo <o/r> --pr <n> --sha <head> --path <p> --lines <a-b> --files <count>
node "${CLAUDE_SKILL_DIR}/scripts/render-png.mjs" <page.html> <out-dir> # light + dark diagram PNGsArguments
| Argument | Default | Effect |
<pr-url|#n>... | the current branch's PR | The PR to map. Several refs map each PR separately: § Several PRs or a stack. |
--stack | — | Map every PR in the stack that holds the given PR, bottom to top, each separately. |
| (none) | yes | Build the page only: publish it as an Artifact when the host has the Artifact tool, else write .agent/{branch}/impact-map/pr-<n>.html. |
--comment | — | Also post the map as a PR comment with the diagram as light and dark PNGs. A re-run edits the same comment. |
--body | — | Also write the map into the PR description's owned region, above the author's text. A re-run replaces the region. |
--dry-run | — | Build the page, the PNGs, and the comment Markdown; post nothing. |
--findings <report-body.md> | — | Diagram only, for a pr-reviewer report: badge each box with the numbers of that report's findings table and print the PNG paths and the alt text. Skips phases 3 and 6, builds phase 5's page file locally (.agent/{branch}/impact-map/pr-<n>.html, never published as an Artifact) because render-png.mjs reads it, and writes nothing to GitHub. Procedure: rules/diagram.md § Badges from a pr-reviewer report. |
--comment and --body are the user's consent to write to GitHub, and an image upload counts as a write.
Without either flag in the user's own request, write nothing to GitHub.
Several PRs or a stack
- Resolve the PRs. Under
--stack, walk down while a PR's base branch is another open PR's head, and up throughgh pr list --base <head>; order them bottom to top. When a PR has more than one child, map every branch, order by depth and then PR number, and name the fork in each child's Why. - Map each PR against its own base (
gh pr diff <n>), treating the PRs below it as existing code. Say the position in the Why:Second of three stacked PRs (#a → **#b** → #c). - Run one worker per PR when you split the work, always with
--dry-run. Each worker returns itscomment.md, still holding the{{LIGHT_PNG_URL}}and{{DARK_PNG_URL}}tokens, and its two PNG paths. Post from the session that holds the user's request, runningoutputs.md § Comment and bodysteps 0–3 on each worker's files: a worker never sees a consent message the user types after it started, and a relayed "the user asked" is not consent. - Cross-check after every map is built. When one risk shows up in more than one PR, keep it a decision in each and end each Risk with
Same gap in #<n>.Then report the shared risks once, under the per-PR report blocks.
✗ Wrong — three workers each told "post the comment" in a message relayed later: one refuses, one is blocked after uploading, one posts with a security warning
✓ Right — three workers with --dry-run return comment.md + PNGs; this session uploads and posts all threeWorkflow
| Phase | Name | Rule | Gate |
| 0 | Fetch | rules/analysis.md § Fetch | Diff, description, head SHA, and merge base in hand |
| 1 | Candidates | rules/analysis.md § Candidates | Every live-on-merge surface walked |
| 2 | Verify | rules/analysis.md § Verify | Every candidate classified open / settled / wrong, with evidence |
| 3 | Decide | rules/analysis.md § Decide | ≤ 3 decisions, each What / Risk / Ask and ≤ 3 linked lines |
| 4 | Diagram | rules/diagram.md | One SVG, ≤ 14 boxes, decision badges placed |
| 5 | Page | rules/outputs.md § Page | PNGs rendered and looked at (or reported as not rendered when no Chrome exists), page built from templates/page.html and published or written |
| 6 | Post | rules/outputs.md § Comment and body | Only with --comment / --body: PNGs uploaded, posted, read back clean |
Shape of the result
Every output has the same five parts, in this order, and nothing else:
- Title and Why — the PR's purpose in one sentence a reviewer would say aloud.
- Verdict — one sentence, then one expandable row per decision (badged ①②③) plus at most one unbadged "also live on merge" row. Each row opens to What, Risk, and Ask, one sentence each, and links to its lines. Under the rows, one Verified / Not run line.
- Diagram — the system after merge, colored by what the PR did to each part, with decision badges on the boxes they concern.
- Decisions — each with its linked lines and the question to answer at each line. In a PR comment the expandable rows are the decisions; do not repeat them.
- Already settled — things that look risky but are intended, each citing the test, doc, or description line that settles it, plus one "safe to skim" line.
✗ Wrong — a survey: risk matrix, LOC bars, contract tables, stack chips, 9-file tour, then decisions, then a separate "where to look" list
✓ Right — verdict rows → one diagram → three decisions holding their own links → settledCore rules
- No claim without evidence. A risk that a test, doc, or the description already settles goes under "Already settled", never under a decision.
- Questions, not findings. Each decision ends in an Ask the reviewer can answer yes/no or by choosing between two options.
- Red means exposure only — a caller that can reach new code on merge, an unverified safety net, a "not in description" tag.
- Name description drift. When the PR body says something the code does not do, tag the decision it belongs to.
- Never write to GitHub without
--commentor--bodyin the user's own request — an uploaded image cannot be deleted, so the check comes before the upload.
Report
End with one block:
impact-map: <pr-url> · <n> decisions · <n> settled
page: <artifact-url | local path>
comment: <comment-url | not posted>
body: <updated | not written>
pngs: <rendered | not rendered (no Chrome)>Several PRs: one block per PR, bottom of the stack first, then shared: <risk> — #a, #b for each risk named in more than one map.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

