AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ai Diff Reviewer Setup

skill-dailybothq-agent-skill-setup · by DailybotHQ

Interactive installer for the AI Diff Reviewer GitHub Action — walks the developer through 6 key decisions (provider, strictness, trigger mode, external-contributor policy, PR description mode, complexity labels), detects the repo's stack for sensible defaults, and writes a working `.github/workflows/pr-review.yml` tailored to those choices. Also acts as the reference manual for every `action.yml…

No reviews yet
0 installs
35 views
0.0% view→install

Install

$ agentstack add skill-dailybothq-agent-skill-setup

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-dailybothq-agent-skill-setup)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ai Diff Reviewer Setup? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

AI Diff Reviewer — Setup Wizard (sub-skill)

Companion to the [ai-diff-reviewer](../SKILL.md) skill. Where the parent runs the review and [generate-extension](../generate-extension/SKILL.md) tailors the prompt, this sub-skill bootstraps the GitHub Action itself — walks the developer through the ~6 key decisions and writes a working .github/workflows/pr-review.yml tailored to those choices.

Also doubles as the reference manual for every action.yml input: if a developer asks any coding agent "what does strictness do?" or "how do I run only when a label is added?", the agent can read [reference.md](reference.md) in this directory and answer without opening the source.


When it fires

Explicit triggers (recommended):

  • "Set up AI Diff Reviewer for this repo"
  • "Configure the reviewer action"
  • "Install the AI Diff Reviewer GitHub Action"
  • "Help me create the pr-review workflow"
  • "How do I add AI Diff Reviewer to this project?"

The parent [ai-diff-reviewer](../SKILL.md) skill may also route here automatically when a review-flow request activates on a repo that clearly has no .github/workflows/pr-review.yml (opt-in — future enhancement; not the default today).


Step 0 — Trust boundary

This skill writes exactly two categories of files, both with explicit developer consent:

  • .github/workflows/pr-review.yml — the tailored workflow after

all six questions are answered. If a file already exists at that path, the skill ASKS before overwriting (offers to write to pr-review-new.yml alongside for review).

  • .review/extension.md — only if the developer says yes to

the optional Step 5 handoff, which invokes the [generate-extension](../generate-extension/SKILL.md) sub-skill.

It does not:

  • Commit anything, push anything, or open a PR — the developer stages

and commits themselves.

  • Touch GitHub Secrets — they're set once by the developer in the

repo's Settings UI (link surfaced in Step 4).

  • Modify existing unrelated workflows in .github/workflows/.
  • Call the LLM provider directly or send data off the machine.

Step 1 — Discovery (light — target ≤ 6 tool calls)

Gather just enough to pick sensible defaults; don't do a full generate-extension-style Discovery.

1a. Repo identity

# Slug (owner/repo)
git remote get-url origin | sed -E 's|.*[:/](.+/.+)\.git$|\1|'

# Public or private? (gh required; skip cleanly if absent)
gh repo view --json isPrivate,visibility 2>/dev/null

1b. Existing workflows

ls .github/workflows/*.yml 2>/dev/null
test -f .github/workflows/pr-review.yml && echo "EXISTS"

If pr-review.yml (or a similarly-named workflow) already exists, tell the developer and offer three paths:

  1. Overwrite — replace the existing file (require them to confirm

yes overwrite, not just yes).

  1. Side-by-side — write to .github/workflows/pr-review-new.yml

so they can diff and merge manually.

  1. Cancel — abort the setup entirely.

1c. Stack detection (defaults hint)

# Presence of any of these tells you the primary language / ecosystem.
ls package.json pnpm-lock.yaml yarn.lock 2>/dev/null   # Node
ls pyproject.toml requirements*.txt Pipfile 2>/dev/null # Python
ls go.mod 2>/dev/null                                   # Go
ls Cargo.toml 2>/dev/null                               # Rust
ls Gemfile 2>/dev/null                                  # Ruby
ls pom.xml build.gradle 2>/dev/null                     # Java/Kotlin

The stack shapes only one suggestion downstream: whether the CLI providers make sense (claude-code / cursor / codex all need Node 20 to install, which is fine on ubuntu-latest regardless of your project's language, but the workflow's timeout-minutes may want to be higher for larger diffs).

1d. Default branch

gh repo view --json defaultBranchRef -q .defaultBranchRef.name 2>/dev/null || echo "main"

Used to fill on.pull_request.branches: [] in the composed workflow.


Step 2 — The six questions

Ask them one at a time, showing the default marked as (recommended) in the response so the developer can just say "go with defaults" and get the safest workflow in ~30 seconds. Use the Discovery data to pre-fill anything you can (e.g. default_branch, visibility).

Q1 — Provider

> Which LLM provider should run the review? > > - anthropic (recommended for first setup) — Zero install > overhead, uses ANTHROPIC_API_KEY. The action calls the > chat-completions API directly. Best default unless you already > have a specific reason to want a CLI provider. > - claude-code — Runs the Claude Code CLI headlessly. Same > Anthropic models, but accepts a subscription OAuth token > (sk-ant-oat…) via api-key, so you can bill against a Claude > Pro / Max plan instead of API usage. > - cursor — Runs the Cursor Agent CLI headlessly. Default > model auto is unlimited on Cursor Pro plans. Best if the team > already lives inside Cursor. > - codex — Runs the OpenAI Codex CLI headlessly (GPT models). > Best if the team already has OpenAI billing.

Record: PROVIDER. Also record the corresponding secret name for Step 4: ANTHROPIC_API_KEY / CLAUDE_CODE_TOKEN (or ANTHROPIC_API_KEY) / CURSOR_API_KEY / OPENAI_API_KEY.

Q2 — Strictness

> When should the GitHub check fail? > > - lenient (recommended for weeks 1–2) — The check never > fails; every review posts, no PR is ever blocked. Use this to > calibrate the prompt and the extension against your codebase > without breaking anyone's merge flow. > - block-on-critical (recommended for steady-state) — > Fails only if the reviewer marks any comment as critical > (security, data loss, breaking API). Warnings and info-level > comments still post but don't gate merges. > - block-on-warning — Fails on warning OR critical. > Aggressive; only recommended when the extension has been tuned > to keep false positives near zero. > - block-on-any — Fails on ANY inline comment, including > info. Zero-tolerance mode for security-critical or regulated > stacks.

Record: STRICTNESS.

Q3 — Trigger mode

> When should the reviewer run? > > - on every push to the PR (recommended for most teams) — Uses > types: [opened, synchronize]. Reviews the diff on the first > open and again every time new commits are pushed. Predictable > feedback loop for the author. > - only when a ready label is applied — Uses > trigger-mode: label-once + label-gate: ready. Keeps WIP PRs > quiet; costs run only when the author explicitly signals > readiness. Toggle the label off/on to re-run. Best for cost > discipline in large repos. > - only on labeled events — Uses trigger-mode: > label-added-only and subscribes to types: [labeled]. Even > more conservative; the workflow doesn't run on synchronize > at all, so new commits after the label was applied don't > trigger new reviews (only re-labeling does).

Record: TRIGGER, plus LABEL_GATE (empty or ready) and the workflow event types.

Q4 — External contributors

> Who should be allowed to trigger the review? > (Applies mostly to public open-source repos — private repos can > skip the gate.) > > - OWNER,MEMBER,COLLABORATOR (recommended for public repos) — > Only writes-tier authors trigger the review. Blocks external > contributors from opening PRs to burn your API budget. > - OWNER,MEMBER,COLLABORATOR,CONTRIBUTOR — Also allows > returning contributors (people whose PRs you've merged before). > Good middle ground once you have a stable contributor pool. > - empty string '' — Review every PR from anyone. > Recommended for private repos; risky on public ones.

Skip this question if visibility == "PRIVATE" (default to empty).

Record: AUTHOR_ASSOC.

Q5 — PR description mode

> Should the reviewer also check that PR descriptions are meaningful? > > - off (recommended if you don't have PR-body standards yet) — > Ignore the description entirely. > - warn — Flag "missing/vague description" in the review > summary (doesn't affect the strictness gate). > - block — Force the check to fail if the description is > missing/vague, regardless of strictness. Cheap way to enforce > PR hygiene. > - autocomplete — The reviewer AI writes a first-draft body > for you. Guarded by a marker so it never overwrites your edits. > Best UX for solo maintainers.

Record: PR_DESC_MODE. If the developer picks anything other than off, ask a follow-up: "Minimum character count?" (default 50).

Q6 — Complexity labels

> Should the reviewer apply complexity labels (complexity:low / > complexity:medium / complexity:high) to PRs? > > - no (recommended for first setup) — Skip this feature until > you have a use case for it. > - yes — The reviewer assesses cognitive load / files touched / > security surface / coverage delta and applies a label. Useful for > triage boards, code-owner routing, or PR-size KPIs. Adds a small > amount of latency + one more label the team has to reason about.

Record: COMPLEXITY_LABELS.


Step 3 — Compose and write the workflow

Assemble the YAML from the recorded answers. Template below (variables in `` come from Step 2's answers; the header comment is generated so the developer knows which options this file reflects).

# AI Diff Reviewer — generated by the setup skill.
# Source: https://github.com/DailybotHQ/ai-diff-reviewer
#
# What's configured here:
#   - Provider: 
#   - Strictness: 
#   - Trigger:   ()
#   - External contributors: 
#   - PR description mode: 
#   - Complexity labels: 
#
# Regenerate: run the ai-diff-reviewer-setup skill again.

name: PR review
on:
  pull_request:
    branches: []
    types: []     # e.g. [opened, synchronize]

concurrency:
  group: pr-review-${{ github.event.pull_request.number }}
  cancel-in-progress: true

jobs:
  review:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0        # required — the action runs `git diff origin/...HEAD`

      - uses: DailybotHQ/ai-diff-reviewer@v2
        with:
          provider: 
          api-key: ${{ secrets. }}
          github-token: ${{ secrets.GITHUB_TOKEN }}
          strictness: 

          # Only include the lines below when they differ from action defaults.
          >
          >
          '>
          >
          >
          

Rules for the composition:

  1. Omit every input that matches its action default. The result

should read like a hand-written minimal workflow, not a giant config dump. Explicit inputs only for the choices that differ.

  1. Never emit a placeholder secret value. Use

${{ secrets. }} — the developer wires it in Step 4.

  1. Header comment reflects reality. If the trigger is

label-added-only, the comment must say so and the event types must match — don't ship a mismatch.

  1. applied-label and collapse-previous are not asked (they

default to sensible values); the composed workflow inherits both defaults silently.

  1. prompt-extension-file is not asked in the wizard — it's set

later, either by the developer or by Step 5's handoff to generate-extension.

Write the file:

mkdir -p .github/workflows
# Write the composed YAML to .github/workflows/pr-review.yml (or
# pr-review-new.yml if the developer picked "side-by-side" in Step 1b)
# via the harness's file-write tool.

Step 4 — Post-setup instructions

After the file is written, tell the developer the exact next steps. Include the repo-specific URL — makes the friction go away.

Workflow written to `.github/workflows/pr-review.yml`. Next steps:

1. **Add the API secret.**
   Go to: https://github.com///settings/secrets/actions/new
   Name: ``
   Value: your API key from 

2. **Commit + test.**
   ```bash
   git checkout -b chore/setup-ai-diff-reviewer
   git add .github/workflows/pr-review.yml
   git commit -m "chore: add AI Diff Reviewer GitHub Action"
   git push -u origin chore/setup-ai-diff-reviewer
   ```
   Open a draft PR. The reviewer will run on the first push, post its
   findings, and (given your `` choice) either gate the
   check or just comment.

3. **Only if you picked `label-gate: ready`** (Q3, second option):
   also create the label on the repo before merging the workflow.
   ```bash
   gh label create ready --color 0e8a16 --description "Signals PR is ready for AI review"
   ```

4. **Defaults you already have (no extra config needed).**
   Iteration-Aware Review runs on every CI review with
   `convergence-policy: first-pass-exhaustive` — exhaustive first
   pass, then dedup on later rounds so the same warnings don't
   trickle forever. To force a full un-deduped pass once, label
   the PR `full-review-please` (the shipped
   `iteration-escape-label`). Optional emergency bypass for
   hotfixes: add `skip-review-label: skip-ai-review` to the
   workflow and protect that label with a ruleset — see
   `examples/skip-review-label.yml` and
   `docs/ITERATION_AWARENESS.md` / `docs/TRIGGER_MODES.md` in the
   action repo.

Provider-console URLs to substitute in the instructions:

| Provider | Console URL for API key | |---|---| | anthropic | https://console.anthropic.com/settings/keys | | claude-code | https://console.anthropic.com/settings/keys OR claude setup-token for subscription-mode | | cursor | https://cursor.com/dashboard → Settings → API Keys | | codex | https://platform.openai.com/api-keys |


Step 5 — Optional handoff: bootstrap the extension file

After the workflow is written, ask ONE more question:

> Want to also tailor the review to this repo? > > The workflow uses the shipped default prompt right now — great for > general-purpose review, but it doesn't know YOUR conventions > (money-handling in `, banned patterns, etc.). > > I can bootstrap a .review/extension.md for this repo now > (~30 seconds of Discovery + a ~100-line file). The workflow will > auto-detect it if you also add > prompt-extension-file: .review/extension.md to the with: block, > and the local review skill picks it up too. > > - **yes** — invoke generate-extension now. > - **no** — skip; the shipped default is fine. Run > generate-extension` any time later.

Handle:

  • yes → invoke [generate-extension](../generate-extension/SKILL.md)

in extension mode. After it writes .review/extension.md, update the freshly-composed workflow file to add prompt-extension-file: .review/extension.md (a two-line in-place edit). Announce both files at the end.

  • no → stop after Step 4. Tell the developer they can bootstrap

the extension later ("say 'generate a .review/extension.md' any time — one command, zero re-config").


Reference — all action inputs

The full input table with description, default, and per-scenario recommendations lives in [reference.md](reference.md) in this directory. Read it directly when the developer asks a specific question about any input the wizard didn't cover (mcp-config-file, max-turns, agent-extra-args, etc.).

Any coding agent with this skill installed can answer *"what does ` do?"* by consulting reference.md alone — no need to open action.yml`.


Notes

  • The wizard is the happy path; reference.md is the escape hatch.

If the developer wants to hand-craft a workflow with knobs the wizard doesn't ask about (mcp-config-file, max-turns, model pinning, etc.), point them at reference.md and let them compose themselves.

  • Re-running the wizard is safe. If a .github/workflows/pr-review.yml

already exists, the skill offers overwrite

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.