From claudster
Create well-structured conventional commit messages following Conventional Commits standard. Use when committing changes, preparing PRs, or generating changelogs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claudster:git-commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create meaningful, conventional commit messages that follow team standards.
Create meaningful, conventional commit messages that follow team standards.
Activate when:
<type>(<scope>): <subject>
[optional body]
[optional footer]
| Type | Description | Example |
|---|---|---|
feat | New feature | feat(complaints): add priority filtering |
fix | Bug fix | fix(auth): resolve session timeout issue |
docs | Documentation | docs: update API documentation |
style | Formatting (no code change) | style: fix indentation in models |
refactor | Code restructuring | refactor(db): extract query builder |
perf | Performance improvement | perf: add caching to dashboard |
test | Adding/fixing tests | test: add complaint service tests |
chore | Maintenance | chore: update dependencies |
ci | CI/CD changes | ci: add pytest to GitHub Actions |
build | Build system/dependencies | build: update webpack to v5 |
revert | Revert a previous commit | revert: revert feat(api) endpoint |
Optional area of change:
api - Backend API changesui - Frontend/Streamlit changesdb - Database changesauth - Authenticationcomplaints - Complaints featureanalytics - Analytics featureRun a pre-commit quality gate (blocking)
# Python repos
ruff check .
# TypeScript/React repos
npm run lint
# If both stacks exist, run both.
If lint fails, do not proceed to commit generation until fixed.
Review staged changes
# If files are staged, use staged diff
git diff --staged --stat
git diff --staged
# If nothing staged, check working tree
git diff
git status --porcelain
Stage files if needed
# Stage specific files
git add path/to/file1 path/to/file2
# Stage by pattern
git add *.test.*
git add src/components/*
Never stage secrets (.env, credentials.json, private keys).
Categorize the changes
Identify the commit type
featfixrefactortestdocs# ✅ Good
feat(complaints): add priority filter to dashboard
fix(api): handle null customer_id in query
refactor(db): extract database adapter class
# ⌠Bad
feat(complaints): Added priority filter to dashboard. # Past tense, period
FEAT: ADD PRIORITY FILTER # Uppercase, no scope
fix: various bug fixes # Too vague
Include body when:
feat(api): add complaint analytics endpoint
Add new endpoint for retrieving complaint statistics
including resolution times, category distribution, and
trend analysis.
This endpoint powers the new analytics dashboard.
# Breaking change
feat(api)!: change complaint response format
BREAKING CHANGE: complaint.created_at now returns ISO format
# Issue reference
fix(ui): resolve dashboard loading error
Fixes #123
Based on the changes, generate:
## Suggested Commit Message
():
```
---
## Examples
### Simple Feature
**Changes**: Added a new filter dropdown to the complaints dashboard
feat(ui): add status filter to complaints dashboard
### Bug Fix with Context
**Changes**: Fixed issue where queries with special characters caused errors
fix(db): escape special characters in search queries
The search function was failing when users entered characters like quotes or semicolons. Added proper escaping using parameterized queries.
Fixes #42
### Refactoring
**Changes**: Moved database logic from routes to repository classes
refactor(api): extract database operations to repository layer
Move direct database calls from route handlers to dedicated repository classes. This improves testability and follows the separation of concerns principle.
### Multiple Files, Single Purpose
**Changes**: Updated multiple files to add logging
feat: add structured logging throughout application
### Breaking Change
**Changes**: Changed API response format
feat(api)!: standardize API response envelope
BREAKING CHANGE: All API responses now wrapped in { "data": ..., "meta": { "timestamp": ... } } format.
Clients need to update response parsing logic.
---
## Quick Reference
When in doubt, ask yourself:
1. **What type of change is this?** → Choose type
2. **What area does it affect?** → Choose scope
3. **What does it do?** (in imperative) → Write subject
4. **Why was this done?** → Write body if needed
5. **Does it break anything?** → Add BREAKING CHANGE if yes
---
## Git Safety Protocol
- NEVER update git config
- NEVER run destructive commands (`--force`, hard reset) without explicit user request
- NEVER skip hooks (`--no-verify`) unless user asks
- NEVER force push to main/master
- ALWAYS verify lint gate status before creating a commit message
- If a commit fails due to pre-commit hooks, fix the issue and create a NEW commit (don't amend the failed one)
- One logical change per commit
- Reference issues in footers: `Closes #123`, `Refs #456`
---
## Commit Message Checklist
- [ ] Type is appropriate for the change
- [ ] Scope identifies the affected area
- [ ] Subject uses imperative mood
- [ ] Subject is under 50 characters
- [ ] Body explains "why" if not obvious
- [ ] Breaking changes are marked with `!` and footer
- [ ] Related issues are referenced
- [ ] No secrets or credentials in staged files
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub saajunaid/junai --plugin claudster