원클릭으로
explain-commit
Explain the why and how of a git commit or pull request as a single, terse HTML page.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Explain the why and how of a git commit or pull request as a single, terse HTML page.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Log feedback, bugs, follow-ups, or ideas raised mid-session as structured BACKLOG.md entries, so they survive past the conversation. Use for /radin-record, "log this to BACKLOG.md", "add as follow-up/bug/idea", "record what we just found", "note this for later", "add findings to backlog". Triggers even on vague asks ("add the findings") — scan the whole session, not just the literal text.
Run a thermo-nuclear code quality review over a scope (commit, PR, directory, or a range like "since yesterday") and log each finding as a BACKLOG.md entry instead of printing to terminal. Use for /radin-review, "review and log to backlog", "audit this commit/PR/directory and file backlog entries", "turn this review into a backlog".
Wire up per-repo hooks/MCP config for radin's companion tools (code-review-graph). Use for "set up hooks", "wire up code-review-graph", "enable the knowledge graph here", or right after install.sh in a new project.
Refresh radin's agents/skills in ~/.claude/ by re-running install.sh (latest release or main), overwriting what's there. Use for "update radin", "pull the latest radin", "reinstall radin", /radin-update.
Audit a feature branch against origin/main to highlight changes, verify test coverage, and detect potential bugs. Use this skill whenever you need to: - Understand what changed in a branch compared to main - Verify all changes have corresponding unit tests - Detect potential bugs or regressions - Assess merge risk and readiness - Review code quality, formatting, and architecture - Get actionable recommendations for test coverage gaps This is pgpemu-specific: It understands the ESP32-C3 firmware architecture, the comprehensive test suite (252 assertions across 8 test modules), and code review standards from AGENTS.md. The auditor scans the entire codebase—no specificity needed, the unit tests handle verification.
Reformat messy Obsidian web-clip documents into clean, standardized markdown. Use this skill when you need to clean up web clips, remove website navigation cruft, strip HTML tags, embed images with context, generate concise titles, add meaningful tags, or transform cluttered documents into readable notes. Handles Reddit posts, blog articles, and other web content. Trigger phrases include "format Obsidian document", "clean up web clip", "remove HTML from markdown", "fix messy note", "standardize web clippings", "embed images", "generate better title".
| name | explain-commit |
| description | Explain the why and how of a git commit or pull request as a single, terse HTML page. |
| disable-model-invocation | true |
| argument-hint | Commit hash, or GitHub commit/PR URL |
The user has asked you to explain a specific code change - a commit or a pull request. Produce one self-contained HTML page that a technical reader can absorb in a few minutes:
This is a stateless, one-shot request. No workspace, no lessons, no quizzes, no follow-up questions embedded in the page. Gather, explain, write the page, open it, done.
The user provides one of three forms:
6cffe7f91690e53b634efc260be829cad47b5de9) - a commit of the repository in the current directory.https://github.com/algolia/data-ingestion/commit/d208b89...) - a commit of that remote repository.https://github.com/algolia/data-ingestion/pull/7959) - the full pull request: all commits, the PR body, and the review discussion.If the input matches none of these, ask the user for one before doing anything else. That is the only question you may ask.
You may use git and gh read operations only. Never perform any write operation (no push, no comments, no reviews, no labels) - you are a reader of this history, not a participant.
The diff alone is half the story. Commit messages, the PR body, and review discussions are where the decisions live - why this approach, what was pushed back on, what was deferred. Always gather them.
git log -1 --format=full <sha> # full commit message - primary "why" source
git show --stat <sha> # shape of the change
git show <sha> # the diff itself
git log --oneline <sha>~5..<sha> # surrounding history for context
gh api repos/{owner}/{repo}/commits/<sha>/pulls # PR this commit landed through, if any
If the commit came from a PR, follow the PR too - the discussion there usually explains more than the message.
gh api repos/OWNER/REPO/commits/SHA # message, author, files, patches
gh api repos/OWNER/REPO/commits/SHA/pulls # associated PR(s)
gh pr view <url> --json title,body,author,url,state,mergedAt,baseRefName,commits,files
gh pr diff <url> # the full diff
gh api repos/OWNER/REPO/pulls/N/reviews # review verdicts and summaries
gh api repos/OWNER/REPO/pulls/N/comments # inline review threads - decision gold
gh api repos/OWNER/REPO/issues/N/comments # top-level discussion
Also chase references: linked issues in the PR body (Fixes #123), design docs, earlier PRs mentioned in discussion. Fetch them with gh api / gh issue view when they carry motivation. When the change touches code you can read locally, read the surrounding files - a diff only makes sense against the code it lands in.
Read the repository's AGENTS.md and CLAUDE.md (root and any in the directories the diff touches) when they exist - locally, or via gh api repos/OWNER/REPO/contents/... for remote changes. They encode the conventions and architecture the change was written against, and often explain choices the diff can't: why this layer, why this naming, why this test shape. Use them to interpret the change; cite them when they explain a decision.
While gathering, check whether the change's author is the current user: compare the commit author against git config user.email, and the PR author against gh api user --jq .login. If they match, assume the work was done by a coding agent on the user's behalf - even without a Co-Authored-By trailer or any other sign of agentic coding. Authorship on record does not mean the user knows the change.
Never trust your parametric knowledge about what the change does. Ground every claim in the diff, the messages, the discussion, or the repo's conventions files - and cite them (link to the commit, the PR, the specific review thread).
Always establish the motivation before walking the implementation - a diff without its "why" is noise. The order of primary sources for "why": linked issue → PR body → commit messages → review discussion (which often reveals the rejected alternatives, the sharpest form of "why").
Never fabricate motivation the sources don't contain - say plainly on the page when the "why" is undocumented, and name who would know (a reviewer, the owning team).
One self-contained HTML file - all CSS inline, no external assets, no links to other generated pages. Write it to ~/.claude/.explain-commit/, named <repo>-<short-ref>.html (e.g. data-ingestion-pr7959.html). Never write anything to the user's repository or current working directory. Open the file for the user with a CLI command (open on macOS).
The reader is a technical person fluent in reading code. Be terse: no pedagogy, no exercises, no padding, no restating what a competent engineer sees in the diff. Spend the words on what the diff doesn't say - motivation, rejected alternatives, non-obvious mechanisms, convention context.
Structure:
--stat), then the key mechanisms. Slice the diff - show only the hunks that carry the idea, rendered as diffs (added/removed styling), never the full patch. Call out the non-obvious parts and how repo conventions (AGENTS.md / CLAUDE.md) shaped them.The page should be beautiful - clean, readable typography, prints well. Think Tufte. But brevity beats completeness: a small commit deserves a short page. Never pad.