بنقرة واحدة
commit
Generate Conventional Commits-compliant messages (feat/fix/docs/chore) in Korean and English
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generate Conventional Commits-compliant messages (feat/fix/docs/chore) in Korean and English
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Transform verbose natural language requests into structured bilingual documentation (Korean for review + English for AI prompts)
Review current git changes or latest commit using code-reviewer and architect-reviewer agents
Review comments and suggest cleanup (identify unnecessary comments, recommend improvements)
Identify and safely remove dead code, deprecated code, and unused exports from codebase
Generate business rule documentation from domain knowledge and requirements
Implement UI E2E tests sequentially using Playwright MCP, stop on bug discovery
| name | commit |
| description | Generate Conventional Commits-compliant messages (feat/fix/docs/chore) in Korean and English |
| allowed-tools | Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git branch:*), Read, Grep, Write |
| disable-model-invocation | true |
Generates commit messages following Conventional Commits v1.0.0 specification in both Korean and English. Choose one version for your commit.
<type>[(optional scope)]: <description>
[optional body]
[optional footer: fix #N]
Analyze staged changes and suggest the most appropriate type:
| Type | When to Use | SemVer Impact |
|---|---|---|
| feat | New feature or capability added | MINOR (0.x.0) |
| fix | User-facing bug fix | PATCH (0.0.x) |
| ifix | Internal/infrastructure bug fix (CI, build, deploy) | PATCH (0.0.x) |
| perf | Performance improvements | PATCH |
| docs | Documentation only changes (README, comments, etc.) | PATCH |
| style | Code formatting, missing semicolons (no logic change) | PATCH |
| refactor | Code restructuring without changing behavior | PATCH |
| test | Adding or fixing tests | PATCH |
| chore | Build config, dependencies, tooling updates | PATCH |
| ci | CI/CD configuration changes | PATCH |
BREAKING CHANGE: MUST use both type! format (exclamation mark after type) AND BREAKING CHANGE: footer with migration guide for major version bump.
Example:
feat!: change API response format from JSON to MessagePack
Migrated response format to MessagePack binary for 40% packet size reduction.
BREAKING CHANGE: Client code update required
- Install MessagePack library: npm install msgpack5
- Update response parsing: response.json() → msgpack.decode(response.body)
- Update type definitions: API_RESPONSE_FORMAT constant changed
Analyze git diff output and suggest type based on file patterns:
Changed Files → Suggested Type
src/**/*.{ts,js,tsx,jsx} + new functions/classes → feat
src/**/*.{ts,js,tsx,jsx} + bug fix → fix
README.md, docs/**, *.md → docs
package.json, pnpm-lock.yaml, .github/** → chore
**/*.test.{ts,js}, **/*.spec.{ts,js} → test
.github/workflows/** → ci
If multiple types apply, prioritize: feat > fix > other types.
Key distinction: Does it affect users or only developers/infrastructure?
| Scenario | Type | Reason |
|---|---|---|
| Backend GitHub Actions test workflow not running | ifix | Bug in CI/CD that blocks development |
| OOM error causing deployment failure | ifix | Infrastructure bug blocking release |
| E2E test flakiness causing false negatives | ifix | Testing infrastructure bug |
| Vite build timeout in production build | ifix | Build system bug |
| API returns 500 error for valid requests | fix | Users experience error responses |
| Page loading speed improved from 3s to 0.8s | perf | Users directly feel the improvement |
| App crashes when accessing profile page | fix | Users experience crash |
| Internal database query optimization (no user impact) | refactor | Code improvement, no measurable user benefit |
| Dependency security patch (CVE fix) | chore | Build/tooling update (not a bug fix) |
| Upgrading React version for new features | chore | Dependency update (not a bug fix) |
Decision flowchart:
Is it a bug (something broken)?
├─ NO → Use chore/refactor/docs/etc
└─ YES → Does it affect end users?
├─ YES → fix (user-facing bug)
└─ NO → ifix (infrastructure/developer bug)
Examples:
fix: login button not responding (user problem)ifix: Docker build failing due to missing environment variable (infra bug)ifix: Prisma migration script syntax error (developer tooling bug)fix: null pointer exception in ItemServicefix: app crashes when viewing items (user perspective)Core Principle: Root Cause → Rationale → Implementation
Commit messages document decision history, not just code changes. Every non-trivial commit body MUST answer:
This is historical documentation for future maintainers, NOT a changelog entry.
Title Writing Principle: Prioritize user-facing problems
❌ Change Lists (just narrating the diff):
fix: improve performance
- Added database index
- Implemented caching
- Optimized query
✅ Root Cause + Rationale:
fix: checkout page timing out under load
Sequential API calls to payment/inventory/shipping services caused cascading timeouts when any single service exceeded 3s threshold.
Switched to Promise.all() for parallel execution, reducing total wait time from 9s worst-case to 3s.
Rejected queue-based approach due to real-time inventory accuracy requirements.
❌ Symptom Description Only:
fix: users seeing error on profile page
Profile page crashed with null reference error.
Added null check to prevent crash.
✅ Root Cause Analysis:
fix: users seeing error on profile page
Profile API returns null for avatar_url when S3 object doesn't exist, but frontend assumed non-null contract based on outdated API docs.
Added null coalescing with default avatar rather than fixing API to maintain backwards compatibility with mobile app v1.x still in use.
❌ Implementation Details Without Context:
refactor: migrate to Redux Toolkit
Replaced all Redux boilerplate with Redux Toolkit.
Reduced code by 40%.
✅ Decision Rationale:
refactor: migrate to Redux Toolkit
Manual Redux pattern required 5 files per feature (actions, types, reducer, selectors, middleware) making new feature development take 2+ days just for state scaffolding.
Adopted Redux Toolkit to reduce boilerplate while maintaining Redux DevTools compatibility.
Rejected Zustand/Jotai because existing 200+ components deeply coupled to Redux patterns.
Keep it simple and concise. Use appropriate format based on complexity:
Use ONLY for trivial changes where root cause is obvious:
type: brief description
Example:
docs: fix typo in README
For changes where root cause is straightforward but solution choice matters:
type: problem description
Root cause in one sentence.
Why this solution was chosen (if non-obvious).
Example:
fix: login button not responding with empty fields
Empty form validation Promise never rejected in error path, causing UI to freeze waiting for resolution.
Added explicit error handling to validation chain.
For multiple changes/reasons, use list format:
refactor: backend architect agent role redefinition
- Changed focus from API design to system structure design
- Modified to concentrate on domain modeling, layered architecture, and modularization strategy
type: problem description
Description of the problem that occurred
(Brief reproduction steps if applicable)
Root cause explanation and why this solution approach was chosen
fix #N
Example:
fix: user list page failing to load
User list page showed continuous loading spinner with 1000+ users
(Reproduction: User List > View All click)
user_created_at column lacked index, causing full table scan on 1000+ record sorts with 30+ second query times.
Chose composite index + Redis caching over pagination because 8 existing UI screens depend on full dataset for client-side filtering.
Pagination would require frontend changes across all screens.
fix #32
type: problem description
Problem:
- Specific problem description
- Root cause analysis
Solution:
- Approach taken and why that method was chosen over alternatives
- Trade-offs and constraints that influenced the decision
fix #N
Example:
fix: users being logged out after service updates
Problem:
- All users forced to log out with each new deployment
- In-memory session storage lost on pod restart during rolling updates
- No session persistence mechanism across K8s instances
Solution:
- Chose Redis over sticky sessions because load balancer doesn't support session affinity in current infrastructure
- Added JWT refresh tokens for automatic re-authentication
- Rejected database session storage due to 200ms latency vs 5ms Redis
fix #48
Important formatting rules:
type: clearly express the user-facing problemGood rationale mentions alternatives and trade-offs:
Decision Framework:
Examples:
❌ Weak: "Used Redis for caching"
✅ Strong: "Chose Redis over in-memory cache because multiple API instances need shared cache state"
❌ Weak: "Refactored to use composition"
✅ Strong: "Switched from inheritance to composition because adding features required modifying 7 parent classes"
❌ Weak: "Fixed by adding validation"
✅ Strong: "Added input validation at API layer rather than database constraints to return user-friendly error messages"
Common Trade-off Categories:
The command will provide:
git commitBREAKING CHANGE)fix(api):, feat(ui):)<type>[(scope)]: <user-facing description>fix #N if branch name ends with number/workspaces/ai-config-toolkit/commit_message.mdContext-aware analysis: Balance token cost with message quality:
git log --oneline -5 to check commit style consistency