47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
---
|
|
name: commit-policy
|
|
description: Apply this skill for any git commit task in this repository. It enforces commit message format and validation flow defined in AGENTS.md and work/scripts/check-commit-message-rules.sh, including pre-commit and post-commit verification.
|
|
---
|
|
|
|
# Commit Policy Skill
|
|
|
|
Use this workflow whenever the task includes creating a commit.
|
|
|
|
## Required References
|
|
|
|
- `@AGENTS.md`
|
|
- `@work/scripts/check-commit-message-rules.sh`
|
|
|
|
## Hard Requirements
|
|
|
|
1. Use commit subject format: `<type>(scope): <description>`.
|
|
2. `type` must be lowercase (for example `feat`, `fix`, `chore`, `docs`, `refactor`, `test`).
|
|
3. `description` must include Korean text and stay concise in imperative present tone.
|
|
4. Optional footer must use `Refs: #123` or `Refs: #123, #456` format.
|
|
5. Never commit secret files (`.env`, key/token/secret credential files).
|
|
6. Never bypass hooks with `--no-verify`.
|
|
|
|
## Execution Flow
|
|
|
|
1. Inspect context with:
|
|
- `git status`
|
|
- `git diff --cached`
|
|
- `git diff`
|
|
- `git log -5 --oneline`
|
|
2. Stage commit target files only. Exclude suspicious secret-bearing files.
|
|
3. Draft commit message from the change intent (focus on why, not only what).
|
|
4. Run pre-commit validation with the full draft message:
|
|
- `./work/scripts/check-commit-message-rules.sh --message "<full message>"`
|
|
5. If validation fails, revise message and re-run until PASS.
|
|
6. Commit using the validated message.
|
|
7. Run post-commit validation:
|
|
- `./work/scripts/check-commit-message-rules.sh`
|
|
8. Report executed commands and PASS/FAIL summary.
|
|
|
|
## Output Checklist
|
|
|
|
- Final commit subject.
|
|
- Whether pre-check passed.
|
|
- Whether post-check passed.
|
|
- Any excluded files and reason.
|