captain-obvious: Instructions file for Claude Code

CLAUDE.md

captain-obvious CLAUDE.md is an instructions file for Claude Code from shmulc8/captain-obvious. It costs 413 tokens per session, scanned A, original, MIT.

Contributor instructions for Captain Obvious, a scanner that finds tests that can never fail by checking their logic with a type checker. It supports TypeScript test tools and Python tests with pytest or mypy.

In plain words
What is it for?
Use them when changing detectors, test-analysis rules, command-line scripts, documentation, or the self-test setup.
Why use it?
They explain how to run its tests and keep the Python and TypeScript scanners consistent.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: reads .claude/ paths.

This is shmulc8/captain-obvious's own configuration. It tells Claude Code how to work on captain-obvious 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 captain-obvious configures →

Reuse

Borrowing it

Nothing to install: this file belongs to shmulc8/captain-obvious. 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/shmulc8/captain-obvious/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/shmulc8/captain-obvious

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 captain-obvious CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/shmulc8/captain-obvious/claude-md/github.svg)](https://agentmods.dev/instructions/shmulc8/captain-obvious/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/shmulc8/captain-obvious/claude-md"><img src="https://agentmods.dev/badge/instructions/shmulc8/captain-obvious/claude-md/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 captain-obvious CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/shmulc8/captain-obvious/claude-md"><img src="https://agentmods.dev/badge/instructions/shmulc8/captain-obvious/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 413 This file is loaded in full into every session.
When invoked 413 The same file — it is already loaded in full.
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.00413 $0.00413
Opus 5.5 $0.00165 $0.00165
Sonnet 5.5 $0.00083 $0.00083
Haiku 4.5 $0.00041 $0.00041

Measured 2mo ago against content hash 20d2985be751, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

captain-obvious CLAUDE.md 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 2mo ago.

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.md · 25 lines

What it actually says

captain-obvious — contributor notes

  • Run the self-tests: npm install typescript@^5 --no-save --no-audit --no-fund once, then python3 -m unittest discover -v tests. The tests are unittest TestCase classes with pytest-style filenames — plain pytest also works, but CI runs unittest discover; keep new tests compatible with it (no pytest fixtures/parametrize).
  • TS tests skip silently when typescript is not installed at the repo root. A fully green run must show zero skipped lines.
  • Parity rule: the Python (skills/captain-obvious/scripts/co_py/) and TypeScript (.../co_ts/) engines implement the same detector catalog. A detector change lands on BOTH sides (analyzer.py + analyzer.mjs / classifier.mjs) plus a row in references/detectors.md and the README table, or states in the PR why it is language-specific.
  • Zero dependencies, on purpose: the Python scripts are stdlib-only; the Node scripts import nothing but node:* and the TARGET repo's own typescript. The skill must run when copied bare into ~/.claude/skills/. Never add a manifest dependency to skills/.
  • Finding contract: every finding is {file, line, test, category, level: proven|advisory, deletable: safe|aggressive|report-only, reason}. Only proven + deletable: safe is auto-deleted by --fix — treat any change that widens that set as high-risk and test it in tests/.
  • Write-time hook: hooks/prevent.py, off by default; enable with CAPTAIN_OBVIOUS_HOOK=block|warn. It must always fail open.
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. 2mo ago First seen · 25 lines · 413 tokens per session scan A 20d2985be751

Subscribe to this mod's changes

captain-obvious CLAUDE.md is an instructions file published in the GitHub repository shmulc8/captain-obvious (15 stars, last pushed 29d ago), licensed MIT. It adds 413 tokens to every session, about $0.0017 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-08-30.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,715 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,461 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,750 tokens

deno copilot-instructions.md

Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.

denoland/deno · 3,077 tokens