plugins/commit-pro/skills/post-commit/SKILL.md
Universal post-commit actions. CHANGELOG update and git tag for all repos. Plugin version bumping for marketplace repos. Triggered after any code commit (except wip/amend/undo).
npx skillsauth add fusengine/agents post-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.
Universal post-commit actions after a successful code commit.
git log --format='%s' -1
Save the commit message for CHANGELOG entry.
Check if .claude-plugin/marketplace.json exists in the repo root.
Read the latest git tag to determine current version:
git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0"
Increment PATCH: X.Y.Z → X.Y.(Z+1).
If CHANGELOG.md does not exist, create it with # Changelog heading.
Add a new entry at the top (after the # Changelog heading):
## [X.Y.Z] - DD-MM-YYYY
- commit message from Step 1
git add CHANGELOG.md
git commit -m "$(cat <<'EOF'
chore: update CHANGELOG to X.Y.Z
EOF
)"
git tag vX.Y.Z
STOP. Output summary and ask user if they want to push the tag.
git diff --name-only HEAD~1 | grep '^plugins/' | cut -d/ -f2 | sort -u
If no plugins modified → Skip to Step M3 (still bump suite version).
Skip directories without .claude-plugin/plugin.json.
For each modified plugin detected in Step M1:
plugins/{name}/.claude-plugin/plugin.jsonX.Y.Z → X.Y.(Z+1)plugin.jsonThen determine plugin type from marketplace.json:
plugins[] array → Also update matching version field in marketplace.jsoncore[] array → Only bump plugin.json (core entries have no version field)Read metadata.version from .claude-plugin/marketplace.json.
Increment PATCH: X.Y.Z → X.Y.(Z+1).
Write the new suite version back to marketplace.json → metadata.version.
If README.md contains a shields.io version badge, update it to match the new version:
Replace version-vOLD_VERSION- with version-vNEW_VERSION- in the badge URL.
Add a new entry at the top of CHANGELOG.md (after the # Changelog heading):
## [X.Y.Z] - DD-MM-YYYY
- type(plugin-name): description from the code commit message
Where X.Y.Z is the new suite version from Step M3.
Include (plugin-name X.Y.Z) in each line for bumped plugins.
Stage all modified files:
git add CHANGELOG.md README.md .claude-plugin/marketplace.json plugins/*/.claude-plugin/plugin.json
Commit with HEREDOC format:
git commit -m "$(cat <<'EOF'
chore: bump marketplace and CHANGELOG to X.Y.Z
EOF
)"
This MUST be a separate commit from the code changes. Never combine.
Then tag and push:
git tag vX.Y.Z
git push origin vX.Y.Z
Only tag the bump commit. Never tag code commits.
| Commit Type | CHANGELOG Prefix |
|-------------|-----------------|
| feat | Added |
| fix | Fixed |
| refactor | Changed |
| docs | Documentation |
| perf | Performance |
| test | Tests |
| chore | Maintenance |
| style | Style |
| ci | CI/CD |
| build | Build |
development
Use when optimizing entity-based / semantic SEO 2026. Covers entity maps, Google Knowledge Graph resolution, salience scoring, passage-level ranking, about/sameAs/knowsAbout schema, Cloud Natural Language API validation.
development
Use when running SEO, GEO, schema, Core Web Vitals, sitemap, hreflang, E-E-A-T, AI Overviews, technical SEO, or structured data tasks. Covers full-site audits, single-page analysis, schema markup, content quality, AI search optimization, local SEO, sitemap/robots, internal linking, semantic clustering, and search experience.
development
Use when optimizing search experience (SXO). Covers intent matching, user personas, user stories, page-type analysis, dwell time, scroll depth, pogo-sticking prevention.
development
Use when optimizing local SEO. Covers Google Business Profile, NAP consistency, citations, reviews acquisition, Local Pack ranking, location pages, LocalBusiness schema.