Submit PR
SkillCloud & infraCreate and submit a pull request from the current branch — sync with main, format/lint/test, commit all changes, push, monitor the Check workflow, and surface the Composer PR deploy URL. Use when the user asks to open, submit, or raise a PR, including stacking a PR on another open PR (`gh stack`). To land an existing PR, use the `land` skill instead.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Submit PR skill
What this skill tells your AI
The instructions your AI receives, as published by dxos/dxos in .agents/skills/submit-pr/SKILL.md and read by ahel’s review.
Take the current branch and open a green pull request. You never create a new
branch or worktree — you submit from the branch and worktree the session already
runs in. To land (merge) an existing PR, use the land skill.
Steps
- Sync with base. Merge the branch's base into it and resolve any
conflicts:
origin/mainfor a standalone or bottom-of-stack branch; for a branch stacked on another open PR, merge that parent PR's head branch instead — mergingmaininto a stacked child duplicates the parent's commits into its PR. - Format. Run
pnpm format(oxfmt — CI checksoxfmt --check). - Lint.
moon run :lint -- --fixmust succeed. - Test.
moon run :testmust pass. - Changeset. If the change is consumer-relevant, write one
.changeset/*.mdnow, from the whole diff against the base: a summary of what the PR changes for a consumer, not a log of the commits. If a file already exists, rewrite its body rather than appending. Seeagents/instructions/changesets.mdfor when one is needed, which package to name, and bump levels. - Account for every file.
git status; commit ALL modified/untracked files, including the changeset and edits the user made in the shared worktree. Never leave changes behind silently — commit them or confirm exclusion with the user. - Push, then verify
git statusshows a clean working tree. If anything remains, commit it or confirm before proceeding. - Open the PR with
gh. Title usesscope: description. In the description, summarize the changes and the reasoning behind major decisions, and link any Linear issue ascloses DX-123orpart of DX-123. If this work builds on another open PR (or the user asked for a stack), see Stacked PRs below instead ofgh pr create. - Monitor CI every 5 minutes:
gh run list --branch <branch> --limit 3 --workflow "Check"andpnpm -w gh-action --verify --watch. Diagnose and, where possible, fix ALL CI errors — even ones unrelated to this branch. Never merge around a red Check; fix the root cause withgh run view <id> --log-failed. - Address and RESPOND to every PR review comment.
Stacked PRs
GitHub has native stacked PRs (public preview since 2026-07, via the gh-stack
CLI extension) — it postdates model training, so follow this section rather than
prior knowledge. One command covers this skill's case (the branch already
exists):
gh extension install github/gh-stack # once per machine
gh stack link <base-pr-number> <current-branch>
Arguments run bottom-to-top; each may be a PR number, PR URL, or branch name.
link pushes the branch, creates its PR if missing, chains the base branches,
and registers the stack with GitHub — stack map in the PR UI, CI as if
targeting main, one-click whole-stack merge. Linking is what makes it a
stack; a PR merely based on another PR's branch is not one. A PR that link
creates gets an auto-generated title and body — follow up with
gh pr edit <pr> --title --body so it meets step 8's standards (scope-prefixed
title, summary, reasoning, Linear link). Docs:
https://docs.github.com/en/pull-requests/how-tos/stacked-pull-requests.
Composer PR deploy URL — always surface
The pr-deploy.yml workflow posts a sticky composer-preview comment with
a *.workers.dev preview-alias URL (a wrangler versions upload --preview-alias
against composer-app's dev env). Fetch it and include it verbatim next to the
PR link in chat summaries AND the final message:
gh pr view <pr> --json comments
# or: gh api repos/dxos/dxos/issues/<pr>/comments
If the preview comment is not posted yet (deploy still running), say "preview pending" next to the PR link and re-check on the next status update.
Rules
- Do NOT delete any branch or worktree that has uncommitted changes.
- Do not create a new branch or PR — submit from what exists.
- Work only in the assigned worktree (see
AGENTS.mdNon-negotiables).
Signals
- GitHub stars
- 520
- Forks
- 49
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
submit-pr- Source
- github.com/dxos/dxos