skills/sdd-commit/SKILL.md
Guide commit message and PR creation for SDD workflow. Use when committing changes, creating pull requests, or documenting changes. Invoked via /sdd-commit.
npx skillsauth add yi-john-huang/sdd-mcp sdd-commitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create clear, consistent commit messages and pull requests that document changes effectively.
Follow the Conventional Commits specification:
<type>(<scope>): <subject>
[optional body]
[optional footer(s)]
| Type | When to Use | Example |
|------|-------------|---------|
| feat | New feature | feat(auth): add JWT refresh token |
| fix | Bug fix | fix(api): handle null user response |
| docs | Documentation only | docs(readme): update installation steps |
| style | Formatting, no code change | style(lint): fix linter warnings |
| refactor | Code change, no new feature or fix | refactor(user): extract validation logic |
| perf | Performance improvement | perf(query): add index for user lookup |
| test | Adding/updating tests | test(auth): add login failure tests |
| build | Build system changes | build(deps): update dependencies |
| ci | CI/CD changes | ci(github): add test workflow |
| chore | Other changes | chore(deps): bump lodash version |
| revert | Revert previous commit | revert: feat(auth): add JWT refresh |
The scope should indicate the area affected:
feat(auth): # Authentication module
fix(api/users): # Users API endpoint
docs(readme): # README file
test(e2e): # End-to-end tests
refactor(db): # Database layer
# GOOD
feat(auth): add password reset flow
fix(cart): prevent duplicate items
# BAD
feat(auth): Added password reset flow.
fix(cart): Fixes the duplicate items bug
Use for explaining:
feat(auth): add multi-factor authentication
Implement TOTP-based 2FA for enhanced security.
Users can now enable 2FA from their profile settings.
- Add TOTP secret generation
- Add QR code for authenticator apps
- Add backup codes for recovery
Closes #123
BREAKING CHANGE: API endpoint changed from /users to /api/v1/users
Refs: #123, #456
Co-authored-by: Name <[email protected]>
## Summary
<!-- 1-3 bullet points describing the changes -->
- Add user authentication with JWT
- Implement password reset flow
- Add comprehensive test coverage
## Motivation
<!-- Why is this change needed? -->
Users need secure authentication to access protected resources.
## Changes
<!-- Detailed list of changes -->
### Added
- `AuthService` for handling authentication logic
- `JWTProvider` for token generation/validation
- Unit and integration tests for auth flow
### Changed
- Updated `UserController` to use AuthService
- Modified API routes to require authentication
### Removed
- Deprecated session-based authentication
## Testing
<!-- How was this tested? -->
- [x] Unit tests pass
- [x] Integration tests pass
- [x] Manual testing completed
- [ ] E2E tests (pending)
## Screenshots
<!-- If applicable -->
## Checklist
- [x] Code follows project style guidelines
- [x] Tests added/updated
- [x] Documentation updated
- [x] No breaking changes (or documented)
- [x] Security considerations reviewed
## Related Issues
Closes #123
Refs #456
Each commit should be one logical change:
# GOOD: Separate commits for separate changes
git commit -m "feat(user): add email validation"
git commit -m "test(user): add email validation tests"
# BAD: Multiple unrelated changes
git commit -m "add email validation, fix bug, update docs"
feat(cart): add quantity update functionality
Allow users to update item quantities directly from the cart.
Includes optimistic UI updates and error handling.
- Add updateQuantity method to CartService
- Add quantity input component
- Add debounced API calls
Closes #234
fix(auth): prevent session fixation attack
Regenerate session ID after successful login to prevent
session fixation attacks.
Security: OWASP A7 - Identification and Authentication Failures
refactor(api): extract common error handling
Move error handling logic to middleware for consistency
across all API endpoints.
- Create ErrorHandlerMiddleware
- Add custom error classes
- Update all controllers to throw custom errors
No functional changes.
feat(api)!: change user endpoint response format
BREAKING CHANGE: The /api/users endpoint now returns
a paginated response instead of an array.
Before:
[{ id: 1, name: "John" }, ...]
After:
{
data: [{ id: 1, name: "John" }, ...],
pagination: { page: 1, total: 100 }
}
Migration: Update all clients to handle the new response format.
<type>/<ticket>-<description>
Examples:
feature/AUTH-123-jwt-authentication
bugfix/CART-456-duplicate-items
hotfix/PROD-789-security-patch
chore/update-dependencies
# Check status
git status
# Review changes
git diff
# Stage specific files
git add src/auth/
# Or stage all
git add -A
# With message
git commit -m "feat(auth): add login endpoint"
# Open editor for longer message
git commit
# Update from main
git fetch origin main
git rebase origin/main
# Run tests
{your test command} # e.g., npm test, pytest, cargo test, go test
# Push
git push origin feature/AUTH-123-jwt-auth
tools
Implement simple features with best practices. Use when adding small features, bug fixes, or quick enhancements without the full SDD workflow. Invoked via /simple-task <description>.
development
Generate comprehensive tests following TDD methodology. Creates unit tests, integration tests, and edge case coverage. Works with existing test frameworks in the project. Invoked via /sdd-test-gen [file-path or function-name].
testing
Generate TDD task breakdown for SDD workflow. Use when breaking down design into implementable tasks with test-first approach. Invoked via /sdd-tasks <feature-name>.
testing
Create project-specific steering documents for SDD workflow. Use when setting up project context, documenting technology stack, or establishing project conventions. Invoked via /sdd-steering.