Writes and maintains XML documentation comments for SkiaSharp APIs. Ensures code remains compliant with .NET documentation standards.
Install
mkdir -p .claude/skills/api-docs && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2986" && unzip -o skill.zip -d .claude/skills/api-docs && rm skill.zipInstalls to .claude/skills/api-docs
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Write AND review XML API documentation for SkiaSharp (ECMA/mdoc XML in the docs submodule). Two modes: (1) ADD docs for new APIs with "To be added." placeholders; (2) REVIEW existing docs by scope for accuracy, freshness, examples, and hygiene. Triggers: "document class", "add XML docs", "write XML documentation", "fill in missing docs", "remove To be added placeholders", "review documentation", "check docs for errors", "fix doc issues", "audit the docs", "review the font docs", "are the examples correct", "update out-of-date docs", any request to add, validate, correct, or expand SkiaSharp API documentation.Key capabilities
- →Add XML documentation to SkiaSharp classes
- →Review existing documentation for accuracy
- →Apply .NET XML comment conventions
- →Validate documentation format and hygiene
How it works
The skill routes documentation tasks to specific procedures that edit ECMA/mdoc XML files, ensuring compliance with .NET standards and SkiaSharp patterns.
Inputs & outputs
When to use api-docs
- →Add XML documentation to classes and methods
- →Review existing documentation for errors
- →Apply standard .NET XML comment conventions
- →Document API class structures
About this skill
API Documentation
Write and review the public API prose that mono/SkiaSharp owns. C# ///
comments on public declarations are authoritative. Managed builds generate
compiler XML from those comments and package it beside the managed assemblies.
This repository has no API-reference ECMA/mdoc source, mdoc engine, docs
submodule, XML-editing workflow, or placeholder-writing workflow.
mono/SkiaSharp-API-docs independently consumes package/compiler XML and
_DocsMedia, produces ECMA/mdoc, preserves deferred Uno output, validates,
and publishes Learn. Do not edit that repository or generated output here.
Scope and procedure
- Resolve the consumer-visible public types and members in scope. Read their
declarations and implementations in
binding/orsource/before writing any prose. Implementation-assembly XML does not make an API public. - Add or correct accurate
///comments immediately above public declarations. Work from the source declaration, never from compiler XML. - Generated bindings are source-controlled. Edit only their
///comment trivia directly, then runpwsh -NoLogo -NoProfile -File ./utils/generate.ps1and verify it preserves the intended comments. Never manually change generated declarations, interop code, or implementation. - Follow
references/adding.mdfor source-first authoring orreferences/reviewing.mdfor a source-first review. Apply the detailed syntax and prose rules inreferences/patterns.md. - Refresh documentation-convention knowledge from the first-party sources
listed in
references/patterns.mdbefore a broad authoring or review pass. Reconcile a changed official convention with existing source forms and external rendering before applying it; do not mechanically rewrite source comments merely to match a style rule. - Verify SkiaSharp and HarfBuzzSharp facts in
references/skia-patterns.md, and ensure examples avoid error-obsolete APIs withreferences/obsolete-api-map.md. - Classify findings with
references/checklist.mdand perform the build, compiler-XML, and package checks inreferences/validation.md.
API-documentation contract
- The compiler XML generated from public
///comments is packaged beside the corresponding managed assemblies in bothlib/<tfm>andref/<tfm>. - The XML beside the reference assembly is the consumer-visible documentation
contract. The copy beside
libis intentional but implementation-only XML entries do not expand the public API surface. _DocsMediais versioned source in this repository and a nonshipping transport artifact. The external API-docs repository retrieves matching package and media inputs and owns downstream ECMA/mdoc generation, validation, and publication.
References
| Need | Read |
|---|---|
| Adding or updating source comments | references/adding.md |
| Reviewing documentation and examples | references/reviewing.md |
| C# XML-comment syntax and conventions | references/patterns.md |
| Severity bar and reporting | references/checklist.md |
| Build, compiler-XML, and package validation | references/validation.md |
| SkiaSharp/HarfBuzzSharp factual sources | references/skia-patterns.md |
| Error-obsolete API replacements | references/obsolete-api-map.md |
Boundaries
- Do not manually edit compiler-generated XML or ECMA/mdoc files. In generated
bindings, edit only source-controlled
///comment trivia and verify a generator round trip preserves it. - Do not remove valid public source comments to defer documentation elsewhere. Missing or inaccurate public documentation blocks API review.
- Do not claim defaults, validation, ownership, threading, native layout, or standards behavior without verifying the relevant source.
When not to use it
- →For non-SkiaSharp API documentation
- →When editing generated index files
Prerequisites
Limitations
- →Only supports SkiaSharp/HarfBuzzSharp components
- →Requires manual submodule initialization
How it compares
It enforces a structured, machine-validated documentation workflow compared to manual, ad-hoc comment writing.
Compared to similar skills
api-docs side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| api-docs (this skill) | 1 | 3mo | No flags | Intermediate |
| csharp-developer | 43 | 4mo | No flags | Advanced |
| csharp-pro | 9 | 5mo | No flags | Intermediate |
| performance-benchmark | 3 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by mono
View all by mono →You might also like
csharp-developer
zenobi-us
Expert C# developer specializing in modern .NET development, ASP.NET Core, and cloud-native applications. Masters C# 12 features, Blazor, and cross-platform development with emphasis on performance and clean architecture.
csharp-pro
sickn33
Write modern C# code with advanced features like records, pattern matching, and async/await. Optimizes .NET applications, implements enterprise patterns, and ensures comprehensive testing. Use PROACTIVELY for C# refactoring, performance optimization, or complex .NET solutions.
performance-benchmark
dotnet
Generate and run ad hoc performance benchmarks to validate code changes. Use this when asked to benchmark, profile, or validate the performance impact of a code change in dotnet/runtime.
dotnet-backend-patterns
wshobson
Master C#/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications. Covers async/await, dependency injection, Entity Framework Core, Dapper, configuration, caching, and testing with xUnit. Use when developing .NET backends, reviewing C# code, or designing API architectures.
azure-servicebus-dotnet
microsoft
Azure Service Bus SDK for .NET. Enterprise messaging with queues, topics, subscriptions, and sessions. Use for reliable message delivery, pub/sub patterns, dead letter handling, and background processing. Triggers: "Service Bus", "ServiceBusClient", "ServiceBusSender", "ServiceBusReceiver", "ServiceBusProcessor", "message queue", "pub/sub .NET", "dead letter queue".
backend-testing
exceptionless
Backend testing with xUnit, Foundatio.Xunit, integration tests with AppWebHostFactory, FluentClient, ProxyTimeProvider for time manipulation, and test data builders. Keywords: xUnit, Fact, Theory, integration tests, AppWebHostFactory, FluentClient, ProxyTimeProvider, TimeProvider, Foundatio.Xunit, TestWithLoggingBase, test data builders