"Explain this PR: https://github.com/owner/repo/pull/123""What does this PR do? https://github.com/owner/repo/pull/456""Summarize this pull request: [URL]"
Explain by PR number (in the current repo):
"Explain PR #42""Add a summary comment to PR #99"
Explain the current branch PR:
"Explain the current branch PR""Add a plain-English comment to my PR"
Output without posting:
"Explain this PR but don't post the comment: [URL]""What does this PR change? Just give me the text."
Two paragraphs, under 150 words total.Paragraph 1: What it does (technical). Names the specific files, functions, or systems that changed. States the before/after if visible in the diff.Paragraph 2: Why it matters (impact). Explains who benefits and what problem is solved. Omitted if there is no clear “why” in the diff or commits. The skill never guesses at impact.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"opendirectory","description":"The open-source registry of AI agent skills for founders who hate marketing.","colors":{"primary":"#3B82F6","light":"#58A6FF","dark":"#1D4ED8"},"logo":{"light":"https://mintcdn.com/varnan/EtAEBB8wcoszd8l3/assets/logo-light.webp?fit=max\u0026auto=format\u0026n=EtAEBB8wcoszd8l3\u0026q=85\u0026s=8dae4c1a52d4739eba10574af61e202a","dark":"https://mintcdn.com/varnan/EtAEBB8wcoszd8l3/assets/logo-dark.webp?fit=max\u0026auto=format\u0026n=EtAEBB8wcoszd8l3\u0026q=85\u0026s=72589e4ac0345c02fd80ba643cf2242f","href":"https://www.opendirectory.dev"},"favicon":"https://mintcdn.com/varnan/EtAEBB8wcoszd8l3/assets/favicon.png?fit=max\u0026auto=format\u0026n=EtAEBB8wcoszd8l3\u0026q=85\u0026s=3b73561a33f6340dc87a52edd9622c03","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://www.opendirectory.dev","label":"Website"},{"href":"https://www.npmjs.com/package/@opendirectory.dev/skills","label":"npm"}],"primary":{"type":"button","label":"GitHub","href":"https://github.com/Varnan-Tech/opendirectory"}},"footer":{"socials":{"github":"https://github.com/Varnan-Tech/opendirectory"}},"contextual":{"options":["copy","view","claude","chatgpt","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"varnan","hasAudioNarration":false,"actualSubdomain":"varnan","customDomains":["www.opendirectory.dev"],"gitSource":{"type":"github","owner":"varnan-tech","repo":"opendirectory","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad33b38927922a71e59fa7a","collectionId":"5e4a82b7-06e2-4dda-ab8f-e9db0ea6fa14","liveDeploymentHistoryId":"6ad33b38927922a71e59fa7a","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad33b38927922a71e59fa7a","clientVersion":"0.0.3880","searchFilterCounts":[{"language":"default","tag":"Skills Catalog","count":66},{"language":"default","tag":"GTM Intelligence","count":18},{"language":"default","tag":"Visual \u0026 Media","count":11},{"language":"default","tag":"Content","count":10},{"language":"default","tag":"Developer Tools","count":9},{"language":"default","tag":"Research","count":9},{"language":"default","tag":"Documentation","count":5},{"language":"default","tag":"Launch","count":5},{"language":"default","tag":"Getting Started","count":3},{"language":"default","tag":"CLI Reference","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img.nav-logo{height:2.75rem!important;max-height:2.75rem!important;width:auto!important}.od-badge-row{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:.5rem!important;margin:.75rem 0!important}.od-badge-row a,.od-badge-row figure,.od-badge-row img,.od-badge-row span,.od-badge-row>*{display:inline-flex!important;margin:0!important}"}],"page":{"pagePath":"skills/developer-tools/explain-this-pr","slug":"/skills/developer-tools/explain-this-pr","pageMetadata":{"title":"explain-this-pr","description":"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.","href":"/skills/developer-tools/explain-this-pr"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,OptimizedImage,Tab,Table,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Category:`}),` Developer Tools · `,_jsx(_components.strong,{children:`Version:`}),` `,_jsx(_components.code,{children:`1.0.0`}),` · `,_jsx(_components.strong,{children:`Author:`}),` `,_jsx(_components.code,{children:`OpenDirectory`}),` · `,_jsx(_components.strong,{children:`Compatibility:`}),` All targets (claude, codex, opencode, gemini, anti-gravity, openclaw, hermes)`]})}),`\n`,_jsx(OptimizedImage,{width:`1280`,height:`640`,alt:`explain-this-pr`,src:`https://github.com/user-attachments/assets/9e76fc64-f982-4c4c-9b58-4398541aab97`}),`\n`,_jsx(_components.p,{children:`Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.`}),`\n`,_jsx(Heading,{level:`2`,id:`install`,children:`Install`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`npx CLI (Recommended)`,id:`npx-cli-recommended`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@opendirectory.dev/skills\"`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` explain-this-pr`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --target`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` claude`})]}),`\n`]})})})}),_jsx(Tab,{title:`skills.sh`,id:`skills-sh`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` skills`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Varnan-Tech/opendirectory`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --skill`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` explain-this-pr`})]}),`\n`]})})})}),_jsx(Tab,{title:`Claude Code Native`,id:`claude-code-native`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`/plugin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` marketplace`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Varnan-Tech/opendirectory`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`/plugin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` opendirectory-gtm-skills@opendirectory-marketplace`})]}),`\n`]})})})}),_jsxs(Tab,{title:`Claude Desktop`,id:`claude-desktop`,children:[_jsx(`video`,{controls:true,className:`mint-w-full mint-aspect-video mint-rounded-xl mint-mb-4`,src:`https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Copy `,_jsx(_components.code,{children:`https://github.com/Varnan-Tech/opendirectory/tree/main/skills/explain-this-pr`}),` into `,_jsx(_components.a,{href:`https://download-directory.github.io/`,children:`download-directory.github.io`}),` to download the ZIP.`]}),`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Claude Desktop`}),` -> `,_jsx(_components.strong,{children:`Customize`}),` -> `,_jsx(_components.strong,{children:`Skills`}),` -> `,_jsx(_components.strong,{children:`+`}),` -> `,_jsx(_components.strong,{children:`Upload a skill`}),` and drop the folder containing `,_jsx(_components.code,{children:`SKILL.md`}),`.`]}),`\n`]})]}),_jsxs(Tab,{title:`Manus AI`,id:`manus-ai`,children:[_jsx(`video`,{controls:true,className:`mint-w-full mint-aspect-video mint-rounded-xl mint-mb-4`,src:`https://github.com/user-attachments/assets/17cbee2a-9e17-4bd4-ac46-68e0e92ffab4`}),_jsx(_components.p,{children:_jsx(_components.a,{href:`https://manus.im/import-skills?githubUrl=https%3A%2F%2Fgithub.com%2FVarnan-Tech%2Fopendirectory%2Ftree%2Fmain%2Fskills%2Fexplain-this-pr\u0026utm_source=opendirectory`,children:_jsx(_components.strong,{children:`Install explain-this-pr in Manus AI`})})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-it-does`,children:`What It Does`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Fetches the PR diff and metadata via `,_jsx(_components.code,{children:`gh`})]}),`\n`,_jsx(_components.li,{children:`Writes two paragraphs: what changed (technical) and why it matters (impact)`}),`\n`,_jsxs(_components.li,{children:[`Posts the explanation as a PR comment with `,_jsx(_components.code,{children:`gh pr comment`})]}),`\n`,_jsxs(_components.li,{children:[`Works with any public or private repo you have access to via `,_jsx(_components.code,{children:`gh`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`requirements`,children:`Requirements`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Requirement`}),_jsx(_components.th,{children:`Purpose`}),_jsx(_components.th,{children:`How to Set Up`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`gh`}),` CLI`]}),_jsx(_components.td,{children:`Fetching PR data and posting comments`}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`https://cli.github.com`,children:`https://cli.github.com`}),`, then run `,_jsx(_components.code,{children:`gh auth login`})]})]})})]}),`\n`,_jsx(_components.p,{children:`No API keys needed.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-use`,children:`How to Use`}),`\n`,_jsx(_components.p,{children:`Explain a PR by URL:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Explain this PR: https://github.com/owner/repo/pull/123\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"What does this PR do? https://github.com/owner/repo/pull/456\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Summarize this pull request: [URL]\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Explain by PR number (in the current repo):`}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Explain PR #42\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Add a summary comment to PR #99\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Explain the current branch PR:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Explain the current branch PR\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Add a plain-English comment to my PR\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Output without posting:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"Explain this PR but don't post the comment: [URL]\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`\"What does this PR change? Just give me the text.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`output-format`,children:`Output Format`}),`\n`,_jsx(_components.p,{children:`Two paragraphs, under 150 words total.`}),`\n`,_jsx(_components.p,{children:`Paragraph 1: What it does (technical). Names the specific files, functions, or systems that changed. States the before/after if visible in the diff.`}),`\n`,_jsx(_components.p,{children:`Paragraph 2: Why it matters (impact). Explains who benefits and what problem is solved. Omitted if there is no clear “why” in the diff or commits. The skill never guesses at impact.`}),`\n`,_jsx(Heading,{level:`2`,id:`project-structure`,children:`Project Structure`}),`\n`,_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`explain-this-pr/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── SKILL.md`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`├── README.md`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`└── evals/`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` └── evals.json`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`license`,children:`License`}),`\n`,_jsx(_components.p,{children:`MIT`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"explain-this-pr","description":"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.","href":"/skills/developer-tools/explain-this-pr"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Install","slug":"install","depth":2,"children":[]},{"title":"What It Does","slug":"what-it-does","depth":2,"children":[]},{"title":"Requirements","slug":"requirements","depth":2,"children":[]},{"title":"How to Use","slug":"how-to-use","depth":2,"children":[]},{"title":"Output Format","slug":"output-format","depth":2,"children":[]},{"title":"Project Structure","slug":"project-structure","depth":2,"children":[]},{"title":"License","slug":"license","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-mb-4 {\n margin-bottom: 1rem\n}\n.mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}","subdomain":"varnan","siteName":"opendirectory","title":"explain-this-pr - opendirectory","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-17T09:09:18.767Z","originalFileLocation":"skills/developer-tools/explain-this-pr.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.\">\u003cmeta data-mint-head name=\"application-name\" content=\"opendirectory\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"explain-this-pr - opendirectory\">\u003cmeta data-mint-head property=\"og:description\" content=\"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"opendirectory\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://varnan.mintlify.app/_mintlify/api/og/v2?division=Developer+Tools\u0026amp;title=explain-this-pr\u0026amp;description=Point+this+skill+at+any+GitHub+PR+and+it+writes+a+plain-English+explanation+of+what+changed+and+why%2C+then+posts+it+as+a+PR+comment.\u0026amp;theme=4bbf0b800c294717954fb07a\u0026amp;signature=6fc7a4fe7625d1fbfa78b7e57575ad19eaa061622007825936eab2e273f4f35c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"explain-this-pr - opendirectory\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://varnan.mintlify.app/_mintlify/api/og/v2?division=Developer+Tools\u0026amp;title=explain-this-pr\u0026amp;description=Point+this+skill+at+any+GitHub+PR+and+it+writes+a+plain-English+explanation+of+what+changed+and+why%2C+then+posts+it+as+a+PR+comment.\u0026amp;theme=4bbf0b800c294717954fb07a\u0026amp;signature=6fc7a4fe7625d1fbfa78b7e57575ad19eaa061622007825936eab2e273f4f35c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/varnan/2Qdz6imO89fUlArf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"opendirectory\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B82F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/skills/developer-tools/explain-this-pr.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.opendirectory.dev/#organization\",\"name\":\"opendirectory\",\"url\":\"https://www.opendirectory.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/varnan/EtAEBB8wcoszd8l3/assets/logo-light.webp?fit=max\u0026auto=format\u0026n=EtAEBB8wcoszd8l3\u0026q=85\u0026s=8dae4c1a52d4739eba10574af61e202a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.opendirectory.dev/docs#website\",\"name\":\"opendirectory\",\"url\":\"https://www.opendirectory.dev/docs\",\"publisher\":{\"@id\":\"https://www.opendirectory.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr#webpage\",\"url\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr\",\"name\":\"explain-this-pr\",\"description\":\"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.\",\"dateModified\":\"2026-10-17T09:09:18.767Z\",\"isPartOf\":{\"@id\":\"https://www.opendirectory.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Developer Tools\",\"item\":\"https://www.opendirectory.dev/docs/skills/developer-tools/claude-md-generator\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"explain-this-pr\",\"item\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr#article\",\"headline\":\"explain-this-pr\",\"name\":\"explain-this-pr\",\"description\":\"Point this skill at any GitHub PR and it writes a plain-English explanation of what changed and why, then posts it as a PR comment.\",\"url\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr\",\"mainEntityOfPage\":{\"@id\":\"https://www.opendirectory.dev/docs/skills/developer-tools/explain-this-pr#webpage\"},\"dateModified\":\"2026-10-17T09:09:18.767Z\",\"publisher\":{\"@id\":\"https://www.opendirectory.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://www.opendirectory.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"opendirectory\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"opendirectory","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Skills Catalog","icon":"layer-group","groups":[{"group":"Catalog","pages":[{"title":"Skills Catalog","href":"/skills/overview"}]},{"group":"Visual \u0026 Media","pages":[{"title":"blog-cover-image-cli","href":"/skills/visual-and-media/blog-cover-image-cli"},{"title":"graphic-case-study","href":"/skills/visual-and-media/graphic-case-study"},{"title":"graphic-chart","href":"/skills/visual-and-media/graphic-chart"},{"title":"graphic-ebook","href":"/skills/visual-and-media/graphic-ebook"},{"title":"graphic-gif","href":"/skills/visual-and-media/graphic-gif"},{"title":"graphic-slide-deck","href":"/skills/visual-and-media/graphic-slide-deck"},{"title":"hyperframes-product-launch-video","href":"/skills/visual-and-media/hyperframes-product-launch-video"},{"title":"openverse-sfx","href":"/skills/visual-and-media/openverse-sfx"},{"title":"vid-motion-graphics","href":"/skills/visual-and-media/vid-motion-graphics"},{"title":"vid-product-launch","href":"/skills/visual-and-media/vid-product-launch"},{"title":"vid-sizzle-reel","href":"/skills/visual-and-media/vid-sizzle-reel"}]},{"group":"Content","pages":[{"title":"cook-the-blog","href":"/skills/content/cook-the-blog"},{"title":"email-newsletter","href":"/skills/content/email-newsletter"},{"title":"github-discussion-to-devrel-content","href":"/skills/content/github-discussion-to-devrel-content"},{"title":"human-tone","href":"/skills/content/human-tone"},{"title":"linkedin-post-generator","href":"/skills/content/linkedin-post-generator"},{"title":"newsletter-digest","href":"/skills/content/newsletter-digest"},{"title":"noise-to-linkedin-carousel","href":"/skills/content/noise-to-linkedin-carousel"},{"title":"noise2blog","href":"/skills/content/noise2blog"},{"title":"store-listing-optimizer","href":"/skills/content/store-listing-optimizer"},{"title":"tweet-thread-from-blog","href":"/skills/content/tweet-thread-from-blog"}]},{"group":"Launch","pages":[{"title":"brand-alchemy","href":"/skills/launch/brand-alchemy"},{"title":"oss-launch-kit","href":"/skills/launch/oss-launch-kit"},{"title":"product-update-logger","href":"/skills/launch/product-update-logger"},{"title":"producthunt-launch-kit","href":"/skills/launch/producthunt-launch-kit"},{"title":"show-hn-writer","href":"/skills/launch/show-hn-writer"}]},{"group":"GTM Intelligence","pages":[{"title":"app-store-review-arbitrage","href":"/skills/gtm-intelligence/app-store-review-arbitrage"},{"title":"company-radar","href":"/skills/gtm-intelligence/company-radar"},{"title":"competitor-pr-finder","href":"/skills/gtm-intelligence/competitor-pr-finder"},{"title":"geo-gap-fixer","href":"/skills/gtm-intelligence/geo-gap-fixer"},{"title":"gh-issue-to-demand-signal","href":"/skills/gtm-intelligence/gh-issue-to-demand-signal"},{"title":"google-trends-api-skills","href":"/skills/gtm-intelligence/google-trends-api-skills"},{"title":"hackernews-intel","href":"/skills/gtm-intelligence/hackernews-intel"},{"title":"map-your-market","href":"/skills/gtm-intelligence/map-your-market"},{"title":"meta-ads-skill","href":"/skills/gtm-intelligence/meta-ads-skill"},{"title":"meta-tribeV2-skill","href":"/skills/gtm-intelligence/meta-tribeV2-skill"},{"title":"npm-downloads-to-leads","href":"/skills/gtm-intelligence/npm-downloads-to-leads"},{"title":"reddit-icp-monitor","href":"/skills/gtm-intelligence/reddit-icp-monitor"},{"title":"reddit-post-engine","href":"/skills/gtm-intelligence/reddit-post-engine"},{"title":"sdk-adoption-tracker","href":"/skills/gtm-intelligence/sdk-adoption-tracker"},{"title":"twitter-GTM-find-skill","href":"/skills/gtm-intelligence/twitter-GTM-find-skill"},{"title":"xquik-x-follower-scraper","href":"/skills/gtm-intelligence/xquik-x-follower-scraper"},{"title":"xquik-x-tweet-scraper","href":"/skills/gtm-intelligence/xquik-x-tweet-scraper"},{"title":"yc-intent-radar-skill","href":"/skills/gtm-intelligence/yc-intent-radar-skill"}]},{"group":"Outreach","pages":[{"title":"cold-email-verifier","href":"/skills/outreach/cold-email-verifier"},{"title":"outreach-sequence-builder","href":"/skills/outreach/outreach-sequence-builder"}]},{"group":"Research","pages":[{"title":"linkedin-job-post-to-buyer-pain-map","href":"/skills/research/linkedin-job-post-to-buyer-pain-map"},{"title":"meeting-brief-generator","href":"/skills/research/meeting-brief-generator"},{"title":"podcast-transcript-fetcher","href":"/skills/research/podcast-transcript-fetcher"},{"title":"position-me","href":"/skills/research/position-me"},{"title":"pricing-finder","href":"/skills/research/pricing-finder"},{"title":"pricing-page-psychology-audit","href":"/skills/research/pricing-page-psychology-audit"},{"title":"vc-curated-match","href":"/skills/research/vc-curated-match"},{"title":"vc-finder","href":"/skills/research/vc-finder"},{"title":"where-your-customer-lives","href":"/skills/research/where-your-customer-lives"}]},{"group":"Developer Tools","pages":[{"title":"claude-md-generator","href":"/skills/developer-tools/claude-md-generator"},{"title":"dependency-update-bot","href":"/skills/developer-tools/dependency-update-bot"},{"title":"docs-from-code","href":"/skills/developer-tools/docs-from-code"},{"title":"dx-roaster","description":"Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions, writes a roast in your chosen tone, ships a prioritized fix list, and...","href":"/skills/developer-tools/dx-roaster"},{"title":"explain-this-pr","href":"/skills/developer-tools/explain-this-pr"},{"title":"kill-the-standup","description":"Write your daily standup in seconds. The skill reads yesterday's Linear issues and GitHub commits, formats a done/doing/blockers update, and posts it to Slack.","href":"/skills/developer-tools/kill-the-standup"},{"title":"llms-txt-generator","href":"/skills/developer-tools/llms-txt-generator"},{"title":"pr-description-writer","href":"/skills/developer-tools/pr-description-writer"},{"title":"schema-markup-generator","href":"/skills/developer-tools/schema-markup-generator"}]},{"group":"Other","pages":[{"title":"domain-expired-opportunity-finder","href":"/skills/other/domain-expired-opportunity-finder"}]}]}]},"title":"explain-this-pr - opendirectory","buildId":"dpl_22hzrGaHqvdrv27iRrQrw8qfkv4K","deploymentId":"dpl_22hzrGaHqvdrv27iRrQrw8qfkv4K","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-C1UgdvzC.js","PlusIcon-BOOIewuV.js","lightbox-handle-r17bVUz3.js"]}