mcpField
S
sred-commit

sred-commit

github.com/terrylicaOther183 installsUpdated today
Repository

About sred-commit

A skill for creating git commits with SR&ED trailers for Canadian CRA tax-credit compliance. It guides staged-change review, commit-message drafting, claim identification, validation, and committing.

Key features

  1. 01Review staged changes
  2. 02Draft conventional commit messages
  3. 03Add SR&ED type and claim trailers
  4. 04Validate commit messages
  5. 05Create commits from a message file

Use cases

  1. 01Record eligible development work in git history
  2. 02Validate SR&ED commit metadata
  3. 03Commit staged changes with required trailers

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/terrylica/cc-skills --skill sred-commit

After installing, type/sred-commitin Claude Code to confirm it loaded.

Bundled filesreferences/evolution-log.md

Details

From the project README

/mise:sred-commit

Create a git commit with SR&ED (Scientific Research & Experimental Development) trailers for Canada CRA tax credit compliance.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

Step 1: Understand Staged Changes

git diff --cached --stat

If nothing is staged, run git status and ask the user what to stage.

Step 2: Draft the Commit Message

Write a commit message to /tmp/sred-commit-msg.txt following this format:

<type>(<scope>): <subject>

<body>

SRED-Type: <category>
SRED-Claim: <PROJECT-IDENTIFIER>
Conventional Commit Types
TypeWhen to Use
featNew feature or capability
fixBug fix
docsDocumentation only changes
styleFormatting, missing semicolons, etc.
refactorCode change that neither fixes nor adds
perfPerformance improvement
testAdding or correcting tests
buildBuild system or external dependencies
ciCI configuration files and scripts
choreMaintenance tasks
revertReverting a previous commit
SR&ED Types (CRA Definitions)
SRED-TypeCRA Definition
experimental-developmentAchieving technological advancement through systematic work
applied-researchScientific knowledge with specific practical application in view
basic-researchScientific knowledge without specific practical application
support-workProgramming, testing, data collection supporting SR&ED activities
SRED-Claim Format

Format: PROJECT[-VARIANT] (uppercase alphanumeric + hyphens).

To discover existing project identifiers in this repo:

git log --format='%(trailers:key=SRED-Claim,valueonly)' | sort -u | grep .

If no existing identifiers match, derive from the commit scope (e.g., feat(my-feature): → MY-FEATURE).

If unsure which SRED-Type or SRED-Claim to use, use AskUserQuestion to ask the user.

Step 3: Validate

Run the validator on the draft message:

bun $HOME/.claude/plugins/marketplaces/cc-skills/plugins/itp-hooks/hooks/sred-commit-guard.ts --validate-message /tmp/sred-commit-msg.txt

Parse the JSON output:

  • {"valid": true} → proceed to commit
  • {"valid": false, "errors": [...]} → fix the message and re-validate
  • If the output includes "discovery", present the suggestions to the user via AskUserQuestion

Step 4: Commit

git commit -F /tmp/sred-commit-msg.txt

Using -F avoids shell quoting issues with special characters in commit messages.

Step 5: Clean Up

rm -f /tmp/sred-commit-msg.txt

Show the user the commit hash and summary.

Post-Execution Reflection

After this skill completes, reflect before closing the task:

  1. Locate yourself. — Find this SKILL.md's canonical path before editing.
  2. What failed? — Fix the instruction that caused it.
  3. What worked better than expected? — Promote to recommended practice.
  4. What drifted? — Fix any script, reference, or dependency that no longer matches reality.
  5. Log it. — Evolution-log entry with trigger, fix, and evidence.

Do NOT defer. The next invocation inherits whatever you leave behind.

Comments

Markdown supported