Create final git commit with requirement traceability tags (REQ-*). Use after refactor-phase to finalize TDD cycle with proper requirement linkage for bidirectional traceability.
/plugin marketplace add foolishimp/ai_sdlc_method/plugin install aisdlc-methodology@aisdlcThis skill is limited to using the following tools:
Skill Type: Actuator (TDD Workflow) Purpose: Create final commit with requirement traceability (REQ-* keys) Prerequisites:
You are creating the final commit for the TDD workflow with requirement traceability.
Your goal is to create a commit that:
Collect details:
Example:
Requirement: <REQ-ID>
Description: User login with email and password
Business Rules: BR-001, BR-002, BR-003
Files Changed:
- src/auth/login.py (created, 87 lines)
- tests/auth/test_login.py (created, 94 lines)
Tests: 5 tests, all passing
Coverage: 95%
Use semantic commit prefixes:
| Prefix | When to Use | Example |
|---|---|---|
feat: | New functionality (REQ-F-*) | feat: Add user login |
fix: | Bug fix (remediation) | fix: Correct email validation |
refactor: | Code restructuring (REQ-NFR-*) | refactor: Simplify login logic |
perf: | Performance improvement (REQ-NFR-PERF-*) | perf: Optimize password hashing |
test: | Adding/fixing tests | test: Add edge cases for login |
docs: | Documentation only | docs: Update auth API docs |
build: | Build system changes | build: Update dependencies |
ci: | CI/CD changes | ci: Add auth tests to pipeline |
For most TDD workflows: Use feat: (new feature) or fix: (bug fix)
Format:
<type>: <subject> (REQ-<KEY>)
<body>
<footer>
Components:
Subject line (< 72 chars):
feat: Add user login (<REQ-ID>)Body (detailed description):
Footer (metadata):
Template:
feat: Add user login (<REQ-ID>)
Implement user authentication with email and password validation.
Users can log in with valid credentials and will be locked out after
3 failed attempts for 15 minutes.
Business Rules Implemented:
- BR-001: Email validation (regex pattern)
- BR-002: Password minimum 12 characters
- BR-003: Account lockout after 3 failed attempts (15 minutes)
Implementation:
- Created LoginResult dataclass
- Implemented login() function with validation
- Added email validation helper
- Added lockout tracking per user
Tests:
- 5 tests added, all passing
- Coverage: 95% (38/40 lines)
Files:
- src/auth/login.py (created, 87 lines)
- tests/auth/test_login.py (created, 94 lines)
Implements: <REQ-ID>
Validates: BR-001, BR-002, BR-003
Tests: 5 tests, 100% passing
Coverage: 95%
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
If configured (squash_commits: true in plugin config):
# Squash RED, GREEN, REFACTOR commits into final commit
git reset --soft HEAD~3 # Undo last 3 commits (keeps changes)
git commit -F commit_message.txt
If not squashing: Keep RED, GREEN, REFACTOR commits separate + final commit.
Recommendation: Keep commits separate for better git history:
Execute git commit:
git add .
git commit -m "feat: Add user login (<REQ-ID>)
Implement user authentication with email and password validation.
Users can log in with valid credentials and will be locked out after
3 failed attempts for 15 minutes.
Business Rules Implemented:
- BR-001: Email validation (regex pattern)
- BR-002: Password minimum 12 characters
- BR-003: Account lockout after 3 failed attempts (15 minutes)
Implementation:
- Created LoginResult dataclass
- Implemented login() function with validation
- Added email validation helper
- Added lockout tracking per user
Tests:
- 5 tests added, all passing
- Coverage: 95% (38/40 lines)
Files:
- src/auth/login.py (created, 87 lines)
- tests/auth/test_login.py (created, 94 lines)
Implements: <REQ-ID>
Validates: BR-001, BR-002, BR-003
Tests: 5 tests, 100% passing
Coverage: 95%
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
"
Check commit:
git log -1 --stat
Expected output:
commit abc123def456
Author: Developer <dev@example.com>
Date: Thu Nov 20 22:00:00 2025 +1100
feat: Add user login (<REQ-ID>)
Implement user authentication with email and password validation.
...
src/auth/login.py | 87 ++++++++++++++++++++++++++++++++++++++++++
tests/auth/test_login.py | 94 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 181 insertions(+)
When you complete the commit, show:
[COMMIT Phase - <REQ-ID>]
Commit Type: feat (new feature)
Commit Message:
Subject: feat: Add user login (<REQ-ID>)
Body: Implement user authentication with email/password...
Footer: Implements: <REQ-ID>, Validates: BR-001/002/003
Files Changed:
+ src/auth/login.py (87 lines)
+ tests/auth/test_login.py (94 lines)
Traceability:
Forward: <REQ-ID> ā commit abc123
Backward: git log --grep="<REQ-ID>" ā this commit
Commit SHA: abc123def456
ā
COMMIT Complete!
Requirement traceability established
Forward traceability: <REQ-ID> ā code
Backward traceability: code ā <REQ-ID>
From requirement, find implementation:
# Find all commits implementing <REQ-ID>
git log --grep="<REQ-ID>" --oneline
# Find files implementing <REQ-ID>
git log --grep="<REQ-ID>" --name-only
From code, find requirement:
# Find requirement for src/auth/login.py
git log src/auth/login.py --grep="REQ-" --oneline
# Find business rules in file
grep "Implements: BR-" src/auth/login.py
When requirement changes:
# Find all code implementing <REQ-ID>
git log --grep="<REQ-ID>" --name-only | grep -v "^commit" | sort -u
# Output:
# src/auth/login.py
# tests/auth/test_login.py
Now you know exactly what to update!
Before invoking this skill, ensure:
If prerequisites not met:
After commit created:
git push origin mainThis skill respects configuration in .claude/plugins.yml:
plugins:
- name: "@aisdlc/code-skills"
config:
tdd:
squash_commits: false # Keep RED/GREEN/REFACTOR separate
commit_co_author: true # Add Claude as co-author
include_coverage: true # Include coverage in commit message
include_test_count: true # Include test count in commit message
feat: Add password reset (<REQ-ID>)
Implement password reset via email with time-limited tokens.
Business Rules:
- BR-010: Reset token expires after 1 hour
- BR-011: Token usable only once
Implements: <REQ-ID>
Tests: 7 tests, 100% passing
Coverage: 92%
fix: Correct email validation regex (<REQ-ID>)
Fix email validation to reject invalid TLDs.
Issue: Email validation accepted invalid domains like user@example.c
Fix: Updated regex pattern to require minimum 2-char TLD
Fixes: <REQ-ID>, BR-001
Tests: 3 new tests added, all passing
perf: Optimize password hashing (REQ-NFR-PERF-001)
Switch from MD5 to bcrypt with cost factor 12.
Before: 5ms per hash (insecure)
After: 250ms per hash (secure, prevents brute force)
Implements: REQ-NFR-PERF-001, REQ-NFR-SEC-003
Tests: Performance tests added
Why requirement traceability?
Bidirectional traceability:
Intent (INT-042)
ā (forward)
Requirements (<REQ-ID>)
ā (forward)
Design (AuthService component)
ā (forward)
Code (src/auth/login.py)
ā (forward)
Tests (tests/auth/test_login.py)
ā (forward)
Runtime (Datadog metrics tagged with <REQ-ID>)
ā (forward)
Alerts ("ERROR: <REQ-ID> - Auth timeout")
ā (backward)
New Intent (INT-150: "Fix auth timeout")
Homeostasis Goal:
desired_state:
requirement_traceability: complete
forward_traceability: REQ ā code
backward_traceability: code ā REQ
commit_contains_req_key: true
"Excellence or nothing" š„
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.