Create or update guarded implementation PRs in GitHub Actions with reviewed automerge.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "clownfish-cloud-pr" skill from askskill: 1. Download https://raw.githubusercontent.com/openclaw/clownfish/main/.agents/skills/clownfish-cloud-pr/SKILL.md 2. Save it as ~/.claude/skills/clownfish-cloud-pr/SKILL.md 3. Reload skills and tell me it's ready
Run clownfish-cloud-pr in GitHub Actions to create a guarded implementation PR from issue #128 using the default review flow.
A guarded implementation PR linked to the issue is created and enters the standard review flow.
Use clownfish-cloud-pr to update the existing implementation PR based on PR #56 and the latest ClawSweeper report while keeping guard protections.
The existing implementation PR is updated with the latest report findings and remains guarded.
Use clownfish-cloud-pr to opt PR #73 into the ClawSweeper-reviewed Clownfish automerge flow and add the maintainer prompt: "Prioritize failed tests."
The PR is enrolled in the reviewed automerge flow with the maintainer’s handling guidance attached.
Use this skill when the user wants Codex to ask Clownfish to create a PR in the cloud from issue/PR refs plus a custom prompt.
cd ~/Projects/clownfish
git status --short --branch
gh variable list --repo openclaw/clownfish --json name,value \
--jq 'map(select(.name|test("^CLOWNFISH_"))) | sort_by(.name) | .[] | {name,value}'
Keep merge gated unless Peter explicitly opens it. Execute/fix gates are closed
unless the repo variables are literally 1; normal fix-PR work needs an
intentional execution window:
gh variable set CLOWNFISH_ALLOW_EXECUTE --repo openclaw/clownfish --body 1
gh variable set CLOWNFISH_ALLOW_FIX_PR --repo openclaw/clownfish --body 1
gh variable set CLOWNFISH_ALLOW_MERGE --repo openclaw/clownfish --body 0
gh variable set CLOWNFISH_ALLOW_AUTOMERGE --repo openclaw/clownfish --body 0
Reset CLOWNFISH_ALLOW_EXECUTE=0 and CLOWNFISH_ALLOW_FIX_PR=0 after the
window. If those vars are absent or not 1, execute/autonomous workflow runs
stay plan-only/no-mutation.
From refs and a custom prompt:
npm run create-job -- \
--repo openclaw/openclaw \
--refs 123,456 \
--prompt-file /tmp/clownfish-prompt.md
From a ClawSweeper report:
npm run create-job -- \
--from-report ../clawsweeper/records/openclaw-openclaw/items/123.md
The script checks for an existing open PR/body match and remote branch named
clownfish/<cluster-id> before writing a duplicate job. Use --dry-run to
inspect the exact job body and --force only after deciding the duplicate check
is stale.
The skill can trigger replacement PR writing through the normal create-job
and dispatch path. Put the maintainer decision in the prompt:
Treat #123 as useful source work. If the source branch cannot be safely updated
because it is uneditable, stale, draft-only, unmergeable, or unsafe, create a
narrow Clownfish replacement PR instead of waiting. Preserve the source PR
author as co-author, credit the source PR in the replacement PR body, and close
only that source PR after the replacement PR is opened.
The worker should emit repair_strategy=replace_uneditable_branch and list the
source PR URL in source_prs. The deterministic executor opens or updates
clownfish/<cluster-id>, adds non-bot source PR authors as Co-authored-by
trailers, and closes the superseded source PR only after the replacement PR
exists. New replacement PRs are blocked when the touched area already has
CLOWNFISH_MAX_ACTIVE_PRS_PER_AREA open Clownfish PRs.
npm run validate:job -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md
npm run render -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md --mode autonomous >/tmp/clownfish-rendered-prompt.md
git add jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md
git commit -m "chore: add ClawSweeper promoted job"
git push origin main
npm run dispatch -- jobs/openclaw/inbox/clawsweeper-openclaw-openclaw-123.md \
--mode autonomous \
--runner blacksmith-4vcpu-ubuntu-2404 \
--execution-runner blacksmith-16vcpu-ubuntu-2404 \
--model gpt-5.5
Do not use --dispatch until the job is committed and pushed; the workflow
reads the job path from GitHub.
Clownfish can also be asked from target repo comments, but only by maintainers.
Use /clownfish ... or @openclaw-clownfish ...; do not use @clownfish
because that is a separate GitHub user.
Supported commands:
/clownfish status
/clownfish fix ci
/clownfish address review
/clownfish rebase
/clownfish automerge
/clownfish explain
/clownfish stop
@openclaw-clownfish fix ci
The router accepts OWNER, MEMBER, and COLLABORATOR comments by default.
Contributor comments are ignored without a reply. Repair commands dispatch
cluster-worker.yml for existing Clownfish PRs and for PRs explicitly opted
into clownfish:automerge.
…
Operate ProjectClownfish cluster workflows, scaling, guardrails, and cleanup decisions safely.
An AI coding assistant for review, debugging, refactoring, and design checks.
Diagnose OpenClaw issues by choosing logs, probes, and proof paths first.
Find and fix small high-confidence OpenClaw bugs ready to land.
Access X from the CLI for posting, search, DMs, and API calls.
Search and manage Granola archives, sync status, notes, transcripts, and counts.
Handle ClawSweeper reports, fixes, merges, permissions, and GitHub workflow monitoring.
Review, triage, validate, and hand off ClawHub GitHub issues and PRs.
Run, debug, monitor, and summarize OpenClaw release CI workflows.
Review, triage, and manage OpenClaw issues and pull requests faster.
Deeply review code and fix only small, high-confidence OpenClaw bugs.
Prepare and verify OpenClaw stable or beta releases and release notes.