AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Signal Commit

skill-mattbaconz-signal-signal-commit · by mattbaconz

>

No reviews yet
0 installs
38 views
0.0% view→install

Install

$ agentstack add skill-mattbaconz-signal-signal-commit

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mattbaconz-signal-signal-commit)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Signal Commit? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

⚡ signal-commit — Instant Commit

Zero-confirmation commit. Reads the diff, generates a conventional commit message, stages everything, commits. One command. Done.


Invocation Triggers

Activate when user says any of:

  • /signal-commit
  • "commit everything", "just commit", "signal commit"
  • "commit my changes", "commit this", "commit and push"
  • Asks to commit without providing a message

Slash command behavior

If the user's message is only /signal-commit (optionally with flags like --dry, --draft, or --split), treat that as execute now.

  • Do not stop after acknowledging the skill.
  • Do not ask for confirmation unless the user explicitly requested review mode.
  • Immediately follow the ordered steps below in the same turn.
  • Respect --dry and --draft exactly as defined in this file.

Host notes (Gemini CLI, Antigravity, and similar)

  • Activation is not a commit. The UI may show that this skill loaded (e.g. “Skill signal-commit activated”). That only brings this file into context. A real commit happens only when you run the workflow: either follow the git steps below or invoke scripts/commit.ps1 / scripts/commit.sh with current working directory = the git repository root and the generated message (see Script).
  • Same turn as /signal-commit. When the user’s message is only /signal-commit (plus flags), perform those steps in that response, using whatever terminal or git integration the host allows. Do not treat “skill activated” as completion.
  • Later messages are new turns. A follow-up like hi does not mean “run signal-commit now”; answer that message. If the user wants a commit after chatting, they must invoke /signal-commit again or ask explicitly to commit.

Behavior (Ordered Steps)

  1. Get the full diff

``bash git diff --staged && git diff `` Both staged and unstaged. Work with the combined picture.

  1. Analyze the diff — detect type and scope

| Type | When to use | |---|---| | feat | New capability, new endpoint, new component | | fix | Bug fix, error handling, crash prevention | | refactor | Same behavior, restructured code | | chore | Config, deps, tooling, build, CI | | docs | Comments, README, documentation only | | test | Adding or fixing tests only | | style | Formatting, whitespace, no logic change | | perf | Performance improvement |

Scope = the primary directory or module affected. Derive from file paths:

  • src/auth/*(auth)
  • src/api/*(api)
  • components/ui/*(ui)
  • *.config.*, package.json(config)
  • Mix of unrelated paths → omit scope
  1. Detect if multiple logical changes exist

Logical change = unrelated type+scope pair. Examples:

  • fix(auth) changes + chore(deps) changes = 2 logical changes → split
  • feat(api) across 3 files = 1 logical change → single commit

If multiple logical changes detected:

  • Without --split flag: warn once, then split anyway
  • With --split flag: split silently

Agent invocation for split: When splitting, the agent generates one conventional commit message per logical change and passes them as a single newline-delimited string. The script uses the (scope) in each message to selectively stage matching files for that commit.

  1. Generate commit message

Format: type(scope): description

  • Max 72 chars total
  • Imperative mood: add not added, fix not fixes, remove not removed
  • No period at end
  • No emoji
  • No ticket numbers unless branch name contains one (e.g. feat/PROJ-123-thingfeat(scope): description PROJ-123)
  1. Execute (unless --draft or --dry)

``bash git add -A git commit -m "{generated_message}" ``

  1. Report

`` ✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12] ``


Flags

| Flag | Behavior | |---|---| | --draft | Show generated message, do not commit. User can approve or edit. | | --split | Force atomic commits per logical change. No warning. | | --push | Commit then immediately push (equivalent to running signal-push). | | --dry | Explain what would happen — touch nothing, change nothing. |

--draft output format:

Draft commit message:
  feat(auth): add JWT refresh token rotation

Run /signal-commit to confirm, or edit and pass as: /signal-commit "your message"

--dry output format:

Would stage: 3 files
Would commit: feat(auth): add JWT refresh token rotation
Would not push (use --push to push)

Commit Message Rules (Non-Negotiable)

These do not change. There is no config for them.

  1. Conventional Commits format always: type(scope): description
  2. Types: feat fix refactor chore docs test style perf
  3. Max 72 chars — truncate description if needed, never truncate type or scope
  4. Imperative mood: add not added, fix not fixes
  5. No period at end
  6. No emoji
  7. No "WIP" — if genuinely incomplete, user should use --draft first

Why no config: Having a standard is more valuable than having the right standard. Conventional Commits works with semantic-release and most CI systems. Config options lead to bikeshedding.


Output Format

Single commit:

✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12]

Split commits:

✓ fix(api): handle null response from upstream [2 files, +8/-3]
✓ chore(deps): update axios to 1.6.2 [1 file, +2/-2]

With --push:

✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12]
✓ pushed → origin/main

Edge Cases

| Situation | Behavior | |---|---| | Nothing to commit | ∅ nothing to commit — stop, no error | | Untracked files only | Stage them, include in commit | | Merge conflict markers present | ✗ merge conflicts in {files} — resolve before committing | | Detached HEAD | Commit succeeds, warn: ? detached HEAD — push will require explicit ref | | No git repo | ✗ not a git repository | | User passes a message | Use it as-is, skip generation. Still enforce max 72 chars. |


Script

The mechanical git operations are handled by scripts/commit.sh (Unix) or scripts/commit.ps1 (Windows PowerShell).

Single commit:

bash .agents/skills/signal-commit/scripts/commit.sh [--draft] [--push] [--dry] "feat(auth): add JWT refresh token rotation"
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.agents\skills\signal-commit\scripts\commit.ps1" [--draft] [--push] [--dry] "feat(auth): add JWT refresh token rotation"

Split commits (agent passes newline-delimited messages):

bash .agents/skills/signal-commit/scripts/commit.sh --split "fix(auth): handle null token\nchore(deps): update axios to 1.6.2"
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.agents\skills\signal-commit\scripts\commit.ps1" --split "fix(auth): handle null token`nchore(deps): update axios to 1.6.2"

The script handles: selective staging per scope, git add, git commit, stat reporting. Message generation is done by the agent (this skill) before calling the script.


Eat Your Own Cooking

This skill's own output must comply with SIGNAL compression rules if SIGNAL is active:

  • No preamble before the commit line
  • No explanation after the commit line
  • One line per commit
  • If something goes wrong: one line, TMPL:bug format

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.