pr-description
Skill1 starsChanged 3 months agoMITView on GitHub
Write (or rewrite) a scannable, emoji'd description for an existing GitHub PR — drawing on this session's own memory of the work when it did the work, otherwise deriving intent fresh from the diff/commits, optionally sharpened by a JIRA ticket (Figma/Notion links included), and enriched with screenshots from a local dev server or Figma when available. Checks the repo's CLAUDE.md/CLAUDE.local.md/AGENTS.md for conventions on running the app and taking screenshots. Callable directly or from another skill's own instructions. Invoke with a PR id (`#123`, `PR-123`, `PR123`, a number, or a PR URL), optionally a JIRA id (`ABC-123`), and optionally a free-text context note in quotes.
- Commits and pushes
94 other projects use a version of this.
Adopted by
Most recently taken up by
- TangleML/tangle-uitheir own version, first seen Nov 9, 2026
- taecontrol/skillstheir own version, first seen Nov 8, 2026
- sankalpaacharya/skillstheir own version, first seen Nov 8, 2026
- joel611/skillstheir own version, first seen Nov 8, 2026
- Wade-DevCode/awesome-coding-skills-cntheir own version, first seen Nov 8, 2026
- AlessioScarfone/skillstheir own version, first seen Nov 6, 2026
Used with
Projects with it also use ao-desktop-dev, bug-triage and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
agentlab-inSkillao-desktop-dev
Launch, restart, or troubleshoot the real AO Electron desktop app from this repository; run a checkout against isolated or real local AO data; combine PR branches for local UI review; and diagnose stale Electron processes, port conflicts, or preload bridge mismatches. Use whenever asked to run, open, show, or visually verify AO frontend changes in the actual desktop app rather than ao preview, dev:web, or mock data.
Also in 4 projects that use this
jMertaSkillbug-triage
Use when the user reports a bug, regression, runtime error, failing build, or broken test and wants reproduction, diagnosis, root-cause analysis, or an authorized fix. Isolates the shared cause and verifies the smallest relevant change.
Also in 4 projects that use this
GitHubSkillcommit-message
Generate conventional commit messages - use when creating commits, writing commit messages, or asking for git commit help
Also in 9 projects that use this
saffron-healthSkilladdress-review
Address PR review comments systematically. Use when responding to code review feedback on a pull request.
Also in 3 projects that use this
NVIDIASkillwriting-docs
Use when adding or changing user-facing behavior or documentation in Megatron-Energon, or when creating new .py, .sh or .md files that need license headers.
Also in 3 projects that use this
Sagargupta16Skilldependency-audit
Audit project dependencies for security vulnerabilities, licensing issues, maintenance health, and optimization opportunities. Use it during regular security audits (monthly or quarterly); before a major release when you want to ensure the dependency tree is clean; when evaluating whether to adopt or replace a dependency; after a security advisory affects one of your dependencies; when your install times or bundle sizes have grown noticeably.
Also in 3 projects that use this
Other versions94 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 94
- jdx/mise★ 36ksame name
- zulip/zulip★ 26ksame name
- Nagi-ovo/gemini-voyager★ 21ksame name
- pipecat-ai/pipecat★ 17ksame name
- AgentWrapper/agent-orchestrator★ 14ksame name
- ComposioHQ/agent-orchestrator★ 14ksame name
- OrchestratorInc/agent-orchestrator★ 14ksame name
- Untrivial-ai/agent-orchestrator★ 14ksame name
- sanity-io/sanity★ 6.4ksame name
- vimeo/psalm★ 5.9ksame name
84 more not listed
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 repository10 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- good-night-have-funSkill
- grill-for-refinementSkill
- jira-intakeSkill
- pre-implementSkill
- pr-reviewSkill
- setup-scott-carlson-skillsSkill
- where-am-iSkill
- im-dumbSkill
- terseSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 89 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
If the PR id is missing, ask before doing anything else.
- Distinctive: line 41
Before drafting anything, decide honestly which of these you're in:
- Very specific: line 52
Check .ig.jira-tickets/<id-lowercased>-*/ at the repo root for a cached TICKET.md/JIRA-TICKET.md and any supplemental assets.
- Distinctive: line 55
If the MCP is unreachable, fall back to the cache and say so plainly.
- Distinctive: line 72
Only chase visuals if the diff actually touches something visible (templates, components, styles) — don't manufacture a screenshot section …
- Very specific: line 75
Figma: if step 4 turned up a linked Figma file, pull a design screenshot via the Figma MCP get_screenshot — useful either alongside a live …
- Distinctive: line 128
If this skill was invoked by another skill that said it wants the draft handed back, hand back the drafted markdown (and the staged media …
“Common” is measured: kept by at least 6 in 10 of the 89 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PR Description
Why this skill exists, the failure it prevents, and when not to use it: WHY.md.
Turns an existing PR into a description people actually want to read: a punchy opener, a scannable summary (tables where a list has parallel shape, screenshots where visuals help), and the technical weeds tucked into a collapsible section underneath — not a wall of text up front.
Callable from another skill. A calling skill (e.g. a work-completion or ticket-to-PR pipeline) can invoke this directly with its three inputs already resolved — PR id, JIRA id, context note — instead of parsing free text. It posts on its own (see step 7); a caller that wants the markdown handed back instead of posted can say so explicitly.
Post without asking. Invoking this skill is the go-ahead — do not stop to have the draft reviewed before gh pr edit. Write it, post it, then show me what went up. A PR description is cheap to revise and I would rather read it on GitHub than approve it in the terminal.
Process
1. Parse the arguments
- PR id (required):
#123,PR123,PR-123, a bare123, or a fullgithub.com/.../pull/123URL. Normalize to the bare number. If a URL was given and it points to a different repo than the current directory's remote, target that repo explicitly (-R owner/repo) on everyghcall below rather than assuming the local remote. - JIRA id (optional): scan the remaining tokens for one shaped like
ABC-123. If found, it sharpens the write-up (step 3); if absent, skip step 3 — describe the PR on its own merits. - Context note (optional): whatever text is left after pulling out the PR id and JIRA id, quotes stripped. Treat it as a standing instruction layered on top of the defaults below — e.g. "the dev server's running, include screenshots," "keep it short," "don't mention the migration, that's a separate PR." Re-check it at every step below rather than reading it once and forgetting it.
If the PR id is missing, ask before doing anything else.
2. Resolve the repo and fetch the PR
gh pr view <num> --json number,title,body,headRefName,baseRefName,url,author,state
gh pr diff <num>Also grab the commit list (gh pr view <num> --json commits or git log <base>..<head> --oneline) — commit messages are often the highest-signal summary of intent available, session context or not.
Note the current body before you overwrite it: if it's an unfilled template or empty, replace it wholesale; if it holds boilerplate you didn't author and shouldn't remove (a compliance checklist, an org-required section), preserve those specific pieces and write around them instead of deleting them. Note state too — if the PR is already merged or closed, you're still writing a useful historical record, just don't phrase it as "please review."
Completion: you can state the PR's title, branch, diff, and current body's content in one sentence.
3. Establish what you actually know
Before drafting anything, decide honestly which of these you're in:
- You (this session) did the work — the current branch matches
headRefName, and you recall writing these commits earlier in this conversation. If so, that lived context — why a decision was made, tradeoffs weighed, dead ends hit — is your primary source. Use the diff to verify accuracy and pull concrete file references, not to reconstruct intent you already have. - You didn't — fresh session, someone else's PR, or a different repo entirely. You have no lived context, and shouldn't invent any. Derive intent purely from the diff, commit messages, the PR's own title/description, and (if given) the JIRA brief from step 3 below.
This determines how much of the "why" you can responsibly write versus how much you should stick to describing "what."
4. Gather JIRA context (only if a JIRA id was given)
Same sourcing order as /jira-intake and /pr-review:
- Check
.ig.jira-tickets/<id-lowercased>-*/at the repo root for a cachedTICKET.md/JIRA-TICKET.mdand any supplemental assets. - Fetch the ticket live via the Atlassian MCP (
getJiraIssue;getAccessibleAtlassianResourcesfirst for thecloudId). Live fetch wins over the cache when both exist. - Scan the ticket body and linked docs for
figma.comlinks → Figma MCP (get_design_context,get_metadata);notion.solinks → Notion MCP (notion-fetch). - If the MCP is unreachable, fall back to the cache and say so plainly.
Distill an intent brief: what problem this solves, why, and what the design (if any) implies it should look like. This feeds the opener in step 6 and tells you what's worth screenshotting in step 5.
5. Check repo conventions for running and screenshotting the app
Best-effort — look at the repo root (and skip quietly if none exist): CLAUDE.md, CLAUDE.local.md, AGENTS.md. You're looking for anything that tells you how this project wants to be run and shown off:
- A local dev server start command and port.
- Any documented screenshot tooling or workflow (the project may already have one).
- PR description conventions specific to this repo (a required section, a preferred tone) — fold these in rather than overriding them.
- Testing conventions — if the repo has no test suite, don't draft a "Testing" section implying one exists.
Note plainly what you found (or didn't) — this is input to step 6, not a report you show me.
6. Decide on visuals — dev server, Figma, or neither
Only chase visuals if the diff actually touches something visible (templates, components, styles) — don't manufacture a screenshot section for a backend-only PR.
- Local dev server: check the context note for an explicit signal (e.g. "the dev server's running"), and check step 5's findings for how to start one. Then check whether a browser-automation or screenshot tool is actually connected this session (
ToolSearchfor something like "screenshot browser navigate" — don't assume one exists just because other repos have used one). If a server's reachable and a screenshot tool is available, capture the relevant route(s) — before/after, or desktop/mobile, whatever the change calls for. - Figma: if step 4 turned up a linked Figma file, pull a design screenshot via the Figma MCP
get_screenshot— useful either alongside a live capture (design vs. built) or on its own if no dev server is reachable. - Neither available: skip screenshots and say so plainly in your own notes. Don't fabricate a placeholder or claim a capture you didn't take.
Hosting captured images: gh has no native "attach an image to a PR body" command. Follow the working pattern: save captures locally, then commit them to a dedicated media branch (e.g. pr-media-<num> or reuse one already used for this ticket) — don't push yet, that happens together with the description update in step 7. Reference them in the draft via https://github.com/<owner>/<repo>/raw/<branch>/<path>.
Completion: either a set of captured images with a hosting branch staged locally, or an explicit, honest note that none were available.
7. Draft, confirm, then update the PR
Draft the description. Adapt structure to what this PR actually has — don't force a section that doesn't apply:
## <emoji> <punchy one-line title>
<1-3 sentences: what this does and why. Pull the "why" from step 3/4 if you have it; stick to "what" if you don't.>
### <emoji> What's new / changed
<A table when the changes have parallel shape (emoji | short bold label | one-line description) —
it scans faster than a bullet list. Plain bullets when they don't. Skip entirely if the diff is too
small to need summarizing.>
### 📸 Screenshots
<Only if step 6 produced any. One collapsible per feature/section if there are several:>
<details>
<summary><b>Section name</b> — one-line what it shows</summary>
<img src="https://github.com/<owner>/<repo>/raw/<media-branch>/<file>.png" width="900">
</details>
<details>
<summary>🔧 Technical details</summary>
Whatever would overwhelm a first read: architecture notes, key files touched, tricky bits, tradeoffs,
testing performed, rollout/migration notes. This is where the depth lives.
</details>
### 📋 Context
<Only the links that exist — omit any that don't:>
- JIRA: <id>
- Figma: <link>Post it — do not stop for review:
git push -u origin <media-branch> # only if step 6 staged screenshots
gh pr edit <num> --body-file <path>Then report, in a few lines: the PR link, anything from the current body you preserved (step 2), and anything you skipped for lack of availability (screenshots, a why-section, etc.). If something in the draft was a judgement call I might disagree with, name it — I can revise a posted description in seconds.
If this skill was invoked by another skill that said it wants the draft handed back, hand back the drafted markdown (and the staged media branch, if any) instead of posting — it will post on its own schedule.
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.

