Add new C APIs to SkiaSharp by wrapping Skia C++ functionality, or review existing API PRs for correctness and style. Two workflows: (1) Add: C++ analysis → C API → bindings → C wrapper → tests → review (2) Review: check naming, Span overloads, properties, tests, interop safety.
EnglishCheck the CI build health and automation status of SkiaSharp across main and recent release branches. Collects the last N builds from the AzDO pipeline chain (Public + Native → Managed → Tests) and all GitHub Actions workflows from mono/SkiaSharp and mono/SkiaSharp-API-docs, providing a daily dashboard view with AI-powered analysis of failures, regressions, and flakes.
EnglishBulk triage and reproduce multiple SkiaSharp GitHub issues in a single command. Orchestrates parallel triage agents then serial reproduction agents, and presents a consolidated summary. Triggers: "bulk process issues", "triage and repro these issues", "process issues 3400 3428 3429", "process the newest 10 issues", "bulk triage", "batch process issues", any request to triage or reproduce multiple issues at once.
EnglishFix bugs in SkiaSharp C bindings. Structured workflow for investigating, fixing, and testing bug reports. Triggers: Crash, exception, AccessViolationException, incorrect output, wrong behavior, memory leak, disposal issues, "fails", "broken", "doesn't work", "investigate issue", "fix issue", "look at NNNN", any GitHub issue number referencing a bug. For adding new APIs, use api-add-review skill instead.
EnglishReproduce a SkiaSharp issue systematically and capture structured reproduction results. Handles bugs (verify reported behavior) and enhancements (confirm feature is missing). Produces schema-validated JSON with step-by-step commands, outputs, environment details, and conclusion. Triggers: "repro 123", "reproduce 123", "reproduce issue", "try to reproduce", "can you reproduce", "repro this bug", "create reproduction".
EnglishUpdate native dependencies (libpng, libexpat, zlib, libwebp, harfbuzz, freetype, libjpeg-turbo, etc.) in SkiaSharp's Skia fork. Handles security CVE fixes, bug fixes, and version bumps. Use when user asks to: - Bump/update a native dependency (libpng, zlib, expat, webp, etc.) - Fix a CVE or security vulnerability in a native library - Update Skia's DEPS file - Check what version of a dependency is currently used - Analyze breaking changes between dependency versions Triggers: "bump libpng", "update zlib", "fix CVE in expat", "update native deps", "what version of libpng", "check for breaking changes".
EnglishWrite or improve high-signal PR merge commit messages and squash commit messages. Use this whenever the user says "create a commit message for this PR", "write a merge commit message", "draft the squash commit body", "improve this commit message", or asks for a message that preserves the why behind a pull request. This skill inspects the PR, linked issues, and code changes so the final commit message is readable and useful from git history alone.
EnglishCreate a release branch for SkiaSharp. Use when user says "release X", "start release X", "create release branch for X", "I want to release", or "release now". This is the FIRST step of releasing - creates branch and pushes to trigger CI. Can auto-detect next preview version from main branch.
EnglishPublish SkiaSharp packages and finalize the release. Use when user says "publish X", "finalize X", "tag X", or "finish release X". This is the FINAL step - after release-testing passes. Publishes to NuGet.org, creates tag, GitHub release, and closes milestone. Triggers: "publish the release", "push to nuget", "create github release", "tag the release", "close the milestone", "annotate release notes", "testing passed what's next", "finalize 3.119.2", "release is ready".
EnglishRun integration tests to verify SkiaSharp NuGet packages work correctly before publishing. Use when user asks to: - Test/verify packages before release - Run integration tests - Test on specific device (iPad, iPhone, Android emulator, Mac, Windows) - Verify SkiaSharp rendering works - Check if packages are ready for publishing - Run smoke/console/blazor/maui tests - Continue with release - Test version X Triggers: "test the release", "verify packages", "run tests on iPad", "check ios tests", "test mac catalyst", "run android tests", "continue", "test 3.119.2-preview.2".
EnglishReview 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".
EnglishScout Skia GM (golden master) samples in the externals/skia submodule to find demos worth porting to the SkiaSharp Gallery. Reads .cpp files directly from the checked-out submodule, analyzes what each demonstrates, checks whether the required APIs exist in SkiaSharp, and cross-references against existing Gallery samples to identify gaps. Produces a structured JSON report and a GitHub-flavored Markdown report for filtering by interest level, API availability, and sample coverage status. Use this skill whenever the user asks about "what samples should we build", "what demos are we missing", "find interesting Skia GMs", "sample gap analysis", "what can we port from Skia", "gallery ideas", "scout GM samples", or any request to discover demo opportunities from upstream Skia. Also use proactively after adding new APIs to find samples that showcase them.
EnglishAnalyze 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 APIs). Given any combination of git refs, milestones, or no input at all, it scans upstream Skia release notes, diffs bindings, and checks C++ headers to produce a unified report. Use whenever the user asks to "write release notes", "generate changelog", "what changed between versions", "what are we missing", "feature gap analysis", "what should we bind next", "what's new in Skia", "scout features", "diff two tags", "what shipped in this release", "summarize changes since v3.x", "prepare release announcement", or any request to analyze SkiaSharp versions or Skia features. Also use proactively when the user mentions a Skia milestone bump, finishes a release cycle, or asks what went into a specific version.
EnglishUpdate the Skia graphics library to a new Chrome milestone in SkiaSharp's mono/skia fork. Handles upstream merge, C API shim fixes, binding regeneration, C wrapper updates, and dual-repo PR coordination.
EnglishIncludes API Add Review, Issue Bulk Process, Issue Repro, and other workflows.
Supported by the Atlas install prompt. Skill-specific requirements vary.
Pack stats
What’s included
API Add Review
Add new C APIs to SkiaSharp by wrapping Skia C++ functionality, or review existing API PRs for correctness and style. Two workflows: (1) Add: C++ analysis → C API → bindings → C wrapper → tests → review (2) Review: check naming, Span overloads, properties, tests, interop safety.
CI Status
Check the CI build health and automation status of SkiaSharp across main and recent release branches. Collects the last N builds from the AzDO pipeline chain (Public + Native → Managed → Tests) and all GitHub Actions workflows from mono/SkiaSharp and mono/SkiaSharp-API-docs, providing a daily dashboard view with AI-powered analysis of failures, regressions, and flakes.
Issue Bulk Process
Bulk triage and reproduce multiple SkiaSharp GitHub issues in a single command. Orchestrates parallel triage agents then serial reproduction agents, and presents a consolidated summary. Triggers: "bulk process issues", "triage and repro these issues", "process issues 3400 3428 3429", "process the newest 10 issues", "bulk triage", "batch process issues", any request to triage or reproduce multiple issues at once.
Issue Fix
Fix bugs in SkiaSharp C bindings. Structured workflow for investigating, fixing, and testing bug reports. Triggers: Crash, exception, AccessViolationException, incorrect output, wrong behavior, memory leak, disposal issues, "fails", "broken", "doesn't work", "investigate issue", "fix issue", "look at NNNN", any GitHub issue number referencing a bug. For adding new APIs, use api-add-review skill instead.
Issue Repro
Reproduce a SkiaSharp issue systematically and capture structured reproduction results. Handles bugs (verify reported behavior) and enhancements (confirm feature is missing). Produces schema-validated JSON with step-by-step commands, outputs, environment details, and conclusion. Triggers: "repro 123", "reproduce 123", "reproduce issue", "try to reproduce", "can you reproduce", "repro this bug", "create reproduction".
Native Dependency Update
Update native dependencies (libpng, libexpat, zlib, libwebp, harfbuzz, freetype, libjpeg-turbo, etc.) in SkiaSharp's Skia fork. Handles security CVE fixes, bug fixes, and version bumps. Use when user asks to: - Bump/update a native dependency (libpng, zlib, expat, webp, etc.) - Fix a CVE or security vulnerability in a native library - Update Skia's DEPS file - Check what version of a dependency is currently used - Analyze breaking changes between dependency versions Triggers: "bump libpng", "update zlib", "fix CVE in expat", "update native deps", "what version of libpng", "check for breaking changes".
PR Commit Message
Write or improve high-signal PR merge commit messages and squash commit messages. Use this whenever the user says "create a commit message for this PR", "write a merge commit message", "draft the squash commit body", "improve this commit message", or asks for a message that preserves the why behind a pull request. This skill inspects the PR, linked issues, and code changes so the final commit message is readable and useful from git history alone.
Release Branch
Create a release branch for SkiaSharp. Use when user says "release X", "start release X", "create release branch for X", "I want to release", or "release now". This is the FIRST step of releasing - creates branch and pushes to trigger CI. Can auto-detect next preview version from main branch.
Release Publish
Publish SkiaSharp packages and finalize the release. Use when user says "publish X", "finalize X", "tag X", or "finish release X". This is the FINAL step - after release-testing passes. Publishes to NuGet.org, creates tag, GitHub release, and closes milestone. Triggers: "publish the release", "push to nuget", "create github release", "tag the release", "close the milestone", "annotate release notes", "testing passed what's next", "finalize 3.119.2", "release is ready".
Release Testing
Run integration tests to verify SkiaSharp NuGet packages work correctly before publishing. Use when user asks to: - Test/verify packages before release - Run integration tests - Test on specific device (iPad, iPhone, Android emulator, Mac, Windows) - Verify SkiaSharp rendering works - Check if packages are ready for publishing - Run smoke/console/blazor/maui tests - Continue with release - Test version X Triggers: "test the release", "verify packages", "run tests on iPad", "check ios tests", "test mac catalyst", "run android tests", "continue", "test 3.119.2-preview.2".
Review Skia Update
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".
Sample Scout
Scout Skia GM (golden master) samples in the externals/skia submodule to find demos worth porting to the SkiaSharp Gallery. Reads .cpp files directly from the checked-out submodule, analyzes what each demonstrates, checks whether the required APIs exist in SkiaSharp, and cross-references against existing Gallery samples to identify gaps. Produces a structured JSON report and a GitHub-flavored Markdown report for filtering by interest level, API availability, and sample coverage status. Use this skill whenever the user asks about "what samples should we build", "what demos are we missing", "find interesting Skia GMs", "sample gap analysis", "what can we port from Skia", "gallery ideas", "scout GM samples", or any request to discover demo opportunities from upstream Skia. Also use proactively after adding new APIs to find samples that showcase them.
Skia Analyst
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 APIs). Given any combination of git refs, milestones, or no input at all, it scans upstream Skia release notes, diffs bindings, and checks C++ headers to produce a unified report. Use whenever the user asks to "write release notes", "generate changelog", "what changed between versions", "what are we missing", "feature gap analysis", "what should we bind next", "what's new in Skia", "scout features", "diff two tags", "what shipped in this release", "summarize changes since v3.x", "prepare release announcement", or any request to analyze SkiaSharp versions or Skia features. Also use proactively when the user mentions a Skia milestone bump, finishes a release cycle, or asks what went into a specific version.
Update Skia
Update the Skia graphics library to a new Chrome milestone in SkiaSharp's mono/skia fork. Handles upstream merge, C API shim fixes, binding regeneration, C wrapper updates, and dual-repo PR coordination.
Quick start
- Choose your skills. Select individual skills above, or choose the entire pack.
- Copy the install prompt. Use Copy install prompt above the list.
- Send it to your agent. Paste into your coding agent’s chat. Your agent reviews the source and guides the setup.
Try it with your agent
After installation, start with a request like:
Use the API Add Review skill to help with my task.
Ask me for the context you need before getting started.Requirements & license
- A coding agent that can access your project files and install skills.
- Your agent checks each skill’s instructions, dependencies, and permissions during setup.
- Reported license for the skills shown: MIT. The author’s terms apply.