overcast CLAUDE.md

Repository instructions for Overcast, a toolkit that gives an AI agent video, audio, and image understanding plus online investigation tools such as search, capture, and monitoring. An investigation case groups the related work.

In plain words
What is it for?
Use them when editing investigation workflows, media understanding, OSINT tools, command definitions, the pi package, the standalone Bun program, or agent skills.
Why use it?
They describe the project’s commands, fixed dependency versions, perception backend, and shared source of truth so changes do not break its different delivery formats.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/kdr/overcast/claude-md
Clone the repo
git clone --depth 1 https://github.com/kdr/overcast
Per session 13,809 This file is loaded in full into every session.
When invoked 13,809 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
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 $0.13809 $0.13809
Opus 5 $0.06904 $0.06904
Sonnet 5 $0.02762 $0.02762
Haiku 4.5 $0.01381 $0.01381

Measured 2d ago against content hash 0591ba8a5a9c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

overcast CLAUDE.md scanned grade A with 1 finding 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 2d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

# uv tool/pipx/pip with curl-cffi impersonation; --full = all of the above)
CLAUDE.md · 714 lines

How it starts

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

CLAUDE.md

Guidance for Claude Code / pi / any agent working in this repo — the quick map + the invariants you must not break. overcast commands --json is the authoritative verb surface; verify against it, not memory.

What this repo is

overcast — a portable toolkit that gives an agent senses (video / audio / image understanding) and OSINT reach (search / capture / monitor), organized around an investigation case. Built on top of pi (the agent harness), with tinycloud / Cloudglue as the default perception backend.

It ships three ways from one source of truth (src/registry/verbs.ts): a pi package (extension + skills + prompts + theme), a standalone bun binary, and agent skills that drive the CLI from any harness.

Stack (pinned)

  • @earendil-works/pi-ai, pi-agent-core, pi-tui, pi-coding-agentexactly 0.82.1. Don't float these; treat upgrades as reviewed changes.
  • @cloudglue/cloudglue-js — the default sense backend (via the tinycloud CLI, exec). Cloudglue is also a pickable brain LLM provider (anthropic-messages API) so it appears in /model — never forced. The tinycloud CLI is a runtime prerequisite (like ffmpeg), not an npm dep; the floor is tinycloud ≥ 0.3.12 (watch.speech.v1) — the watch envelope inlines VERBATIM speech (segments[].speech), so watch/listen transcripts are single-call (listen --diarize still rides the public caption verb, which is also the fallback for 0.3.10/0.3.11 envelopes that ship segments: []); face + index need ≥ 0.3.4, and image see/extract (the opt-in see:tinycloud provider) need ≥ 0.3.7.
  • ffmpeg + ffprobe — a system prerequisite (on PATH, or via OVERCAST_FFMPEG / OVERCAST_FFPROBE); the internal media toolkit, NOT bundled.
  • uv-managed visual/audio DB Python — optional for visual/audio DBs, face:deepface-local, and the enhance:local-models split ops: scripts/visual-db-uv.sh --face installs OpenCV/Numpy and DeepFace/TensorFlow; --clip adds OpenAI CLIP (open_clip + torch + pillow) for the basic-clip semantic DB; --detect adds the OWLv2 open-vocab detector (torch + transformers
    • scipy + pillow) that backs see --detect (set DETECT_PY to the venv); --audio adds scipy for the audio-fp Shazam-style fingerprint DB; --clap adds LAION CLAP (transformers + torch) for the basic-clap audio-embedding DB; --voice adds pyannote.audio (enhance --ops separate + the voice-print speaker-verification DB for voice), --segment adds transformers + SAM2/GroundingDINO (enhance --ops segment), --enhance adds both enhance stacks, --all installs everything. Override with OC_VISUAL_DB_PY / OVERCAST_VISUAL_DB_PY. Voice separation and voice match --diarize additionally need HF_TOKEN + accepted pyannote license (the windowed voice default is ungated).
  • TypeScript / ESM / Node ≥22; tsup (dev build) + bun build --compile (binary).

Read the full file on GitHub · 714 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. 2d ago First seen · 714 lines · 13,809 tokens per session scan A 0591ba8a5a9c

Subscribe to this mod's changes

overcast CLAUDE.md is an instructions file published in the GitHub repository kdr/overcast (15 stars, last pushed 6d ago), licensed Apache-2.0. It adds 13,809 tokens to every session, about $0.0690 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.