sred-commit について
カナダCRAの税額控除対応に向け、SR&EDトレーラー付きのgitコミット作成を支援するスキルです。ステージ済み変更の確認、メッセージ作成、申告識別子の確認、検証、コミットを案内します。
主な機能
- 01ステージ済み変更の確認
- 02Conventional Commit形式の作成
- 03SR&EDタイプと申告トレーラーの追加
- 04コミットメッセージの検証
- 05メッセージファイルからのコミット作成
活用シーン
- 01関連する開発作業をgit履歴に記録
- 02SR&EDコミットメタデータの検証
- 03必要なトレーラーを付けてステージ済み変更をコミット
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill sred-commitインストール後、Claude Code で/sred-commitを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.md
詳細
/mise:sred-commit
カナダ CRA の税額控除要件に準拠するため、SR&ED(科学的研究および実験的開発)のトレーラーを付けて git コミットを作成します。
自己進化型スキル:このスキルは使用するたびに改善されます。指示に誤りがある場合、パラメーターが実態とずれている場合、または回避策が必要だった場合は、先延ばしにせず、すぐにこのファイルを修正してください。実際に再現可能な問題がある場合に限り更新してください。
Step 1: ステージされた変更を確認する
git diff --cached --stat
何もステージされていない場合は、git status を実行し、何をステージするかユーザーに尋ねます。
Step 2: コミットメッセージを作成する
次の形式に従って、/tmp/sred-commit-msg.txt にコミットメッセージを作成します。
<type>(<scope>): <subject>
<body>
SRED-Type: <category>
SRED-Claim: <PROJECT-IDENTIFIER>
Conventional Commit のタイプ
| タイプ | 使用する状況 |
|---|---|
| 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 を使ってユーザーに尋ねます。
Step 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を使って提案をユーザーに提示します
Step 4: コミットする
git commit -F /tmp/sred-commit-msg.txt
-F を使うと、コミットメッセージ内の特殊文字によるシェルの引用符の問題を回避できます。
Step 5: クリーンアップする
rm -f /tmp/sred-commit-msg.txt
コミットハッシュと概要をユーザーに示します。
実行後の振り返り
このスキルの実行後、タスクを終了する前に振り返ります。
- 現在位置を確認する。 — 編集する前に、この SKILL.md の正式なパスを見つけます。
- 何が失敗したか。 — 原因となった指示を修正します。
- 期待以上にうまくいったことは何か。 — 推奨プラクティスに取り入れます。
- 何が実態とずれていたか。 — 現状と一致しなくなったスクリプト、参照先、依存関係を修正します。
- 記録する。 — 発生のきっかけ、修正内容、根拠を記した進化ログの項目を追加します。
先延ばしにしないでください。次回の実行では、ここに残した内容がそのまま引き継がれます。