用途:在 git 提交信息中加入 SR&ED(Scientific Research & Experimental Development)trailer,以配合加拿大 CRA 科研税收抵免的合规记录。触发词包括 sred commit、sred、cra commit、tax credit commit、scientific research commit。
主要能力与用法:
- 查看暂存改动:git diff --cached --stat;若无暂存内容则运行 git status 并询问用户要暂存什么。
- 起草提交信息到 /tmp/sred-commit-msg.txt,格式为 <type>(<scope>): <subject> 加正文,并附 SRED-Type 与 SRED-Claim 两个 trailer。type 使用约定式提交类型(feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert)。SRED-Type 取 CRA 定义值:experimental-development、applied-research、basic-research、support-work。SRED-Claim 格式为 PROJECT[-VARIANT],大写字母数字加连字符;可用 git log --format='%(trailers:key=SRED-Claim,valueonly)' | sort -u | grep . 查找已有标识,无匹配时可由 scope 推导。不确定时用 AskUserQuestion 询问用户。
- 校验: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 则继续,为 false 则按 errors 修正后重新校验;若含 discovery 则向用户展示建议。
- 提交:git commit -F /tmp/sred-commit-msg.txt,使用 -F 避免特殊字符的 shell 引号问题。
- 清理:rm -f /tmp/sred-commit-msg.txt,并向用户展示提交哈希与摘要。
该技能为自演化技能,要求在使用中发现问题时立即修正本文件,仅针对真实可复现的问题更新,并在执行后做反思与记录。
限制:资料未提供适用平台、安装方式、收费情况与效果保证;校验脚本依赖本地 cc-skills 插件路径与 bun 环境。