web-extensionlisted
Install: claude install-skill Firzus/agent-skills
# Web Extension
Build extension behavior around explicit browser targets, execution contexts,
permissions, and lifecycle constraints. Treat WebExtensions as a shared model
with vendor-specific seams, not as one perfectly uniform platform.
This skill covers WebExtensions and migrations to that model. Ordinary websites,
browser automation, userscripts, bookmarklets, legacy Chrome Apps, and legacy
Safari App Extensions remain outside its scope.
## Workflow
1. Discover the target before choosing architecture or syntax. Inspect the repo,
then establish browsers and minimum versions, features, UI surfaces, host/data
access, distribution channels, native companion needs, and existing tooling.
Use [discovery and compatibility](./discovery-and-compatibility.md).
2. Create a compatibility matrix. For every required capability, classify it as
common, syntax-different, API-different, or unavailable. Verify uncertain or
version-sensitive support in current vendor documentation before coding.
3. Map execution contexts and message boundaries before implementation. Assign
work to content scripts, background/event code, extension pages, page code, or
a native companion. Define small validated request/response messages. Use
[architecture and implementation](./architecture-and-implementation.md).
4. Map every permission, host pattern, and data flow to a user-visible purpose.
Prefer narrow, optional, and user-initiated access. Use
[permissions, privacy, and secu