pr-draft-summary

โดย openai

สร้างบล็อกสรุปที่พร้อมสำหรับ PR, คำแนะนำสาขา, ชื่อเรื่อง, และคำอธิบายร่างสำหรับ openai-agents-python ใช้ในการส่งมอบครั้งสุดท้ายหลังจาก...

npx skills add https://github.com/openai/openai-agents-python --skill pr-draft-summary

PR Draft Summary

Purpose

Produce the PR-ready summary required in this repository after eligible code work is complete: a concise summary plus a PR-ready title and draft description that begins with "This pull request ...". The block should be ready to paste into a PR for openai-agents-python.

When to Trigger

  • Before every final response, check whether the current task changed runtime code (src/agents/), tests (tests/), examples (examples/), build/test configuration, or docs with behavior impact.
  • If it did, run this skill after required verification and before sending the final response. Do not use perceived change size to decide whether to run it.
  • Run it for eligible local-only and uncommitted work even when the user did not ask to create a pull request. Producing this text does not authorize creating a branch, committing, pushing, or opening a pull request.
  • Skip only for trivial or conversation-only tasks, repo-meta/doc-only tasks without behavior impact, an explicitly invoked $release-candidate-prep handoff that uses the complete $final-release-review report as its release-specific PR description, or when the user explicitly says not to include the PR draft block. This exception applies to preparing the release candidate itself, not to implementing or changing the release-preparation skill.

Inputs to Collect Automatically (do not ask the user)

  • Current branch: git rev-parse --abbrev-ref HEAD.
  • Working tree: git status -sb.
  • Untracked files: git ls-files --others --exclude-standard (use with git status -sb to ensure they are surfaced; --stat does not include them).
  • Changed files: git diff --name-only (unstaged) and git diff --name-only --cached (staged); sizes via git diff --stat and git diff --stat --cached.
  • Latest release tag (prefer remote-aware lookup): LATEST_RELEASE_TAG=$(.agents/skills/final-release-review/scripts/find_latest_release_tag.sh origin 'v*' 2>/dev/null || git tag -l 'v*' --sort=-v:refname | head -n1).
  • Base reference (use the branch's upstream, fallback to origin/main):
    • BASE_REF=$(git rev-parse --abbrev-ref --symbolic-full-name @{upstream} 2>/dev/null || echo origin/main).
    • BASE_COMMIT=$(git merge-base --fork-point "$BASE_REF" HEAD || git merge-base "$BASE_REF" HEAD || echo "$BASE_REF").
  • Commits ahead of the base fork point: git log --oneline --no-merges ${BASE_COMMIT}..HEAD.
  • Category signals for this repo: runtime (src/agents/), tests (tests/), examples (examples/), docs (docs/, mkdocs.yml), build/test config (pyproject.toml, uv.lock, Makefile, .github/).

Workflow

  1. Run the commands above without asking the user; compute BASE_REF/BASE_COMMIT first so later commands reuse them.
  2. If there are no staged/unstaged/untracked changes and no commits ahead of ${BASE_COMMIT}, reply briefly that no code changes were detected and skip emitting the PR block.
  3. Infer change type from the touched paths listed under "Category signals"; classify as feature, fix, refactor, or docs-with-impact, and flag backward-compatibility risk only when the diff changes released public APIs, external config, persisted data, serialized state, or wire protocols. Judge that risk against LATEST_RELEASE_TAG, not unreleased branch-only churn.
  4. Summarize changes in 1–3 short sentences using the key paths (top 5) and git diff --stat output; explicitly call out untracked files from git status -sb/git ls-files --others --exclude-standard because --stat does not include them. If the working tree is clean but there are commits ahead of ${BASE_COMMIT}, summarize using those commit messages.
  5. Choose the lead verb for the description: feature → adds, bug fix → fixes, refactor/perf → improves or updates, docs-only → updates.
  6. Suggest a branch name. If already off main, keep it; otherwise propose feat/<slug>, fix/<slug>, or docs/<slug> based on the primary area (e.g., docs/pr-draft-summary-guidance).
  7. If the current branch matches issue-<number> (digits only), keep that branch suggestion. Optionally pull light issue context (for example via the GitHub API) when available, but do not block or retry if it is not. When an issue number is present, use the native same-repository reference #<number> and include an auto-closing line such as This pull request resolves #<number>.. Do not add the explicit issue URL or wrap the reference in a Markdown link.
  8. Draft the PR title and description using the template below. Apply the repository-wide GitHub paste-readiness rule: use exactly #123 for same-repository issues or PRs and owner/repo#123 for cross-repository references; never emit [PR #123](https://github.com/owner/repo/pull/123), [#123](...), Codex navigation links, local file links, Codex-only citation markers or footnotes, or app directives in the copy-ready block. Preserve ordinary descriptive links to API docs, design notes, and other targets without native GitHub issue or pull-request syntax.
  9. Normalize references before returning the block: replace every same-repository URL or openai/openai-agents-python#<number> reference with #<number>, replace every cross-repository issue or pull-request URL with owner/repo#<number>, then rescan the full block. Do not return it while a Markdown-linked issue or pull-request label, a same-repository qualified reference, or a bare GitHub issue or pull-request URL remains.
  10. Output only the block in "Output Format". Keep any surrounding status note minimal and in English.

Output Format

When closing out a task, add this concise Markdown block (English only) after any brief status note unless the task falls under the documented skip cases or the user says they do not want it.

# Pull Request Draft

## Branch name suggestion

git checkout -b <kebab-case suggestion, e.g., feat/pr-draft-summary-skill>

## Title

<single-line imperative title, which can be a commit message; if a common prefix like chore: and feat: etc., having them is preferred>

## Description

<include what you changed plus a draft pull request title and description for your local changes; start the description with prose such as "This pull request resolves/updates/adds ..." using a verb that matches the change (you can use bullets later), explain the change background (for bugs, clearly describe the bug, symptoms, or repro; for features, what is needed and why), any behavior changes or considerations to be aware of, and you do not need to mention tests you ran.>

Keep it tight—no redundant prose around the block, and avoid repeating details between Changes and the description. Tests do not need to be listed unless specifically requested.

Skills เพิ่มเติมจาก openai

user-context
openai
โหลดหรือจัดการค่ากำหนดการกำหนดเส้นทางต้นทางแบบถาวร ตรรกะการเริ่มต้นใช้งาน ความคืบหน้าการตั้งค่า และทะเบียนเลเยอร์ความหมายของปลั๊กอิน Data Analytics
official
notion-research-documentation
openai
ค้นหาเนื้อหาใน Notion และสังเคราะห์เป็นบทสรุป รายงาน หรือการเปรียบเทียบที่มีโครงสร้าง พร้อมการอ้างอิง ค้นหาและดึงข้อมูลหน้า Notion โดยใช้คำค้นหาเฉพาะ จากนั้นจัดระเบียบผลลัพธ์ตามหัวข้อ พร้อมการอ้างอิงแหล่งที่มาในเนื้อหาและส่วนรายการอ้างอิง เลือกจากรูปแบบผลลัพธ์สี่แบบ (บทสรุปด่วน, สรุปงานวิจัย, การเปรียบเทียบ, รายงานครอบคลุม) ตามขอบเขตและเป้าหมายของผู้ใช้ สร้างและอัปเดตหน้า Notion โดยใช้เทมเพลตในตัว เชื่อมโยงแหล่งที่มาโดยตรง และติดตามการเปลี่ยนแปลงเมื่อมีข้อมูลใหม่เข้ามา...
official
rcsb-pdb-skill
openai
ส่งคำขอ RCSB PDB แบบกระชับสำหรับข้อมูลหลัก การค้นหาผ่าน API และการดาวน์โหลด FASTA ใช้เมื่อผู้ใช้ต้องการสรุปข้อมูล RCSB แบบสั้น บันทึก JSON ดิบหรือ…
official
pdf
openai
การอ่าน การสร้าง และการตรวจสอบไฟล์ PDF พร้อมการเรนเดอร์ภาพและการสร้างด้วยโปรแกรม เรนเดอร์หน้า PDF เป็น PNG เพื่อตรวจสอบเค้าโครง ระยะห่าง และการจัดเรียงตัวอักษรก่อนส่งมอบโดยใช้ Poppler (pdftoppm) สร้าง PDF ด้วยโปรแกรมโดยใช้ reportlab เพื่อการจัดรูปแบบที่เชื่อถือได้ แยกข้อความและข้อมูลเมตาด้วย pdfplumber หรือ pypdf บังคับใช้มาตรฐานคุณภาพ: ไม่มีข้อความที่ถูกตัด องค์ประกอบที่ทับซ้อนกัน ตารางที่เสียหาย หรือสิ่งแปลกปลอมในการเรนเดอร์ ใช้เฉพาะยัติภังค์ ASCII และการอ้างอิงที่อ่านได้ของมนุษย์ ใช้...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
การทำงานอัตโนมัติของเบราว์เซอร์ที่ขับเคลื่อนด้วยเทอร์มินัล พร้อมภาพรวมขององค์ประกอบและเวิร์กโฟลว์ UI แบบโต้ตอบ ทำงานผ่านสคริปต์ wrapper ของ playwright-cli (ต้องใช้ npx); รองรับโหมด headless และ headed สำหรับการดีบักด้วยภาพ เวิร์กโฟลว์หลัก: เปิดหน้า, ถ่ายภาพรวมเพื่ออ้างอิงองค์ประกอบที่เสถียร, โต้ตอบโดยใช้ refs, ถ่ายภาพรวมอีกครั้งหลังการนำทางหรือการเปลี่ยนแปลง DOM รวมถึงการกรอกฟอร์ม, การคลิก, การพิมพ์, การจัดการหลายแท็บ, การจับภาพหน้าจอ/PDF, และการบันทึก trace สำหรับการดีบักโฟลว์ Element refs (เช่น e3, e15)...
official
ukb-topmed-phewas-skill
openai
ดึงข้อมูลสรุป UKB-TOPMed PheWAS แบบกระชับสำหรับตัวแปรเดี่ยว โดยรับอินพุต rsID, GRCh37 หรือ GRCh38 และแปลงเป็นรูปแบบการค้นหา GRCh38 ที่จำเป็น ใช้เมื่อ...
official
code-review-context
openai
บริบทที่โมเดลมองเห็นได้
official