review-skia-update

Review Skia upstream merge PRs and produce schema-validated audit reports.

5.6k|645|Updated Feb 22, 2016
One-click install
npx skills add https://github.com/mono/SkiaSharp --skill review-skia-update
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: review-skia-update
Source: https://github.com/mono/SkiaSharp/tree/main/.agents/skills/review-skia-update
Command: npx skills add https://github.com/mono/SkiaSharp --skill review-skia-update

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Reviewing a Skia upstream merge in mono/skia means auditing 100K–500K line diffs across two coordinated PRs, which is impractical to do manually. This Skill reduces those diffs to focused, human-reviewable artifacts covering generated bindings, source integrity, DEPS changes, and companion C# changes.

Core Features & Use Cases

  • Orchestrated mechanical checks: A single script fetches PR metadata, checks out both PRs, regenerates P/Invoke bindings, runs diff-of-diffs source integrity checks, audits DEPS, and analyzes the companion SkiaSharp PR.
  • Structured review report: Produces a schema-validated JSON report with factual per-file summaries, actual diff content, risk assessment, and cross-linked related files.
  • Validation and persistence: Validates the report against skia-review-schema.json, then persists it to output/ai/ and renders a self-contained HTML report (Bootstrap 5 + diff2html) for attaching to a PR or issue.
  • Use Case: When a maintainer opens a "Bump skia to milestone 147" PR pair, run this Skill to verify the generated bindings match independent regeneration, confirm no fork patches were silently dropped, and audit every dependency revision change before merge.

Quick Start

Ask the AI to review skia update PR #NNN together with its companion SkiaSharp PR and milestone number.

Frequently Asked Questions about review-skia-update

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review a Skia upstream merge PR in mono/skia?

Run the orchestrator script run_review.py with the skia PR number, companion SkiaSharp PR number, and milestone. It fetches both PRs, runs all integrity checks, and writes raw-results.json, which you then summarize into a schema-validated report.

How are generated P/Invoke bindings verified during a Skia update?

The check regenerates SkiaApi, SkottieApi, SceneGraphApi, and ResourcesApi generated files independently using the SkiaSharpGenerator project, then diffs them against the checked-in versions. Any mismatch produces a FAIL status.

What does the DEPS audit check in a Skia milestone bump?

The audit parses DEPS files via Python AST analysis and compares base versus head dependencies, reporting added, removed, and changed entries with upstream revision comparison. All changes are flagged REVIEW_REQUIRED because the fork carries custom pins.

Why did the review orchestrator fail on a dirty working tree?

The orchestrator requires clean working trees in both the SkiaSharp repo and the skia submodule before checkout. Stash or commit local changes, then re-run; it also initialises the submodule and syncs third-party dependencies automatically.

Can I re-run the generator check to get a PASS result?

No. The Skill enforces a strict no-retry policy: the orchestrator runs exactly once and a FAIL from binding regeneration is the authoritative result. Re-running to obtain a different outcome is explicitly prohibited.