pulls
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePulls
Pulls
Command-driven GitHub pull request skill. Parse the first token as a command when it matches the table; otherwise map clear intent.
Default: if the user gives only a PR identifier (, , URL, branch) and optional details — no admin command — execute Complete the work. Same when invoked with no args and a PR matches the current branch. Do not ask which admin command to run. Do not stop at //.
#1212statuscritiquerefineAdmin commands shape the PR when explicitly requested; they are not the default path.
基于命令驱动的 GitHub 拉取请求(PR)技能。若第一个 token 匹配下表中的命令,则按命令解析;否则根据明确意图映射对应操作。
默认行为: 若用户仅提供 PR 标识符(、、URL、分支名)及可选详情——未指定管理命令——则执行完成工作流程。当无参数调用且当前分支存在对应 PR 时,同样执行该流程。不要询问用户要运行哪个管理命令。不要停留在 // 步骤。
#1212statuscritiquerefine管理命令仅在用户明确请求时用于调整 PR,不属于默认执行路径。
Operating contract
运行契约
Shared by every DecisionNerd/dev-skills skill. Canonical copy: .
handbook/concepts/14-operating-contract.md- Define done first. Before using tools, write the finish line in one or two lines: the acceptance criteria (existing issue AC, BDD scenarios, tests, or contract when they exist; otherwise propose them and say where they should live) and the evidence that will prove them. Re-check it before reporting done. Never report done on work you did not verify.
- Requested scope sets the finish line. A question ("is it ready?", "why is it broken?", "what next?") ends with the answer and a line naming the exact next invoke. An outcome request ("fix", "finish", "land", "#42") continues through the chain (diagnose → fix → test → check-readiness → merge-it) until the outcome or a real blocker. Do not end a turn with "Do you want me to…?" for in-scope, in-repo work.
Next: - Stop only for real blockers. Stop and ask only when you cannot continue without the user, or before: deleting data or unmerged work, force-push or history rewrite, changing anything outside this repository (GitHub objects, deployments, live data, production or paid resources, external services), or leaving the requested scope, unless the user's request already named that exact action. Keep the harness's permission prompts for risky commands. Otherwise keep going and put status notes in the same message as the next action.
- Ask well, once. For a genuine question use the harness's structured question tool when it has one (Claude Code: ; Codex:
AskUserQuestionwhen the current mode supports it) with concrete options; otherwise plain text with numbered options. Treat the answer as settled; do not re-open earlier verdicts, plans, or answers unless asked.request_user_input - Fan out when work is parallel. Use subagents for independent reads (repo survey, evidence gathering, per-option research, per-area audits) and for independent verification (a reviewer that did not write the change). Writes stay single-owner per path set and sequential. Brief every child with goal, done-when, constraints, must-not, and return shape; verify each child's result before consolidating. Use Claude Code's tool only for orchestration across many subagents that truly needs it; it is expensive.
Workflow - Pick the model tier per child; defer to routing config. If the harness or user config already routes subagents (Claude Code or a CLAUDE.md rule; Codex
CLAUDE_CODE_SUBAGENT_MODELor a role'sagents.default_subagent_model; Cursor a custom subagent'sagents.<name>.config_filefrontmatter), follow it and do not pass a model. Otherwise: mechanical search or inventory → fast/cheap (Claude Codemodel:); implementation and evidence gathering → mid (haiku); planning, review, adversarial verification → top (sonnetoropus). In Claude Code set it with thefabletoolAgentparam or agent frontmattermodel; in Codex pass a spawn model or setmodel:in the role's config file; in Cursor setmodel(defaultmodel:) ininherit. Where the harness cannot choose, children inherit the parent model or the harness picks one (Cursor's built-in Explore/Bash/Browser subagents pick per subtask); say which in the status note..cursor/agents/*.md - Keep a checklist on long runs. For more than about five steps or work that crosses skills, keep at the repo root and tick items as they finish. Do not commit it unless the repo already tracks one.
TASKS.md - Close every run with three headings. (the one genuine question or blocker, else "none");
Blocked on me(files, commits, GitHub objects, deploys, else "nothing");Changed(evidence, verdict, andFound).Next: <exact invoke>
所有 DecisionNerd/dev-skills 技能通用。规范副本见:。
handbook/concepts/14-operating-contract.md- 先定义完成标准。 在使用工具前,用一两行文字明确终点:验收标准(若存在现有 issue 的验收标准、BDD 场景、测试或契约,则沿用;否则提出建议并说明应存放的位置)以及证明达标的证据。在报告完成前重新核对。未经验证的工作绝不能报告为已完成。
- 请求的范围决定终点。 问题类请求(如“是否就绪?”、“为什么失败了?”、“下一步是什么?”)以答案和 行结尾,该行需明确下一次调用的具体内容。结果类请求(如“修复”、“完成”、“上线”、“#42”)将沿链路持续执行(诊断→修复→测试→就绪检查→merge-it),直到达成目标或遇到真正的阻塞。对于范围内、仓库内的工作,不要以“你是否需要我…?”结束本轮回复。
Next: - 仅因真正的阻塞停止。 仅当无法继续且必须用户介入时,或在以下操作前才停止并询问:删除数据或未合并的工作、强制推送或历史重写、修改本仓库外的任何内容(GitHub 对象、部署、实时数据、生产或付费资源、外部服务),或超出请求范围——除非用户的请求已明确指定该操作。保留运行环境对风险命令的权限提示。否则继续执行,并在同一条消息中附上状态说明和下一步操作。
- 一次问清楚。 对于真实问题,若运行环境有结构化提问工具(Claude Code:;Codex:当前模式支持时使用
AskUserQuestion),则使用该工具并提供具体选项;否则使用带编号选项的纯文本。将答案视为最终决定;除非用户要求,否则不要重新讨论之前的结论、计划或答案。request_user_input - 并行工作时分发任务。 对于独立读取类工作(仓库调研、证据收集、各选项研究、各领域审计)和独立验证类工作(未编写变更的评审者),使用子 Agent。写入操作在每条路径上保持单一负责人且顺序执行。向每个子 Agent 简要说明目标、完成条件、约束、禁止事项和返回格式;在整合结果前验证每个子 Agent 的输出。仅当确实需要编排大量子 Agent 时才使用 Claude Code 的 工具;该工具成本较高。
Workflow - 为每个子 Agent 选择模型层级;遵循路由配置。 若运行环境或用户配置已为子 Agent 配置路由(Claude Code 的 或 CLAUDE.md 规则;Codex 的
CLAUDE_CODE_SUBAGENT_MODEL或角色的agents.default_subagent_model;Cursor 自定义子 Agent 的agents.<name>.config_filefrontmatter),则遵循配置,不传递模型参数。否则:机械搜索或盘点类→快速/低成本模型(Claude Codemodel:);实现和证据收集类→中等模型(haiku);规划、评审、对抗性验证类→顶级模型(sonnet或opus)。在 Claude Code 中通过fable工具的Agent参数或 Agent 前置元数据的model设置;在 Codex 中传递派生模型或在角色配置文件中设置model:;在 Cursor 中在model中设置.cursor/agents/*.md(默认model:)。若运行环境无法选择模型,子 Agent 继承父模型或由运行环境选择(Cursor 内置的 Explore/Bash/Browser 子 Agent 会根据子任务选择);在状态说明中注明使用的模型。inherit - 长时间运行时维护检查清单。 对于超过约五个步骤或跨技能的工作,在仓库根目录维护 ,完成项打勾。除非仓库已跟踪该文件,否则不要提交它。
TASKS.md - 每次运行结束时包含三个标题。 (我这边的阻塞:一个真实问题或阻塞项,没有则填“none”);
Blocked on me(变更内容:文件、提交、GitHub 对象、部署等,没有则填“nothing”);Changed(发现内容:证据、结论,以及Found)。Next: <具体调用内容>
Commands
命令
| Command | What it does |
|---|---|
| Open a PR for the current (or named) branch after draft + approval |
| Edit title/body/base; refresh checklist from template |
| Critique PR quality (scope, description, tests, risk, reviewability) |
| Reduce PR scope (split out commits/files into follow-ups) |
| Intentionally expand PR only with clear rationale (usually discourage) |
| Merge the PR (squash when repo practice); hand off to |
| Clean description, checklist noise, stale review threads summary |
| Improve title/body/test plan without changing code scope |
| Explain the PR’s changes to the user in plain language |
| Improve/add repo docs required by the PR; link from the PR body |
| Structured review summary (findings by severity); does not pretend to be CodeRabbit |
| CI, reviews, mergeability, deploy/preview status |
| Close without merging (with reason) |
| Mark ready for review / convert from draft when appropriate |
| List commands |
Target: PR number, URL, branch name, or “current branch”.
| 命令 | 功能 |
|---|---|
| 经过草稿+审批后,为当前(或指定)分支创建 PR |
| 编辑标题/正文/基础分支;从模板刷新检查清单 |
| 评审 PR 质量(范围、描述、测试、风险、可评审性) |
| 缩小 PR 范围(将提交/文件拆分到后续 PR 中) |
| 仅在有明确理由时有意扩大 PR 范围(通常不建议) |
| 合并 PR(仓库惯例为 squash 时使用 squash 合并);需要评审/自动修复/CI/关闭 issue 时转交至 |
| 清理描述、检查清单冗余内容、过时评审线程摘要 |
| 优化标题/正文/测试计划,不改变代码范围 |
| 用通俗语言向用户解释 PR 的变更内容 |
| 完善/新增 PR 所需的仓库文档;在 PR 正文中添加链接 |
| 结构化评审摘要(按严重程度分类发现);不冒充 CodeRabbit |
| 查看 CI、评审、可合并性、部署/预览状态 |
| 不合并直接关闭(需说明原因) |
| 标记为就绪待评审/在适当时从草稿转为正式 PR |
| 列出所有命令 |
目标对象:PR 编号、URL、分支名或“当前分支”。
Routing
路由规则
- No argument: if a PR matches the current branch → Complete the work on it. Else ask via the structured question tool — options: a PR for this branch / name a PR number or branch /
create.help - First word is a command: run it. After admin work, state and run it when the user signaled progress.
Next: merge-it - Clear admin intent (“open a PR”, “explain this PR”, “narrow this PR”): map and proceed.
- PR identifier ± details, no admin command (, URL, branch, or
#12): Complete the work — execute, don’t menu.#12 fix the flaky check
Before mutating GitHub (create/edit/merge/close), state the proposed action; ask one structured question with options . Skip when the user’s request already named that exact action. Prefer squash merge when that is repo practice (see ). Completion handoffs follow the target skill’s approval rules.
<do it> / revise / stopmerge-it- 无参数:若当前分支有匹配的 PR → 对其执行完成工作流程。否则通过结构化提问工具询问——选项:为该分支 一个 PR / 指定 PR 编号或分支 /
create。help - 第一个词是命令:运行该命令。管理操作完成后,说明 ,并在用户表示要推进时执行。
Next: merge-it - 明确的管理意图(“打开一个 PR”、“解释这个 PR”、“缩小这个 PR 的范围”):映射到对应命令并继续。
- PR 标识符 ± 详情,无管理命令(、URL、分支,或
#12):执行完成工作流程——直接执行,不显示菜单。#12 修复不稳定的检查
在修改 GitHub 资源(创建/编辑/合并/关闭)前,说明拟执行的操作;通过一个结构化问题提供选项 。若用户的请求已明确指定该操作,则跳过询问。若仓库惯例为 squash 合并,则优先使用(见 )。完成流程的转交遵循目标技能的审批规则。
<执行> / 修改 / 停止merge-itShared operations
共享操作
Use references/ops.md for critique/narrow/widen/merge/clean/refine/explain/document as applied to PRs.
PR 相关的 critique/narrow/widen/merge/clean/refine/explain/document 操作请参考 references/ops.md。
Complete the work
完成工作
PR admin ( / / / / …) shapes the review unit. Completing the work means fixing what’s broken, proving it, landing it, and closing linked issues.
createcritiquerefinenarrowPR 管理( / / / / …)用于调整评审单元。完成工作意味着修复问题、验证修复、上线,并关闭关联的 issue。
createcritiquerefinenarrowDefault path (identifier ± details, or no-arg with current-branch PR)
默认路径(提供标识符 ± 详情,或无参数且当前分支有对应 PR)
When routed here (no admin command):
- Resolve the PR (+ checks + reviews); note linked issues.
gh pr view - Fold any user details into focus (e.g. “only CI”, “address review threads”).
- Pick the smallest next execution skill from the table and run it now. One-line why — no recommend-only menu.
- Chain forward (usually toward ) until merged/closed, blocked on approval, or the user stops you.
merge-it - If the PR is missing and the branch has shippable work, /
createthen continue completion (oftenopen).merge-it
当路由到此处(无管理命令)时:
- 解析 PR(+ 检查 + 评审);记录关联的 issue。
gh pr view - 将用户提供的所有详情纳入关注范围(例如“仅 CI”、“处理评审线程”)。
- 从下表中选择最小的下一步执行技能并立即运行。用一行说明原因——不要只提供推荐菜单。
- 向前链式执行(通常朝向 ),直到合并/关闭、因审批阻塞,或用户停止。
merge-it - 若不存在对应 PR 但分支有可交付的工作,先 /
createPR,再继续完成流程(通常是open)。merge-it
After explicit admin commands
显式管理命令之后
After /, , , , /, state (or / as fits); run it immediately when the user already signaled land/finish.
statuscheckscritiqueexplainreviewcreateopenNext: merge-itfix-itcheck-readiness| Situation | Execute |
|---|---|
| Failing checks / review comments / need autofix→merge→close | |
| Linked issue not done / gaps vs AC | |
| Bug still open in the diff | |
| Missing tests / evidence | |
| Missing observability | |
| Missing repo docs | |
| PR too large / mixed purpose | |
| Ready to merge (policy already green) | |
| Landed on staging; production next | Recommend |
| Unsure | |
Do not default to when a PR identifier (or current-branch PR) was given. Prefer execute ( / / ).
pulls refine|critique|clean|statusmerge-itfix-itcheck-readiness在执行 /、、、、/ 后,说明 (或根据情况选择 / );若用户已表示要上线/完成,则立即运行。
statuscheckscritiqueexplainreviewcreateopenNext: merge-itfix-itcheck-readiness| 场景 | 执行技能 |
|---|---|
| 检查失败 / 评审意见 / 需要自动修复→合并→关闭 | |
| 关联 issue 未完成 / 与验收标准有差距 | |
| 差异中仍有未修复的 bug | |
| 缺少测试 / 证据 | |
| 缺少可观测性 | |
| 缺少仓库文档 | |
| PR 过大 / 目的混杂 | |
| 可合并(策略检查已通过) | |
| 已上线到预发环境;下一步是生产 | 推荐 |
| 不确定 | |
当提供了 PR 标识符(或当前分支有对应 PR)时,不要默认执行 。优先执行实际操作( / / )。
pulls refine|critique|clean|statusmerge-itfix-itcheck-readinessCreate / open
创建 / 打开
- Read / PR template / branch policy (feature→
AGENTS.mdvs feature→main).staging - Inspect , diff vs base, linked issues.
git status - Draft title + body (summary, test plan, risk, issue links / closing keywords when appropriate).
- Approve → (no
gh pr createon create if unsupported; view afterward).--json - Continue into Complete the work — usually — unless the user only asked to open.
merge-it
- 读取 / PR 模板 / 分支策略(feature→
AGENTS.md还是 feature→main)。staging - 检查 、与基础分支的差异、关联 issue。
git status - 起草标题 + 正文(摘要、测试计划、风险、issue 链接 / 适当的关闭关键字)。
- 审批 → (若不支持创建时使用
gh pr create,则创建后再查看)。--json - 进入完成工作流程——通常是 ——除非用户仅要求打开 PR。
merge-it
merge vs merge-it
merge 与 merge-it 的区别
- : merge when checks/reviews already satisfy policy, or user insists on merge-only.
pulls merge - If actionable review comments, failing checks, or issue closure verification are needed, invoke instead of reinventing that lifecycle.
merge-it
- :当检查/评审已满足策略要求,或用户坚持仅合并时执行合并。
pulls merge - 若有可处理的评审意见、失败的检查,或需要验证 issue 关闭,则调用 ,而非重新实现该生命周期。
merge-it
review / status
review / status
- : read the diff; report only merge-blocking findings, each with file:line and a repro; label non-blocking findings as such. Use an independent reviewer subagent (top tier) when the diff exceeds a few hundred lines. On default completion routing, proceed into
review/fix-itfor blocking findings. After an explicitmerge-itcommand, staterevieworNext: fix-itas appropriate.Next: merge-it - /
status:checks, review decision, mergeStateStatus, preview URLs when present. After an explicitgh pr checkscommand, statestatus(orNext: merge-it). On default routing, skip standalone status and go straight to completion.fix-it
- :读取差异;仅报告阻塞合并的发现,每条都附带文件:行号和复现步骤;将非阻塞发现标记为非阻塞。当差异超过几百行时,使用独立的评审子 Agent(顶级模型)。在默认完成路由下,针对阻塞发现继续执行
review/fix-it。显式执行merge-it命令后,根据情况说明review或Next: fix-it。Next: merge-it - /
status:执行checks,查看评审结论、mergeStateStatus、预览 URL(若有)。显式执行gh pr checks命令后,说明status(或Next: merge-it)。在默认路由下,跳过单独的状态检查,直接进入完成流程。fix-it
Output
输出
Blocked on me
我这边的阻塞
none
无
Changed
变更内容
nothing
无
Found
发现内容
Next: merge-it (or the execution skill that best fits the current state)
Next: merge-it(或最符合当前状态的执行技能)
Related skills
相关技能
See Complete the work. Full release path (Integrate/Stage/Ship): . Gate: . Issues: .
merge-itcheck-readinessissues见完成工作部分。完整发布路径(Integrate/Stage/Ship):。门禁:。Issue 管理:。
merge-itcheck-readinessissuesGrounding
基础依据
This skill’s TTPs are grounded in current engineering baselines (DORA, GitHub Docs, Fowler/Beck, Google SRE & SWE book, OpenTelemetry, OWASP LLM / NIST AI RMF, Diátaxis — see handbook ).
sources.mdPRs as the review unit (GitHub Docs); small reviewable changes (Google eng practices); required checks gate trunk (DORA trunk-based).
Handbook card: .
handbook/practices/pulls.md本技能的战术、技术与程序(TTP)基于当前工程基线(DORA、GitHub Docs、Fowler/Beck、Google SRE 与 SWE 书籍、OpenTelemetry、OWASP LLM / NIST AI RMF、Diátaxis——见手册 )。
sources.mdPR 作为评审单元(GitHub Docs);小型可评审变更(Google 工程实践);必要检查作为主干门禁(DORA 主干开发模式)。
手册卡片:。
handbook/practices/pulls.md