CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

chrome-extension-developer

Expert in building Chrome Extensions using Manifest V3. Covers background scripts, service workers, content scripts, and cross-context communication.

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/chrome-extension-developer/SKILL.md

The canonical home for this skill is chrome-extension-developer in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

68%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, lean, and largely executable skill body with strong do/don't guidance and a genuinely non-obvious troubleshooting note (ephemeral service workers vs. setTimeout). Its main weakness is that the numbered instructions read as principles rather than a sequenced workflow with validation checkpoints for building or migrating extensions.

Suggestions

Convert the Instructions into a sequenced build/migrate workflow with an explicit validation step, e.g., 'Load the unpacked extension at chrome://extensions and confirm the service worker registers before adding message passing.'

Add a message-passing feedback loop: show the sender side and instruct checking `chrome.runtime.lastError` and retrying when no listener responds.

Add a brief MV2→MV3 migration mapping (background.scripts → background.service_worker, browser_action → action) since migration is listed as a use case but never addressed.

DimensionReasoningScore

Conciseness

The body is tight and directive — no padded explanations of what Chrome extensions are or how the APIs work; instructions like "Use `chrome.alarms` for scheduled tasks rather than `setTimeout`" add non-obvious knowledge. Only minor trimming opportunities exist (the opening role sentence partially duplicates the frontmatter, and instruction 2 re-explains context roles Claude already knows), matching the 'efficient; minor over-explanation' anchor rather than the fully lean 5.

4 / 5

Actionability

Two complete, copy-paste-ready examples (a full manifest.json and a working `chrome.runtime.onMessage` listener) plus concrete API-level instructions (`declarativeNetRequest`, `chrome.storage.local`, `optional_permissions`) match 'mostly executable guidance with minor gaps'. Not a 5 because the message-passing example shows only the listener side (no `sendMessage` caller or `chrome.runtime.lastError` handling) and key instructions like declarativeNetRequest and MV2→MV3 migration have no accompanying code.

4 / 5

Workflow Clarity

The numbered Instructions are principles rather than a sequenced process, and there are no validation checkpoints (e.g., 'load unpacked in chrome://extensions and verify') for the build or migrate workflows — matching 'sequence present but checkpoints missing or implicit'. A 4 would require most checkpoints present; the single Troubleshooting problem/solution pair only partially compensates.

3 / 5

Progressive Disclosure

A self-contained skill with clean, well-labeled sections (Use when / Do not use / Instructions / Examples / Best Practices / Troubleshooting) that is easy to navigate and appropriately sized for a single file — no bundle files exist, so nothing is wrongly inlined or buried. Scored 4 rather than 5 because the body runs ~75 lines (above the 'under 50 lines' simple-skill exception) and content like the Examples/Best Practices could be organized or trimmed slightly further.

4 / 5

Total

15

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, reasonably well-scoped description with strong natural trigger terms for the Chrome MV3 domain, but it completely lacks a 'when to use' trigger clause, which caps completeness and weakens routing. Adding an explicit 'Use when...' sentence would lift it substantially.

Suggestions

Append an explicit trigger clause, e.g., 'Use when building, debugging, or migrating Chrome extensions, or when the user mentions Manifest V3, service workers, or content scripts.'

Add natural user-facing synonyms such as 'message passing', 'browser extension', and 'MV2 to MV3 migration' to trigger_term_quality coverage.

Consider converting the component list into concrete actions (e.g., 'Builds and migrates Chrome extensions; implements service workers, content scripts, and message passing') to strengthen specificity.

DimensionReasoningScore

Specificity

Names the domain ("building Chrome Extensions using Manifest V3") and lists several concrete coverage areas — "background scripts, service workers, content scripts, and cross-context communication" — matching the 'several specifics with minor gaps' anchor. Not a 5 because only one action verb ('building') is given; the rest are component nouns rather than distinct actions like 'migrates', 'debugs', or 'implements'.

4 / 5

Completeness

The 'what' is clear (expert in building MV3 Chrome extensions covering specific component types), but there is no 'Use when...' clause or equivalent trigger guidance, capping completeness at 3 per the judging guidelines. It clearly matches the anchor 'Has a clear what but when is missing'; a 4 would require at least a weakly explicit 'when'.

3 / 5

Trigger Term Quality

Includes natural phrases users would actually say — "Chrome Extensions", "Manifest V3", "service workers", "content scripts" — matching 'good keyword coverage; a few natural terms missing'. Not a 5 because it omits common variants like 'message passing' (it uses the more jargon-y 'cross-context communication'), 'browser extension', '.crx', or 'MV2 to MV3 migration'.

4 / 5

Distinctiveness Conflict Risk

The Chrome-specific framing with "Manifest V3", "service workers", and "content scripts" carves a clear niche with minor overlap risk against closely related skills (e.g., Firefox WebExtension or general web-extension skills), matching 'mostly distinct; minor overlap risk'. Not a 5 because generic terms like "background scripts" and "cross-context communication" are shared with other extension/browser-automation skills.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/chrome-extension-developer/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.