From signal
Stage all changes, commit, push, then open a pull request. Title and body are generated from the diff and commit history. Use when user types /signal-pr, "open a PR", "create pull request", "ship a PR", or "make a PR". Requires gh CLI.
How this skill is triggered — by the user, by Claude, or both
Slash command
/signal:signal-prThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
One command. Stages, commits, pushes, opens a PR. Done.
One command. Stages, commits, pushes, opens a PR. Done.
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"If the user's message is only /signal-pr (optionally with flags like
--dry, --draft, or --pr-draft), treat that as execute now.
--dry, --draft, and --pr-draft exactly as defined in this file.Run signal-push logic — stages, commits, pushes.
See signal-push/SKILL.md for complete push behavior.
Generate PR title
Generate PR body using this exact template:
## Changes
- {change 1}
- {change 2}
## Type
{feat|fix|refactor|chore|docs|test|style|perf}
Closes #{issue_number}
feat/PROJ-123-thing → Closes #123)Closes # line if no issue number detectableOpen the PR
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
## Changes
- {change 1}
- {change 2}
## Type
{feat|fix|refactor|...}
Closes #{issue_number if detectable from branch name}
Rules:
| 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.
✓ 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
| 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 |
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.
Output must comply with SIGNAL compression rules if SIGNAL is active:
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub mattbaconz/signal --plugin signal