open-a-pr

GitHub

规范 Pull Request 模板,要求清晰描述问题、实现细节及发布说明,并引用 CI 测试证据。用于提升 PR 可读性与审查效率。

.opencode/skills/open-a-pr/SKILL.md different-ai/openwork

Trigger Scenarios

创建或编辑 Pull Request 时 需要撰写或重写 PR 描述时 检查 PR 描述的可读性时

Install

npx skills add different-ai/openwork --skill open-a-pr -g -y
More Options

Non-standard path

npx skills add https://github.com/different-ai/openwork/tree/dev/.opencode/skills/open-a-pr -g -y

Use without installing

npx skills use different-ai/openwork@open-a-pr

指定 Agent (Claude Code)

npx skills add different-ai/openwork --skill open-a-pr -a claude-code -g -y

安装 repo 全部 skill

npx skills add different-ai/openwork --all -g -y

预览 repo 内 skill

npx skills add different-ai/openwork --list

SKILL.md

Frontmatter
{
    "name": "open-a-pr",
    "description": "Open a PR, write or rewrite a PR description, \"the PR body is too long\", or check whether a PR description is readable. Use whenever a PR is created or its body is edited."
}

Skill: Open a PR

A PR body is read in thirty seconds, before the diff. It answers a few questions and stops. Everything else lives in the commit messages, the spec, and the report CI posts.

The shape

.github/pull_request_template.md. Fill every heading; add none. Under ~250 words total.

## What is this about?
One or two sentences, plain words: the surface and the change.

## What problem does it solve?
The pain a person felt or the risk we carried. Not the mechanism.

## What was the situation before?
What the person saw or could not do. Concrete enough to recognise in the
"before" screenshot.

## How is this implemented?
Two to five bullets for the reviewer: the main pieces that changed and how
they connect, so the diff reads in order. File paths, tool names, routes and
flags go here, not in the sections above.

## What else changed?
Anything in the diff that is not part of the main task: drive-by fixes,
refactors, renames, dependency bumps, test or tooling tweaks. One bullet
each, so the reviewer is not surprised by them. `none` if nothing.

## Release note
One sentence for people who use OpenWork, or `none`.

## Evidence
The spec that proves it, and in one line what its before → after shows.

The release note feeds the changelog agent directly (scripts/release/collect-release-prs.mjs). Write what a user can now do or no longer hits, in words they see in the product: "Connecting an account in chat no longer gets stuck on 'Checking connection request…'." Write none for CI, tests, review tooling, or refactors nobody will notice; the PR is then left out of the changelog. A change that removes or alters something users rely on always needs a note.

Title: conventional commit, imperative, under 70 characters.

Evidence

CI runs every spec the PR changes on the PR head and posts one sticky <!-- test-evidence --> comment linking the report. You never run the publisher or attach screenshots by hand. The body names the spec and says what the reader will see; it does not copy verdicts, SHAs, screenshots or links, which go stale.

## Evidence
`evals/specs/browser-tabs-owned-by-thread.e2e.test.ts` — before: the toolbar
shows Suspend; after: it does not, and a page still opens and can be used.
  • The before: here and "What was the situation before?" are the same moment. If they disagree, fix one.
  • No spec changed? Say why in one line: No E2E; unit-tested or node --test .github/scripts/pr-proof.test.mjs — 6 passed. If no evidence comment appears, that is why; do not run a spec locally and paste its output.
  • Red evidence needs no sentence in the body: CI's comment says Failed on that SHA and flips on its own when the head goes green. Fix the spec or the code; do not narrate the verdict.
  • Evidence binds to a commit. After a rebase or cherry-pick, wait for CI to rerun on the new head; do not cite the old comment.
  • UI changes: one trailing line Design: P3, S4, C6 (DESIGN.md rule ids).

Leave out

Root-cause narrative (commit message). Suite counts and CI matrices (the Required verification check). Image digests, worktree setup, credential notes (the spec's world). Other PRs' failures (an issue). Risk, Rollback, Out-of-scope boilerplate. Caveats about your caveats.

Do it

gh pr create --base dev --title "<type>(<scope>): <change>" --body-file /tmp/pr-body.md
gh pr edit <n> --body-file /tmp/pr-body.md

Write the file first and read it as the reviewer would. If a section makes you scroll, cut it.

Version History

  • 8e52796 Current 2026-09-28 12:46

    新增 'How is this implemented?' 和 'What else changed?' 章节以细化实现与副作用说明;新增 Release note 部分以自动生成变更日志。

  • c26be48 2026-09-23 01:45

Same Skill Collection

.opencode/skills/agent-first-screenshots/SKILL.md
.opencode/skills/browser-automation/SKILL.md
.opencode/skills/build-a-witness/SKILL.md
.opencode/skills/cloud-dashboard-walkthrough/SKILL.md
.opencode/skills/create-plugin/SKILL.md
.opencode/skills/daytona-chrome-cdp/SKILL.md
.opencode/skills/daytona-cloud-instance/SKILL.md
.opencode/skills/daytona-cloud-server/SKILL.md
.opencode/skills/daytona-dev/SKILL.md
.opencode/skills/daytona-electron-den/SKILL.md
.opencode/skills/daytona-electron-test/SKILL.md
.opencode/skills/daytona-flow-validator/SKILL.md
.opencode/skills/daytona-recording-artifacts/SKILL.md
.opencode/skills/daytona-secrets-volume/SKILL.md
.opencode/skills/daytona-seeded-cloud-demo/SKILL.md
.opencode/skills/daytona-windows-cert/SKILL.md
.opencode/skills/daytona/SKILL.md
.opencode/skills/diagnose-a-red-run/SKILL.md
.opencode/skills/fraimz/SKILL.md
.opencode/skills/get-env-var/SKILL.md
.opencode/skills/hunt-a-prod-error/SKILL.md
.opencode/skills/openwork-models/SKILL.md
.opencode/skills/preview-my-work/SKILL.md
.opencode/skills/product-tutorial-pipeline/SKILL.md
.opencode/skills/prove-a-pr/SKILL.md
.opencode/skills/publish-evidence/SKILL.md
.opencode/skills/record-a-demo/SKILL.md
.opencode/skills/release/SKILL.md
.opencode/skills/review-a-contributor-pr/SKILL.md
.opencode/skills/run-evals/SKILL.md
.opencode/skills/run-tests/SKILL.md
.opencode/skills/shadcn/SKILL.md
.opencode/skills/upload-photo/SKILL.md
.opencode/skills/validate-a-release/SKILL.md
.opencode/skills/write-a-spec/SKILL.md
.warden/skills/confidentiality-review/SKILL.md
.warden/skills/design-spec-review/SKILL.md
.warden/skills/desktop-den-sync-review/SKILL.md
.warden/skills/diff-security-review/SKILL.md
.warden/skills/spec-provenance-review/SKILL.md
integrations/agent-plugins/openwork-connect/skills/openwork-connect/SKILL.md

Metadata

Files
0
Version
8e52796
Hash
d9f066cd
Indexed
2026-09-23 01:45

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-05 22:43
浙ICP备14020137号-1