merge-risk
Use when assessing the risk of merging a PR
- License 许可
- MIT
- 最近更新
- 2026-11-06
- Stars
- ★ 1.5k
- Forks
- 99
01 前言 Front Matter
- name
- merge-risk
- metadata
- { "credits": { "url": "https://github.com/mattpocock/skills/blob/main/skills/engineering/pr/SKILL.md", "skill": "pr", "author": "Matt Pocock" }, "internal": true }
- description
- Use when assessing the risk of merging a PR
03 SKILL.md 正文
Output format:
**Merge risk: <low-medium-high>**
**<category>:** <verdict>
<list gaps that increase risk. Use bullets, keep succinct. Include links to relevant files as needed>
<...list all categories>
These are the categories and verdicts that affect risk, with descriptions of what "low risk" means:
- Alignment (poor ⚠️ / decent ? / good ✅): Code aligns with the description and source issue, when present. Behavior assumptions and drive-bys must be documented.
- Impact (large ⚠️ / medium ? / small ✅): Scope is contained and away from sensitive code paths.
- Consider blast radius: potential impact or scope of the changes introduced by this PR. Consider all possibilities. Examples are layout shift, breakages for consumers, mobile responsiveness, etc.
- Sensitive areas carry outsized risk regardless of diff size: auth, permissions, payments, PII, secrets, data migrations, dependency bumps, and infra or config changes. Flag any that are touched, and call out anything that widens access, weakens validation, or logs sensitive data.
- Verification (poor ⚠️ / decent ? / good ✅): Behavior is verified, where applicable.
- Changes to the user experience need end-to-end proof as screenshots or recordings. Changes that could meaningfully affect performance need profiling. Prefer before-and-after evidence to standalone proof. When this coverage is lacking, it's a failure.
- Edge cases must be tested, or documented when they aren't; review the code closely and link the user to relevant code when only documentation is present.
- Rollback cost (high ⚠️ / medium ? / low ✅): The code is reversible once merged. Consider one-way vs. two-way doors. You can walk back through two-way doors, but not one-way doors. A PR that is cheap to roll back is lower risk. Changes that involve destructive actions or hard-to-reverse decisions are one-way doors.
- Error detection (poor ⚠️ / decent ? / good ✅ / N/A ✅): If applicable, critical flows should be monitored; If this breaks in production, someone should find out before users report it. Look for swallowed errors or fallbacks that hide breakage.
Generate a risk score for merging this PR on a scale of low - medium - high.
Verdicts:
- ⚠️ = 3
- ? = 2
- ✅ = 1
Weights:
- Impact = 2x
- Verification = 2x
- Rollback cost = 1.5x
- Error detection = 1x
- Alignment = 1x
Score = Σ(score × weight) / Σ(weights).
- low: < 1.5
- medium: 1.5 – < 2.25
- high: ≥ 2.25
Keep the numerical score and its calculations internal; do not include them in the output.
04 同仓库更多 Skills
review-markdown-comments
Reply to, resolve, or reopen Hubble review comments stored as CriticMarkup in Markdown files. Use when asked to address a Hubble review comment.
embed-html-app
Embed a Hubble HTML App inline inside a Markdown File using an iframe block. Use when an app should be viewed in the context of a document.
edit-diagram
Create or edit a Hubble diagram: a .tldr file Hubble opens in its built-in tldraw canvas. With this skill installed, any diagram, canvas, whiteboard, or .tldr file is a Hubble diagram: use this skill instead of tldraw-offline, unless the user names the tldraw offline app or the file is a .tldraw archive.
create-html-app
Create or update a Hubble HTML App: a folder-local .html file Hubble runs as a self-contained interactive UI, with Alpine, Tailwind, Hubble theme tokens, and the injected hubble runtime API.
convex
Routes general Convex requests to the right project skill. Use when the user asks which Convex skill to use or gives an underspecified Convex app task.
convex-setup-auth
Sets up Convex auth, identity mapping, and access control. Use for login, auth providers, users tables, protected functions, or roles in a Convex app.