PR Draft Summary
Purpose
Produce a concise, copy-ready branch suggestion, PR title, and description for OpenAI Guardrails Python. This skill creates text only. It never authorizes creating a branch, committing, pushing, opening a pull request, or mutating GitHub.
When to trigger
- Run after applicable final review and verification when the task changed
src/guardrails/, mcp_server/, tests/, examples/, build/test configuration, or behavior-impacting docs.
- Run for eligible local-only or uncommitted work even when the user did not ask to open a pull request.
- Skip for repository metadata, editorial docs, conversation-only work, or when the user explicitly asks not to include a PR draft.
Inputs to collect automatically
- Current branch:
git branch --show-current.
- Repository state:
git status --short.
- Untracked files:
git ls-files --others --exclude-standard.
- Staged and unstaged paths and statistics.
- Base reference: the branch upstream when configured, otherwise local
main, otherwise origin/main.
- Merge base and commits ahead of that base.
- Latest local release tag when compatibility context matters; label it potentially stale when remote tags were not refreshed.
- Category signals:
- Runtime:
src/guardrails/, mcp_server/.
- Tests:
tests/.
- Examples:
examples/.
- Docs:
docs/, mkdocs.yml.
- Build/test configuration:
pyproject.toml, uv.lock, Makefile, .github/.
Do not ask the user for information that can be derived from the repository.
Workflow
- Resolve the base and inspect committed, staged, unstaged, and untracked task content.
- If there are no task changes and no commits ahead of the base, report that no code changes were detected and do not emit the PR block.
- Classify the work as feature, fix, refactor/performance, docs-with-impact, or repository tooling.
- Flag backward-compatibility risk only when the diff changes a released public API, external configuration, persisted data, serialized state, or wire protocol.
- Summarize the complete change in one to three sentences. Include untracked deliverables because ordinary diff statistics omit them.
- Choose a branch name:
- Keep the current non-
main, non-detached branch when it already describes the task.
- Otherwise suggest
feat/<slug>, fix/<slug>, docs/<slug>, or chore/<slug>.
- Never suggest
HEAD.
- Use an imperative title with a conventional prefix when useful.
- Start the description with
This pull request adds ..., fixes ..., improves ..., or updates ....
- Explain the motivation, complete behavioral change, and compatibility considerations. Do not list tests unless the user asks.
- Normalize GitHub references:
#123 for this repository and owner/repo#123 for another repository. Remove Markdown-linked issue/PR labels, bare issue/PR URLs, local paths, Codex citations, and app directives.
- Return the following block in English.
Output format
# Pull Request Draft
## Branch name suggestion
git checkout -b <kebab-case branch>
## Title
<single-line imperative title>
## Description
<copy-ready description beginning with "This pull request ...">
Keep the block tight and avoid repeating the same information in multiple sections.
1---2name: pr-draft-summary3description: Create the required PR-ready summary block, branch suggestion, title, and draft description for openai-guardrails-python after runtime, tests, examples, build/test configuration, or behavior-impacting docs change.4---56# PR Draft Summary78## Purpose910Produce a concise, copy-ready branch suggestion, PR title, and description for OpenAI Guardrails Python. This skill creates text only. It never authorizes creating a branch, committing, pushing, opening a pull request, or mutating GitHub.1112## When to trigger1314- Run after applicable final review and verification when the task changed `src/guardrails/`, `mcp_server/`, `tests/`, `examples/`, build/test configuration, or behavior-impacting docs.15- Run for eligible local-only or uncommitted work even when the user did not ask to open a pull request.16- Skip for repository metadata, editorial docs, conversation-only work, or when the user explicitly asks not to include a PR draft.1718## Inputs to collect automatically1920- Current branch: `git branch --show-current`.21- Repository state: `git status --short`.22- Untracked files: `git ls-files --others --exclude-standard`.23- Staged and unstaged paths and statistics.24- Base reference: the branch upstream when configured, otherwise local `main`, otherwise `origin/main`.25- Merge base and commits ahead of that base.26- Latest local release tag when compatibility context matters; label it potentially stale when remote tags were not refreshed.27- Category signals:28 - Runtime: `src/guardrails/`, `mcp_server/`.29 - Tests: `tests/`.30 - Examples: `examples/`.31 - Docs: `docs/`, `mkdocs.yml`.32 - Build/test configuration: `pyproject.toml`, `uv.lock`, `Makefile`, `.github/`.3334Do not ask the user for information that can be derived from the repository.3536## Workflow37381. Resolve the base and inspect committed, staged, unstaged, and untracked task content.392. If there are no task changes and no commits ahead of the base, report that no code changes were detected and do not emit the PR block.403. Classify the work as feature, fix, refactor/performance, docs-with-impact, or repository tooling.414. Flag backward-compatibility risk only when the diff changes a released public API, external configuration, persisted data, serialized state, or wire protocol.425. Summarize the complete change in one to three sentences. Include untracked deliverables because ordinary diff statistics omit them.436. Choose a branch name:44 - Keep the current non-`main`, non-detached branch when it already describes the task.45 - Otherwise suggest `feat/<slug>`, `fix/<slug>`, `docs/<slug>`, or `chore/<slug>`.46 - Never suggest `HEAD`.477. Use an imperative title with a conventional prefix when useful.488. Start the description with `This pull request adds ...`, `fixes ...`, `improves ...`, or `updates ...`.499. Explain the motivation, complete behavioral change, and compatibility considerations. Do not list tests unless the user asks.5010. Normalize GitHub references: `#123` for this repository and `owner/repo#123` for another repository. Remove Markdown-linked issue/PR labels, bare issue/PR URLs, local paths, Codex citations, and app directives.5111. Return the following block in English.5253## Output format5455```markdown56# Pull Request Draft5758## Branch name suggestion5960git checkout -b <kebab-case branch>6162## Title6364<single-line imperative title>6566## Description6768<copy-ready description beginning with "This pull request ...">69```7071Keep the block tight and avoid repeating the same information in multiple sections.