Installs into .claude/skills of the current project.
Are you the author of Submit Pr?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/kapilvirenahuja-submit-pr)
---
name: submit-pr
description: Push branch and create pull request with formatted checklist
user-invocable: false
---
# submit-pr
Model-invocable skill for creating pull requests.
## Purpose
Push branch and create a pull request with the quality checklist and eval results embedded in the PR body. This skill executes — it does not orchestrate.
## Input
Receive from caller (agent):
| Field | Required | Description |
|-------|----------|-------------|
| `title` | Yes | PR title (conventional commit format) |
| `base` | Yes | Base branch (e.g., `main`) |
| `checklist` | Yes | Quality checklist from analyze-pr |
| `eval_results` | No | Eval results to embed in PR body (pass/fail summary + details) |
| `draft` | No | Create as draft PR (default: false) |
| `labels` | No | Labels to add |
| `assignees` | No | Assignees to add |
## Platform Dispatch
This skill routes all platform operations through the `platform-adapter` skill. The adapter resolves the active platform from `.garura/core/config.yaml` and dispatches to the correct CLI.
Supported platforms: `github` (via `gh`), `gitlab` (via `glab`). Bitbucket is not supported in this version — the adapter will return a structured failure if `platform=bitbucket` is configured.
## Process
### 1. Push Branch
```bash
# Get current branch
branch=$(git branch --show-current)
# Check if branch has upstream, push if not
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || git push -u origin HEAD
```
### 2. Format PR Body
Load `~/.garura/core/memory/standards/templates/pr-body.md` and instantiate with `summary`, `checklist.required`, `checklist.optional`, `eval_results`, and the generated-by footer values. Follow the Eval Results rules in the template.
> **Direct-edit deviation note (fix-it/#209):** Format pointer substitution only. Reconcile at next `/create-play --build submit-pr` run.
### 3. Create PR
Invoke the `platform-adapter` skill with `verb: create-pr` and `args: {title: {title}, body: {body}, base: {base}, draft: {draft}, label: {label}, assignee: {assignee}}`.
### 4. Get PR Info
Invoke the `platform-adapter` skill with `verb: view-pr` and `args: {pr_number: {pr_number}}` to retrieve PR details.
## Output
Produce output using template: `templates/pr-output.md`
**IMPORTANT**: This skill produces operation results. The calling agent receives this output and decides what to do next. Do NOT instruct the agent to return or stop.
## Constraints
- NEVER modify checklist content — only format it
- NEVER run tests or builds — just create the PR
- NEVER ask for user input — return result to caller
- NEVER hardcode platform-specific CLI commands — always route through platform-adapter
- ALWAYS read platform from project config (handled by platform-adapter)
- ALWAYS include eval results in PR body when provided
- ALWAYS include the "Generated by [Garura]" footer
## Version
| Field | Value |
|-------|-------|
| Version | 2.0.0 |
| Category | operations |