skills/upstream-pr-staging/SKILL.md
用于向 GitHub 上游提交 PR 前,在用户 fork 内创建草稿 PR/内部 PR 做低干扰收敛,并保留必要的上游 issue/PR/discussion 背景链接;当用户提到草稿 PR、内部 PR、fork draft、先内部 review/CI、或 red/green 证据时使用。
npx skillsauth add dcjanus/prompts upstream-pr-stagingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
用于向 GitHub 上游提交 PR 前,先在用户 fork 内低干扰收敛方案、提交历史、CI 和证据,再整理成正式上游 PR。
默认先做内部 draft,再准备正式上游 PR。
如果用户明确要求跳过内部 draft,直接进入正式上游 PR 流程;如果用户要求“像内部 PR 没存在过”,从最新上游基准重建正式分支,不复用内部 draft 分支历史。
redirect.github.com 和避免 closing keyword 实现,不靠省略关键上下文。fixes / closes / resolves 等可能自动关闭上游 issue 的关键词。git-workflow,不要把无关本地修改带进 PR。github-cli。需要可点击链接时,不裸贴长 URL;按 PR 场景选择链接形式。
redirect.github.com,例如 [RedisShake PR 1050](https://redirect.github.com/tair-opensource/RedisShake/pull/1050)。#1050 这类形式,让 GitHub 自动渲染和关联。只有跨仓库、需要自定义链接文本或用户明确要求低干扰时,才改用 Markdown URL。owner/repo#123、#123、URL 写成普通文本或 inline code。#123、owner/repo#123、完整 GitHub URL 或 closing keyword。[失败记录](...)、[通过记录](...)、[CI](...);证据含义写在链接前后的正文里。upstream_main。redirect.github.com Markdown 链接列出;标题、分支名和 commit message 仍避免直接写 #123、owner/repo#123 或完整 GitHub URL。/tmp/*.md,再用 gh pr create --body-file 或 gh pr edit --body-file。只有 bugfix 需要证明回归测试有效时,才使用三阶段证据。不要一次性推送 red 和 green;否则 red 证据会变弱。
当内部 draft 已经收敛,但正式 PR 需要自己的 red/green/cleanup workflow URL 时,按这个流程重放。
正式上游 PR 默认优先使用该 PR 自己触发的 workflow/job URL。只有无法取得正式 PR URL,且用户接受时,才退而使用 fork 分支 push 自动触发的 workflow/job URL,并在 PR body 里说明来源。
PR body 要先说明验证方法论,再给证据;不要一上来用 Red / Green / Cleanup 这类标签代替解释。
推荐写法:
提交历史按“测试有效性 -> 实现修复 -> 清理临时 CI”拆成三段,便于确认新增测试不是只覆盖最终状态。
- c6bb4448e6d337f0b1a7c4a3a3a1bb8b6a0d1234:只加入测试;确认测试能在缺少目标行为时失败:[失败记录](https://github.com/owner/repo/actions/runs/123)。
- a1ec55ef8d2a8c66b5d6c3c2f4a7e9b0c1d23456:只加入修复;确认同一检查通过:[通过记录](https://github.com/owner/repo/actions/runs/456)。
- f00ba47c2a6d9f0b7e8c4d3a2b1c0e9f8a765432:删除临时 workflow;最终 CI 见:[CI](https://github.com/owner/repo/actions/runs/789)。
保持三条证据各占一行;每行只保留 commit、动作和证据入口,不展开完整失败细节。
development
为当前 Codex thread 设置名称;仅当用户手动调用或明确要求命名、重命名、整理当前 Codex 会话标题时使用,永远不要自动调用。
testing
编写或更新 GitHub/GitLab Issue、PR、MR 的标题与正文;适用于创建、修改、重写 reviewer-facing 描述、Validation、Risks、Breaking Change、避免本地路径泄露等场景。
tools
使用 GitLab CLI(glab)与 GitLab 资源交互;适用于 project、issue、MR、comment、wiki 等查看、更新或创建场景,含自建实例。
tools
使用 GitHub CLI 与 GitHub 资源交互;适用于 repo、issue、PR、comment、release、workflow 等查看、更新或创建场景。