ワンクリックで
git-commit
Create well-structured conventional commit messages following Conventional Commits standard. Use when committing changes, preparing PRs, or generating changelogs.
メニュー
Create well-structured conventional commit messages following Conventional Commits standard. Use when committing changes, preparing PRs, or generating changelogs.
Use when you have a spec or requirements for a multi-step task, before touching code
USE THIS SKILL whenever a user asks for a comprehensive implementation plan, a full-stack build plan, a UI+backend plan, or says 'create a plan for building X' where X spans multiple phases or systems. Also activate when the user says 'plan this project', 'I need a detailed plan', 'build plan', 'implementation plan', or attaches a mockup/wireframe and asks how to build it. Produces a zero-ambiguity, evidence-gated plan with self-contained per-phase prompts, exhaustive data binding tables, per-phase validation checklists, and a global quality gate. Evidence-gated: before writing phases, verify required artefacts (mockup, data sample, API contract, scaffold inventory); if any BLOCKER is missing, ask for it and wait before proceeding. Dual-mode: generic by default, junai-pipeline only when explicitly requested. Agent-agnostic - any agent with read/search/edit tools can use this skill.
Systematic code change verification — lint, test, type-check, review
Structure freetext ideas, backlog items, or vague requirements into a formal Intent Document that preserves user intent across the entire agent pipeline chain.
Writing effective code documentation - API docs, README files, inline comments, and technical guides. Use for documenting codebases, APIs, or writing developer guides.
Technical documentation best practices for READMEs, API docs, architecture docs, runbooks, and developer guides. Use when writing or reviewing documentation, creating onboarding guides, or establishing documentation standards.
| name | git-commit |
| description | Create well-structured conventional commit messages following Conventional Commits standard. Use when committing changes, preparing PRs, or generating changelogs. |
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