一键导入
merge-review
Post-merge validation — check that both sides of a merge were fully integrated, nothing was silently dropped, and quality still passes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Post-merge validation — check that both sides of a merge were fully integrated, nothing was silently dropped, and quality still passes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Author a new Fred agent capability (manifest + middleware) built on fred-sdk. Picks the right authoring lane, maps each runtime need to a middleware hook, wires entry-point registration, and enforces the capability boundary (never hand-edit union/registry hotspots, no capability code in control-plane, no runtime info in LLM tool signatures).
Query OpenFGA authorization tuples and explain why a user has (or doesn't have) a permission on an object
Safety-first review of an external pull request from an untrusted fork. Fetches the diff read-only into an isolated worktree, scans for supply-chain / exfiltration / CI-tampering threats, checks scope, then delegates correctness review. Never builds or runs the fork's code.
Pre-PR audit of the current branch — dead code, duplicate symbols, contract drift, leftover artifacts, import gaps.
Run make code-quality from the monorepo root, covering all modules. Never run it per-module.
Identify new code paths added in the current branch that have no test coverage. Reports gaps; does not write tests.
| name | merge-review |
| description | Post-merge validation — check that both sides of a merge were fully integrated, nothing was silently dropped, and quality still passes. |
| user-invocable | true |
| argument-hint | [{"optional":"branch name that was merged in"},"e.g. \"origin/swift\""] |
Run this immediately after any git merge. Merges — especially from a shared upstream branch — are
the highest-risk moment for silent regressions: git checkout --theirs drops logic, auto-merge
concatenates duplicate blocks, and renamed symbols go unnoticed.
git log --merges -5 --oneline
Find the most recent merge commit (or the one named in $ARGUMENTS). Extract:
git show --name-status <merge-commit-sha>
For each file modified by the merge, do the following checks.
Compare both parent sides of the merge:
git diff <merge-sha>^1 <merge-sha> # what our branch added / kept
git diff <merge-sha>^2 <merge-sha> # what the incoming branch added / kept
Look for code paths that existed on one parent but are absent in the merge result — specifically:
Read each merged Python file and look for:
@field_validator decorators targeting the same field.@property definitions with the same name.For any alembic/versions/ directory touched by the merge:
uv run alembic history # run from inside the app directory
Verify the chain is linear. Flag any script whose down_revision points to a script that no longer
exists, or any two scripts that share the same down_revision.
Invoke the /quality-root skill (or run make code-quality from the monorepo root directly).
Do not skip this even if Step 2 found nothing — formatting drift and type errors are common
post-merge side effects.
For any Temporal worker file touched by the merge (typically activities.py, worker.py):
@activity.defn in the activities file.activities=[...] list.workflow.execute_activity("name", ...) call in workflow files.@activity.defn(name="...") registered in the worker.Unregistered activities are silent runtime crashes — Temporal accepts the workflow start but fails at execution time with no static warning.
Open team decision — blocking scope: Should this skill hard-stop (refuse to close out) if it finds a dropped-logic or unregistered activity issue, or should it always be advisory so the developer decides? The team should agree on this, especially before running it in a CI context.
## Merge review — <merge-sha> — <date>
Merged: <incoming-branch> → <target-branch>
Files touched by merge: N
### 🔴 Must verify
- <file>:<line> — <description of suspected dropped logic>
### 🟡 Suspicious patterns
- <file>:<line> — duplicate @field_validator for "retry_initial_interval"
### ✅ Clean
- Alembic chain: linear
- Registered activities: all workflow.execute_activity calls matched
- Quality gate: pass (or: see /quality-root output)
Do not auto-fix anything. The developer must confirm that flagged items are genuinely problems before touching code — the skill cannot always distinguish an intentional removal from an accidental drop.