提交代码更改时始终使用此技能——永远不要直接提交。创建遵循Sentry约定的提交,具有正确的常规提交格式和问题引用。在任何提交、git commit、保存更改或提交消息任务时触发。
技能概述
commit 技能提供了创建符合Sentry约定的提交消息的指导。它确保提交消息遵循常规提交格式,包含正确的问题引用,并强制执行分支安全检查,避免直接在main或master分支上提交。
下载地址:agentic-awesome-skills/skills/commit at main · sickn33/agentic-awesome-skills · GitHub
主要功能
- 常规提交格式: 遵循常规提交规范的结构化提交消息
- 问题引用: 自动引用和关闭GitHub、Linear等问题
- 分支安全: 防止直接在main或master分支上提交
- AI协作标记: 为AI生成的更改添加Co-Authored-By标记
- 格式验证: 确保提交消息符合规范
触发条件
- 用户要求提交代码、准备提交消息或在git中保存更改
- 需要Sentry风格的提交格式,具有常规提交结构和问题引用
- 任务需要在提交之前强制执行分支安全,特别是避免在main或master上直接提交
先决条件
在提交之前,始终检查当前分支:
git branch --show-current
如果您在main或master上,您必须先创建一个功能分支——除非用户明确要求提交到main。不要询问用户是否创建分支;直接进行分支创建。
提交格式
():
标题是必需的。范围是可选的。所有行必须保持在100个字符以内。
提交类型
| 类型 | 目的 |
|---|---|
| feat | 新功能 |
| fix | Bug修复 |
| ref | 重构(无行为更改) |
| perf | 性能改进 |
| docs | 仅文档 |
| test | 测试添加或更正 |
| build | 构建系统或依赖项 |
| ci | CI配置 |
| chore | 维护任务 |
| style | 代码格式化(无逻辑更改) |
| meta | 仓库元数据 |
| license | 许可证更改 |
主题行规则
- 使用祈使语气、现在时:"Add feature"而不是"Added feature"
- 首字母大写
- 结尾没有句号
- 最多70个字符
正文指南
- 解释什么和为什么,而不是如何
- 使用祈使语气和现在时
- 包含更改的动机
- 在相关时与之前的行为进行对比
问题引用
Fixes GH-1234 Fixes #1234 Fixes SENTRY-1234 Refs LINEAR-ABC-123
- Fixes: 合并时关闭问题
- Refs: 链接但不关闭
AI生成的更改
当更改主要由编码代理(如Claude Code)生成时,在提交页脚中包含Co-Authored-By归属:
Co-Authored-By: Claude
示例
简单修复
fix(api): Handle null response in user endpoint The user API could return null for deleted accounts, causing a crash in the dashboard. Add null check before accessing user properties. Fixes SENTRY-5678 Co-Authored-By: Claude
带范围的功能
feat(alerts): Add Slack thread replies for alert updates When an alert is updated or resolved, post a reply to the original Slack thread instead of creating a new message. This keeps related notifications grouped together. Refs GH-1234
重构
ref: Extract common validation logic to shared module Move duplicate validation code from three endpoints into a shared validator class. No behavior change.
破坏性更改
feat(api)!: Remove deprecated v1 endpoints Remove all v1 API endpoints that were deprecated in version 23.1. Clients should migrate to v2 endpoints. BREAKING CHANGE: v1 endpoints no longer available Fixes SENTRY-9999
原则
- 每个提交应该是一个单一的、稳定的更改
- 提交应该可以独立审查
- 每个提交后仓库应该处于工作状态
注意事项
- 仅在任务明确匹配上述范围时使用此技能
- 不要将输出作为环境特定验证、测试或专家审查的替代品
- 如果缺少所需的输入、权限、安全边界或成功标准,请停止并请求澄清