A maintained collection of agent skills for modern browser Web AI APIs: Prompt API, Language Detector API, Translator API, Writing Assistance APIs, Proofreader API, WebMCP, and WebNN.
Standards and preview implementations still shift, browser behavior changes across milestones, and many ecosystem examples go stale quickly. These skills reduce that drift so generated or assisted code stays aligned with the current public specification state instead of relying on outdated snippets or guesswork.
I maintain the skills against current specification and platform changes. That work is informed by participation in the W3C Web Machine Learning Community Group, where several of these APIs are discussed in the open, and by my work as a Google Developer Expert in Web Technologies.
The repository follows the agentskills.io style: lean SKILL.md files, progressive disclosure through references/ and assets/, and deterministic helper scripts where guessing would be brittle.
All skills are available as a single agent plugin (web-ai-skills) through the AI-Native Dev plugin marketplace.
GitHub Copilot CLI
> /plugin marketplace add webmaxru/ai-native-dev
> /plugin install web-ai-skills@webmaxru/ai-native-devVS Code (GitHub Copilot)
Add the marketplace to your settings.json:
Then open the Extensions sidebar, search @agentPlugins, and install web-ai-skills.
Alternatively, run Chat: Install Plugin From Source from the Command Palette and enter https://github.com/webmaxru/ai-native-dev.
Claude Code
> /plugin marketplace add webmaxru/ai-native-dev
> /plugin install web-ai-skills@webmaxru/ai-native-devUse Agent Package Manager (APM) for per-skill installs:
apm init # once per project
apm install webmaxru/agent-skills/skills/SKILL_NAMEskills/prompt-api is the main production-style example skill in the repository. It is scoped to browser Prompt API work in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/prompt-apiInstall with npm:
npx skills add webmaxru/agent-skills --skill prompt-apiIt covers:
- identifying the correct frontend target in a workspace
- confirming Prompt API viability before code changes
- implementing a guarded session wrapper around
LanguageModel - wiring download, ready, sending, and fallback UX states
- validating integrations and handling browser-specific failures
Its support files are split by purpose:
references/prompt-api-reference.mdfor API surface, validation rules, and platform constraintsreferences/examples.mdfor valid prompt shapes and implementation patternsreferences/compatibility.mdfor availability, flags, typings, and breaking-change mappingreferences/polyfills.mdfor native-first polyfill strategies and backend configurationreferences/troubleshooting.mdfor runtime failure cases such as missingLanguageModel, iframe issues, and stale session cleanupassets/language-model-service.template.tsfor a reusable wrapper templatescripts/find-frontend-targets.mjsfor deterministic scanning of likely web entry points and Prompt API markers
skills/language-detector-api is scoped to browser Language Detector API integrations in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/language-detector-apiInstall with npm:
npx skills add webmaxru/agent-skills --skill language-detector-apiIt covers:
- identifying the correct browser app surface for language-detection work
- confirming secure-context, permissions-policy, and browser-preview viability before code changes
- implementing guarded
availability()andcreate()flows with download progress handling - wiring confidence-aware
detect()results,undhandling, and quota-awaremeasureInputUsage()checks - validating cleanup, abort behavior, iframe delegation, and preview-specific compatibility limits
Its support files are split by purpose:
references/language-detector-reference.mdfor API surface, lifecycle rules, result semantics, and permissions-policy constraintsreferences/examples.mdfor support detection, monitored creation, confidence-aware ranking, and cleanup patternsreferences/compatibility.mdfor browser rollout notes, preview flags, iframe rules, and typing guidancereferences/troubleshooting.mdfor missing globals, unavailable models, quota issues, uncertain results, and worker mismatchesassets/language-detector-session.template.tsfor a reusable typed session wrapper templatescripts/find-language-detector-targets.mjsfor deterministic scanning of likely web entry points and Language Detector API markers
skills/translator-api is scoped to browser Translator API integrations in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/translator-apiInstall with npm:
npx skills add webmaxru/agent-skills --skill translator-apiIt covers:
- identifying the correct browser app surface for on-device translation work
- confirming secure-context, permissions-policy, and language-pair viability before code changes
- implementing guarded
availability()andcreate()flows with download progress handling - wiring
translate(),translateStreaming(), input-usage checks, cancellation, and cleanup throughdestroy() - validating browser-specific preview limits, iframe delegation, and unchanged-output edge cases such as identity translation
Its support files are split by purpose:
references/translator-reference.mdfor API surface, lifecycle rules, permission-policy requirements, and quota behaviorreferences/examples.mdfor support detection, monitored creation, full-result translation, streaming translation, and cleanup patternsreferences/compatibility.mdfor browser rollout notes, preview flags, iframe rules, and typing guidancereferences/troubleshooting.mdfor missing globals, blocked creation, quota issues, filtered output, and worker mismatchesassets/translator-session.template.tsfor a reusable typed session wrapper templatescripts/find-translator-targets.mjsfor deterministic scanning of likely web entry points and Translator API markers
skills/writing-assistance-apis is scoped to browser Summarizer, Writer, and Rewriter integrations in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/writing-assistance-apisInstall with npm:
npx skills add webmaxru/agent-skills --skill writing-assistance-apisIt covers:
- identifying the correct browser app surface for writing assistance work
- confirming API availability, secure-context requirements, and download readiness before code changes
- implementing guarded session creation, batch and streaming output flows, and cleanup through
destroy()or abort signals - wiring user-visible download, ready, generating, canceled, and fallback UX states
- validating browser-specific preview limits, permissions-policy constraints, and option-specific failure cases
Its support files are split by purpose:
references/writing-assistance-reference.mdfor shared lifecycle rules, session methods, option surfaces, and iframe permission requirementsreferences/examples.mdfor feature detection, monitored creation, batch usage, streaming usage, cancellation, and cleanup patternsreferences/compatibility.mdfor browser rollout notes, preview flags, hardware constraints, and support boundariesreferences/troubleshooting.mdfor missing globals,NotAllowedError,NotSupportedError, quota issues, and streaming failuresassets/writing-assistance-session.template.tsfor a reusable typed wrapper templatescripts/find-writing-assistance-targets.mjsfor deterministic scanning of likely web entry points and Writing Assistance API markers
skills/proofreader-api is scoped to browser Proofreader API integrations in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/proofreader-apiInstall with npm:
npx skills add webmaxru/agent-skills --skill proofreader-apiIt covers:
- identifying the correct browser app surface for proofreading work
- confirming secure-context, permissions-policy, and preview-browser viability before code changes
- implementing guarded
availability()andcreate()flows with download progress handling - wiring
proofread()result handling, correction rendering, and quota-awaremeasureInputUsage()checks - validating cleanup, unsupported-option fallbacks, and preview-specific compatibility limits
Its support files are split by purpose:
references/proofreader-reference.mdfor API surface, lifecycle rules, result shape, and permissions-policy constraintsreferences/examples.mdfor support detection, monitored creation, correction rendering, quota-aware checks, and cleanup patternsreferences/compatibility.mdfor spec-versus-preview differences, browser rollout notes, flags, hardware requirements, and typing guidancereferences/troubleshooting.mdfor missing globals, unavailable models, unsupported option combinations, runtime failures, and worker mismatchesassets/proofreader-session.template.tsfor a reusable typed session wrapper templatescripts/find-proofreader-targets.mjsfor deterministic scanning of likely web entry points and Proofreader API markers
skills/webmcp is scoped to browser WebMCP integrations in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/webmcpInstall with npm:
npx skills add webmaxru/agent-skills --skill webmcpIt covers:
- identifying the correct browser app surface for WebMCP work
- choosing between imperative
navigator.modelContexttools and declarative form annotations - implementing guarded registration and cleanup for page-hosted tools
- handling preview-specific agent-invoked form flows without making them the portability baseline
- validating WebMCP behavior against the current Chrome preview and public draft
Its support files are split by purpose:
references/webmcp-reference.mdfor core WebMCP concepts, API semantics, and registration rulesreferences/declarative-api.mdfor declarative form annotations, submit handling, and related preview behaviorreferences/compatibility.mdfor Chrome preview requirements, removed surfaces, and draft-versus-preview differencesreferences/troubleshooting.mdfor missingnavigator.modelContext, registration failures, and stale UI issuesassets/model-context-registry.template.tsfor a reusable imperative registration helperscripts/find-webmcp-targets.mjsfor deterministic scanning of likely web entry points and WebMCP markers
skills/webnn is scoped to browser Web Neural Network API integrations in JavaScript or TypeScript web apps.
Install with APM:
apm install webmaxru/agent-skills/skills/webnnInstall with npm:
npx skills add webmaxru/agent-skills --skill webnnIt covers:
- identifying the correct browser integration surface for local inference work
- confirming secure-context,
navigator.ml, and device viability before code changes - implementing guarded
MLContextandMLGraphBuilderflows with explicit runtime selection - wiring fallback behavior for unsupported devices or browsers without silently switching to remote inference
- validating context creation, graph execution, tensor readback, and preview-specific behavior against the current spec and runtime landscape
Its support files are split by purpose:
references/webnn-reference.mdfor API surface, execution model, and graph/runtime rulesreferences/examples.mdfor direct graph and adapter implementation patternsreferences/compatibility.mdfor browser support, preview requirements, and backend differencesreferences/troubleshooting.mdfor context creation failures, dispatch issues, readback problems, and device fallback behaviorassets/webnn-runtime.template.tsfor a reusable runtime wrapper templatescripts/find-webnn-targets.mjsfor deterministic scanning of likely web entry points and WebNN markers
These prompt files support maintenance workflows in this repo:
create-web-ai-skill.prompt.mdruns a five-phase workflow for a skill underskills/: creation, validation and remediation, supporting prompt creation, README update, and install verification; it also supports explicit single-phase execution through astep=selectorvalidate-skills.prompt.mdreviews skills against the local authoring workflowremediate-skills.prompt.mdapplies targeted fixes to skillsprompt-api-skill-update.prompt.mdrefreshes the Prompt API skill from current docs and user-supplied updatesproofreader-api-skill-update.prompt.mdrefreshes the Proofreader API skill from user-supplied updates, attachments, and the current specification and browser guidancelanguage-detector-api-skill-update.prompt.mdrefreshes the Language Detector API skill from user-supplied updates, attachments, and the current specification and browser guidancetranslator-api-skill-update.prompt.mdrefreshes the Translator API skill from user-supplied updates, attachments, and the current specification and browser guidancewriting-assistance-apis-skill-update.prompt.mdrefreshes the Writing Assistance APIs skill from user-supplied updates, attachments, and the current specification statewebmcp-skill-update.prompt.mdrefreshes the WebMCP skill from user-supplied updates, attachments, and the current specification statewebnn-skill-update.prompt.mdrefreshes the WebNN skill from user-supplied updates, attachments, and the current specification stateprompt-api-create-chat-demo-plain-html.prompt.mdrecreates or extends a plain HTML Prompt API demo underartifacts/prompt-api/proofreader-api-create-demo-plain-html.prompt.mdcreates or recreates a plain HTML Proofreader API demo underartifacts/proofreader-api/language-detector-api-create-demo-plain-html.prompt.mdcreates or recreates a plain HTML Language Detector API demo underartifacts/language-detector-api/translator-api-create-demo-plain-html.prompt.mdcreates or recreates a plain HTML Translator API demo underartifacts/translator-api/writing-assistance-apis-create-demo-plain-html.prompt.mdcreates or recreates a plain HTML Writing Assistance APIs demo underartifacts/writing-assistance-apis/webmcp-create-demo-plain-html.prompt.mdcreates or recreates a plain HTML WebMCP demo underartifacts/webmcp/webnn-create-demo-plain-html.prompt.mdcreates or recreates a plain HTML WebNN demo underartifacts/webnn/add-agent-plugin-distribution.prompt.mdadds Claude Code, VS Code (GitHub Copilot), and Copilot CLI plugin distribution to any agent skills repository — creates manifests, marketplace catalogs, and README documentation
.agents/skills/skill-creator is the local authoring skill and repository source of truth for creating and reviewing skills.
It includes:
SKILL.mdwith the authoring procedurescripts/validate-metadata.pyfor metadata validationassets/SKILL.template.mdas a starting point for new skillsreferences/checklist.mdfor final review
Use it when creating or revising agent skills. Do not use it for generic repository documentation or other non-skill content.
When adding or revising a skill here, keep these rules intact:
- The skill directory name must match the YAML
nameexactly. - Skill descriptions should be precise enough to route correctly and include both positive and negative triggers.
SKILL.mdshould stay lean, procedural, and agent-oriented.- Large examples, verbose rules, and schemas belong in
references/orassets/. - File paths inside skills should stay relative and use forward slashes.
- Skill folders should remain flat under
scripts/,references/, andassets/. - Human-oriented files such as per-skill
README.mdorCHANGELOG.mdshould not be added inside skill directories. - The validation path for new or revised skills is
.agents/skills/skill-creator/scripts/validate-metadata.pyplus.agents/skills/skill-creator/references/checklist.md.
python .agents/skills/skill-creator/scripts/validate-metadata.py \
--name "your-skill-name" \
--description "Describes what the skill does, when to use it, and when not to use it."The validator checks naming rules, description length, and whether the description leaks first- or second-person phrasing.
node skills/prompt-api/scripts/find-frontend-targets.mjs .The scanner prioritizes common web entry points such as package.json, index.html, and framework bootstrap files while ignoring transient directories such as node_modules, dist, build, .next, .nuxt, coverage, out, and target.
node skills/writing-assistance-apis/scripts/find-writing-assistance-targets.mjs .The scanner prioritizes common browser entry points and reports existing Writing Assistance API markers such as Summarizer, Writer, Rewriter, and their streaming methods.
node skills/proofreader-api/scripts/find-proofreader-targets.mjs .The scanner prioritizes common browser entry points and reports existing Proofreader API markers such as Proofreader, proofread(), correction-detail options, and the proofreader permissions-policy token.
node skills/webmcp/scripts/find-webmcp-targets.mjs .The scanner prioritizes common web entry points and reports existing imperative or declarative WebMCP markers such as navigator.modelContext, registerTool(), unregisterTool(), and form tool annotations.
node skills/webnn/scripts/find-webnn-targets.mjs .The scanner prioritizes common browser app entry points and reports existing local inference markers such as navigator.ml, createContext(), MLGraphBuilder, and related runtime setup code.
- Draft a valid
nameand a routing-focuseddescription. - Run the metadata validator until it passes.
- Create a new folder under
skills/. - Start from
.agents/skills/skill-creator/assets/SKILL.template.md. - Keep the main procedure in
SKILL.mdand move bulky detail intoreferences/orassets/. - Review the result against
.agents/skills/skill-creator/references/checklist.md.
The saved prompt named Create Skill supports a mandatory five-phase full workflow and direct single-phase execution. Use the exact argument text below when invoking that saved prompt.
Full workflow, all five phases mandatory:
Create Skill: step=all
Then reply to the prompt's required questions in order:
webgpu-audio
Browser-side use of WebGPU audio processing in JavaScript or TypeScript web apps, including capability checks, initialization, error handling, and compatibility limits.
URLs:
- https://example.com/spec
Attached documents:
- webgpu-audio-notes.pdf
Notes:
- Focus on browser-only usage.
- Stop when secure context or feature flags are missing.
Phase 1 only, skill creation:
Create Skill: step=create
Then reply in the same required order: skill name, skill scope, then source materials.
Phase 2 only, validation and remediation for an existing skill:
Create Skill: step=validate-remediate skill-name=webgpu-audio
Phase 3 only, supporting saved prompts for an existing skill:
Create Skill: step=supporting-prompts skill-name=webgpu-audio
Phase 4 only, root README update for an existing skill:
Create Skill: step=readme-update skill-name=webgpu-audio
Phase 5 only, install verification for an existing skill:
Create Skill: step=install-test skill-name=webgpu-audio
Another direct example with inline scope details:
Create Skill: step=validate-remediate skill-name=webnn notes="tighten negative triggers and re-check metadata"
- agentskills.io best practices: https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
- skill-creator template and checklist: https://github.com/mgechev/skills-best-practices
- skill-eval benchmark: https://github.com/mgechev/skill-eval