ワンクリックで
commit
Smart Git commit helper that analyzes changes and creates semantic commits
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Smart Git commit helper that analyzes changes and creates semantic commits
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Configure IM platform channels (Feishu, WeCom, Weixin, Discord, Telegram, DingTalk) for openclacky. Uses browser automation for navigation; guides the user to paste credentials and perform UI steps. Trigger on: "channel setup", "setup feishu", "setup wecom", "setup weixin", "setup wechat", "setup discord", "setup telegram", "setup dingtalk", "channel config", "channel status", "channel enable", "channel disable", "channel reconfigure", "channel doctor", "send message to weixin", "send message to feishu", "send message to wecom", "send message to discord", "send message to telegram", "send message to dingtalk". Subcommands: setup, status, enable <platform>, disable <platform>, reconfigure, doctor, send.
Debug an OpenClacky extension that won't load, throws errors, or whose panel/api/skill/agent isn't showing up. Use when the user reports something broken with their extension, when `clacky ext verify` reports issues, or when a change didn't take effect. Reads structured verify errors and fixes manifest and file problems.
Pack and publish an OpenClacky extension to the marketplace, publish a new version, list published extensions, or unpublish one. Use when the user wants to ship, release, publish, update, or take down an extension. Handles packing, the license requirement, versioning, and the already-published case.
Scaffold a new OpenClacky extension from an idea. Use when the user wants to create, start, or bootstrap a new extension, plugin, panel, agent, or skill container. Maps the idea to the right contributes types and generates a working skeleton in the local layer.
Summarize a completed meeting from its transcript. Produces a structured summary with key decisions, action items, and discussion highlights. Triggered automatically when a meeting ends.
Customize, fix, override or extend openclacky itself — change a built-in tool's behavior, intercept/audit/block tool calls, plug in a new IM channel (Slack, in-house IM…), or add UI to the Web UI (panel, button, settings tab). Trigger on "patch openclacky", "block dangerous commands", "audit tool use", "add Slack channel", "extend the web ui", "改 openclacky 内置", "拦截工具调用", "扩展 web 界面". Do NOT trigger for ordinary feature work in the user's own project that doesn't touch openclacky.
This skill helps users create well-structured, semantic git commits by analyzing changes and suggesting appropriate commit messages.
ALL commit messages created by this skill MUST be single-line only.
git commit -m "feat: add user authentication"-m flags\n or additional paragraphsKeep commits concise and focused. If more detail is needed, suggest adding it separately in PR descriptions or documentation.
This skill automates the process of reviewing git changes and creating meaningful, conventional commits following the semantic commit format (feat/fix/chore/test).
THINK IN PURPOSES, NOT FILES
This skill prioritizes understanding the OVERALL GOAL of changes before deciding how to commit them. The default approach is to:
DO NOT commit file-by-file. DO NOT separate tests from implementation. DO NOT fragment features across multiple commits.
Instead, ask: "What story do these changes tell?" and commit accordingly.
To use this skill, simply say:
/commitFirst, check the current git status to understand:
git status
git diff --stat
CRITICAL: Before diving into file-by-file analysis, step back and ask:
Think strategically, not tactically:
Review ALL changes together first:
# Get overview of all changes
git diff --stat
git diff
Look for patterns:
Now examine each file to understand specifics:
git diff <file>
CRITICAL PRINCIPLE: Prefer fewer, meaningful commits over many small commits
Grouping Strategy:
Same Feature/Purpose = One Commit
Ask: "Would I explain these separately in a code review?"
Look for these grouping opportunities:
Only split when:
Examples of Good Grouping:
GOOD - Merged into ONE commit:
Commit: feat: add user authentication
- lib/auth/authenticator.rb (new authentication logic)
- lib/user.rb (user model updates)
- lib/session.rb (session management)
- spec/auth/authenticator_spec.rb (tests)
- spec/user_spec.rb (updated tests)
- config/routes.rb (auth routes)
GOOD - Different purposes, TWO commits:
Commit 1: feat: add user authentication
- lib/auth/authenticator.rb
- spec/auth/authenticator_spec.rb
Commit 2: fix: resolve database timeout issue
- lib/database/connection.rb
- spec/database/connection_spec.rb
BAD - Over-splitting, should be ONE commit:
Commit 1: feat: add authentication logic
- lib/auth/authenticator.rb
Commit 2: feat: update user model for authentication
- lib/user.rb
Commit 3: test: add authentication tests
- spec/auth/authenticator_spec.rb
Commit 4: chore: add authentication routes
- config/routes.rb
Decision Tree:
Are changes related to the same goal/feature/purpose?
|-- YES -> Combine into ONE commit
| +-- Even if they touch different files/modules
+-- NO -> Keep as separate commits
+-- Ask: Are they different semantic types (feat/fix/chore)?
|-- YES -> Definitely separate
+-- NO -> Consider if they could still be combined
Based on the holistic analysis, generate commit messages following the conventional commit format:
Format: <type>: <description>
Types:
feat: New features or functionalityfix: Bug fixeschore: Routine tasks, maintenance, dependenciestest: Adding or modifying tests (only if standalone)docs: Documentation changes (only if standalone)refactor: Code refactoring without changing functionalitystyle: Code style changes (formatting, whitespace)perf: Performance improvementsCRITICAL GUIDELINES:
Examples:
feat: add user authentication (not "add authenticator.rb, user.rb, session.rb")fix: resolve login timeout issues (not "fix auth.rb timeout")chore: update dependencies (not separate commits for each gem)refactor: simplify database connection logic (not one commit per file)docs: update API documentation (only if pure documentation change)No confirmation needed — analyze, group, and commit right away.
For each commit group:
# Stage specific files
git add <file1> <file2> ...
# Create commit with SINGLE-LINE message only
git commit -m "<type>: <description>"
IMPORTANT:
git commit -m "single line message" format-m flag multiple timesAfter all commits, show:
# Check status
git status
git status --short
# View changes
git diff
git diff --stat
git diff <file>
# Stage files
git add <file>
# Create commit (SINGLE-LINE only)
git commit -m "type: single line description"
# NEVER use multi-line format like:
# git commit -m "title" -m "body" -- DON'T DO THIS
# git commit -m "title\n\nbody" -- DON'T DO THIS
# View commit history
git log --oneline -n 5
BAD Example (Over-splitting):
User: /commit
AI (WRONG APPROACH):
Found 5 modified files
Proposed commits:
Commit 1: feat: add user model
- lib/user.rb
Commit 2: test: add user tests
- spec/user_spec.rb
Commit 3: fix: fix auth validation
- lib/auth.rb
Commit 4: test: add auth tests
- spec/auth_spec.rb
Commit 5: chore: update dependencies
- Gemfile
Problem: Too fragmented! Tests separated from code.
GOOD Example (Holistic grouping):
User: /commit
AI (CORRECT APPROACH):
1. Analyzing all changes...
Found 5 modified files
2. Identifying overall purpose...
Main goal: Implementing user registration feature
Secondary: Fixing existing auth bug
Maintenance: Dependency updates
3. Holistic analysis:
- lib/user.rb: New user registration feature
- spec/user_spec.rb: Tests for user registration (same feature)
- lib/auth.rb: Fix password validation bug (separate concern)
- spec/auth_spec.rb: Tests for auth fix (same bug fix)
- Gemfile: Updated dependencies (separate maintenance)
4. Proposed commits (grouped by purpose):
Commit 1: feat: add user registration
- lib/user.rb (implementation)
- spec/user_spec.rb (tests)
Reason: Feature and its tests belong together
Commit 2: fix: correct password validation logic
- lib/auth.rb (bug fix)
- spec/auth_spec.rb (tests)
Reason: Fix and its tests belong together
Commit 3: chore: update gem dependencies
- Gemfile
Reason: Unrelated maintenance task
Total: 3 meaningful commits instead of 5 fragmented ones
AI (executes immediately, no confirmation):
Commit 1 created (a1b2c3d): feat: add user registration
Commit 2 created (e4f5g6h): fix: correct password validation logic
Commit 3 created (i7j8k9l): chore: update gem dependencies
Summary: 3 commits created successfully!
Next steps: Review with 'git log' or push with 'git push'
GOLDEN RULE: One logical PURPOSE per commit, not one FILE per commit
For each set of changes, ask:
1. "What was I trying to accomplish?" (identify the purpose)
2. "Do these files work together toward that purpose?" (YES -> combine)
3. "Would splitting these make the history harder to understand?" (YES -> combine)
4. "Could these changes be deployed independently?" (NO -> combine)
This skill works best:
git reset first)