Write git commit messages following the project's chosen convention (Conventional Commits, Korean variant, Gitmoji, or custom). Reads style from `.claude/android-skills.json` and onboards the project once if the config is missing. Use when the user asks to commit, draft a commit message, fix up a commit, or after staging changes. Triggers include "commit message", "커밋 메시지", "커밋 메세지", "git commit", "커밋해줘", "커밋 작성".
npx claudepluginhub kez-lab/android-custom-skillsThis skill uses the workspace's default tool permissions.
Produces a git commit subject + body that conforms to the project's commit convention. Reads project preferences from a config file so the same skill works for every repo without baking choices into the skill.
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.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Produces a git commit subject + body that conforms to the project's commit convention. Reads project preferences from a config file so the same skill works for every repo without baking choices into the skill.
Source: .claude/android-skills.json at the git repo root (the directory containing .git, not the working directory).
{
"git": {
"commitStyle": "conventional-ko",
"commitPrefixes": ["feat", "fix", "refactor", "chore", "docs", "test", "perf", "build", "ci", "style"],
"subjectMaxLength": 50,
"bodyWrapLength": 72,
"issueTracker": "github",
"scopeRequired": false,
"language": "ko"
}
}
Field meanings:
| Field | Values | Notes |
|---|---|---|
commitStyle | conventional, conventional-ko, gitmoji, custom | Determines the subject format. |
commitPrefixes | string[] | Allowed type prefixes. Override per project. |
subjectMaxLength | int | Default 50. Hard limit, not a suggestion. |
bodyWrapLength | int | Default 72. Wrap body lines at this column. |
issueTracker | none, github, linear, jira | Affects the footer (Closes #123, Fixes ENG-45, …). |
scopeRequired | bool | If true, refuse to write a message without a scope. |
language | ko, en | Body language. Subject prefix follows commitStyle. |
If .claude/android-skills.json is missing or has no git.commitStyle:
conventional / conventional-ko / gitmoji / custom?"none / github / linear / jira"ko 또는 en?"subjectMaxLength: 50, bodyWrapLength: 72, scopeRequired: false, prefix list based on style)..claude/android-skills.json at the repo root, merging with any existing config rather than overwriting. Create the file if needed.Do not re-ask on subsequent runs.
conventional<type>(<scope>): <subject>
<body>
<footer>
type ∈ commitPrefixes.scope is optional unless scopeRequired: true.add, not added/adds), no trailing period, lowercase first letter after the prefix.Closes #123 / Fixes ENG-45 based on issueTracker.Example:
feat(auth): add biometric login fallback
The fingerprint sensor on Pixel 8 occasionally returns
TIMEOUT instead of FAIL, leaving the user stuck on the
auth screen. Fall back to PIN entry after 3 timeouts.
Closes #412
conventional-koSame structure as conventional, but the body is Korean. The subject prefix stays in English (feat, fix, …) because tooling parses it.
Example:
fix(network): Retrofit 401 응답 시 토큰 자동 갱신
interceptor가 만료된 토큰으로 한 번 더 시도해서 두 번
실패 처리되던 문제. authenticator로 옮겨 한 번만 갱신
시도 후 실패하도록 수정.
Closes #128
gitmoji<emoji> <type>: <subject>
| Type | Emoji |
|---|---|
| feat | ✨ |
| fix | 🐛 |
| refactor | ♻️ |
| docs | 📝 |
| test | ✅ |
| perf | ⚡️ |
| chore | 🔧 |
| build | 📦 |
| ci | 👷 |
| style | 💄 |
Example:
✨ feat: add dynamic color support for Android 12+
Pulls system color palette via DynamicColors.applyToActivitiesIfAvailable
on app start. Falls back to brand seed color on < S.
customUse the commitPrefixes list as-is and follow the user's stated format. If the user has specific examples in .claude/commit-examples.md, read and mimic them.
Closes #N if the user mentioned it, the branch name encodes it (e.g., feature/123-…), or you can find it in git log for a related commit. If unsure, omit.git commit autonomously. Draft the message and let the user run the command. Exception: if the user explicitly says "commit it" — then stage if needed and commit.--no-verify unless the user explicitly says so.subjectMaxLength, the change is too large — suggest splitting commits before drafting.git diff --cached (or git diff if nothing staged) before writing. Don't write a message based on the user's verbal description alone — they may have missed something.git diff --cached spans unrelated areas, point this out and offer to draft 2+ messages with git reset HEAD <path> instructions.git rev-parse --show-toplevel to find the repo root.<root>/.claude/android-skills.json. If absent or missing git.commitStyle, run onboarding.git status --short and git diff --cached (fall back to git diff if staging area is empty).commitPrefixes based on the diff:
featfixrefactortestchore / build / cidocsbodyWrapLength.git commit.feat: Added new feature. — past tense + periodCo-Authored-By: Claude without being askedgit commit -am to bypass the staging review