open-weight/skills/git-host-pr/SKILL.md
Push a branch and open a pull request on the configured git host. Use when orchestrator is ready to open a PR after integration and documentation are complete.
npx skillsauth add jon23d/skillz git-host-prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pushes the feature branch and opens a pull request. Only orchestrator should invoke this skill.
Read agent-config.json from the repository root:
cat agent-config.json
Use git_host.provider to select the correct commands. Use git_host.<provider>.default_branch as the PR base branch.
Before opening the PR, confirm from the worktree:
# Confirm you are on the feature branch
git -C <worktree_path> branch --show-current
# Confirm there are no uncommitted changes
git -C <worktree_path> status --porcelain
If there are uncommitted changes, commit them first:
git -C <worktree_path> add -A
git -C <worktree_path> commit -m "<commit message>"
Commit message format: feat(<scope>): <ticket-id> <short description>
gh CLI installed and authenticated# Push the branch
git -C <worktree_path> push origin <branch-name>
# Open the PR
gh pr create \
--title "<ticket-id>: <ticket-title>" \
--body "<pr-body>" \
--base <git_host.github.default_branch> \
--label "<label>" \
--repo <git_host.github.repo_url>
## Summary
<one paragraph description of what this PR does>
## Ticket
Closes #<ticket-id>
## Changes
<bullet list of significant changes by file or area>
## Testing
- All existing tests pass
- New tests added for: <list of new test coverage>
Apply labels based on the task scopes from the planner output:
backend — if any tasks had scope: "backend"frontend — if any tasks had scope: "frontend"full-stack — if both backend and frontend tasks were presentCreate labels if they don't exist:
gh label create "backend" --color "0075ca" --repo <repo_url>
gh label create "frontend" --color "d93f0b" --repo <repo_url>
gh label create "full-stack" --color "0e8a16" --repo <repo_url>
gh pr view --json url --repo <repo_url> | grep url
Hold this URL — report it to the user at the end of the pipeline.
GITEA_TOKEN environment variable setGITEA_URL environment variable setgit -C <worktree_path> push origin <branch-name>
curl -s -X POST \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "<ticket-id>: <ticket-title>",
"body": "<pr-body>",
"head": "<branch-name>",
"base": "<git_host.gitea.default_branch>",
"labels": [<label-ids>]
}' \
"$GITEA_URL/api/v1/repos/<owner>/<repo>/pulls"
The response contains html_url — hold this as the PR URL.
If the push fails, report the error and halt — do not attempt to open a PR against an unpushed branch.
If the PR creation fails after a successful push, report the error with the branch name so the user can open the PR manually. Do not retry more than once.
development
Use when adding or modifying environment variable handling in TypeScript projects or monorepos — especially when using process.env directly, missing startup validation, sharing env schemas across packages, or encountering "undefined is not a string" errors at runtime from missing env vars.
testing
Use when creating a new skill, editing an existing skill, writing a SKILL.md, or verifying a skill works before deployment.
development
React UI design principles and conventions. Load when building or modifying any user interface or React components. Covers application type detection, visual standards, component design and structure, Mantine (business apps) and Tailwind (consumer apps), accessibility, responsiveness, state management, data fetching, testing, and in-app help patterns.
development
Use when setting up ESLint and/or Prettier in a TypeScript project, adding linting to an existing TypeScript codebase, or configuring typescript-eslint, eslint-config-prettier, or related packages.