CRXJS Chrome extension development — true HMR for popup, options, content scripts, side panels, manifest-driven builds, dynamic content script imports (`?script`, `?script&module`), and `defineManifest` for type-safe manifests. Uses Vite as its build tool.
SkillScore95Maintained
Automatic
◆Frontend / UI pack
Last verified 9/19/2026
What it changes
Passed 21 of 22 test cases with the skill, and 15 of 22 without it.
Without skill68%
With skill95%
Checks it passed that the model alone missed
Specify npm create crxjs@latest.
Append the ?script&module query suffix to the import path.
Set browser to 'firefox' in the crx plugin configuration object.
and 5 more in the full report
7 fixed14 passed either way0 still failing1 broke
Pass-rate lift
+27 pp
Tokens
+80%
Agent turns
0%
Response time
-24%
Model gemini-3.6-flashMeasured 9/19/2026v121 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 7 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 7
Prompt
When importing dynamic extension script assets in TypeScript using Vite suffix flags like import script from './content?script', TypeScript reports a missing module type definition. What line should be added to a .d.ts file to fix this?
What was checked, without and with the skill
Checked
Without skill
With skill
Include /// <reference types="@crxjs/vite-plugin/client" /> in the declaration file.
Missed
Passed
case-15 · gemini-3.6-flash · 9/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md316 linessingle file
CRXJS
CRXJS is a Chrome extension development tool that provides true HMR for popup, options, content scripts, and side panels. It reads your manifest to auto-generate the extension output, handles content script injection, and manages the service worker build. Under the hood it is a Vite plugin (@crxjs/vite-plugin).
Current status
Package: @crxjs/vite-plugin (v2.x stable, latest v2.4.0 as of March 2026)
Scaffolding: npm create crxjs@latest (always use @latest)
Maintained by: @Toumash and @FliPPeDround (since mid-2025)
Write or rewrite English into ASD-STE100 Simplified Technical English and strip AI artifacts (decorative emojis, Markdown residue) from technical documentation — maintenance manuals, procedures, medical device instructions, and API docs read by non-native speakers or machine translation. Enforces approved word meanings, technical noun and verb categories, the 20/25-word sentence limits, banned verb tenses, and passive-voice restrictions. Trigger on simplified technical english, STE, ASD-STE100,