원클릭으로
ai-commit
Auto-gather git changes, confirm scope with the user, and draft a commit title and message following the project commit style guide.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Auto-gather git changes, confirm scope with the user, and draft a commit title and message following the project commit style guide.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Polish one or more Markdown files so they follow the repository English style guides in docs/ (general-style-guide-english.md, technical-style-guide-english.md, markdown-style-guide.md, and glossary.yaml) and the repo core writing rules - straight quotes (not curly), no contractions, the Oxford comma, sentence case headings, plain hyphens (never en-dash or em-dash), consistent capitalization and punctuation, simple non-idiomatic wording, and no sentence split across a line break. After applying these fixes, also runs the link-polisher skill on the same files to format raw URLs. Use when a user asks to polish, clean up, style-check, or enforce writing rules on a Markdown file, or before committing prose changes to docs.
Review Japanese wording to ensure it reads naturally (like native Japanese, not translationese) and follows the repository Japanese style guides in docs/ (general-style-guide-japanese.md, technical-style-guide-japanese.md, glossary.yaml, and words-to-avoid.txt). If `--report-only` is passed, report only; if `--fix` is passed, apply edits automatically. Goal is to produce natural, clear, and correct Japanese prose that follows the repository style guides.
Lint repository file and folder names for format compliance. Use when users ask to check naming conventions, enforce file extensions, or validate notes naming patterns; applies a fixed set of rules from the skill and reports any discovered repository style guides for reviewer reference.
Fetch all comments on a GitHub pull request (reviews, inline review comments, and general issue comments) and emit a single consolidated Markdown report. Use when a user wants to read, summarize, audit, or triage every comment on a PR in one place. Accepts a PR number, a `owner/repo#n` reference, or a github.com pull-request URL.
Rewrite raw, unformatted URLs in Markdown files as Markdown links with a sensible human-readable label fetched from the source (Figma file name, GitHub issue or pull request title, etc.). A raw URL is any link that is not already wrapped in Markdown link syntax `[text](url)` with a meaningful label - this includes bare URLs, angle-bracketed autolinks (`<https://...>`), and links whose visible text is the URL itself or a generic placeholder like `Figma` or `github.com`. Use when a user adds or pastes a raw URL, asks to polish or format links, or when you notice an existing bare link in a Markdown file you are editing or reviewing. Currently supported link types: Figma (`figma.com`), and GitHub issues and pull requests (`github.com/<owner>/<repo>/issues/<n>` or `/pull/<n>`). Other URLs are kept as-is unless the user explicitly asks to polish them.
Audit the repository for missing or outdated folder `README.md` files. Use after adding new folders, moving files between folders, renaming files, or whenever folder contents change in a way that may make existing READMEs inaccurate.
| name | ai-commit |
| description | Auto-gather git changes, confirm scope with the user, and draft a commit title and message following the project commit style guide. |
Review git changes, confirm scope with the user, and draft a commit message following the selected commit style guide. This skill supports normal commits, --head message-only amend mode, --commit <hash> message-only reword mode for a specific commit, and --auto no-question drafting.
repo-commit-style-guide.md exists anywhere in the repository, use it.skills/ai-commit/default-commit-style-guide.md.git rev-parse --show-toplevel). Search the repository for a file named repo-commit-style-guide.md (for example, with git ls-files ':(glob)**/repo-commit-style-guide.md' from the repo root, or find <repo-root> -name repo-commit-style-guide.md -not -path '*/node_modules/*'). If exactly one match is found, use it as the source of truth. If multiple matches are found, prefer one at the repo root, then one under docs/, then ask the user which to use. If no match is found, use skills/ai-commit/default-commit-style-guide.md.git status, git diff, and git diff --staged automatically. Do not ask the user to paste anything.pnpm lint before drafting the commit message. If the linter reports errors, show the output to the user and fix the issues before proceeding. Do not draft a commit message until the linter passes cleanly.git commit with the approved message. If the user requests changes, revise the message and confirm again before committing.--head workflow flagWhen --head is used, the workflow focuses on amending the current HEAD commit message without staging any changes or including any unstaged/staged diffs. The steps are:
git log -1 and git show --name-status --patch HEAD to inspect only the current HEAD commit.HEAD only. Ask for optional context/notes for improving the existing commit message. Do not ask for file scope in this mode.pnpm lint for --head because no file content is being committed.HEAD diff content plus user notes.--head mode always amends exactly one commit (HEAD); do not recommend split commits.HEAD diff or notes are too ambiguous, ask clarifying questions with 2-3 suggested answers.git commit --amend --only with the approved message. Never stage files and never include working-tree or staged changes in HEAD.--commit <hash> workflow flagWhen --commit <hash> is used, the workflow focuses on rewording the message of a specific past commit identified by <hash> without staging any changes or including any unstaged/staged diffs. The steps are:
Resolve style guide source. Detect the repository root and resolve the style guide source the same way as in the default workflow.
Validate the target commit.
git rev-parse --verify <hash>^{commit} to confirm the commit exists.git merge-base --is-ancestor <hash> HEAD to confirm the commit is reachable from HEAD on the current branch.git rev-list --merges <hash>^..<hash> (or check git cat-file -p <hash> parents) to detect merge commits; if <hash> is a merge commit, stop and warn the user instead of rewording.git status --porcelain is empty). If not, stop and ask the user to commit or stash first - a rebase requires a clean tree.git branch -r --contains <hash> returns any remote branch). Rewording rewrites history and requires a force-push to update the remote.<hash> resolves to HEAD, fall back to the --head workflow.Gather commit-only inputs. Run git log -1 <hash> and git show --name-status --patch <hash> to inspect only the target commit. Do not run git status, git diff, or git diff --staged.
Present findings and accept notes. Show the files and summary from <hash> only. Ask for optional context/notes for improving the existing commit message. Do not ask for file scope in this mode.
Skip linter in this mode. Do not run pnpm lint for --commit because no file content is being committed.
Draft reworded commit message. Base the title/body only on <hash> diff content plus user notes.
Single commit only. --commit mode always rewords exactly one commit; do not recommend split commits.
Handle ambiguity. If the commit diff or notes are too ambiguous, ask clarifying questions with 2-3 suggested answers.
Confirm and reword only the message. After approval, perform a non-interactive reword of the target commit only, leaving its tree contents unchanged. For example, with HASH set to the target commit and MSG_FILE set to a file containing the approved message:
GIT_SEQUENCE_EDITOR="sed -i.bak '1s/^pick/reword/'" \
GIT_EDITOR="cp $MSG_FILE" \
git rebase -i "$HASH^"
Adjust sed syntax for the host platform; on macOS BSD sed, the -i.bak form shown above works. If the target commit has no parent (root commit), use git rebase -i --root instead and reword the first entry. Never stage files, never include working-tree or staged changes, and do not modify any other commit's message.
Handle rebase conflicts. If the rebase encounters conflicts (unlikely for a pure reword but possible if later commits depend on the rewritten commit's hash chain), abort with git rebase --abort and report the failure to the user instead of attempting to resolve.
--auto workflow flagWhen --auto is used, the workflow drafts a commit message without asking any intermediate questions. The user can optionally combine --auto with --head to amend the HEAD commit message, or with --commit <hash> to reword a specific past commit's message. The steps are:
--auto is used without --head or --commit, treat all current working-tree changes as in-scope.--auto is used with --head, use only HEAD commit data as in-scope.--auto is used with --commit <hash>, use only the target commit's data as in-scope. Still run the safety validations from the --commit <hash> workflow (commit exists and is reachable, not a merge commit, clean working tree); if any check fails, stop and report the failure instead of rewording.git add -A, then create the commit(s) with the drafted message(s). For multiple commits, only proceed after a yes confirmation.--head mode). Run git commit --amend --only with the drafted message. --head is always a single commit, so no confirmation is needed.--commit <hash> mode). Reword only the target commit using the rebase approach described in the --commit <hash> workflow. Always a single commit, so no confirmation is needed.yes (multiple commits only). Do not run git write commands; stop and wait for new instructions.Wrap the entire output in a single fenced code block with the markdown language tag so the user can copy it easily.
Title: <emoji> <commit title>
Message:
- <main change>
- <supporting change or rationale, if supported>
- <testing details, if supported>
- <risk, migration, or compatibility note, if supported>
Split recommendation:
1. Title: <emoji> <commit title>
Message:
- <main change>
- <supporting change or rationale, if supported>
2. Title: <emoji> <commit title>
Message:
- <main change>
- <supporting change or rationale, if supported>
Clarifying questions:
1. <question>
- Option A: <answer>
- Option B: <answer>
- Option C: <answer>
--head mode, ignore git status, git diff, and git diff --staged; use only HEAD commit data.--head mode, do not run git add, do not stage/unstage files, and do not include any additional files in the amend.--commit <hash> mode, ignore git status, git diff, and git diff --staged; use only the target commit's data.--commit <hash> mode, do not run git add, do not stage/unstage files, do not modify any other commit's message, and do not change any commit's tree contents.--commit <hash> mode, require a clean working tree and index before running the rebase. If the working tree is dirty, stop and ask the user to commit or stash first.--commit <hash> mode, if <hash> resolves to the same commit as HEAD, fall back to the --head workflow rather than running a rebase.--auto mode, ask no intermediate questions. Skip the final confirmation when drafting a single commit; ask exactly one yes/no confirmation only when drafting multiple commits (split recommendation).--auto mode without --head, run git add -A before committing.--auto --head mode, do not include additional files and do not stage files. Always a single commit, so no confirmation is asked.