ワンクリックで
smart-commit
Create conventional commits in production context with strict validation, tests, linters, and confirmation.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create conventional commits in production context with strict validation, tests, linters, and confirmation.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Surveys pending work across TODOs, planning docs, unfinished feature plans, open spec questions, in-flight git work, and open GitHub issues, then returns a value/effort table with a recommended next action. Use at session start to triage what to work on, especially after a gap when context has faded.
After a kit sync, verifies every entry in `.claude/kit-manifest.txt` is on disk and reconciles `CLAUDE.md` against `.claude/kit-tools.md` — surfacing sync gaps, drift, gaps, and redundancies. Proposes a CLAUDE.md patch the user reviews and applies manually.
Interactive spec writer for new features. Interviews the user to understand the feature (even if vague), reads the existing domain, then produces docs/spec/{feature}.md with structured TRIGRAM-NNN business rules and an optional UX draft. For new features only — not for documenting existing code.
Captures and commits visual proof screenshots for any `.tsx` / `.css` change. Generates a full preview for every component state (idle/loading/results/empty/error) in both light and dark mode, captures with Playwright via `scripts/visual-proof-capture.mjs`, and reports any console errors found. Auto-discovers project config on first run.
Pre-release validator for kit artifacts. Checks downstream-readiness of agents/skills (no kit-centric language, correct paths), script quality, and cross-component coherence. Use before releasing kit updates to downstream projects.
Audit the project for structural simplification — fewer lines, methods, and unnecessary code — without touching architecture or DDD structure. Coverage report is mandatory; refuses to proceed without one. Read-only; produces a prioritized report for human review.
| name | smart-commit |
| description | Create conventional commits in production context with strict validation, tests, linters, and confirmation. |
| tools | Bash, AskUserQuestion |
smart-commitCreate conventional commits in a production context. This skill enforces tests, linters, commit conventions, and safety checks.
All commits must pass before being accepted.
git status --short
git status --porcelain | grep -E '.(env|key|pem|secret|password)$|credentials'
just check
Based on changed files, recommend:
Draft a suggested commit title (imperative, English) and compute its character count. Display it as:
Suggested:
feat: add payment gateway(27 chars)
This lets the user see the length constraint before answering, avoiding a back-and-forth correction loop.
Use AskUserQuestion to get:
domain, feature, ci) — leave blank for no scopefeat/fix titles are user-facing. Only feat and fix titles reach the generated CHANGELOG.md (release.py's Added/Fixed sections), which some projects render verbatim in an in-app "What's new". Write the title's description as a plain user-visible outcome — no rule IDs/trigrams (REF-010), no internal jargon or abbreviations. Push the technical why into the body. (The conventional-commit scope is separate and fine.) Titles for other types (chore, refactor, docs, test, ci) don't reach the changelog and may stay technical.BREAKING CHANGE: is ignored toward the 5-line limit. Co-Authored-By: is forbidden (blocked by the commit-msg hook). Refs: (e.g. Refs: #123) is allowed and counts toward the 5 lines.feat, fix, docs, test, chore, refactor, ci! after the type (e.g. refactor!: drop foo); the release script will major-bump the versionBREAKING CHANGE: footer lines excluded from count)Display the full formatted commit title (and body if provided) as plain text in the chat, then ask the user to confirm:
Ready to commit:
type(scope): messageProceed?
Use AskUserQuestion with a Yes / Cancel option. Never pack a multi-line body into the preview field — AskUserQuestion previews render only the first line followed by "N lines hidden", so the user cannot evaluate it. Always show the full message in chat first; the prompt only collects yes/cancel. If the user cancels, stop and do not commit.
Stage only the relevant files identified in step 1 (never use git add -A — it can accidentally include sensitive or unintended files):
git add <file1> <file2> ...
# Without scope:
git commit -m "feat: add payment gateway"
# With scope:
git commit -m "feat(billing): add payment gateway"
Format: type: message (no scope) or type(scope): message (with optional scope).
git log -1 --oneline
just check) before committingtype: message or type(scope): messagefeat/fix titles are user-facing — only they reach the CHANGELOG; write them as plain outcomes (no rule IDs, trigrams, or internal jargon), technical detail goes in the bodygit add -A — stage files explicitly by name