Stage, commit, push changes via background github-commit-agent. Optional args for message override or push control. Use when committing/pushing work.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add masharratt/claude-flow-novice --skill commit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Commit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/masharratt-commit)More formats (shields.io, HTML) on the badges page.
---
name: commit
description: Stage, commit, push changes via background github-commit-agent. Optional args for message override or push control. Use when committing/pushing work.
version: 1.0.0
tags: [git, commit, push, background]
status: production
---
# Commit and Push Skill
**Purpose:** Stage relevant changes, create a conventional commit, and push to remote, all delegated to a background `github-commit-agent` so the main conversation stays unblocked.
## Usage
```
/commit
/commit "optional commit message override"
/commit --no-push
```
## Behavior
When invoked, spawn a **background** `github-commit-agent` with `run_in_background: true`.
### Agent prompt to use
```
You are handling a git commit and push operation.
Context:
- Working directory: {CWD}
- User args: {ARGS}
Steps:
0. **SEO pre-flight (if applicable):** If `scripts/seo-check.sh` exists in repo root, run `bash scripts/seo-check.sh` BEFORE staging. If it exits non-zero, abort the commit and return the violation output to the user. Do not auto-fix. This catches SEO regressions (trailing slashes, canonical URLs, hardcoded fly.dev domains) before they reach the pre-commit hook, giving clearer error attribution.
1. Run `git status` (no -uall flag) to see untracked/modified files.
2. Run `git diff --stat HEAD` to understand scope of changes.
3. Run `git log --oneline -5` to match existing commit message style.
4. Stage relevant files by name (avoid `git add -A` or `git add .` to prevent accidentally including secrets or large binaries). Skip: .env, *.key, *.pem, credentials.*, *.secret.
4b. **Commit-time docs (MANDATORY per CLAUDE.md):** Every commit must update `readme/feature-status.md` (production readiness tracker) and `readme/state-machines.md` (entity lifecycle) when features, statuses, test coverage, or stateful transitions change. Create them if missing. The pre-commit hook `cfn-docs-sync-check.sh` warns when these are stale or missing; do not ignore the warning.
5. If the user provided a message override in args, use it. Otherwise draft a conventional commit message (feat/fix/chore/docs/refactor) focused on "why" not "what", 1-2 sentences max.
6. Commit using HEREDOC format:
git commit -m "$(cat <<'EOF'
<message>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
EOF
)"
7. Unless --no-push was passed, run `git push`.
8. Run `git status` to confirm clean working tree.
9. Return: branch name, commit hash, files committed, push status.
Important:
- NEVER force push, reset --hard, or use --no-verify.
- NEVER commit .env or credential files.
- If the pre-commit hook fails, fix the issue and create a NEW commit (never --amend).
- If on main/master and push would be force push, warn and abort.
```
### After spawning
- Inform the user the commit agent is running in the background.
- When the agent completes, summarize: commit hash, files staged, push result.
## Args parsing
| Arg | Behavior |
|-----|----------|
| (none) | Auto-generate commit message, push |
| `"message text"` | Use provided message, push |
| `--no-push` | Commit only, skip push |
| `--no-push "message"` | Commit with message, skip push |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!