mcpField
S
sred-commit

sred-commit

github.com/terrylica其他183 次安装今天更新
代码仓库

关于 sred-commit

此技能用于创建带有 SR&ED trailers 的 git 提交,以支持加拿大 CRA 税收抵免合规记录。它涵盖暂存变更检查、提交信息撰写、项目标识确认、验证和提交操作。

主要功能

  1. 01检查暂存变更
  2. 02撰写 Conventional Commit 信息
  3. 03添加 SR&ED 类型与申报标记
  4. 04验证提交信息
  5. 05从信息文件创建提交

适用场景

  1. 01在 git 历史中记录相关开发工作
  2. 02验证 SR&ED 提交元数据
  3. 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构建系统或外部依赖
ciCI 配置文件和脚本
chore维护任务
revert回退之前的提交
SR&ED 类型(CRA 定义)
SRED-TypeCRA 定义
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

向用户显示提交哈希和摘要。

执行后复盘

此技能完成后,请在结束任务前进行复盘:

  1. 确定自身位置。 — 找到此 SKILL.md 的规范路径,然后再编辑。
  2. 哪里失败了? — 修复导致问题的指令。
  3. 哪些做法比预期更有效? — 将其列为推荐实践。
  4. 哪里发生了偏移? — 修复任何与实际情况不符的脚本、引用或依赖项。
  5. 记录下来。 — 添加演进日志条目,记录触发原因、修复内容和证据。

不要拖延。下一次调用会继承你留下的一切。

评论

支持 Markdown