agentleFS
derailed-dashderailed-dash/dazbo-agent-skills/skills/install-gemini-code-review-action/SKILL.md

install-gemini-code-review-action

Skill27 starsChanged 48 days agoMITView on GitHub

Installs, configures, or upgrades Dazbo's PR code review & issue triage GitHub Action (gemini-review-action) in a target repository. Use when the user wants to set up, configure, or update automated AI code reviews, issue triaging, or Gemini model workflows for their GitHub repository.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 3 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Before writing or modifying any GitHub workflow files, inspect the .github/workflows/ directory for existing workflow files:

    line 48
  2. Very specific:

    Check the configured gemini_model parameter.

    line 52
  3. Very specific:

    Check if a persona input is specified.

    line 53
  4. Very specific:

    Check if job-level concurrency is configured on the review job (prevents redundant billed calls on rapid bursts of commits).

    line 54
  5. Very specific:

    Check if the pull_request trigger condition guards against external fork PRs (github.event.pull_request.head.repo.full_name == …

    line 55
  6. Very specific:

    Search for references to deprecated actions like google-gemini/run-gemini-cli, google-github-actions/run-gemini-cli, or …

    line 58
  7. Distinctive:

    If found, warn the user that legacy workflows will conflict with the new action and ask for permission to remove them.

    line 59
  8. Very specific:

    Preferred Language: Default English (UK). Options: English (US), French, Spanish, etc.

    line 82
  9. Very specific:

    Create or update workflow files in .github/workflows/ incorporating all chosen preferences from Step 2.

    line 93
  10. Distinctive:

    Ensure the workflow specifies:

    line 95
  11. Very specific:

    Check if the GitHub CLI (gh) is installed and authenticated by running gh auth status.

    line 107
  12. Distinctive:

    Ask the user for their Gemini API key (from Google AI Studio).

    line 110

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Installing & Upgrading Gemini PR Review & Issue Triage Action

This skill provides a structured workflow for installing, configuring, and upgrading derailed-dash/gemini-review-action in a target GitHub repository.

Table of Contents

  • Triggers
  • Installation & Upgrade Workflow
  • Reviewer Personas
  • Action Input Reference
  • Workflow Templates
  • Dynamic Template Fetching

Triggers

This skill MUST trigger whenever:

  • The user requests to install, configure, or upgrade gemini-review-action or a Gemini-based PR code review workflow.
  • The user asks for automated code reviews or issue triaging on GitHub.
  • The user asks to upgrade model versions in existing review workflows (e.g. from gemini-3.5-flash to gemini-3.8-flash).
  • The user asks to add custom reviewer personalities (such as Dazbo, Emperor Palpatine, or Rick Sanchez) or custom review guardrails (.github/review-instruction-additions.md) to their automated PR reviews.

Installation & Upgrade Workflow

Copy this checklist and track your progress:

Installation Progress:
- [ ] Step 1: Detect existing implementations and legacy workflows
- [ ] Step 2: Prompt for customisation preferences & persona selection
- [ ] Step 3: Write or update workflow files and custom instructions
- [ ] Step 4: Advise on secrets setup and recommend starring the repository
- [ ] Step 5: Git commit and push changes

Step 1: Pre-implementation environment check & legacy workflow detection

Before writing or modifying any GitHub workflow files, inspect the .github/workflows/ directory for existing workflow files:

  1. Check for existing gemini-review-action workflows:
    • Inspect .github/workflows/gemini-review.yml or .github/workflows/gemini-triage.yml.
    • Check the configured gemini_model parameter. If it uses an older model (e.g. gemini-3.6-flash, gemini-2.5-flash, or gemini-1.5-flash), inform the user and offer to upgrade the model to gemini-3.8-flash.
    • Check if a persona input is specified. If missing or set to straight, offer to add one of the custom reviewer personalities (dazbo, palpatine, or rick).
    • Check if job-level concurrency is configured on the review job (prevents redundant billed calls on rapid bursts of commits).
    • Check if the pull_request trigger condition guards against external fork PRs (github.event.pull_request.head.repo.full_name == github.repository) so fork PRs don't fail due to missing repository secrets.
  2. Check for legacy/competing workflows:
    • Search for references to deprecated actions like google-gemini/run-gemini-cli, google-github-actions/run-gemini-cli, or google-github-actions/gemini-code-assist.
    • If found, warn the user that legacy workflows will conflict with the new action and ask for permission to remove them.

Step 2: Prompt for customisation preferences & persona selection

Ask the user:

  1. Workflows to install or update:
    • PR Code Review (creates/updates .github/workflows/gemini-review.yml)
    • Issue Triage (creates/updates .github/workflows/gemini-triage.yml)
    • Both (recommended)
  2. Gemini Model:
    • gemini-3.8-flash (Default & recommended — fast, cost-efficient, native structured JSON output, multimodal visual diffing, and 90% discount context caching support).
    • Offer model upgrade if an older model was detected in Step 1.
  3. Reviewer Personality / Persona: Provide a clear summary of the available character personas to the user so they can choose their preferred tone:
    • straight (Default): Standard, professional, and direct technical code reviewer without character overlays.
    • dazbo: Practical, warm, and mildly cheeky software engineer personality. Uses approachable humour, avoids dry corporate boilerplate, and displays escalating dry sarcasm/humour if prior review recommendations are ignored without explanation in follow-up commits.
    • palpatine: Emperor Palpatine (Darth Sidious) from Star Wars. Ominous, imperial, dramatic, demanding absolute perfection ("Do it.", "Good, good...", "Unlimited power!", "Execute Order 66 on this bug"), with escalating imperial wrath for unaddressed flaws.
    • rick: Rick Sanchez from Rick and Morty. Hyper-intelligent, cynical multiverse genius ("burp", "Wubba Lubba Dub-Dub!", "Jerry-level code"). Demands galaxy-brain engineering perfection and treats sloppy bugs as pathetic Jerry-tier amateur work, with escalating multiverse exasperation if ignored.
  4. Additional Customisation Options:
    • Preferred Language: Default English (UK). Options: English (US), French, Spanish, etc.
    • Path Inclusions / Exclusions: Restrict triggers to specific files (e.g. src/** or excluding docs/**).
    • Custom Review Guardrails (.github/review-instruction-additions.md): Offer to create .github/review-instruction-additions.md if the user wants to layer project-specific review rules or domain guardrails onto the default reviewer prompt without replacing the base TOML prompt.
    • Advanced Workflow Options:
      • include_comment_history: 'true' (Default) — tracks multi-turn comment resolution across commits.
      • skip_inline_suggestions: 'true' (Default) — skips re-reviewing commits generated by clicking "Apply suggestion" in the GitHub UI.
      • resolve_addressed_threads: 'false' (Default) — can be set to 'true' (requires a PAT or GitHub App token in github_token) to auto-resolve review threads once Gemini confirms they are fixed.
      • exclude_comment_authors: '' — comma-separated bot logins (e.g. claude[bot]) to keep out of the review prompt.

Step 3: Write or update workflow files and custom instructions

Create or update workflow files in .github/workflows/ incorporating all chosen preferences from Step 2.

Ensure the workflow specifies:

  • gemini_model: 'gemini-3.8-flash'
  • persona: '<chosen_persona>' (e.g. straight, dazbo, palpatine, or rick)
  • language: '<chosen_language>' (e.g. English (UK))
  • Job-level concurrency group keyed on the PR number (gemini-review-${{ github.event.pull_request.number || github.event.issue.number }}).

[!IMPORTANT] Action Input Parameters vs TOML Configuration: All operational parameters (persona, language, timeout, include_comment_history, skip_inline_suggestions, resolve_addressed_threads, thinking_level, etc.) MUST be configured as with: inputs in the workflow .yml file. gemini-review.toml and gemini-triage.toml are strictly reserved for full system prompt overrides and context byte thresholds—only copy them into the repository if the user explicitly wants to replace the entire base system prompt from scratch.

Step 4: Secrets setup and repository recommendation

Check if the GitHub CLI (gh) is installed and authenticated by running gh auth status.

If gh is available and authenticated:

  1. Ask the user for their Gemini API key (from Google AI Studio).
  2. Offer to set the GitHub repository secret automatically by running:
    echo "<API_KEY>" | gh secret set GEMINI_API_KEY

    [!IMPORTANT] Do NOT pass the secret directly in shell command flags (e.g. --body) where it might be logged in terminal history. Use secure stdin redirection.

If gh is NOT available:

  1. Provide manual instructions for GitHub Settings:
    • Go to Settings > Secrets and variables > Actions -> New repository secret.
    • Name: GEMINI_API_KEY.
    • Value: The Gemini API key generated in Google AI Studio.

[!NOTE] Alternative authentication via Google Cloud Workload Identity Federation (WIF) and Application Default Credentials (ADC) with Vertex AI is also supported (including Cloud Billing cost attribution labels via billing_labels).

  1. Share the link to the action repository: derailed-dash/gemini-review-action.
  2. Suggest starring the repository if they find the action useful.

Step 5: Git commit and push changes

Once all files are written and verified, offer to add them to Git, commit, and push them.

[!IMPORTANT] Always ask for explicit user permission before executing git commit or push commands.

Reviewer Personas

The action supports four distinct reviewer personas configured via the persona workflow input:

PersonaKey Tone & StyleBehaviour on Repeated / Unaddressed Issues
straightDirect, professional, objective technical feedback.Restates technical rationale clearly.
dazboWarm, practical, mildly cheeky software engineer with approachable humour.Escalating dry humour and witty sarcasm (e.g. "I see we've chosen to bypass that suggestion again... bold strategy!").
palpatineOminous, grand, imperial, theatrical (Emperor Palpatine).Imperial wrath and dark side displeasure (e.g. "I find your lack of compliance disturbing...").
rickUnhinged, cynical, hyper-intelligent multiverse genius (Rick Sanchez).Multiverse exasperation (e.g. "I literally fixed this in Dimension C-137!").

Action Input Reference

InputDescriptionDefault
gemini_api_keyAPI key for Google Gemini (required unless using WIF/ADC).—
github_tokenGitHub token (${{ secrets.GITHUB_TOKEN }}).—
commandAction mode: review (PR review) or triage (Issue triage).'review'
gemini_modelGemini model to use.'gemini-3.8-flash'
personaReviewer persona overlay (straight, dazbo, palpatine, rick).'straight'
languageNatural language for review output (e.g. English (UK), French).'English (UK)'
timeoutAPI request timeout in seconds (LLM review client enforces a 300s minimum HTTP timeout floor and falls back to streaming on connection resets).'60'
include_comment_historyFetch and track prior PR review threads and discussion comments.'true'
skip_inline_suggestionsSkip re-reviews on commits created by accepting inline GitHub suggestions.'true'
resolve_addressed_threadsAuto-resolve review threads marked addressed (requires PAT/App token).'false'
exclude_comment_authorsComma-separated logins excluded from comment history (e.g. claude[bot]).''
custom_instructionsInline text or path to custom review guardrails markdown file.'.github/review-instruction-additions.md'
thinking_levelOptional reasoning level (low, high, none, or token budget).''
billing_labelsExtra Cloud Billing key=value labels (Vertex AI / WIF only).''
extra_context_filesComma-separated static files always attached to codebase context.''
max_candidate_filesMax candidate files considered during dynamic sparse context selection.'500'
context_diff_directories_onlyRestrict dynamic context selection strictly to modified directories.'false'
context_exclude_patternsComma-separated glob patterns excluded from context selection.''
max_multimodal_imagesMax multimodal images/visual diffs attached to review context.'20'
max_triage_imagesMax remote screenshots attached during issue triage.'5'
image_trigger_bytesByte threshold above which raster images are downscaled (default 600 KB).'614400'
image_target_bytesTarget byte size when downscaling large raster images (default 300 KB).'307200'

Workflow Templates

PR Code Review Template (.github/workflows/gemini-review.yml)

name: "🔎 Dazbo's Gemini Code Review"

on:
  pull_request:
    branches:
      - main
    # Optional: restrict trigger paths (supports inclusions & exclusions)
    # paths:
    #   - 'src/**'
    #   - '!src/generated/**'  # Exclude generated files
    #   - 'pyproject.toml'
  issue_comment:
    types: [created]

jobs:
  review:
    # Run on internal PR updates (same repo), OR on issue comment starting with /gemini-review by repo owners/members
    if: |
      (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) ||
      (
        github.event_name == 'issue_comment' &&
        github.event.issue.pull_request &&
        startsWith(github.event.comment.body, '/gemini-review') &&
        contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
      )
    runs-on: ubuntu-latest

    # Cancel in-flight review on the same PR when a new commit or /gemini-review comment arrives.
    # Keep concurrency at the job level (not workflow level) so unrelated PR comments don't cancel active runs.
    concurrency:
      group: gemini-review-${{ github.event.pull_request.number || github.event.issue.number }}
      cancel-in-progress: true

    permissions:
      contents: read
      pull-requests: write
      issues: write
      statuses: write
      checks: write

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6 # pin to a commit SHA in production repos
        with:
          # Automatically checks out the head ref for PR events,
          # and pulls the PR head branch for comment-based triggers
          ref: ${{ github.event.pull_request.head.sha || format('refs/pull/{0}/head', github.event.issue.number) }}

      - name: Run Gemini Review Action
        uses: derailed-dash/gemini-review-action@v1 # or pin to a full commit SHA
        with:
          gemini_api_key: ${{ secrets.GEMINI_API_KEY }}
          github_token: ${{ secrets.GITHUB_TOKEN }}
          gemini_model: 'gemini-3.8-flash'
          language: 'English (UK)'           # Optional (e.g. English (UK), French, Spanish)
          persona: 'straight'                # Optional: straight (default), dazbo, palpatine, rick
          # timeout: '60'                     # Optional API timeout in seconds
          # include_comment_history: 'true'   # Optional: include prior PR comment history (default: true)
          # exclude_comment_authors: 'claude[bot]' # Optional: keep another bot's comments out of the prompt
          # resolve_addressed_threads: 'false' # Optional: auto-resolve threads this review marks addressed (requires PAT)
          # skip_inline_suggestions: 'true'   # Optional: skip re-reviews on commits created via GitHub UI inline fixes (default: true)

Issue Triage Template (.github/workflows/gemini-triage.yml)

name: "🏷️ Dazbo's Gemini Issue Triage"

on:
  issues:
    types: [opened, reopened]

jobs:
  triage:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Run Gemini Triage Action
        uses: derailed-dash/gemini-review-action@v1
        with:
          command: 'triage'
          gemini_api_key: ${{ secrets.GEMINI_API_KEY }}
          github_token: ${{ secrets.GITHUB_TOKEN }}
          gemini_model: 'gemini-3.8-flash'
          language: 'English (UK)'           # Optional (e.g. English (UK), French, Spanish)
          # timeout: '60'                     # Optional API timeout in seconds

Dynamic Template Fetching

Starter templates live in the starter-examples directory of gemini-review-action. Fetch the latest versions directly from canonical URLs:

  1. PR Review Workflow Template: https://raw.githubusercontent.com/derailed-dash/gemini-review-action/main/starter-examples/gemini-review.yml
  2. Issue Triage Workflow Template: https://raw.githubusercontent.com/derailed-dash/gemini-review-action/main/starter-examples/gemini-triage.yml
  3. Default Prompt Configurations:
    • Review configuration: https://raw.githubusercontent.com/derailed-dash/gemini-review-action/main/starter-examples/gemini-review.toml
    • Triage configuration: https://raw.githubusercontent.com/derailed-dash/gemini-review-action/main/starter-examples/gemini-triage.toml

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.