From smurf
Conventional Commits format and rules. Apply when authoring commit messages. Loaded by developer.
How this skill is triggered — by the user, by Claude, or both
Slash command
/smurf:conventional-commitsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Format:
Format:
<type>(<scope>): <subject>
<body — optional, blank line above>
<footer — optional, blank line above>
Subject line ≤ 72 characters. Imperative mood ("add", not "added"). No trailing period.
feat — new feature visible to users.fix — bug fix.docs — documentation only.style — formatting / whitespace; no logic change.refactor — code change that is neither a fix nor a feature.perf — performance improvement.test — adding or updating tests.build — build system, dependencies, packaging.ci — CI configuration.chore — anything else (rare; prefer a more specific type).The smallest noun that locates the change. Examples:
feat(version): add scripts/version.shfix(qa): correct exit-code propagation in verify.shdocs(adr): record rate-limit decision (ADR-0042)refactor(orchestrator): extract wave-DAG builderIf a change spans multiple scopes, either pick the dominant scope or split the change into multiple commits (preferred).
Use the body to explain why, not what. The diff already shows what.
feat(version): add scripts/version.sh
The orchestrator's autonomous-run.sh records the running commit's
short hash in summary.md. Without a stable script that prints the
hash, every script duplicated `git rev-parse --short HEAD`. This
centralizes it so the format change (7 → 8 chars, e.g.) lives in
one place.
Refs #123, Closes #123.BREAKING CHANGE: <description> on a new line.
Optionally add ! after the type: feat(api)!: drop /v1 endpoints.When a commit comes out of an orchestrator wave with developer + qa involvement, tag both:
Co-authored-by: qa-engineer <[email protected]>
chore: stuff — uninformative.fix: bug — unmeaning.WIP commits in main branches — squash before merge.When a developer re-runs after a failing QA report, commit format:
fix(<scope>): address qa <id> findings
- AC-2: pad short hash to 7 chars
- AC-4: emit non-zero exit when input invalid
This makes the QA→fix loop traceable in git log.
npx claudepluginhub abaddon/smurf --plugin smurfGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.