pr-creator

โดย google-gemini

การสร้าง pull request แบบมีคำแนะนำที่บังคับใช้เทมเพลตของ repository และมาตรฐานความปลอดภัย บังคับใช้ความปลอดภัยของ branch ด้วยการตรวจสอบที่สำคัญเพื่อป้องกันการ commit และ push ไปยัง main ค้นหาและใช้เทมเพลต PR เฉพาะของ repository จากไดเรกทอรี .github/ รองรับเทมเพลตหลายรูปแบบ แนะนำการร่างคำอธิบายด้วยการรักษาโครงสร้างเทมเพลต การทำ checklist ให้สมบูรณ์ และการเชื่อมโยง issue รวมถึงการตรวจสอบความถูกต้องล่วงหน้าผ่าน npm run preflight เพื่อตรวจจับความล้มเหลวในการ build, lint และ test ก่อน PR...

npx skills add https://github.com/google-gemini/gemini-cli --skill pr-creator

Pull Request Creator

This skill guides the creation of high-quality Pull Requests that adhere to the repository's standards.

Workflow

Follow these steps to create a Pull Request:

  1. Branch Management: CRITICAL: Ensure you are NOT working on the main branch.

    • Run git branch --show-current.
    • If the current branch is main, you MUST create and switch to a new descriptive branch:
      git checkout -b <new-branch-name>
      
  2. Commit Changes: Verify that all intended changes are committed.

    • Run git status to check for unstaged or uncommitted changes.
    • If there are uncommitted changes, stage and commit them with a descriptive message before proceeding. NEVER commit directly to main.
      git add .
      git commit -m "type(scope): description"
      
  3. Locate Template: Search for a pull request template in the repository.

    • Check .github/pull_request_template.md
    • Check .github/PULL_REQUEST_TEMPLATE.md
    • If multiple templates exist (e.g., in .github/PULL_REQUEST_TEMPLATE/), ask the user which one to use or select the most appropriate one based on the context (e.g., bug_fix.md vs feature.md).
  4. Read Template: Read the content of the identified template file.

  5. Draft Description: Create a PR description that strictly follows the template's structure.

    • Headings: Keep all headings from the template.
    • Checklists: Review each item. Mark with [x] if completed. If an item is not applicable, leave it unchecked or mark as [ ] (depending on the template's instructions) or remove it if the template allows flexibility (but prefer keeping it unchecked for transparency).
    • Content: Fill in the sections with clear, concise summaries of your changes.
    • Related Issues: Link any issues fixed or related to this PR (e.g., "Fixes #123").
  6. Preflight Check: Before creating the PR, run the workspace preflight script to ensure all build, lint, and test checks pass.

    npm run preflight
    

    If any checks fail, address the issues before proceeding to create the PR.

  7. Push Branch: Push the current branch to the remote repository. CRITICAL SAFETY RAIL: Double-check your branch name before pushing. NEVER push if the current branch is main.

    # Verify current branch is NOT main
    git branch --show-current
    # Push non-interactively
    git push -u origin HEAD
    
  8. Create PR: Use the gh CLI to create the PR. To avoid shell escaping issues with multi-line Markdown, write the description to a temporary file first.

    # 1. Write the drafted description to a temporary file
    # 2. Create the PR using the --body-file flag
    gh pr create --title "type(scope): succinct description" --body-file <temp_file_path>
    # 3. Remove the temporary file
    rm <temp_file_path>
    
    • Title: Ensure the title follows the Conventional Commits format if the repository uses it (e.g., feat(ui): add new button, fix(core): resolve crash).

Principles

  • Safety First: NEVER push to main. This is your highest priority.
  • Compliance: Never ignore the PR template. It exists for a reason.
  • Completeness: Fill out all relevant sections.
  • Accuracy: Don't check boxes for tasks you haven't done.

Skills เพิ่มเติมจาก google-gemini

agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
gemini-api-cli
google-gemini
คู่มือการใช้เครื่องมือ CLI ของ Gemini API ใช้เมื่อคุณต้องการโต้ตอบกับ Gemini API ผ่านทางบรรทัดคำสั่ง จัดการเอเจนต์ หรือสร้างสื่อ (รูปภาพ, …)
behavioral-evals
google-gemini
คำแนะนำสำหรับการสร้าง การรัน การแก้ไข และการส่งเสริมการประเมินพฤติกรรม ใช้เมื่อตรวจสอบตรรกะการตัดสินใจของตัวแทน การแก้ไขข้อบกพร่อง การดีบักพรอมต์…
gemini-live-api-dev
google-gemini
การสตรีมแบบสองทิศทางแบบเรียลไทม์กับ Gemini ผ่าน WebSockets สำหรับการสนทนาด้วยเสียง วีดีโอ และข้อความ รองรับการป้อน/ส่งออกเสียง (16 kHz PCM), เฟรมวีดีโอ, ข้อความ และการถอดความอัตโนมัติพร้อมการตรวจจับกิจกรรมเสียงเพื่อจัดการการขัดจังหวะ รวมถึงคุณสมบัติเสียงแบบเนทีฟ: การสนทนาที่มีอารมณ์, เสียงเชิงรุก และโหมดการคิด; การเรียกใช้ฟังก์ชันสำหรับการใช้เครื่องมือแบบซิงโครนัสและอะซิงโครนัส; และการอ้างอิง Google Search มีการจัดการเซสชันด้วยการบีบอัดบริบท, การกลับมาดำเนินการต่อ และ...
gemini-omni-flash-api
google-gemini
ใช้ทักษะนี้สำหรับการตัดต่อวิดีโอเชิงสร้างสรรค์ การสร้างวิดีโอจากข้อความ การสร้างวิดีโอโดยอ้างอิงจากภาพ และแอนิเมชันเปลี่ยนผ่านจากเฟรมแรกสู่วิดีโอ โดยใช้…
gemini-api-dev
google-gemini
สร้างแอปพลิเคชันด้วยโมเดล Gemini ของ Google รองรับเนื้อหาหลายรูปแบบ การเรียกใช้ฟังก์ชัน และผลลัพธ์ที่มีโครงสร้างใน Python, JavaScript, Go และ Java เข้าถึงโมเดล Gemini 3 ปัจจุบัน (Pro, Flash, Pro Image) พร้อมบริบท 1M โทเค็น; โมเดล Gemini 2.x และ 1.5 รุ่นเก่าถูกเลิกใช้งานแล้ว รองรับการสร้างข้อความ การทำความเข้าใจรูปภาพ/เสียง/วิดีโอ การเรียกใช้ฟังก์ชัน ผลลัพธ์ JSON ที่มีโครงสร้าง การเรียกใช้โค้ด การแคชบริบท และการฝังเวกเตอร์ SDK อย่างเป็นทางการ: google-genai (Python),...
gemini-interactions-api
google-gemini
อินเทอร์เฟซแบบรวมสำหรับโมเดล Gemini และเอเจนต์ พร้อมสถานะฝั่งเซิร์ฟเวอร์ การสตรีม และการจัดระเบียบเครื่องมือ รองรับโมเดลปัจจุบันหลายรุ่น (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) และเอเจนต์ Deep Research; แทนที่รหัสโมเดลที่เลิกใช้งานโดยอัตโนมัติด้วยทางเลือกปัจจุบัน ถ่ายโอนประวัติการสนทนาไปยังเซิร์ฟเวอร์ผ่าน previous_interaction_id สำหรับการโต้ตอบแบบหลายเทิร์นที่มีสถานะโดยไม่ต้องจัดการประวัติด้วยตนเอง มีการจัดระเบียบเครื่องมือในตัวรวมถึง...
deliver
google-gemini
โพสต์เวอร์ชันย่อของสรุปข้อมูลไปยัง Google Chat หรือ Slack incoming webhook เพื่อให้การส่งรายงานประจำวันเกิดขึ้นได้เอง — จะข้ามอย่างเงียบ ๆ เมื่อไม่มี webhook…