browser-debugger-cli: Skill for Claude Code

.claude/skills/ship/SKILL.md

ship is a skill for Claude Code from szymdzum/browser-debugger-cli. It costs 92 tokens per session (7,585 once invoked), scanned A, original, MIT.

A web research specialist that searches for sources, fetches web pages, analyzes their contents, and writes structured Markdown reports with citations.

In plain words
What is it for?
Use it to search for information, read source pages, organize findings, save intermediate notes, and produce cited research reports.
Why use it?
It replaces an ad hoc search process with a repeatable workflow for gathering and documenting web evidence. It also keeps web access separate from local text processing.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions subagents.

This is szymdzum/browser-debugger-cli's own configuration. It tells Claude Code how to work on browser-debugger-cli itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything browser-debugger-cli configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is - [ ] Change to an action verdict, a hint or a message agents act on: the eval tasks of its area on the branch before merge, next to `main`: `node scripts/agent.

Reuse

Borrowing it

Nothing to install: this file belongs to szymdzum/browser-debugger-cli. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/szymdzum/browser-debugger-cli/main/.claude/skills/ship/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/szymdzum/browser-debugger-cli

Made for: Claude Code.

Wrote 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.

agentmods badge for ship

README.md
[![agentmods](https://agentmods.dev/badge/skills/szymdzum/browser-debugger-cli/ship/github.svg)](https://agentmods.dev/skills/szymdzum/browser-debugger-cli/ship)
Your own site
<a href="https://agentmods.dev/skills/szymdzum/browser-debugger-cli/ship"><img src="https://agentmods.dev/badge/skills/szymdzum/browser-debugger-cli/ship/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.

agentmods 80×15 button for ship

Your own site · 80×15
<a href="https://agentmods.dev/skills/szymdzum/browser-debugger-cli/ship"><img src="https://agentmods.dev/badge/skills/szymdzum/browser-debugger-cli/ship.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 92 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 7,585 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00092 $0.07585
Opus 5.5 $0.00037 $0.03034
Sonnet 5.5 $0.00018 $0.01517
Haiku 4.5 $0.00009 $0.00758

Measured 15d ago against content hash 5a8fce5acff0, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ship 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 15d ago.

The scan reads SKILL.md. This mod also ships 3 executable files (cloud/render.mjs, scripts/ship.mjs, scripts/ship.test.mjs), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

.claude/skills/ship/SKILL.md · 131 lines

How it starts

The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ship (bdg)

You are the orchestrator: you choose the issues, write the briefs, judge the reports, route the findings, and merge. You don't write feature code. Everything mechanical goes through the script, so your attention stays on judgment:

ship() { node "$(git rev-parse --show-toplevel)/.claude/skills/ship/scripts/ship.mjs" "$@"; }   # ship help

Call it only through this function: a command kept in a variable (S="node …"; $S brief …) is not split into words in zsh, and in S14 that wrote two empty briefs.

Each PR gets three independent looks before it lands, none of which sees the author's reasoning: tests written first that fail before the fix (the red commit), a fresh reviewer with the diff and the issue only, and a fresh-agent test in which a new agent uses the change as bdg's real users (coding agents) would. Skip none of them for behaviour changes.

Files:

  • briefs.md: the four briefs and their shared blocks; render them with ship brief. Read before spawning any subagent.
  • scenarios.md: fresh-agent test rounds, the report format, scenarios S01–S17, the exploratory sweep. Read before any fresh-agent test.
  • log.md: one row per merged PR (ship log); the retro's data.
  • scripts/ship.mjs: the commands below; its tests run in npm test.

Session start

  • ship snapshot (gate 8 compares against it; it lives in ~/.cache/ship/, so a reboot keeps it). It and ship brief warn when the load average is above 50: find what is running before starting agents or Chromes (S27: the Mac rebooted mid-session). It also warns when the main checkout's node_modules don't match package-lock.json, as after dependabot merges (S16 #803: an implementer wrote a dead type extension against stale types); run npm ci there, not npm install, which rewrites the lockfile's libc fields. ship worktree warns the same way.
  • Only verified issues go in. Verified means one command you have already run that shows the symptom on main: a bdg invocation on a fixture page or a real site, a test, or a script; deterministic, or for timing bugs reproducing at a rate you can debug against. Record the command and output on the issue; it becomes the red commit's first test. Behaviour that can't be run (dead code, a wrong doc) may be confirmed with file:line. Neither: verify first or ask.
  • Themed sweep first. A session has a theme (one root cause or one area). One verifier (verifier brief, Sweep block filled in) re-runs every open issue of the theme on main and sweeps the theme's surfaces for symptoms the issues don't name. Issues it can't reproduce get a needs repro comment and drop out; new symptoms join an existing issue or an umbrella issue.
  • A pick by the user (named issues, or a mix such as "one hard, two medium, two easy") replaces the theme: the verifier re-runs the picked issues' commands instead of a sweep, and the polish sweep PR is optional.
  • Propose 4–6 issues, one line each on why; recommend one set, no menu. The proposal carries the plan per issue: tier, the acceptance criteria as the tests the red commit will hold, the 5–8 files to read first, open questions. The user's pick of the set is the go for the implementers; it is neither merge authority (its own yes/no below) nor an answer to a product decision. Show the balance: issues opened vs closed since the last session (from log.md and the tracker), and the target of at least two closed for each one filed. At least half of a wave's PRs close issues that predate the session; a feature-only session is the user's explicit choice.
  • Polish sweep PR (themed sessions): one tier-1 PR, last in the session, one commit per wording nit of the queue: human-output text that no test asserts and no agent parses. A --json field, an asserted hint or --help --json text is tier 2, not a sweep item.
  • Waves of at most 2 parallel implementers. Issues touching the same functions or output run in sequence. Two PRs that change different functions of one file may run in parallel; the one that merges second rebases before its gates (S14 #785 next to #782, S15 #799 next to #798: clean rebases, 1–2 h saved each). Light, conflict-free changes first; docs last.
  • Ask for merge authority as a yes/no question: "May I merge on my own once the gates hold, or do you want to OK each PR?" A bare "OK" is not an answer. It doesn't carry over to the next session.
  • Product decisions belong to the user: changed defaults, contracts, exit codes, removed --json fields. Options with a recommendation, then wait. A standing "pick the recommended option" never covers a contract change or a third fix round.

Read the full file on GitHub · 131 lines

Changes

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.

  1. 15d ago Changed · +1 lines 5a8fce5acff0
  2. 16d ago Changed 8cbe66106ded
  3. 17d ago Changed 488945c3ca97
  4. 18d ago Changed 9af97da112ae
  5. 19d ago Changed 7980fd1a756b
  6. 20d ago Changed · +1 lines 24a0d94bcf40
  7. 21d ago Changed · +5 lines d37c25c99fb4
  8. 22d ago Changed 4239a4b4e1b0
  9. 23d ago Changed · +5 lines f009a3b377b1
  10. 24d ago First seen · 119 lines · 92 tokens per session scan A 5df559ecd6ee

Subscribe to this mod's changes

ship is a skill published in the GitHub repository szymdzum/browser-debugger-cli (183 stars, last pushed 2d ago), licensed MIT. It adds 92 tokens to every session and 7,585 once invoked, about $0.0004 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-11.

Related

ship compared with skills from other repositories

ship next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
shipszymdzum/browser-debugger-cliSkill1832d agoMITA92Claude Code
opencli-autofixjackwener/OpenCLISkill31kyesterdayApache-2.0A61Claude Code
smart-searchjackwener/OpenCLISkill31kyesterdayApache-2.0A72Claude Code, Codex
opencli-browserjackwener/OpenCLISkill31kyesterdayApache-2.0A43Claude Code
opencli-adapter-authorjackwener/OpenCLISkill31kyesterdayApache-2.0A38Claude Code
opencli-usagejackwener/OpenCLISkill31kyesterdayApache-2.0A31Claude Code
BrowserBash Browser AutomationPramodDutta/qaskillsSkill2453d agoMITA79Claude Code, Codex