skills/mine.commit-push/SKILL.md
Use when the user says: "commit and push". Commits and pushes changes to the current branch.
npx skillsauth add NodeJSmith/Claudefiles mine.commit-pushInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
git statusgit diff HEADgit branch --show-currentThis skill handles the shared "commit & push with quality gates" phase. It can be used standalone (when the user asks to commit and push) and is also used as Phase 1 of mine.ship. Compared to mine.ship, it omits the PR creation phase but includes the same code quality gates (code review, integration review, tests, linting) and pre-commit checks (test presence, WP archival).
Based on the above changes:
If on the default branch (run git-default-branch to check), create a new branch first.
COMMIT SCOPE CHECK: Review the diff for unrelated changes that belong in separate commits (e.g., a feature + an unrelated bug fix, or a config change mixed with new functionality). If the changes clearly span distinct concerns, ask the user whether to split them into separate commits before proceeding. If the changes are all part of one logical unit of work, continue.
CHANGELOG CHECK (mandatory — never skip this step): Locate the nearest CHANGELOG.md using this algorithm: walk upward from the current working directory one level at a time toward the repo root, checking each directory for CHANGELOG.md — the first one found is the nearest, use it. If no CHANGELOG.md is found by walking up, run git ls-files '*CHANGELOG.md' to find any changelogs elsewhere in the repo and pick the one with the shortest relative path from CWD. If none exist anywhere, skip this step. Use the Read tool on the specific path identified — do NOT treat a failed read of ./CHANGELOG.md as proof that no changelog exists. Once read, decide whether the changes deserve a changelog entry:
## [Unreleased] sections or date-based sections (## YYYY-MM-DD). Add entries under the appropriate heading — either the existing [Unreleased] section or today's date section (creating it if needed). Keep them high-level and terse — one bullet per change, two at most. These are user-facing entries; describe what changed for the user, not implementation details.CODE REVIEW LOOP (skip for documentation-only changes): Run the code-reviewer agent on the current changes. For each finding:
After applying fixes, re-run code-reviewer and repeat until no CRITICAL or HIGH issues remain or only LOW/noise is left. If the same CRITICAL or HIGH findings appear again and cannot be auto-fixed, defer to the user — do not proceed to commit.
INTEGRATION + WTF REVIEW (skip for documentation-only changes): Run integration-reviewer and wtf-reviewer in parallel on the final state of the changes (after the code-reviewer loop). Address any CRITICAL or HIGH findings; defer ambiguous ones to the user.
LOCAL VERIFICATION (skip for documentation-only changes):
rules/common/testing.mdtesting.md):
Review the branch diff (git diff --name-only against the default branch). If the diff contains new or changed source files but zero changes in test files (no files matching common test patterns like test_*, *_test.*, *_spec.*, __tests__/), mention this to the user and ask whether to proceed or stop to write tests.
This is advisory, not a hard block — the user decides.ruff check for Python, eslint for JS). Fix any issues.TASK FILE ARCHIVAL (auto — before staging): If spec-helper is available (command -v spec-helper) and task files exist on the branch (find design/specs -path '*/tasks/T*.md' -print -quit 2>/dev/null produces output), run spec-helper archive --all --dry-run --json. If any entries have status: "would_archive", run spec-helper archive --all to remove tasks/ directories and update design.md status. Do not ask — just archive. Include the resulting deletions and design.md changes in the commit. If spec-helper archive --all exits non-zero, stop and report the error to the user — do not proceed to commit. If no task files exist, design/specs/ doesn't exist, or spec-helper isn't installed, skip silently.
Stage all relevant files (including CHANGELOG.md if updated, and any archival deletions from step 7).
For multi-line commit messages, run get-skill-tmpdir mine-commit to create a temp directory, then write the message to <dir>/message.md and run git commit -F <dir>/message.md. For simple one-line messages, git commit -m "..." is fine. Do NOT use git commit -m "$(cat <<'EOF'...)" — command substitution triggers extra permission prompts.
Push the branch to origin (use -u flag only if you just created a new branch).
You MUST do steps 8–10 in a single message. Include the Write call for the commit message file (if needed) in that same message. Do not use any other tools or do anything else besides these tool calls.
development
Use when the user says: 'create an issue', 'file an issue', 'open an issue', 'write an issue', 'new issue for this'. Codebase-aware issue creation — investigates the code to produce well-structured issues with acceptance criteria, affected areas, and enough detail for automated triage.
development
Use when the user says: 'triage issues', 'classify issues by complexity', 'assess issue complexity', 'find quick wins', 'which issues are small', 'batch issue assessment'. Batch codebase-aware issue triage — parallel Haiku subagents assess actual complexity and effort by reading the code, not just titles.
development
Use when the user says: "review my changes", "run the reviewers", "code and integration review", "readability review", "maintainability review", "sniff test this", "WTF check", "code smells", "is this code any good", "fresh eyes on this branch", "review this directory", "check this module". Dispatches three parallel reviewers — code, integration, and a readability pass — and consolidates findings into one prioritized report.
development
Use when the user says: "clean code check", "style review", "LLM smell check", "code hygiene", "nitpick this", "style check", "find style sins", "nitpicker review", "anal retentive review", "exhaustive style review", "no-filter style report". Dispatches three parallel stylistic checkers — llm-checker (training-bias patterns), lazy-checker (deferred debt), and nitpicker (style hygiene) — and consolidates findings into a report organized by checker with a Summary section for orchestration consumption.