Content
68%Weight 40%Scale 1-5Reviews 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.
| Dimension | Reasoning | Score |
|---|---|---|
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 |