Formulate a git commit message. Use this skill whenever asked to create a commit message.
Create a commit message for the staged changes. If changes are staged, return only the commit message, with no code fence or commentary. Otherwise, report that nothing is staged.
List the staged files:
<command> git diff --cached --name-only </command>If this produces no output, report that nothing is staged and do not invent a message. Otherwise, read the complete staged diff:
<command> git diff --cached </command>Use the conversation context to understand the rationale, but describe only the staged diff. Ignore unstaged and untracked changes.
Read recent non-merge commit subjects before drafting the message:
<command> git log -30 --no-merges --format=%s </command>Match the established style. Use Conventional Commit syntax such as
feat(scope): ... or fix(scope): ... only when it clearly dominates recent
history. Isolated examples and component prefixes such as subdir: ... do not
establish that convention.
infra, config, prod, and dev over
infrastructure, configuration, production, and development.fix, not fixed or fixes.<component>: <imperative summary> and match the casing used in recent
history. Otherwise, capitalize the first word of an unprefixed subject.Use this format unless the subject fully describes one small, self-explanatory change:
<subject>
Changes:
- <change or rationale>
- <change or rationale>
Before returning the message, run scripts/validate_commit_message.py. Resolve
its path relative to this SKILL.md directory and provide the draft through
standard input or in a file:
python3 /path/to/git-commit-message/scripts/validate_commit_message.py \
/path/to/draft-message
Revise and rerun the validator until it exits successfully. Never estimate line lengths manually.
git-commit-message: improve guidance
Changes:
- Match subject formatting to established repository history
- Validate commit message formatting before returning the result
- Avoid Conventional Commit syntax unless the project clearly uses it
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer