关于 sred-commit
此技能用于创建带有 SR&ED trailers 的 git 提交,以支持加拿大 CRA 税收抵免合规记录。它涵盖暂存变更检查、提交信息撰写、项目标识确认、验证和提交操作。
主要功能
- 01检查暂存变更
- 02撰写 Conventional Commit 信息
- 03添加 SR&ED 类型与申报标记
- 04验证提交信息
- 05从信息文件创建提交
适用场景
- 01在 git 历史中记录相关开发工作
- 02验证 SR&ED 提交元数据
- 03为暂存变更添加必需 trailers 后提交
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill sred-commit安装后在 Claude Code 中输入/sred-commit确认已加载。
附带文件references/evolution-log.md
详细介绍
/mise:sred-commit
创建 Git 提交,并添加 SR&ED(Scientific Research & Experimental Development,科学研究与实验开发)尾注,以符合加拿大 CRA 税收抵免要求。
自我演进技能:此技能会在使用过程中不断改进。如果指令有误、参数发生偏移或需要采用变通方法,请立即修复此文件,不要拖延。只针对真实且可复现的问题进行更新。
第 1 步:了解暂存的更改
git diff --cached --stat
如果没有暂存任何内容,请运行 git status,并询问用户要暂存哪些内容。
第 2 步:起草提交消息
按照以下格式,将提交消息写入 /tmp/sred-commit-msg.txt:
<type>(<scope>): <subject>
<body>
SRED-Type: <category>
SRED-Claim: <PROJECT-IDENTIFIER>
Conventional Commit 类型
| Type | 使用场景 |
|---|---|
| feat | 新功能或能力 |
| fix | 修复缺陷 |
| docs | 仅更改文档 |
| style | 格式调整、缺少分号等 |
| refactor | 既不修复也不新增功能的代码更改 |
| perf | 性能改进 |
| test | 添加或修正测试 |
| build | 构建系统或外部依赖 |
| ci | CI 配置文件和脚本 |
| chore | 维护任务 |
| revert | 回退之前的提交 |
SR&ED 类型(CRA 定义)
| SRED-Type | CRA 定义 |
|---|---|
| experimental-development | 通过系统性工作实现技术进步 |
| applied-research | 以特定实际应用为目标获取科学知识 |
| basic-research | 不以特定实际应用为目标获取科学知识 |
| support-work | 为 SR&ED 活动提供支持的编程、测试和数据收集 |
SRED-Claim 格式
格式:PROJECT[-VARIANT](大写字母、数字和连字符)。
要查找此仓库中现有的项目标识符:
git log --format='%(trailers:key=SRED-Claim,valueonly)' | sort -u | grep .
如果没有匹配的现有标识符,请根据提交范围推导(例如,feat(my-feature): → MY-FEATURE)。
如果不确定使用哪种 SRED-Type 或 SRED-Claim,请使用 AskUserQuestion 询问用户。
第 3 步:验证
对草拟的消息运行验证器:
bun $HOME/.claude/plugins/marketplaces/cc-skills/plugins/itp-hooks/hooks/sred-commit-guard.ts --validate-message /tmp/sred-commit-msg.txt
解析 JSON 输出:
{"valid": true}→ 继续提交{"valid": false, "errors": [...]}→ 修复消息并重新验证- 如果输出包含
"discovery",请通过AskUserQuestion向用户展示建议
第 4 步:提交
git commit -F /tmp/sred-commit-msg.txt
使用 -F 可避免提交消息中特殊字符导致的 shell 引号问题。
第 5 步:清理
rm -f /tmp/sred-commit-msg.txt
向用户显示提交哈希和摘要。
执行后复盘
此技能完成后,请在结束任务前进行复盘:
- 确定自身位置。 — 找到此 SKILL.md 的规范路径,然后再编辑。
- 哪里失败了? — 修复导致问题的指令。
- 哪些做法比预期更有效? — 将其列为推荐实践。
- 哪里发生了偏移? — 修复任何与实际情况不符的脚本、引用或依赖项。
- 记录下来。 — 添加演进日志条目,记录触发原因、修复内容和证据。
不要拖延。下一次调用会继承你留下的一切。
评论
支持 Markdown