Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Review a Skia upstream merge PR in mono/skia. An agent skill from mono/SkiaSharp.
$ npx skills add mono/SkiaSharp --skill review-skia-update -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mono/SkiaSharp review-skia-update --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/review-skia-update .claude/skills/review-skia-update && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "review-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update into .claude/skills/review-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-skia-update", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-updateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mono/SkiaSharp --skill review-skia-update -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mono/SkiaSharp review-skia-update --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/review-skia-update .agents/skills/review-skia-update && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update into .agents/skills/review-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-skia-update", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mono/SkiaSharp --skill review-skia-update -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mono/SkiaSharp review-skia-update --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/review-skia-update .cursor/skills/review-skia-update && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "review-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update into .cursor/skills/review-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-skia-update", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mono/SkiaSharp.git --path .agents/skills/review-skia-update--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mono/SkiaSharp --skill review-skia-update -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mono/SkiaSharp review-skia-update --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/review-skia-update .gemini/skills/review-skia-update && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "review-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update into .gemini/skills/review-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-skia-update", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mono/SkiaSharp review-skia-updateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mono/SkiaSharp --skill review-skia-update -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/review-skia-update .github/skills/review-skia-update && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "review-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update into .github/skills/review-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-skia-update", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mono/SkiaSharp --skill review-skia-update -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mono/SkiaSharp review-skia-update --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/review-skia-update .opencode/skills/review-skia-update && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "review-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update into .opencode/skills/review-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-skia-update", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
review-skia-updateReview a Skia upstream merge PR in mono/skia. An agent skill from mono/SkiaSharp.
Review Skia Update is an agent skill from mono/SkiaSharp. Review a Skia upstream merge PR in mono/skia. Produces a security-auditable report by diffing against the upstream branch, verifying generated P/Invoke bindings, checking source integrity, and auditing DEPS changes. Triggers: "review skia update PR NNN", "review skia PR", "review skia bump", "check skia update integrity".
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including scripts and reference files (for example `references/csharp-review.md`, `references/schema-cheatsheet.md` and `references/skia-review-schema.json`).
It sits in Development, covering Pull requests. The repository describes itself as: SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6e0e83e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 14 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Review Skia Update loads about 1.6k tokens when it runs, and up to ~9.1k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 704 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from mono/SkiaSharp at commit 6e0e83e, republished under its MIT licence (© mono). 704 words, ~1,629 tokens.
.claude/skills/review-skia-update/SKILL.md (or your agent's skills folder). This skill also uses 18 other files; get the full folder from GitHub.Analyze a Skia upstream merge PR in mono/skia and produce a structured, schema-validated
review report. Reduces 100K–500K line diffs to focused, human-reviewable artifacts.
A Skia update always involves two PRs that must be reviewed together:
Phase 1: Run orchestrator → Phase 2: Write summaries & build report
Phase 3: Review C# PR → Phase 4: Validate & persistA single script handles all mechanical work: fetching PR metadata, checking out both PRs, running the generator, checking source integrity, auditing DEPS, and analyzing companion PR files.
python3 .agents/skills/review-skia-update/scripts/run_review.py \
--skia-pr {skia_pr_number} \
--skiasharp-pr {skiasharp_pr_number} \
--milestone {milestone_number}All three parameters are required. A Skia update always has a companion SkiaSharp PR. Extract the milestone number from the PR title, body, or branch name (e.g. 147 from "Bump skia to milestone 147" or "Dev/update skia 147"). The orchestrator validates this against cgmanifest.json and the PR title for consistency.
Output: raw-results.json in the output directory with all check results, including
mechanically generated file lists and diffs for upstream integrity, interop integrity, DEPS,
and companion PR files.
After this runs, the working tree is checked out to the PR state — you can browse files locally.
⚠️ If the orchestrator fails, report the failure and stop. Do not attempt to run individual scripts manually.
⚠️ NO-RETRY POLICY: Run the orchestrator exactly ONCE. If generation reports FAIL, that is the result. Do NOT re-run to get a different outcome.
Read references/writing-summaries.md for detailed guidance.
raw-results.json from the output directory printed by the orchestratorskia-review-schema.json{output_dir}/{pr_number}.json — the same directory as raw-results.jsonRead references/csharp-review.md for detailed guidance.
The orchestrator already produced the companionPr section with file lists and diffs in
raw-results.json. This phase adds human-oriented review context:
*.generated.cs,
but review direct /// documentation-comment changes reported by the orchestratorrelatedFiles cross-links to interop files where applicableThe working tree is checked out to the companion PR, so you can read files directly.
🛑 PHASE GATE: You CANNOT proceed to persist without passing validation. Skipping validation = INVALID review. The task is incomplete.
python3 .agents/skills/review-skia-update/scripts/validate-skia-review.py {output_dir}/{pr_number}.json⚠️ NEVER hand-roll your own validation. NEVER assume it passes. RUN THE SCRIPT.
🛑 PHASE GATE: The validator MUST have printed ✅ before you reach this step. If you have not run the validation script, GO BACK and run it now.
Copy the validated JSON to output/ai/ for collection.
python3 .agents/skills/review-skia-update/scripts/persist-skia-review.py {output_dir}/{pr_number}.jsonThis copies the JSON to output/ai/repos/mono-skia/ai-review/ and generates an HTML report
alongside it. The HTML is a self-contained file (Bootstrap 5 + diff2html) suitable for attaching
to a PR/issue or uploading as a gist.
To push to the data-cache branch separately, use the persist-aw-data GitHub Actions workflow.
✅ Review: ai-review/{pr_number}.json
Generated Files: PASS/FAIL
Upstream Integrity: PASS/REVIEW_REQUIRED (Na/Nr/Nc)
Interop Integrity: PASS/REVIEW_REQUIRED (Na/Nc)
DEPS Audit: PASS/REVIEW_REQUIRED (Na/Nc)
Companion PR: PASS/REVIEW_REQUIRED (Na/Nc)
Risk: HIGH/MEDIUM/LOWAfter presenting the summary, ask the user if they'd like to open the HTML report in their browser to review the full contents (diffs, recommendations, dependency table, etc.). If yes:
open output/ai/repos/mono-skia/ai-review/{pr_number}.html # macOS
# or: xdg-open ... (Linux) / start ... (Windows)✅ valid© mono, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 18 other files (scripts, references) in .agents/skills/review-skia-update of mono/SkiaSharp.
Open the folder on GitHubat commit 6e0e83e
Review Skia Update next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review Skia Update this skillmono/SkiaSharp | 5.6k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| PR Design DocOpenHands/OpenHands | 91k | — | ~2.4k | Automated safety check: Pass | MIT | |
| WooCommerce Code Reviewwoocommerce/woocommerce | 11k | 3 repos | ~1.1k | Automated safety check: Pass | Custom licence |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
woocommerce/woocommerce
Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.
payloadcms/payload
A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.
mono/SkiaSharp
Fix bugs in SkiaSharp C bindings. An agent skill from mono/SkiaSharp.
mono/SkiaSharp
Reproduce a SkiaSharp issue systematically and capture structured reproduction results.
mono/SkiaSharp
Triage a SkiaSharp GitHub issue or PR into structured JSON with classification (type, area, platform, severity), suggested response, automatable actions, and companion Markdown/HTML reports.
mono/SkiaSharp
Update native dependencies (libpng, libexpat, zlib, libwebp, harfbuzz, freetype, libjpeg-turbo, etc.) in SkiaSharp's Skia fork.
mono/SkiaSharp
Scout Skia GM (golden master) samples in the externals/skia submodule to find demos worth porting to the SkiaSharp Gallery.
mono/SkiaSharp
Analyze Skia features for SkiaSharp - produces a unified analysis of what shipped (upstream engine benefits, PR links, migration guides) and what's missing (impact/priority/effort scoring, hidden…
Categories
Review a Skia upstream merge PR in mono/skia. An agent skill from mono/SkiaSharp. Review Skia Update is an agent skill from mono/SkiaSharp. Review a Skia upstream merge PR in mono/skia.
Review Skia Update fits situations like: tasks that involve Pull requests.
Run `npx skills add mono/SkiaSharp --skill review-skia-update -a claude-code`. Or copy the skill folder (.agents/skills/review-skia-update in mono/SkiaSharp) into .claude/skills/review-skia-update in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mono/SkiaSharp --skill review-skia-update -a codex`. Or copy the skill folder (.agents/skills/review-skia-update in mono/SkiaSharp) into .agents/skills/review-skia-update in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mono/SkiaSharp --skill review-skia-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-skia-update, .gemini/skills/review-skia-update, .github/skills/review-skia-update and .opencode/skills/review-skia-update in your project.
Going by SKILL.md and its folder, Review Skia Update needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Review Skia Update is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Review Skia Update: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 91k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mono (a GitHub organization) maintains it in mono/SkiaSharp, which has 5,589 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 10, 2026.
Source: mono/SkiaSharp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.