一键导入
qv-sdk-pr-create
Generate PR descriptions for SDK pod packages following template and format rules. Use when creating an SDK pod PR or invoking /qv-sdk-pr-create.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate PR descriptions for SDK pod packages following template and format rules. Use when creating an SDK pod PR or invoking /qv-sdk-pr-create.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Team-wide PR dashboard for the SDK pod. Shows open PRs touching SDK pod paths or authored by SDK roster members, sorted oldest-first, grouped by author tier (SDK Core / Platform / External) into needs-your-re-review / stale / needs-review / fully-approved, with merge-conflict and CI-red warnings. Use when checking team SDK pod PR status or invoking /qv-sdk-pr-status.
Generate NOTICE files with third-party attributions for all packages in the monorepo.
Generate changelogs for SDK pod packages using tag-based GitFlow. Use when preparing a release, generating changelog, or creating CHANGELOG_LLM.md.
Inspect GitHub Actions self-hosted runner queues when a developer provides a run URL, job URL, runner label, or reports a blocked CI job, or invokes /qv-devops-runner-queue.
Benchmark an optimization (PR or branch) on a Device Farm device via the vlm-benchmark framework — baseline vs optimized, quality-regression-aware.
Update and verify the QVAC coding-agent package stack across @qvac/sdk, @qvac/cli, @qvac/ai-sdk-provider, and @qvac/opencode-plugin. Use when syncing CLI to a newer SDK release, preparing agent-stack package releases, or checking OpenCode / AI SDK provider compatibility.
| name | qv-sdk-pr-create |
| description | Generate PR descriptions for SDK pod packages following template and format rules. Use when creating an SDK pod PR or invoking /qv-sdk-pr-create. |
Generate PR titles and descriptions for SDK pod packages, following the team's template and format rules.
Applies to SDK pod packages as defined in .cursor/rules/sdk/sdk-pod-packages.mdc.
Use when:
/qv-sdk-pr-createmain or a release-<pkg>-<x.y.z> branch<base>...origin/<branch>TICKET prefix[tags]: subjectpackages/sdk/package.json version or dep blocks, chain into the qv-sdk-bare-sdk-sync skill (see "SDK ↔ bare-SDK Sync Trigger" below)Infer first, ask only if uncertain:
Ticket number:
QVAC-\d+, SDK-\d+Prefix (feat/fix/doc/test/chore/infra):
feat/, fix/, infra/, etc.featfixdoctestTags ([api]/[bc]/[mod]):
[api]: new exported functions/types in public API[bc]: removed/changed existing public API signatures[mod]: changes to model constant definitionsTesting section:
.cursor/rules/sdk/commit-and-pr-format.mdc.github/PULL_REQUEST_TEMPLATE/sdk-pod.mdFill template sections based on the diff analysis. Delete sections that don't apply.
ALWAYS output the PR in this copy-ready format, even when making corrections:
## PR Title
```
TICKET prefix[tags]: subject
```
## PR Body
```markdown
## 🎯 What problem does this PR solve?
...
```
After generating the PR description, check for gh CLI:
gh is installed: which ghgit remote -v to identify fork (origin) vs upstream# For fork -> upstream PRs:
gh pr create \
--repo UPSTREAM_ORG/REPO \
--base main \
--head FORK_OWNER:BRANCH \
--title "TICKET prefix: subject" \
--body "..."
# Then open in browser:
gh pr view --repo UPSTREAM_ORG/REPO BRANCH --web
Important:
--web alone only opens browser for manual creation, does NOT create the PR--repo, --base, and --head explicitlyTrigger: the PR diff (<base>...origin/<branch>) touches packages/sdk/package.json and modifies one of: version, dependencies, optionalDependencies, peerDependencies.
When triggered, prompt the user to run qv-sdk-bare-sdk-sync so the same change is mirrored into packages/bare-sdk/package.json (with bare-sdk's NOTICE regenerated) in the same commit/PR. @qvac/sdk and @qvac/bare-sdk ship in lockstep — letting them drift in a PR creates work for the next release.
git diff <base>...origin/<branch> -- packages/sdk/package.json shows changesversion line OR any dependencies / optionalDependencies / peerDependencies blockqv-sdk-bare-sdk-sync to mirror into bare-sdk?" [Yes / No (skip)].cursor/skills/qv-sdk-bare-sdk-sync/SKILL.md and follow it inline. The skill writes to packages/bare-sdk/package.json and regenerates packages/bare-sdk/NOTICE.cd packages/bare-sdk && bun run check:deps-vs-sdk — must pass.qv-notice-generate bare-sdk fails (missing env tokens, etc.), STOP and surface the error. Do not output the PR description until bare-sdk is in sync.To skip the bare-sdk sync for a single run, the user can invoke /qv-sdk-pr-create --no-sync. The skill proceeds normally and emits a reminder at the end: "Reminder: sdk deps changed but bare-sdk was not synced. Run /qv-sdk-bare-sdk-sync before merge or expect check:deps-vs-sdk to fail in CI."
Context: for @qvac/sdk releases, the qv-sdk-changelog skill (Step 8)
now generates the documentation-site API reference + release notes locally and
ships them in this same release PR. There is no longer a separate
auto-generated docs PR (the old docs-release.yml workflow was removed).
Staging works the same as for the rest of the release commit — no special
handling is needed. Step 8's three committable surfaces
(docs/website/content/docs/reference/api/**,
docs/website/content/docs/reference/release-notes/**,
docs/website/src/lib/versions.ts) show up in git status alongside the
changelog, while every generation/build byproduct
(api-data.json, .next/, .source/, out/, dist/, next-env.d.ts,
packages/sdk/dist/) is gitignored and therefore never appears. Review
git status and commit the shown files as usual.
Reviewers should expect the reference/api + reference/release-notes diff in
the release PR alongside the changelog.
Trigger: the just-created PR's base is release-<pkg>-<x.y.z> for any SDK pod package.
When triggered, automatically chain into the sdk-backmerge skill so a follow-up PR is also opened against main with the same version-bump + changelog metadata. This applies the gitflow.md "Keep main aligned" rule at PR-creation time so nobody has to remember a follow-up step after the release PR merges.
release-<pkg>-<x.y.z>) and parsed <pkg> / <x.y.z>sdk-backmerge workflow inline with these inputs (read .cursor/skills/qv-sdk-backmerge/SKILL.md and follow it).sdk-backmerge's auto-resolve list, STOP. Print:
git status -sb from the conflicted cherry-pickgit add <files> && git cherry-pick --continue, then run /qv-sdk-backmerge --resumerelease-<pkg>-<x.y.z>)main)To skip the backmerge for a single run, the user can invoke /qv-sdk-pr-create --no-backmerge. The skill still creates PR #1 normally and prints a reminder pointing to /qv-sdk-backmerge for later.
Before outputting the PR description, verify:
TICKET prefix[tags]: subject[bc] tag has BEFORE/AFTER code examples[api] tag has usage example[mod] tag has Added/Removed models listpackages/sdk/package.json deps/version, the sync skill ran (or --no-sync was set with a reminder emitted), and check:deps-vs-sdk passesgit status shows only reference/api/**, reference/release-notes/**, and src/lib/versions.ts as committable docs changes — disposable byproducts (api-data.json, out/, .next/, dist/, etc.) are gitignoredrelease-<pkg>-<x.y.z>, the dual-PR flow ran (or --no-backmerge was set), and both PR URLs are reported.cursor/rules/sdk/sdk-pod-packages.mdc.github/PULL_REQUEST_TEMPLATE/sdk-pod.md.cursor/rules/sdk/commit-and-pr-format.mdc.cursor/skills/qv-sdk-backmerge/SKILL.md.cursor/skills/qv-sdk-bare-sdk-sync/SKILL.mddocs/gitflow.md