What problem does it solve?
SkiaSharp is a thin managed wrapper over native Skia, so its recurring high-impact bugs are native ownership and disposal leaks: undisposed SKObject handles, wrong owns: flags, double-dispose of same-instance returns, unremoved event subscriptions, and fixed-pointer lifetime bugs. Manually hunting these across the bindings is slow and error-prone, and fixes without empirical proof often swap a leak for a crash.
Core Features & Use Cases
- Leak scanning across 11 catalogued focus areas: Rotates through real historical SkiaSharp leak patterns (undisposed handles, wrong
owns: flags, clone double-frees, delegate-proxy lifetimes, and more) with grep starting points and per-area anti-patterns.
- Empirical confirmation before fixing: Proves each candidate with a WeakReference plus forced-GC probe against the shipped SkiaSharp NuGet package before any code change.
- Red-green regression workflow: Writes a failing test first, applies the minimal idiomatic fix inside
binding/** or source/**, verifies both directions, then files a labeled issue and a linked draft PR.
- Use Case: A maintainer asks the agent to scan SkiaSharp for disposal leaks; the skill picks a focus area, confirms a real leak empirically, fixes it with a passing regression test, and opens a draft PR that auto-closes the filed issue.
Quick Start
Ask the agent to scan SkiaSharp for memory leaks and fix the strongest confirmed candidate with a regression test and draft PR.