{"manifest":{"name":"Git Commit Formatter","version":"1.0.0","description":"Analyzes staged git changes and generates conventional commit messages. Auto-detects scope, enforces imperative mood, handles breaking changes.","tags":["git","commit","workflow","devtools"],"standard":"agentskills.io","standard_version":"1.0","content_checksum":"ad29cfe3ce6d1fa92e5df746191e40d6c0d1b74ccf863029d8dccf9dbcc81fa5","bundle_checksum":null,"metadata":{},"files":[]},"files":{"SKILL.md":"# Git Commit Formatter\n\n> **Purpose:** Analyze staged changes and generate a properly formatted conventional commit message.\n\n---\n\n## Invocation\n\n```\n/commit\n```\n\nRuns `git diff --cached --stat` and `git diff --cached` to analyze staged changes.\n\n---\n\n## Conventional Commit Format\n\n```\n<type>(<scope>): <description>\n\n[optional body]\n\n[optional footer]\n```\n\n### Types\n\n| Type | When to use |\n|------|-------------|\n| `feat` | New feature or capability |\n| `fix` | Bug fix |\n| `refactor` | Code restructuring without behavior change |\n| `test` | Adding or updating tests |\n| `docs` | Documentation only |\n| `style` | Formatting, whitespace, semicolons |\n| `perf` | Performance improvement |\n| `ci` | CI/CD configuration |\n| `chore` | Dependencies, tooling, config |\n| `build` | Build system or external dependency changes |\n\n### Scope Detection\n\nInfer scope from the changed files:\n- `components/auth/*` → `auth`\n- `api/skills/*` → `skills-api`\n- `lib/utils/*` → `utils`\n- Multiple unrelated areas → omit scope\n\n### Description Rules\n\n- Imperative mood: \"add\" not \"added\" or \"adds\"\n- No period at the end\n- Under 72 characters\n- Focus on **why**, not **what** (the diff shows what)\n\n---\n\n## Body Guidelines\n\nInclude a body when:\n- The change is not obvious from the description\n- Multiple files are modified for different reasons\n- Breaking changes need explanation\n\nFormat:\n- Wrap at 72 characters\n- Separate from subject with blank line\n- Use bullet points for multiple changes\n\n---\n\n## Footer\n\n- `BREAKING CHANGE: <description>` — for breaking API changes\n- `Closes #123` — for issue references\n- `Co-Authored-By: Name <email>` — for pair programming\n\n---\n\n## Examples\n\n**Simple feature:**\n```\nfeat(auth): add GitHub OAuth login flow\n```\n\n**Bug fix with context:**\n```\nfix(api): prevent duplicate skill submissions\n\nThe content checksum was computed before sanitization,\nallowing whitespace-only differences to bypass dedup.\n\nCloses #47\n```\n\n**Breaking change:**\n```\nrefactor(skills)!: rename focus_pool to engagement_score\n\nBREAKING CHANGE: focus_pool column renamed to engagement_score.\nRun migration 20260301 before deploying.\n```"}}