Skip to content
cccskills
FreePublished on GitHub

commit-push

Create atomic git commits with terse Conventional Commits messages, then push to remote. Subject ≤50 chars, body only when "why" isn't obvious. Never force pushes. Use when the user says "commit and push", "commit & push", "/commit-push", or asks to stage, commit, and push in one flow.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Context

  • Current git status: !git status --short
  • Diff summary (file + line counts): !git diff HEAD --stat
  • Current branch: !git branch --show-current
  • Recent commits (for style matching): !git log --oneline -10

The full diff is intentionally NOT loaded above. Read hunks on demand with git diff HEAD -- <file> for only the files you need to inspect to write the message and decide splits. Do not run git diff HEAD with no path filter.

Your task

Create atomic, self-contained commits with terse, exact messages, then push to the remote. Conventional Commits format. No fluff. Why over what.

Commit Splitting

Split into multiple commits when changes involve:

  • Different concerns — unrelated parts of the codebase
  • Different types — mixing feat/fix/refactor/tests/docs/config
  • Different file patterns — source vs docs vs config
  • Large changesets — break down for reviewability

Each commit must build and make sense on its own. If all changes relate to one concern, a single commit is fine.

Message Rules

Subject line:

  • <type>(<scope>): <imperative summary> — <scope> optional
  • Types: feat, fix, refactor, perf, docs, test, chore, build, ci, style, revert
  • Imperative mood: "add", "fix", "remove" — not "added", "adds", "adding"
  • ≤50 chars when possible, hard cap 72
  • No trailing period
  • Match project convention for capitalization after the colon (check recent commits above)

Body (only if needed):

  • Skip entirely when the subject is self-explanatory
  • Add body only for: non-obvious why, breaking changes, migration notes, linked issues
  • Wrap at 72 chars
  • Bullets - not *
  • Reference issues/PRs at end: Closes #42, Refs #17

Auto-clarity — always include body for: breaking changes, security fixes, data migrations, revert commits.

Breaking changes: mark subject with ! and add a BREAKING CHANGE: footer explaining the migration.

What NEVER goes in:

  • "This commit does X", "I", "we", "now", "currently" — the diff says what
  • "As requested by..." — use Co-authored-by: trailer instead
  • AI attribution: "Generated with Claude Code", co-authorship footers, 🤖 emoji
  • Emoji unless project convention requires
  • Restating the filename when the scope already covers it

Examples

fix(auth): handle expired refresh token
feat(api): add GET /users/:id/profile

Mobile client needs profile data without the full user payload
to reduce LTE bandwidth on cold-launch screens.

Closes #128

HEREDOC Format

git commit -m "$(cat <<'EOF'
<type>(<scope>): <subject>

<body if needed>
EOF
)"

Staging Rules

  • Stage specific files by name — do NOT use git add -A or git add .
  • NEVER stage files that may contain secrets: .env, .env.*, credentials.json, *.key, *.pem, *.p12, id_rsa*, token.json, secret*. Warn the user and skip them.
  • If all changes are already staged, do not re-stage them.

Push Rules

  • After all commits are created, push to the remote.
  • Use git push origin <current-branch>.
  • If the branch has no upstream, use git push -u origin <current-branch>.
  • If the push fails due to diverged history, do NOT force push. Inform the user and stop.

Edge Cases

  • No changes (nothing staged, nothing modified): say so and stop. Do not create an empty commit.
  • Only untracked files that look like generated artifacts (dist/, node_modules/, *.log): warn the user instead of committing them.
  • If the user says "normal mode" or "verbose commit": allow a longer, descriptive style for this commit only.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

The English summary is being prepared. Showing the original description.

samuelpatro/.claude3Updated Sep 3, 2026

Monitor a pull request through review and CI until it's green: verify every bot claim against the code, fix what's real, push back on what's wrong, rerun flaky checks. Use when the user asks to babysit, monitor, watch, or shepherd a PR, says "get this PR green" or "handle the review comments". Accepts an optional PR number/URL; defaults to the current branch's open PR.

The English summary is being prepared. Showing the original description.

samuelpatro/.claude3Updated Sep 3, 2026

Generate a single unified changelog from git history that works for everyone in the company (managers and non-tech colleagues as well as developers). Outputs Slack mrkdwn so it can be pasted straight into Slack. Defaults to Slovak (English only on explicit request) and to comparing the release branch (main) against develop to show unreleased changes; also supports date ranges like "today", "yesterday", "last week", or an explicit git range. User-invoked only via /changelog.

The English summary is being prepared. Showing the original description.

samuelpatro/.claude3Updated Sep 3, 2026

commit

Free

Create atomic git commits with terse, exact Conventional Commits messages. Cuts noise, preserves intent. Subject ≤50 chars. Body only when "why" isn't obvious. Use when the user says "commit", "commit this", "/commit", or asks to stage and commit changes.

The English summary is being prepared. Showing the original description.

samuelpatro/.claude3Updated Sep 3, 2026

Create branch, atomic commits, push, and open a pull request with terse, exact messages. Conventional branch + commit format. PR title ≤70 chars, body says "why", not "what". Use when the user says "create pr", "create pullrequest", "create pull request", "make pr", "open pr", "open pullrequest", "open pull request", "submit pr", "raise pr", "/create-pr", or asks to ship/send changes as a pull request (PR/pullrequest/pull-request, any spelling).

The English summary is being prepared. Showing the original description.

samuelpatro/.claude3Updated Sep 3, 2026

Type-safe ORM for Cloudflare D1 using Drizzle. Use when building D1 schemas, writing type-safe queries, generating migrations with Drizzle Kit, defining relations, using db.batch, or hitting D1_ERROR, BEGIN TRANSACTION failures, foreign key constraints, env.DB undefined, or schema inference issues.

The English summary is being prepared. Showing the original description.

samuelpatro/.claude3Updated Sep 3, 2026

See all skills by samuelpatro

Report a problem with this skill