webext-core

Utilities for browser extensions - proxy services for cross-context RPC, type-safe messaging, URL match patterns, fake browser for testing, job scheduling, and shadow DOM isolation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "webext-core" with this command: npx skills add timeraa/skills/timeraa-skills-webext-core

webext-core - Browser Extension Utilities

When to Use

Apply this skill when:

  • package.json has any @webext-core/* dependency
  • Code imports defineProxyService, flattenPromise from @webext-core/proxy-service
  • Code imports defineExtensionMessaging, defineWindowMessaging from @webext-core/messaging
  • Code uses MatchPattern from @webext-core/match-patterns
  • Tests use fakeBrowser from @webext-core/fake-browser
  • Code uses defineJobScheduler from @webext-core/job-scheduler
  • Code uses createIsolatedElement from @webext-core/isolated-element

Quick Reference

PackagePurposeReference
@webext-core/proxy-serviceCross-context RPC — call background services from anywherereferences/proxy-service.md
@webext-core/messagingType-safe extension/window/custom event messagingreferences/messaging.md
@webext-core/match-patternsURL pattern matching utilitiesreferences/match-patterns.md
@webext-core/fake-browserIn-memory browser API for unit testingreferences/fake-browser.md
@webext-core/job-schedulerBackground job scheduling via Alarms APIreferences/job-scheduler.md
@webext-core/isolated-elementShadow DOM containers for content script UIsreferences/isolated-element.md
@webext-core/storagelocalStorage-like wrapper (prefer WXT storage if using WXT)references/storage.md
Cross-package patterns and anti-patternsreferences/patterns.md

Most Common Pattern

// services/counter.ts
import { defineProxyService } from '@webext-core/proxy-service';

const [registerCounter, getCounter] = defineProxyService('CounterService', () => {
  let count = 0;
  return {
    increment: () => ++count,
    getCount: () => count,
  };
});

export { registerCounter, getCounter };

// background.ts — register the real implementation
registerCounter();

// popup or content script — call via proxy (all methods return Promise)
const counter = getCounter();
const newCount = await counter.increment();

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

wxt

No summary provided by upstream source.

Repository SourceNeeds Review
General

Find Skills for ClawHub

Search for and discover OpenClaw skills from ClawHub (the official skill registry). Activate when user asks about finding skills, installing skills, or wants...

Registry SourceRecently Updated
1272
Profile unavailable
General

Skill Listing Polisher

Improve a skill's public listing before publish. Use when tightening title, description, tags, changelog, and scan-friendly packaging so the listing looks cl...

Registry SourceRecently Updated
0112
Profile unavailable