Universal Cloud AI PR Review
Source: workflows/universal-cloud-ai-pr-review.yml
Runner: ubuntu-latest
Usage
jobs:
universal-cloud-ai-pr-review:
uses: futuredapp/.github/.github/workflows/universal-cloud-ai-pr-review.yml@2.10.1
with:
marketplace_repository: '...'
skill: '...'
Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
marketplace_repository |
string |
Yes | — | Repository (owner/name) of the Claude Code plugin marketplace that holds the review skill. |
marketplace_ref |
string |
No | main |
Branch or tag of the marketplace to use. Pin a tag to roll out skill changes deliberately. |
skill |
string |
Yes | — | Skill to run, as plugin-name:skill-name. It receives the PR number. |
plugin |
string |
No | — | Plugin to install, as plugin-name@marketplace-name. Empty takes the skill's plugin from the marketplace manifest. |
skill_path |
string |
No | — | Path of the skill directory inside the marketplace, with references/output-schema.json and scripts/render-comment.py. Empty uses skills/ |
model |
string |
No | sonnet |
Claude model alias or ID for the review session. |
review_base_branches |
string |
No | ["develop"] |
JSON array of base branches whose PRs get the AI review, e.g. ["develop"]. Release PRs into other branches are skipped. |
reviewer |
string |
No | — | GitHub login to request a review from when the PR is high risk. Empty uses the PROJECT_REVIEWER variable; without it nobody is requested. |
timeout_minutes |
number |
No | 15 |
Timeout of the Claude run in minutes (keep it under 25: the review job stops at 30). |
protected_paths |
string |
No | (^|/)\.claude/(settings[^/]*\.json$|hooks/)|^\.github/|(^|/)\.gitattributes$|(^|/)\.gitmodules$|(^|/)fastlane/[^/]+$|(^|/)(Gemfile|Podfile|Cartfile)(\.lock|\.resolved)?$|(^|/)Package\.resolved$|\.entitlements$|(^|/)PrivacyInfo\.xcprivacy$|\.xcconfig$ |
Extended regex (case-insensitive) of changed paths that make the PR high risk whatever the model says. Empty turns it off. |
Secrets
| Name | Required | Description |
|---|---|---|
CLAUDE_CODE_OAUTH_TOKEN |
No | OAuth token of the Claude subscription account the reviews run on, created with claude setup-token. Required for a review to run. |
CLAUDE_MARKETPLACE_SSH_KEY |
No | Private half of a read-only deploy key on the marketplace repository. Required for a review to run. |