From plugins-dev-tools
Stage and commit changes using conventional commits format. Use when the user asks to commit, save changes, make a commit, or says "commit this", "commit my changes", or "commit what I have".
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugins-dev-tools:commit [dir-or-files][dir-or-files]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Stage and commit changes using conventional commits format, with contextual analysis to generate an accurate commit message.
Stage and commit changes using conventional commits format, with contextual analysis to generate an accurate commit message.
allowed-tools. No Bash, no Read..env files, even if explicitly asked.Call commit_prepare with optional scope from $ARGUMENTS:
The tool returns: repoRoot, branch, files (flat array with diffStat per file), filesByWorkspace (files pre-grouped by workspace directory), inferredScope (deterministic scope suggestion or null), recentCommits, config (allowedTypes, headerMaxLength), and warnings.
From the returned filesByWorkspace and per-file diffStat:
If the change is non-trivial and diffStat alone isn't enough to understand the intent, call commit_diff with specific file paths to inspect the actual changes. Skip for trivial changes (dependency bumps, renames, single-file edits with clear diffStat). Lock files are always excluded from the diff output.
Using the config and inferredScope returned by commit_prepare:
type from config.allowedTypes. See conventional-commits.md for type descriptions. When a domain-specific type (e.g., ai) matches the purpose of the changes, prefer it over structural types (refactor, docs, chore, style) that only describe the form of the change.scope:
inferredScope is non-null, use it as the commit scope. Override only when a domain-specific type (e.g., ai) makes a different scope more meaningful.inferredScope is null, determine scope from filesByWorkspace keys. If changes span multiple packages, identify the primary package where the intentional change was made (other packages may just have ripple effects). If truly root-level only, omit scope.api, cli, ci, url, db, ui, sdk must be lowercase), no trailing period, concise.type(scope): subject) does not exceed config.headerMaxLength. If too long, shorten the subject or move detail to the body.Call commit_execute with:
files: absolute paths (prefix each files[].path with repoRoot + "/")header: the drafted conventional commit headerbody: optional body textcoAuthor: the model name (e.g., "Claude Sonnet 4.6")The tool stages, pre-validates, commits, and verifies in a single call.
On failure: the response includes stage (validation, staging, or commit) and errors. Fix the identified issue and call commit_execute again — re-staging is idempotent.
On success, display:
remainingChanges)Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub pcollinsonline/claude-asana --plugin plugins-dev-tools