Planner Commit Skill
This skill handles git commits after successful plan execution, respecting the configured commit message standard.
Context You Receive
When called, you receive:
plan_name: The name of the executed plan (e.g., "auth-01-setup.md")summary: Brief description of what was accomplishedfiles_modified: List of files that were changedauto_commit_standard: Either"conventional_commits"or"no_standard"
Commit Logic
If auto_commit_standard is "conventional_commits"
Follow the Conventional Commits specification (v1.0.0):
Format: <type>(<scope>): <description>
Determine the commit type by analyzing the changes:
| Type | When to Use |
|---|---|
feat | New feature or functionality |
fix | Bug fix |
refactor | Code restructuring without behavior change |
docs | Documentation only changes |
test | Adding or updating tests |
chore | Maintenance, dependencies, tooling, config |
style | Formatting, whitespace, missing semicolons (no logic change) |
perf | Performance improvements |
Determine the scope from the plan name:
- Extract a meaningful scope from the plan filename
- Example:
auth-01-setup.md→ scope isauth - Example:
user-profile-03-api.md→ scope isuser-profile - If unclear, use
planneras the default scope
Write the description:
- Use imperative mood ("add feature" not "added feature")
- Keep it under 72 characters
- Be concise but descriptive
Include a body if more than 3 files were modified:
- Add a blank line after the subject
- List key changes or provide context
- Wrap at 72 characters
Example commits:
feat(auth): add user authentication endpoints
- Implement login and logout routes
- Add JWT token generation
- Create auth middleware
fix(user-profile): correct avatar upload validation
refactor(planner): reorganize plan execution flow
If auto_commit_standard is "no_standard" (or missing)
Use the simple format:
feat(planner): Complete [plan_name] - [summary]
Examples:
feat(planner): Complete auth-01-setup.md - Set up authentication module
feat(planner): Complete user-profile-02-api.md - Add profile API endpoints
Git Commands
-
Stage all modified files:
git add . -
Create the commit with the appropriate message format:
git commit -m "<message>"For multi-line messages (Conventional Commits with body):
git commit -m "<subject>" -m "<body>" -
Do NOT push - leave that to the user
Rules
- Never push to remote - only commit locally
- Always stage with
git add .before committing - Analyze the actual changes to determine the correct commit type
- Use the plan name to derive a meaningful scope
- Keep commits atomic - one commit per plan execution
- Handle errors gracefully - if commit fails, report the error
