
Description
Publish local changes to GitHub by confirming scope, committing intentionally, pushing the branch, and opening a draft PR through the GitHub app from this plugin, with `gh` used only as a fallback where connector coverage is insufficient.
SKILL.md
GitHub Publish Changes
Overview
Use this skill only when the user explicitly wants the full publish flow from the local checkout: branch setup if needed, staging, commit, push, and opening a pull request.
This workflow is hybrid:
- Use local
gitfor branch creation, staging, commit, and push. - Prefer the GitHub app from this plugin for pull request creation after the branch is on the remote.
- Use
ghas a fallback for current-branch PR discovery, auth checks, or PR creation when the connector path cannot infer the repository or head branch cleanly.
Prerequisites
- Require GitHub CLI
gh. Checkgh --version. If missing, ask the user to installghand stop. - Require authenticated
ghsession. Rungh auth status. If not authenticated, ask the user to rungh auth login(and re-rungh auth status) before continuing. - Require a local git repository with a clean understanding of which changes belong in the PR.
Naming conventions
- Branch:
codex/{description}when starting from main/master/default. - Commit:
{description}(terse). - PR title:
[codex] {description}summarizing the full diff.
Workflow
- Confirm intended scope.
- Run
git status -sband inspect the diff before staging. - If the working tree contains unrelated changes, do not default to
git add -A. Ask the user which files belong in the PR.
- Run
- Determine the branch strategy.
- If on
main,master, or another default branch, createcodex/{description}. - Otherwise stay on the current branch.
- If on
- Stage only the intended changes.
- Prefer explicit file paths when the worktree is mixed.
- Use
git add -Aonly when the user has confirmed the whole worktree belongs in scope.
- Commit tersely with the confirmed description.
- Run the most relevant checks available if they have not already been run.
- If checks fail due to missing dependencies or tools, install what is needed and rerun once.
- Push with tracking:
git push -u origin $(git branch --show-current). - Open a draft PR.
- Prefer the GitHub app from this plugin for PR creation after the push succeeds.
- Derive
repository_full_namefrom the remote, for example by normalizinggit remote get-url originor by usinggh repo view --json nameWithOwner. - Derive
head_branchfromgit branch --show-current. - Derive
base_branchfrom the user request when specified; otherwise use the remote default branch, for example viagh repo view --json defaultBranchRef. - If the branch is being pushed from a fork or the PR target differs from the remote that was just pushed, prefer
gh pr createfallback because the connector PR creation flow expects one repository target and may not encode cross-repo head semantics cleanly. - If connector-based PR creation cannot infer the repository or branch cleanly, fall back to
gh pr create --draft --fill --head $(git branch --show-current). - Write the PR body to a temp file with real newlines when using CLI fallback so the markdown renders cleanly.
- Summarize the result with branch name, commit, PR target, validation, and anything the user still needs to confirm.
Write Safety
- Never stage unrelated user changes silently.
- Never push without confirming scope when the worktree is mixed.
- Default to a draft PR unless the user explicitly asks for a ready-for-review PR.
- If the repository does not appear to be connected to an accessible GitHub remote, stop and explain the blocker before making assumptions.
PR Body Expectations
The PR description should use real Markdown prose and cover:
- what changed
- why it changed
- the user or developer impact
- the root cause when the PR is a fix
- the checks used to validate it
More skills from the plugins repository
View all 600 skillsaccessibility-and-inclusive-visualization
make data visualizations accessible
Jun 30AccessibilityChartsData VisualizationDesignagent-browser
automate browser interactions for agents
Apr 6AgentsBrowser AutomationTestingagent-browser-verify
verify dev server output with automated browser
Apr 6Browser AutomationLocal DevelopmentTestingagents-sdk
build AI agents on Cloudflare Workers
Apr 6AgentsCloudflare WorkersSDKServerless +1ai-elements
build chat UIs with AI Elements
Apr 6FrontendReactshadcn/uiUI Components +1ai-gateway
configure Vercel AI Gateway
Apr 6AI InfrastructureCost OptimizationLLMPerformance +1
More from OpenAI
View publisherprior-auth-packet-builder
build healthcare prior authorization packets
openai-agents-python
Apr 16DocumentsHealthcareInsuranceRegulatory Complianceaspnet-core
build ASP.NET Core web applications
skills
Apr 12.NETASP.NET CoreBlazorC# +1chatgpt-apps
build ChatGPT Apps SDK applications
skills
Apr 12Apps SDKChatGPTMCPOpenAIcli-creator
build CLIs from API docs
skills
Apr 12API DevelopmentCLICodexcloudflare-deploy
deploy projects to Cloudflare
skills
Apr 12CloudflareCloudflare PagesCloudflare WorkersDeploymentdefine-goal
define and set measurable project goals
skills
May 23ProductivityProject ManagementStrategyTask Management