video-frames
Extract frames or short clips from videos using ffmpeg.
review-pr
Review-only GitHub pull request analysis with the gh CLI. Use when asked to review a PR, provide structured feedback, or assess readiness to land. Do not merge, push, or make code changes you intend to keep.
Full skill instructions
Perform a thorough review-only PR assessment and return a structured recommendation on readiness for /prepare-pr.
main or origin/main, not during review, not ever.git push at all during review. Treat review as read only..local/review.md inside the worktree..local/pr-meta.env inside the worktree.Create a checklist of all review steps, print it, then continue and execute the commands.
Use an isolated worktree for all review work.
repo_root=$(git rev-parse --show-toplevel)
cd "$repo_root"
gh auth status
WORKTREE_DIR=".worktrees/pr-<PR>"
git fetch origin main
# Reuse existing worktree if it exists, otherwise create new
if [ -d "$WORKTREE_DIR" ]; then
git worktree list
cd "$WORKTREE_DIR"
git fetch origin main
git checkout -B temp/pr-<PR> origin/main
else
git worktree add "$WORKTREE_DIR" -b temp/pr-<PR> origin/main
cd "$WORKTREE_DIR"
fi
# Create local scratch space that persists across /review-pr to /prepare-pr to /merge-pr
mkdir -p .local
Run all commands inside the worktree directory.
Start on origin/main so you can check for existing implementations before looking at PR code.
pr_meta_json=$(gh pr view <PR> --json number,title,state,isDraft,author,baseRefName,headRefName,headRefOid,headRepository,url,body,labels,assignees,reviewRequests,files,additions,deletions,statusCheckRollup)
printf '%s\n' "$pr_meta_json" | jq '{number,title,url,state,isDraft,author:.author.login,base:.baseRefName,head:.headRefName,headSha:.headRefOid,headRepo:.headRepository.nameWithOwner,additions,deletions,files:(.files|length),body}'
cat > .local/pr-meta.env <<EOF
PR_NUMBER=$(printf '%s\n' "$pr_meta_json" | jq -r .number)
PR_URL=$(printf '%s\n' "$pr_meta_json" | jq -r .url)
PR_AUTHOR=$(printf '%s\n' "$pr_meta_json" | jq -r .author.login)
PR_BASE=$(printf '%s\n' "$pr_meta_json" | jq -r .baseRefName)
PR_HEAD=$(printf '%s\n' "$pr_meta_json" | jq -r .headRefName)
PR_HEAD_SHA=$(printf '%s\n' "$pr_meta_json" | jq -r .headRefOid)
PR_HEAD_REPO=$(printf '%s\n' "$pr_meta_json" | jq -r .headRepository.nameWithOwner)
EOF
ls -la .local/pr-meta.env
# Use keywords from the PR title and changed files
rg -n "<keyword_from_pr_title>" -S src packages apps ui || true
rg -n "<function_or_component_name>" -S src packages apps ui || true
git log --oneline --all --grep="<keyword_from_pr_title>" | head -20
If it already exists, call it out as a BLOCKER or at least IMPORTANT.
Assign yourself so others know someone is reviewing. Skip if the PR looks like spam or is a draft you plan to recommend closing.
gh_user=$(gh api user --jq .login)
gh pr edit <PR> --add-assignee "$gh_user" || echo "Could not assign reviewer, continuing"
Use the body from step 1. Summarize goal, scope, and missing context.
Minimum:
gh pr diff <PR>
If you need full code context locally, fetch the PR head to a local ref and diff it. Do not create a merge commit.
git fetch origin pull/<PR>/head:pr-<PR> --force
mb=$(git merge-base origin/main pr-<PR>)
# Show only this PR patch relative to merge-base, not total branch drift
git diff --stat "$mb"..pr-<PR>
git diff "$mb"..pr-<PR>
If you want to browse the PR version of files directly, temporarily check out pr-<PR> in the worktree. Do not commit or push. Return to temp/pr-<PR> and reset to origin/main afterward.
# Use only if needed
# git checkout pr-<PR>
# git branch --show-current
# ...inspect files...
git checkout temp/pr-<PR>
git checkout -B temp/pr-<PR> origin/main
git branch --show-current
Be honest. Call out low value AI slop.
Review correctness, design, performance, and ergonomics.
Assume OpenClaw subagents run with full disk access, including git, gh, and shell. Check auth, input validation, secrets, dependencies, tool safety, and privacy.
Identify what exists, what is missing, and what would be a minimal regression test.
If you run local tests in the worktree, bootstrap dependencies first:
if [ ! -x node_modules/.bin/vitest ]; then
pnpm install --frozen-lockfile
fi
Check if the PR touches code with related documentation such as README, docs, inline API docs, or config examples.
Check if CHANGELOG.md exists and whether the PR warrants an entry.
Decide if /prepare-pr can fix issues or the contributor must update the PR.
Write the full structured review sections A through J to .local/review.md.
Create or overwrite the file and verify it exists and is non-empty.
ls -la .local/review.md
wc -l .local/review.md
Produce a review that matches what you saved to .local/review.md.
A) TL;DR recommendation
B) What changed
C) What is good
D) Security findings
E) Concerns or questions (actionable)
F) Tests
G) Docs status
H) Changelog
CHANGELOG.md needs an entry and which category.I) Follow ups (optional)
J) Suggested PR comment (optional)
Extract frames or short clips from videos using ffmpeg.
Capture frames or clips from RTSP/ONVIF cameras.
Get current weather and forecasts (no API key required).
Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.
Lobster executes multi-step workflows with approval checkpoints. Use it when:
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Display HTML content on connected OpenClaw nodes (Mac app, iOS, Android).
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience