ワンクリックで
commit
Create git commits with intelligent file grouping. Use when committing changes or drafting a commit message.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create git commits with intelligent file grouping. Use when committing changes or drafting a commit message.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Write an implementation plan to docs/plans/. ALWAYS use this skill — never hand-roll a plan by mimicking files in docs/. Use when the user wants to create a project/implementation plan, when a plan discussed in chat should be persisted, or says /project-plan. Guarantees a spec exists, invoking to-spec if absent. Decomposes into vertical slices with Blocked-by edges, points to the spec for acceptance criteria, and extracts ADRs via to-adr.
Parse test failure output and diagnose root causes in a read-only background subagent, then fix the failures interactively in the main thread. Use when the user shares test output or says "tests fail". Default output path is /tmp/output.
Surface systemic patterns from an investigation as codified conventions or anti-patterns.
Architect a change from idea to actionable artifacts — bootstrap project instructions, research deeply, write a spec, then an implementation plan, each delegated to its skill. Use when the user wants to research a topic, explore a repo, write a spec, create a project plan, or says /architect.
Research a topic or repository deeply and produce a reference document under `docs/research/`. Handles two modes: code research (repo by URL, `org/repo`, or bare name — e.g. "check the spotless repo", "look at github.com/fastly/spotless") and topic research (concepts, technologies, patterns). Use when the user wants to research something, explore a repo, or says /research.
Elicit the user's intent before starting work. Use when a request is vague, when kicking off a new task, when another skill hits a vague request and needs to clarify it, or when the user says "help me with this", "I need something", "let's work on...", "draft a task", or /task.
| name | commit |
| description | Create git commits with intelligent file grouping. Use when committing changes or drafting a commit message. |
| allowed-tools | Bash(git add:*), Bash(git diff:*), Bash(git commit:*) |
If the fields below show commands rather than output, run each one first.
git status 2>/dev/null || echo "(not a git repo)"git diff --cached 2>/dev/null || echo "(not a git repo)"git diff 2>/dev/null || echo "(not a git repo)"git log -5 --oneline 2>/dev/null || echo "(not a git repo)"git branch --show-current 2>/dev/null || echo "(not a git repo)"git diff --stat HEAD 2>/dev/null || git diff --stat --cached 2>/dev/null || echo "(not a git repo)"Review context above:
.env, .env.*, *.env, *secret*, *credential*, *.key).git status --porcelain), use
git add -N <file> then git diff to scan their contents for the
same secrets.Assess staging state:
Analyze files for grouping:
Decide on commits:
All files single purpose → one commit, no prompt
Files split into obvious groups → sequential commits, no prompt
Grouping ambiguous → prompt with 2-3 options
If grouping is ambiguous, present numbered options and wait for the user's response:
If splitting into multiple commits, order them so dependencies come first. Type definitions before consumers. Shared utilities before features that import them. If ordering is unclear, ask.
For each commit group:
If splitting into multiple commits, unstage everything first:
git reset --quiet (skip this if committing only what the user
already staged).
Stage specific files: git add <file1> <file2> (never -A or .).
Verify staged: git diff --cached --name-only.
Write the commit message to a uniquely-named temp file with your
file-writing tool (NOT a shell heredoc), then commit from that file.
Use a random suffix so concurrent runs never collide, e.g.
/tmp/commit-msg-<random>.txt where <random> is a short random
string:
git commit -F /tmp/commit-msg-a1b2c3.txt
Do NOT pipe the message via a heredoc (git commit -F - <<'EOF').
git commit -F - reads stdin until the closing delimiter appears
alone at column 0; if the shell receives it indented, with trailing
whitespace, or without a final newline, git never sees the terminator
and blocks on stdin forever — the call then hangs until it times out
with no error. Writing a real file sidesteps stdin, heredocs, and
shell escaping entirely.
If any git commit call hasn't returned within a few seconds, assume
it is blocked reading stdin. Do not wait for the timeout — the message
never reached git. Re-run using the temp-file form above.
If pre-commit hook modifies files: review the changes. Only amend if they're mechanical (formatting, linting). If substantive or unclear, ask before amending.
Update project plan: If you have been working against a project
plan (a plan file, task list, or checklist in the conversation or
filesystem), mark the corresponding task done. Match the plan's
existing format: [x] for Markdown checklists, ✅ for emoji markers, or
whatever convention the document uses.
Skip these from commits unless the user explicitly asks to include them:
.claude/, .cursorrules, .cursorignore,
.github/copilot-instructions.md, .windsurfrules, .clinerules,
.gemini/, .codex/, .omp/, .pi/
Plan documents (docs/plans/*.md) need special handling:
[x] checkboxes): commit freely — it's a new plan
being checked in.Status field (e.g.
Planning → Complete), then move it to docs/plans/completed/ and
commit. Create the directory if it doesn't exist. If unsure whether the
plan qualifies as complete, ask.Clear single purpose (no prompt):
Obvious split (no prompt, sequential commits):
Ambiguous (prompt):
../shared/CONCISE-PROSE.md.~/.gitcommit exists, read it for the user's preferred
commit-message conventions (type prefixes, scopes, subject style,
examples) and follow them.