What problem does it solve?
SkiaSharp is a thin managed wrapper over native Skia, so its recurring performance problems live in the C# layer: P/Invoke transitions paid for trivial float math, allocations on hot parse paths, native lookups redone on every getter, and per-element marshalling in loops. This Skill systematically finds those issues and fixes them with rigorous proof.
Core Features & Use Cases
- Scan mode: Hunts the SkiaSharp performance signature across five hot-path areas (geometry-math, color, handles-and-collections, text-and-fonts, pixels-and-images) using round-robin focus rotation and de-duplication against open issues and PRs.
- Fix mode: Implements the minimal managed optimization, then proves it with two mandatory proofs — a BenchmarkDotNet New-vs-Old benchmark showing a repeatable speedup with no allocation regression, and an equivalence test asserting bit-exact parity with the native path across edge inputs.
- Governed workflow: Enforces golden rules (one optimization per run, ABI stability, x87 float fallback, never edit generated or native code) and files a linked issue plus draft PR, or emits a noop when no convincing candidate exists.
- Use Case: Ask the agent to scan SkiaSharp for performance opportunities; it identifies that a getter redoes a locked HandleDictionary lookup per call, benchmarks a cached-wrapper alternative, proves identical behavior, and opens a draft PR with the measured numbers.
Quick Start
Ask the agent to scan SkiaSharp for managed performance opportunities and fix the strongest candidate it finds.