ywai/skills/git-commit/SKILL.md
Git commit standards, conventions, and commit message formatting
npx skillsauth add Yoizen/dev-ai-workflow git-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.
CHANGELOG.mdtype(scope): subjectBREAKING CHANGE: footer for backward-incompatible changesFixes #123This project uses Conventional Commits for structured commit messages:
Format:
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixdocs: Documentation only changesstyle: Code style changes (formatting, missing semi colons, etc.)refactor: Code refactoring without adding features or fixing bugsperf: Performance improvementtest: Adding or updating testschore: Maintenance tasks, build process, dependency updatesci: CI/CD configuration changesScopes (common examples):
api: API changesbackend: Backend changesfrontend: Frontend changesdomain: Domain layer changesinfrastructure: Infrastructure changesmigration: Database migrationsdocs: Documentation changestests: Test changesfeat(agents): add agent versioning support
- Implement agent version tracking
- Add version comparison endpoint
- Add version restoration functionality
Co-authored-by: John Doe <[email protected]>
fix(webapi): resolve NaN flowId in metrics
- Validate flowId before processing
- Add error logging for invalid IDs
- Fix metrics aggregation
Fixes #123
refactor(agents): simplify agent creation flow
- Remove duplicate validation logic
- Consolidate versioning service
- Improve error handling
BREAKING CHANGE: Agent creation API now requires version parameter
docs: update agent skill documentation
- Add integration patterns section
- Update examples
- Fix typos in README
Fixes #123BREAKING CHANGE:Fixes #123, Closes #456Configured in lefthook.yml:
pre-commit:
commands:
lint:
run: npm run lint:fix
typecheck:
run: npm run typecheck
test:
run: npm run test:unit
Configured in lefthook.yml:
commit-msg:
commands:
validate:
run: |
PATTERN="^(feat|fix|docs|style|refactor|perf|test|chore|ci)(\(.+\))?: "
if ! grep -qE "$PATTERN" {1}; then
echo "Commit message must follow conventional format"
exit 1
fi
# Check subject length
subject=$(head -n1 {1} | cut -d':' -f2 | sed 's/^\s*//')
if [ ${#subject} -gt 50 ]; then
echo "Commit subject must be 50 characters or less"
exit 1
fi
This project uses Semantic Versioning (SemVer):
Format: MAJOR.MINOR.PATCH
Example: 1.5.0 → 2.0.0 (breaking)
Example: 1.5.0 → 1.6.0 (new feature)
Example: 1.5.0 → 1.5.1 (bug fix)
When to increment:
| Change | Type | Example |
|--------|------|---------|
| Breaking change | MAJOR | 1.5.0 → 2.0.0 |
| New feature (backward compatible) | MINOR | 1.5.0 → 1.6.0 |
| Bug fix (backward compatible) | PATCH | 1.5.0 → 1.5.1 |
Naming: release/vX.Y.Z
# Create release branch
git checkout -b release/v1.6.0
# Make release commits
git commit -m "chore(release): prepare for v1.6.0 release"
# Merge to main
git checkout main
git merge release/v1.6.0
# Tag release
git tag -a v1.6.0 -m "Release v1.6.0"
Based on conventional commits, maintain CHANGELOG.md:
# Changelog
## [2.0.0] - 2024-01-15
### Added
- Agent versioning support
- Agent comparison endpoint
- Version restoration functionality
### Changed
- Improved agent creation flow
- Simplified validation logic
### Deprecated
- Legacy agent API (use agents/v2)
### Removed
- Old agent caching mechanism
### Fixed
- NaN flowId in metrics
- Agent dirty state tracking
### Security
- Added input validation for agent names
- Updated JWT token handling
# Find lefthook configuration
find . -name "lefthook.yml"
cat lefthook.yml
# Find commitlint configuration
find . -name "commitlint*"
grep -r "commitlint" package.json
# Find version configuration
grep -r "version" package.json
# Find recent commits
git log --oneline -20
# Find commit messages by type
git log --grep="^feat:" --oneline
git log --grep="^fix:" --oneline
# Find breaking changes
git log --grep="BREAKING CHANGE:" --oneline
# Make changes
git add .
# Commit with proper format
git commit -m "feat(agents): add agent tools configuration
- Add tool input/output mapping
- Support integration and piece tool types
- Add custom description support"
# Push to remote
git push origin feature/agent-tools
# Create PR from feature/agent-tools to main
# Make changes
git add .
# Commit with reference
git commit -m "fix(webapi): handle missing agent ID
- Add null check for agentId parameter
- Return 400 Bad Request instead of 500 error
- Add error logging
Fixes #456"
# Push
git push origin fix/missing-agent-id
# Update code to breaking API
git add .
# Commit with BREAKING CHANGE footer
git commit -m "feat(agents): restructure agent configuration model
BREAKING CHANGE: Agent configuration now uses new model
- Old agent format no longer supported
- Migration required for existing agents
- See migration guide in docs/migration.md
Migrates #123"
# Update version in package.json
npm version minor --no-git-tag-version
# Update CHANGELOG.md
git add CHANGELOG.md
git commit -m "chore(release): update CHANGELOG for v1.6.0"
# Create release branch
git checkout -b release/v1.6.0
# Update any additional files
vim version.ts
git commit -am "chore(release): bump version to 1.6.0"
# Merge and tag
git checkout main
git merge release/v1.6.0
git tag -a v1.6.0 -m "Release v1.6.0"
# Push tags and main
git push origin main --tags
Error: Commit message doesn't follow format
Solution:
type(scope): subjectError: Linting or tests failed
Solution:
npm run lint:fix to auto-fix issuesnpm run typecheck to check typesnpm run test to verify tests passError: Git merge conflict
Solution:
# Start merge
git merge feature/branch
# Resolve conflicts in conflicted files
# Edit and save files
# Mark as resolved
git add <resolved-files>
# Complete merge
git commit -m "chore: resolve merge conflicts with feature/branch"
npm run test:unitnpm run test:integrationnpm run lintnpm run typecheckassets/scripts/commit.sh - Commit automation scriptassets/scripts/release.sh - Release automation scriptdocumentation
Yoizen UI design system guidelines and resources. Trigger: When working on Yoizen UI components, styling, colors, typography, or icons.
development
TypeScript strict patterns and best practices. Trigger: When writing TypeScript code - types, interfaces, generics.
development
Tailwind CSS 4 patterns and best practices. Trigger: When styling with Tailwind - cn(), theme variables, no var() in className.
data-ai
name: skill-sync description: > Sync skill metadata with the Auto-invoke sections in AGENTS.md. Trigger: When you change a skill's metadata (metadata.scope/metadata.auto_invoke), regenerate the Auto-invoke tables, or run ./skills/skill-sync/assets/sync.sh. metadata: author: Yoizen version: "1.0" scope: [root] auto_invoke: - "skill operations" - "workflow" - "sdd" author: Yoizen version: "1.0" scope: [root] auto_invoke: - "skill operations" - "workflow"