Skip to content
Back to skills

Commit

ASecurity

Commit, pull, and push changes using make push with a ticket-prefixed message

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 1, 2026
ai-agentsshellgitapi

Works with

  • api

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add appshapes/brigade --skill commit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Commit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Commit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/appshapes-commit/badge)](https://www.skillsdirectory.com/skills/appshapes-commit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: commit
description: Commit, pull, and push changes using make push with a ticket-prefixed message
argument-hint: "[ticket-id]"
---

Commit the current working tree changes using this project's `make push` target.

`make push` = `make commit` + `git push`. `make commit` alone typechecks, pulls, builds, tests,
ownership-lints, stages and commits, but does NOT push — so this skill uses `make push`.

The ticket ID is: $ARGUMENTS

## 1. Validate the ticket ID

If `$ARGUMENTS` is empty or non-numeric, stop and ask the user to provide a numeric ticket ID (e.g., `/commit 1234`). Do not proceed.

## 2. Analyze changes

Run these commands in parallel to understand what will be committed:

- `git status` (never use `-uall`)
- `git diff`
- `git diff --cached`
- `git log --oneline -5`

If the working tree is clean (no staged, unstaged, or untracked changes), inform the user there is nothing to commit and stop.

Remember: `make push` runs `git add --verbose :/ .` before committing, so ALL working tree changes will be included, not just staged files. It also runs `git pull` BETWEEN typecheck and build, so the build/test/ownership gates run against the MERGED tree rather than a stale one.

## 3. Check for secrets

Scan every added line (`+` prefix) in the diff output — in ALL files, not just code files — for anything that looks like a secret: API keys, passwords, tokens, connection strings, private keys, or credentials. Non-code files (markdown, prompts, config notes) are just as likely to contain secrets. If found, warn the user and do not proceed until they confirm the files are safe.

## 4. Generate the commit message

Based on the changes, write a commit message:

- Format: `<ticket-id>: <Message>` (e.g., `1262: Drizzle schema introspection`)
- One line, under 72 characters when possible
- Imperative mood, capitalized first word after the ticket prefix
- Summarize the intent (why), not a list of files changed
- Avoid shell-special characters (quotes, backticks, dollar signs) in the message

## 5. Confirm with the user

Present the full make command that will be executed:

```
make push "message=<ticket-id>: <generated message>"
```

Ask the user to confirm or provide an edited message. This operation typechecks, builds, tests, ownership-lints, commits, pulls, and pushes -- never auto-execute.

## 6. Execute

Once confirmed, run exactly:

```
make push "message=<confirmed message>"
```

## 7. Report the result

- On success, confirm the commit was pushed.
- On failure (build error, test failure, lint issue, merge conflict), report the error clearly. Do not retry automatically.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.