ワンクリックで
commit-messages
Write clear Conventional Commits. Imperative subject, explain why not what, one logical change per commit.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Write clear Conventional Commits. Imperative subject, explain why not what, one logical change per commit.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Karpathy-inspired guidelines: Think before coding, Simplicity first, Surgical changes, Goal-driven execution
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Write an actionable markdown plan before implementation. Bite-sized tasks, exact paths, complete code.
Optimize based on measurement, never guesswork. Profile first, fix the real bottleneck, verify the win.
Refactor code without changing behavior. Small steps, green tests after every change, no mixing with feature work.
Review PRs on GitHub: read diffs, leave inline comments, approve or request changes.
| name | commit-messages |
| description | Write clear Conventional Commits. Imperative subject, explain why not what, one logical change per commit. |
Write commits that a reviewer (and future you) can understand without reading the diff.
<type>(<optional scope>): <imperative subject, <=50 chars>
<body: wrap at ~72 cols. Explain WHY, not WHAT. The diff shows what.>
<optional footer: BREAKING CHANGE:, Refs #123, Co-authored-by:>
feat — a new user-facing capabilityfix — a bug fixrefactor — structure change, no behavior changeperf — performance improvementtest — add or fix tests onlydocs — documentation onlybuild / ci — build system or pipelinechore — tooling, deps, housekeepingRefs #42, Closes #42).BREAKING CHANGE: footer.bash to check git diff --staged — does every hunk belong to this message?git restore --staged <file>) and commit separately.Bad:
update stuff
Good:
fix(parser): handle empty tool-call arguments
DeepSeek streams an empty string for tool calls with no args,
which broke JSON decoding and dropped the call. Treat empty
args as an empty object instead of skipping the call.
Refs #128