convention-enforcementlisted
Install: claude install-skill synaptiai/synapti-marketplace
# Convention Enforcement
Domain skill for validating git conventions across the development workflow.
## Iron Law
**CONVENTIONS ARE NOT OPTIONAL. A commit that violates project conventions is a defective commit, regardless of code quality.**
History that violates conventions is history that every future contributor must question and work around.
## Convention Sources (Priority Order)
1. **CLAUDE.md** — Project-specific overrides (highest priority)
2. **settings.flow.json** — Plugin configuration
3. **Defaults** — Built-in conventions (lowest priority)
```bash
CLAUDE_MD=""
[ -f ".claude/CLAUDE.md" ] && CLAUDE_MD=".claude/CLAUDE.md"
[ -z "$CLAUDE_MD" ] && [ -f "CLAUDE.md" ] && CLAUDE_MD="CLAUDE.md"
```
## Commit Message Validation
### Format
```
<type>(<scope>): <subject>
[optional body]
[optional footer]
```
### Rules
- **Type**: Must be one of configured `conventions.commitTypes` (default: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert, improve)
- **Scope**: Optional, parenthesized, lowercase
- **Subject**: Imperative mood, no period
- **Body**: Separated by blank line
### Validation
```bash
DEFAULT_BRANCH=$(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name' 2>/dev/null || echo "main")
git log --format="%s" "$DEFAULT_BRANCH"..HEAD
```
Check each commit subject against the format regex:
`^(feat|fix|docs|style|refactor|test|chore|perf|ci|build|revert|improve)(\(.+\))?: .+$`
## Branch Naming Validation
Check current bran