From deck
Commit code changes to git with auto-formatting and smart staging. Use this for any git commit workflow — handles formatter detection, selective staging, and commit message generation in a single atomic commit.
How this skill is triggered — by the user, by Claude, or both
Slash command
/deck:ciThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
```
/ci # Commit current changes to git
Formatting is part of the code change, not a separate concern — format before staging so everything lands in one commit.
Run git status to understand the current state. Note whether there are already-staged files ("Changes to be committed") or not. You will need this in Step 3.
Only observe — do not stage or commit yet.
Run the project's lint/format tools on all modified tracked files (both staged and unstaged). Detect the formatter from project config:
package.json with format/lint scripts → run the appropriate scriptbiome.json / biome.jsonc → npx biome check --write.prettierrc* → npx prettier --writeCargo.toml → cargo fmtIf no formatter is detected, skip this step. Do not stage or commit yet.
Based on what you observed in Step 1, follow exactly ONE of the two cases:
Case A — Staged files already existed in Step 1 (status showed "Changes to be committed"):
The user deliberately staged files. Respect their choices:
git diff --cached --name-only to get the list of staged files.git add on those same files again. This captures any formatting modifications made in Step 2.Case B — No staged files existed in Step 1 (status showed NO "Changes to be committed"):
git add on all modified tracked files (everything under "Changes not staged for commit").After staging, run git status to confirm there are staged changes. If nothing is staged, tell the user and stop.
Run git diff --cached --stat to review what will be committed, then create the commit.
feat:, fix:, refactor:), not the formatting.npx claudepluginhub darknight/cc-deck --plugin deckAnalyzes uncommitted git changes, excludes ephemeral files like node_modules or build/, groups by purpose into atomic conventional commits, validates code, and optionally pushes.
Executes git commits with conventional commit message analysis, intelligent staging, and message generation. Use when asked to commit changes or when /commit is invoked.
Creates semantic git commits with conventional commit format, stages changes, and pushes to remote. Handles pre-commit hooks and writes meaningful commit messages.