pr-creator

Tạo pull request có hướng dẫn, tuân thủ các mẫu template và tiêu chuẩn an toàn của kho lưu trữ. Thực thi an toàn nhánh với các kiểm tra quan trọng để ngăn chặn commit và push lên nhánh main. Xác định và áp dụng các mẫu PR riêng của kho lưu trữ từ thư mục .github/, hỗ trợ nhiều biến thể mẫu. Hướng dẫn soạn thảo mô tả với cấu trúc mẫu được bảo toàn, hoàn thành danh sách kiểm tra và liên kết issue. Bao gồm xác thực trước khi chạy qua npm run preflight để phát hiện lỗi build, lint và test trước khi tạo 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.

Thêm skills từ 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
Hướng dẫn sử dụng công cụ CLI Gemini API. Sử dụng khi bạn cần tương tác với Gemini API qua dòng lệnh, quản lý tác nhân hoặc tạo phương tiện (hình ảnh,…)
behavioral-evals
google-gemini
Hướng dẫn tạo, chạy, sửa lỗi và thúc đẩy các đánh giá hành vi. Sử dụng khi xác minh logic quyết định của tác nhân, gỡ lỗi lỗi, gỡ lỗi prompt…
gemini-live-api-dev
google-gemini
Truyền phát hai chiều thời gian thực với Gemini qua WebSockets cho các cuộc hội thoại âm thanh, video và văn bản. Hỗ trợ đầu vào/đầu ra âm thanh (PCM 16 kHz), khung hình video, văn bản và phiên âm tự động với phát hiện hoạt động giọng nói để xử lý ngắt quãng. Bao gồm các tính năng âm thanh gốc: hội thoại cảm xúc, âm thanh chủ động và chế độ suy nghĩ; gọi hàm để sử dụng công cụ đồng bộ và không đồng bộ; và truy vấn Google Search. Cung cấp quản lý phiên với nén ngữ cảnh, tiếp tục và...
gemini-omni-flash-api
google-gemini
Sử dụng kỹ năng này để chỉnh sửa video tạo sinh, chuyển văn bản thành video, tạo video tham chiếu hình ảnh và hoạt ảnh chuyển tiếp từ khung hình đầu tiên sang video bằng…
gemini-api-dev
google-gemini
Xây dựng ứng dụng với các mô hình Gemini của Google, hỗ trợ nội dung đa phương thức, gọi hàm và đầu ra có cấu trúc trên Python, JavaScript, Go và Java. Truy cập các mô hình Gemini 3 hiện tại (Pro, Flash, Pro Image) với ngữ cảnh 1 triệu token; các mô hình Gemini 2.x và 1.5 cũ đã ngừng hỗ trợ. Hỗ trợ tạo văn bản, hiểu hình ảnh/âm thanh/video, gọi hàm, đầu ra JSON có cấu trúc, thực thi mã, lưu trữ ngữ cảnh và nhúng. Các SDK chính thức có sẵn: google-genai (Python),...
gemini-interactions-api
google-gemini
Giao diện thống nhất cho các mô hình và tác nhân Gemini với trạng thái phía máy chủ, phát trực tuyến và điều phối công cụ. Hỗ trợ nhiều mô hình hiện tại (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) và tác nhân Deep Research; tự động thay thế các ID mô hình đã lỗi thời bằng các lựa chọn thay thế hiện tại. Giảm tải lịch sử hội thoại lên máy chủ qua previous_interaction_id cho các tương tác đa lượt có trạng thái mà không cần quản lý lịch sử thủ công. Điều phối công cụ tích hợp bao gồm...
deliver
google-gemini
Đăng phiên bản tóm tắt của bản briefing tới một webhook đến của Google Chat hoặc Slack, để bản chạy hàng ngày tự giao — bỏ qua một cách im lặng khi không có webhook nào…