Install
$ agentstack add skill-mattbaconz-signal-signal-pr ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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 No
- ✓ 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.
About
⚡ signal-pr — Commit + Push + PR
One command. Stages, commits, pushes, opens a PR. Done.
Invocation Triggers
Activate when user says any of:
/signal-pr"open a PR","create pull request","ship a PR","make a PR""commit push and PR","PR this"
Slash command behavior
If the user's message is only /signal-pr (optionally with flags like --dry, --draft, or --pr-draft), 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 run the ordered steps below in the same turn.
- Respect
--dry,--draft, and--pr-draftexactly as defined in this file.
Behavior (Ordered Steps)
- Run signal-push logic — stages, commits, pushes.
See signal-push/SKILL.md for complete push behavior.
- Generate PR title
- Derived from commit message(s)
- Single commit: use commit message as-is
- Multiple commits: synthesize a title covering the change set
- Max 72 chars, same rules as commit messages
- Generate PR body using this exact template:
``` ## Changes
- {change 1}
- {change 2}
## Type {feat|fix|refactor|chore|docs|test|style|perf}
Closes #{issue_number} ```
- Changes: bullet list derived from diff, grouped by type. No fluff.
- Issue number: extracted from branch name if present (e.g.
feat/PROJ-123-thing→Closes #123) - Omit
Closes #line if no issue number detectable
- Open the PR
``bash gh pr create --title "{title}" --body "{body}" ``
- Report
`` ✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12] ✓ pushed → origin/feat/jwt-refresh ✓ PR opened → https://github.com/org/repo/pull/142 ``
PR Body Template
## Changes
- {change 1}
- {change 2}
## Type
{feat|fix|refactor|...}
Closes #{issue_number if detectable from branch name}
Rules:
- Changes are imperative phrases, max 80 chars each: "add JWT refresh token rotation"
- Group by type if multiple types present (feat changes, then fix changes, etc.)
- No prose, no explanation, no "this PR introduces"
- No emoji
Flags
| Flag | Behavior | |---|---| | --draft | Show generated commit message and PR body, do not commit, push, or create PR | | --dry | Explain what would happen — touch nothing | | --pr-draft | Create the PR in GitHub draft state (passes --draft to gh pr create) |
--draft output:
Draft commit message:
feat(auth): add JWT refresh token rotation
Draft PR title:
feat(auth): add JWT refresh token rotation
Draft PR body:
## Changes
- add refresh token endpoint
- add token rotation logic
## Type
feat
Closes #47
Run /signal-pr to confirm.
Output Format
✓ feat(auth): add JWT refresh token rotation [3 files, +47/-12]
✓ pushed → origin/feat/jwt-refresh
✓ PR opened → https://github.com/org/repo/pull/142
Edge Cases
| Situation | Behavior | |---|---| | gh not installed | ✗ gh CLI required — install from cli.github.com | | Not authenticated with gh | ✗ gh not authenticated — run: gh auth login | | PR already exists for branch | ✗ PR already open for this branch → {url} | | Push fails | Stop at push error, do not attempt PR creation | | Nothing to commit | ∅ nothing to commit — stop | | Detached HEAD | ✗ cannot push in detached HEAD — checkout a branch first |
Script
bash .agents/skills/signal-pr/scripts/pr.sh [--draft] [--dry] [--pr-draft] ["custom message"]
powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.agents\skills\signal-pr\scripts\pr.ps1" [--draft] [--dry] [--pr-draft] ["custom message"]
The script wraps push (push.sh / push.ps1) and adds the gh pr create step. PR title and body are generated by the agent and passed as arguments or via heredoc.
Eat Your Own Cooking
Output must comply with SIGNAL compression rules if SIGNAL is active:
- No preamble before the commit/push/PR lines
- One line per action
- 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.
- Author: mattbaconz
- Source: mattbaconz/signal
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.