prepare-semantic-commit
Prepare semantic commit (session → Conventional Commits + release bump)
What “last chat” means
- Primary source of truth:
git status,git diff(unstaged), andgit diff --cached(staged). Run these in the repo root (or the paths the user changed). - Context: use the current conversation to summarize intent and to spot breaking API/behavior changes that diff alone may not show.
- If the user tracks a session baseline (e.g. branch, tag, or
git stash createat start), you maygit diff <baseline>..HEADplus uncommitted diffs; otherwise use only the index and working tree.
Quick workflow
- Inventory — List changed paths; group by feature vs chore vs docs vs test-only.
- Decide commit shape — One atomic commit is ideal. If the diff mixes unrelated concerns, recommend multiple commits (each with its own type/scope) before suggesting one message.
- Classify for semantic release — Using the default analyzer-style mapping (same idea as semantic-release / Conventional Commits):
fix→ patch,feat→ minor, breaking → major. - Write the message —
type(optional-scope)!: description(see REFERENCE.md). Use!or aBREAKING CHANGE:footer when behavior contracts change. - Deliver — Output:
- Proposed full commit message (title + optional body + footers).
- Release bump this commit would drive under typical defaults:
patch|minor|major|none(e.g.chore/ci/docsthat do not trigger a version in many setups — say “project-dependent”). - Optional:
git add …andgit commit -m/git commit(file) instructions; do not run destructive git commands unless the user asked.
More from danielvm-git/skills
triage-issue
Triage a bug or issue by exploring the codebase to find root cause, then create a GitHub issue with a TDD-based fix plan. Use when user reports a bug, wants to file an issue, mentions "triage", or wants to investigate and plan a fix for a problem.
11design-an-interface
Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions "design it twice".
11ubiquitous-language
Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
11write-a-skill
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
11setup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
11tdd
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.
10