kramme-cc-workflow/skills/kramme:pr:walkthrough/SKILL.md
Generate a local interactive PR walkthrough as a static D3 HTML artifact with guided system overview, data flow, code dependency, and user action views. Use when a reviewer needs orientation to a branch or GitHub PR before review. Not for actionable code review findings, PR description generation, publishing, or live UX audits.
npx skillsauth add abildtoft/kramme-cc-workflow kramme:pr:walkthroughInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a local, reviewer-facing walkthrough for the current branch or open GitHub PR. The output is a single static HTML page with four interactive D3 views:
This is an orientation artifact, not a review workflow. Do not invent findings, approve/request changes, or duplicate kramme:pr:code-review, kramme:pr:ux-review, or kramme:visual:diff-review.
Arguments: "$ARGUMENTS"
Parse arguments.
--base <ref> overrides base-branch detection.--output <path> overrides the default output path. Store the resolved value as OUTPUT_PATH.OUTPUT_PATH: .context/pr-walkthrough/index.html.OUTPUT_DIR to the parent directory of OUTPUT_PATH.Resolve PR scope.
Confirm the current directory is a git work tree.
Prefer the branch's open GitHub PR when gh is available:
gh pr view --json number,url,title,body,baseRefName,headRefName,state,files,comments,reviews
If no PR is available, resolve base from --base, then origin/HEAD, then origin/main, then origin/master.
Collect:
git --no-pager diff --stat <base>...HEAD
git --no-pager diff --name-status <base>...HEAD
git --no-pager log --oneline <base>..HEAD
git --no-pager diff <base>...HEAD
Read the codebase, not only the diff.
Collect reviewer context.
specs/ and files named PRODUCT.md, product.md, TECH.md, tech.md, or close variants.OUTPUT_DIR/assets/ and reference them as assets/<file> or a safe image/video data URI. Do not hotlink remote images.Build diff links when a PR URL is known.
Link changed-file references to the PR's Files changed tab:
<pr_url>/files#diff-<sha256-lowercase-file-path>
Add R<new_line> or L<old_line> anchors when line-specific evidence is needed.
Generate anchors deterministically with a hash helper or shell command, not by hand.
Create the view model.
Write a JSON file with this shape:
{
"meta": {
"title": "PR title or branch name",
"summary": "One-sentence reviewer orientation.",
"prUrl": "https://github.com/org/repo/pull/123",
"baseRef": "main",
"headRef": "feature-branch"
},
"graphs": [
{
"id": "system-overview",
"label": "System overview",
"summary": "Stable subsystem architecture.",
"nodes": [],
"edges": [],
"tour": []
}
]
}
Include exactly these graph IDs: system-overview, data-flow, code-dependency, user-action.
Each graph needs its own nodes and tour.
Non-overview graphs need directed edges with relationship labels.
System overview should normally have no edges and should use larger cards with visible paragraph summaries.
Every tour step must point to an existing node and explain why that node matters at that point.
Nodes should be concepts, subsystems, state owners, user surfaces, tests, specs, and review-discussion hotspots, not a dump of every changed file.
Render the static walkthrough.
Resolve SKILL_DIR to this skill directory.
Use the helper script:
python3 "$SKILL_DIR/scripts/render_walkthrough.py" \
--data .context/pr-walkthrough/graph.json \
--output "$OUTPUT_PATH"
The generated page must load directly from file://, use inline data, avoid fetch() for local data, and inline D3 from the vendored asset at $SKILL_DIR/assets/d3.v7.9.0.min.js. Do not replace the vendored asset with a CDN or unversioned dependency.
Required UI: view toggles, zoom/pan, fit/reset zoom, search, detail panel, previous/next/restart tour controls, keyboard shortcuts, and stable data-graph-id, data-node-id, data-edge-id, and data-tour-index attributes.
Validate before reporting ready.
Run:
python3 "$SKILL_DIR/scripts/validate_walkthrough.py" \
--html "$OUTPUT_PATH"
Open the file:// URL and manually verify graph switching, tour controls, search, node details, zoom/pan, and readable text. If browser automation is available, use it to capture at least one screenshot per view.
Do not report the walkthrough as ready if static validation fails. If browser validation cannot be performed, say that rendering is statically validated but visually unverified.
Report:
file:// URL.gh, missing comments, missing visuals, or requested publishing that was not performed.This skill is adapted from the Warp pr-walkthrough concept and vendors D3 for offline single-file rendering. See references/sources.yaml for upstream source and license metadata used for maintenance audits.
tools
Requires Linear MCP. Implements one Linear issue end to end, selects applicable code-review, convention, and PR-refactor gates, runs them to bounded convergence, verifies, and optionally opens the PR and iterates on CI and review feedback until green. Use when the user wants a single Linear issue taken from implementation through a clean Pull Request. Not for implementation-only work, SIW-tracked issues, stacked PRs, existing PR updates, or post-merge rollout.
development
Reviews PR and local changes for convention drift and overcaution against documented rules and mined peer-file practice. Use for new patterns, dependencies, abstractions, or defensive complexity that departs from established practice; every finding cites evidence. Supports --inline. Not for general code quality (use kramme:pr:code-review) or spec review (use kramme:siw:spec-audit --team).
testing
Charts huge or foggy initiatives into a local `.context` decision map and resolves one typed frontier ticket per session until the work is ready for SIW or another execution workflow. Use when the route to a destination cannot fit in one agent session or parallel workspaces need coordinated planning state. Not for clear specs, ordinary issue decomposition, implementation, or Linear-native tracking.
development
Investigates a question against primary sources and saves one cited Markdown artifact. Use for reading legwork: official docs/API facts, source-code or spec checks, standards, and first-party service behavior before planning or implementation. Not for making product or architecture decisions, implementing code, broad web search, secondary blog summaries, or uncited answers.