Borrowing it
Nothing to install: this file belongs to borbiuk/band-play. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/borbiuk/band-play/master/.claude/skills/verify/SKILL.mdgit clone --depth 1 https://github.com/borbiuk/band-playWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/borbiuk/band-play/verify)<a href="https://agentmods.dev/skills/borbiuk/band-play/verify"><img src="https://agentmods.dev/badge/skills/borbiuk/band-play/verify/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/borbiuk/band-play/verify"><img src="https://agentmods.dev/badge/skills/borbiuk/band-play/verify.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00077 | $0.01054 |
| Opus 5.5 | $0.00031 | $0.00422 |
| Sonnet 5.5 | $0.00015 | $0.00211 |
| Haiku 4.5 | $0.00008 | $0.00105 |
Grade A, and why
verify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 44 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run in order and stop at the first failing step:
npm run check:versions(every version inpackage.jsonis exact)npm run format:check(Prettier--check, as in CI)npm run build(Chrome,dist/)npm run build:firefox(Firefox,dist-firefox/)npm run lint(ESLint on the whole repository, then the TypeScript 7 type check ofsrc/and oftests/withtests/tsconfig.json)npm run lint:firefox(web-ext lintondist-firefox/; see the expected warnings below)npm run test:unit(Playwrightunitproject: pure logic fromsrc/, no browser)npm run test:e2e(Playwrighte2eproject: thedistsetup project rebuildsdist/first, then the extension runs in Playwright's bundled Chromium against Bandcamp snapshots, no network)npm run lint:docs(markdownlint with the Prettier style, thenscripts/check-docs.mjs: relative links and the release headings)npm run lint:unused(knip withknip.jsonc: unused files, exports and dependencies)
Steps 1 to 7 are the order of the build job in build.yml, and step 8 is its e2e job. Steps 9 and 10 are its checks job.
Expected web-ext lint warnings
web-ext lint exits 0 with 0 errors, 0 notices and 16 warnings (measured on version 11.0.0). All 16 are expected:
| Count | Code | File | Why it is expected |
|---|---|---|---|
| 1 | KEY_FIREFOX_UNSUPPORTED_BY_MIN_VERSION |
manifest.json |
browser_specific_settings.gecko.data_collection_permissions needs Firefox 140, but strict_min_version is 128. AMO requires the key; older Firefox versions ignore it |
| 1 | KEY_FIREFOX_ANDROID_UNSUPPORTED_BY_MIN_VERSION |
manifest.json |
The same key needs Firefox for Android 142 |
| 8 | UNSUPPORTED_API |
background.js |
Chrome-only APIs that the code feature-detects: downloads.setUiOptions, downloads.setShelfEnabled, downloads.onDeterminingFilename (batch download) and power.requestKeepAwake / power.releaseKeepAwake (Keep Awake) |
| 6 | UNSAFE_VAR_ASSIGNMENT (innerHTML) |
content.js, options.js, downloads.js (2 each) |
Bundled React DOM code; src/ has no innerHTML |
Report any other warning, any change in these counts, and every error or notice as a finding. Print the full list with npx --no web-ext lint --source-dir dist-firefox --output json when the counts differ.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 44 lines · 77 tokens per session scan A 23e09a151347
verify is a skill published in the GitHub repository borbiuk/band-play (21 stars, last pushed today), licensed MIT. It adds 77 tokens to every session and 1,054 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.
Other skills, from other repositories
verify-work
Verify feature, bug, UI, API, mobile, security, or deployment work against acceptance criteria.
test-building-blocks
Test building block catalog — typed patterns for Storybook play-function tests, Vitest hook tests, Vitest unit tests, MSW handlers, and test data fixtures. Read the relevant rule file before writing or modifying any test, handler, or fixture. Covers: deciding which kind of test to write, authoring a new test from…
extension-test
Set up and run unit, integration, and E2E tests for Chrome extensions. Covers Jest mocks for chrome. APIs and Puppeteer E2E with real Chrome.
testing-best-practices
Support QA and testing work across formats: planning checks, writing test cases, reviewing coverage, designing Playwright browser and component integration tests, creating locators, and keeping automated tests focused on observable product behavior.
e2e-tester
Test a web app like a QA person — open it in a real browser, click through flows, and report what's broken with screenshots and code references. Works on localhost. Use when the user wants to test their app, verify a flow works, check for visual bugs, or validate changes before pushing.
next-cache-components-optimizer
Optimize the meaningful UI available immediately from a Next.js route on an initial load (hard navigation) or named client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route and entry point at a time; the shipped test then guards…