Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
pr - Prompt - OpenSmartRoute
Promptv1.0.0
pr
Create a pull request for the current branch targeting staging
Prompt file imported from arunnadarasa/keeperhubarc (.claude/commands/pr.md). Copyright stays with the author.
Bad -- lists what changed without intent:
## Summary
- Add `/commit` slash command that invokes the commit-message skill
- Add `/pr` slash command to automate PR creation against staging
- Add commit-message skill with format rules and workflow
- Gitignore `.claude/worktrees/` directory
Good -- leads with why, then adds context:
## Summary
- Standardize commit and PR workflows into repeatable commands so
messages follow consistent format rules and PRs always target
staging with the right reviewers
- Includes a commit-message skill that encodes the team's conventions
so Claude follows them automatically
Create the PR targeting staging with review requested from the keeperhub team.
Do NOT ask for confirmation -- proceed directly:
gh pr create --base staging --reviewer KeeperHub/keeperhub --title "..." --body "..."
Output the PR URL.
<success_criteria>
All changes committed before PR creation
PR targets staging as base branch
PR title follows conventional commit format
Review requested from KeeperHub/keeperhub
PR summary leads with intent (why), not a changelog of what changed
PR URL returned to the user
</success_criteria>
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
<objective>
Create a pull request for the current branch against the staging base branch, with a well-crafted commit message and review requested from the keeperhub team.
</objective>
<context>
- Current branch: !`git branch --show-current`
- Git status: !`git status --short`
- Staged diff stat: !`git diff --cached --stat`
- Unstaged diff stat: !`git diff --stat`
- Commits ahead of staging: !`git log staging..HEAD --oneline`
- Full diff from staging: !`git diff staging...HEAD --stat`
</context>
<process>
1. Check for uncommitted changes (staged, unstaged, or untracked relevant files).
2. If the current branch IS staging:
a. If there are uncommitted changes, infer a descriptive branch name from the
changed files and diff content (e.g., `feature/update-pr-command`), create
the branch with `git checkout -b feature/<name>`, then continue to step 3.
b. If there are NO uncommitted changes, abort -- nothing to create a PR from.
3. If there are uncommitted changes, stage them and then read the file
`.claude/skills/commit-message/SKILL.md` and follow its workflow to
generate a commit message and run `git commit`. Do NOT write commit
messages without reading the skill file first -- it contains the
format rules and process to follow.
4. Push the current branch to origin if it has not been pushed yet or is behind.
5. Run `git log staging..HEAD --format="%B---"` to read all commit messages.
6. Derive the PR title and body from the commit messages -- especially the
first (oldest) commit, which captures the original intent. The PR title
is the commit summary prefixed with a conventional commit type
(`feat:`, `fix:`, `chore:`, etc.) -- keep it under 70 characters.
7. Draft the PR body following these rules:
- **Summary section**: The first bullet MUST be the intent sentence from
the commit body -- the "why" this change exists. Additional bullets may
add context, but never replace the intent with a list of files or
features added.
- **Test Plan section**: Bulleted checklist of how to verify the change.
- **Self-check**: Re-read your summary. If it reads like a changelog or
file inventory (e.g., "Add X", "Update Y", "Create Z"), rewrite it to
explain why the change matters.
Bad -- lists what changed without intent:
```
## Summary
- Add `/commit` slash command that invokes the commit-message skill
- Add `/pr` slash command to automate PR creation against staging
- Add commit-message skill with format rules and workflow
- Gitignore `.claude/worktrees/` directory
```
Good -- leads with why, then adds context:
```
## Summary
- Standardize commit and PR workflows into repeatable commands so
messages follow consistent format rules and PRs always target
staging with the right reviewers
- Includes a commit-message skill that encodes the team's conventions
so Claude follows them automatically
```
8. Create the PR targeting staging with review requested from the keeperhub team.
Do NOT ask for confirmation -- proceed directly:
`gh pr create --base staging --reviewer KeeperHub/keeperhub --title "..." --body "..."`
9. Output the PR URL.
</process>
<success_criteria>
- All changes committed before PR creation
- PR targets staging as base branch
- PR title follows conventional commit format
- Review requested from KeeperHub/keeperhub
- PR summary leads with intent (why), not a changelog of what changed
- PR URL returned to the user
</success_criteria>
Manifest
The prompt text and its fill-in variables. Copy it or fetch it by URL from your own code.
{
"prompt": "<objective>\nCreate a pull request for the current branch against the staging base branch, with a well-crafted commit message and review requested from the keeperhub team.\n</objective>\n\n<context>\n- Current branch: !`git branch --show-current`\n- Git status: !`git status --short`\n- Staged diff stat: !`git diff --cached --stat`\n- Unstaged diff stat: !`git diff --stat`\n- Commits ahead of staging: !`git log staging..HEAD --oneline`\n- Full diff from staging: !`git diff staging...HEAD --stat`\n</context>\n\n<process>\n1. Check for uncommitted changes (staged, unstaged, or untracked relevant files).\n2. If the current branch IS staging:\n a. If there are uncommitted changes, infer a descriptive branch name from the\n changed files and diff content (e.g., `feature/update-pr-command`), create\n the branch with `git checkout -b feature/<name>`, then continue to step 3.\n b. If there are NO uncommitted changes, abort -- nothing to create a PR from.\n3. If there are uncommitted changes, stage them and then read the file\n `.claude/skills/commit-message/SKILL.md` and follow its workflow to\n generate a commit message and run `git commit`. Do NOT write commit\n messages without reading the skill file first -- it contains the\n format rules and process to follow.\n4. Push the current branch to origin if it has not been pushed yet or is behind.\n5. Run `git log staging..HEAD --format=\"%B---\"` to read all commit messages.\n6. Derive the PR title and body from the commit messages -- especially the\n first (oldest) commit, which captures the original intent. The PR title\n is the commit summary prefixed with a conventional commit type\n (`feat:`, `fix:`, `chore:`, etc.) -- keep it under 70 characters.\n7. Draft the PR body following these rules:\n - **Summary section**: The first bullet MUST be the intent sentence from\n the commit body -- the \"why\" this change exists. Additional bullets may\n add context, but never replace the intent with a list of files or\n features added.\n - **Test Plan section**: Bulleted checklist of how to verify the change.\n - **Self-check**: Re-read your summary. If it reads like a changelog or\n file inventory (e.g., \"Add X\", \"Update Y\", \"Create Z\"), rewrite it to\n explain why the change matters.\n\n Bad -- lists what changed without intent:\n ```\n ## Summary\n - Add `/commit` slash command that invokes the commit-message skill\n - Add `/pr` slash command to automate PR creation against staging\n - Add commit-message skill with format rules and workflow\n - Gitignore `.claude/worktrees/` directory\n ```\n\n Good -- leads with why, then adds context:\n ```\n ## Summary\n - Standardize commit and PR workflows into repeatable commands so\n messages follow consistent format rules and PRs always target\n staging with the right reviewers\n - Includes a commit-message skill that encodes the team's conventions\n so Claude follows them automatically\n ```\n8. Create the PR targeting staging with review requested from the keeperhub team.\n Do NOT ask for confirmation -- proceed directly:\n `gh pr create --base staging --reviewer KeeperHub/keeperhub --title \"...\" --body \"...\"`\n9. Output the PR URL.\n</process>\n\n<success_criteria>\n\n- All changes committed before PR creation\n- PR targets staging as base branch\n- PR title follows conventional commit format\n- Review requested from KeeperHub/keeperhub\n- PR summary leads with intent (why), not a changelog of what changed\n- PR URL returned to the user\n </success_criteria>",
"variables": [],
"notes": "Create a pull request for the current branch targeting staging Tools: Bash(git:*), Bash(gh:*), Read.",
"metadata": {
"source": {
"provider": "github-claude-commands",
"repository": "https://github.com/arunnadarasa/keeperhubarc",
"path": ".claude/commands/pr.md",
"ref": "196057211ac927bbd3e6fa4bf8b0efa6e6ccffe7",
"url": "https://github.com/arunnadarasa/keeperhubarc/blob/196057211ac927bbd3e6fa4bf8b0efa6e6ccffe7/.claude/commands/pr.md",
"key": "arunnadarasa/keeperhubarc/.claude/commands/pr.md"
}
}
}
Fetch it by URL: GET /api/v1/registry/arunnadarasa-keeperhubarc-pr-command/manifest?version=1.0.0
Reviews
Star ratings from people who tried it. One review per account; edit yours any time.
No reviews yet. Install it, try it, and be the first to rate it.