关于 pr-name
用于根据现有标题和差异拟定 Pull Request 标题的仓库技能。它规定了包变更、内部工作、文档和技能的命名方式,并指导如何准确描述主要的开发者可见变化。
主要功能
- 01检查 PR 标题和差异
- 02按变更类型选择前缀
- 03使用受影响包的准确名称
- 04描述一个主要的开发者可见结果
- 05应用文档和技能的专用规则
适用场景
- 01检查变更后拟定 PR 标题
- 02为涉及多个包的更改选择标题
- 03为文档或技能变更应用仓库专用前缀
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill pr-name安装后在 Claude Code 中输入/pr-name确认已加载。
详细介绍
收到拉取请求后,在拟定标题前先检查当前标题和差异。将标题视为面向开发者的变更日志条目,而不是工作的高层概述,也不是所有变更的清单。不要自动沿用提交消息。
选择能够说明面向开发者的变更的最具体标题。把握合适的抽象层级,而非追求最大程度的具体:使用一个具体锚点和一个明确结果。
选择前缀
不要根据目录名称或 Conventional Commit 范围(例如 fix(core))推断前缀。对于包变更,请读取受影响包的 package.json,并使用其中精确的 name 值。
默认情况下,在 PR 标题中使用该包名:
`[package-name]`: [description]
例如:
`@remotion/shapes`: Add heart shape
如果涉及多个包,请使用拥有主要面向用户变更的包名,不一定是变更文件最多的包。
描述变更
按以下顺序遵循这些指南:
- 从差异中找出开发者可见的主要变更。
- 如果公共 API 是变更的核心,请在反引号中准确写出主要 API 名称,并简要说明其作用。不要列出辅助 API。
- 否则,描述变更本身,而不是所改动的文件或实现步骤。只有在有助于开发者理解结果时,才加入技术细节。
优先使用 add、fix、remove、rename 和 change 等具体动词。如果差异能更清楚地说明变更,就避免使用 allow、improve、update handling 或 support 等含糊描述。PR 标题可以使用简洁的电报式表达。不要仅为让标题成为语法完整的句子而添加冠词或赘词;如果它们有助于提高清晰度,则可以保留。
可参考的标题格式:
`[package]`: Add `[api]()` for [concise purpose]
`[package]`: Add a `[name]` option to `[api]()` for [concise purpose]
`[package]`: Fix [observable problem] when [condition]
`[package]`: Change `[api]()` to [new observable behavior]
示例:
`@remotion/studio-protocol`: Add `addElementLibraryToStudio()` for adding Element Libraries to the config
`@remotion/web-renderer`: Add a `metadata` option to `renderMediaOnWeb()` using Mediabunny's `MetadataTags`
`@remotion/studio`: Remove Asset Inspector quick action scrollbar
第一个示例优于“Add libraries to Studio”,因为它指出了主要 API 并解释了其用途。Studio CSS 示例有意描述可见结果,而不是实现该结果所用的 CSS 文件或溢出规则。
特殊处理
对于符合以下类别之一的变更,请使用对应的特殊前缀,而不是包名。根据变更对用户的影响进行分类,而不仅仅看包含变更文件的包目录。
如果变更仅添加、修复或稳定内部测试、测试夹具、快照或测试基础设施,且不会改变已发布的行为,请使用 Internal: 前缀。这也适用于已发布包下的包内测试。不要仅仅因为测试位于某个包中,就使用该包名作为前缀。必要时,可以在描述中提及包名:
Internal: Stabilize registration range test in `@remotion/transitions`
如果已发布实现的变更同时附带测试,请使用受影响包的常规前缀。
如果变更仅涉及文档:
Docs: Add page about heart shape
如果变更属于内部 monorepo 工作,且不符合以下更具体的类别,请使用 Internal: 前缀:
Internal: Simplify release bookkeeping
如果变更涉及 Remotion Elements,请使用 Elements: 前缀:
Elements: Add animated title element
如果变更涉及 packages/convert,请使用 remotion.dev/convert 前缀:
remotion.dev/convert: Support trimming
如果变更涉及 packages/example,请使用 Internal Testbed:
Internal testbed: Add trimming sample composition
如果变更添加或修改 skill,请使用 Skills: 前缀:
Skills: Add `/remotion-upgrade` skill
如果变更涉及 packages/brand,请使用 remotion.dev/brand 前缀:
remotion.dev/brand: Add animated logo
如果变更涉及 packages/it-tests,请使用 Internal tests 前缀:
Internal tests: Add video integration test