vimmary: Instructions file for Claude Code

CLAUDE.md

vimmary CLAUDE.md is an instructions file for Claude Code from meltforce/vimmary. It costs 6,730 tokens per session, scanned A, original, MIT.

Repository instructions for vimmary, a Go service that turns saved YouTube videos and already-transcribed podcast episodes into searchable summaries.

In plain words
What is it for?
Use them when changing, building, or extending vimmary's summaries, storage, web interface, MCP endpoint, or feeds.
Why use it?
They explain the service's scope and build requirements, including the generated web files needed before compiling it.

Instructions file for Claude Code

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

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

Reuse

Borrowing it

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

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 vimmary CLAUDE.md

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

Your own site · 80×15
<a href="https://agentmods.dev/instructions/meltforce/vimmary/claude-md"><img src="https://agentmods.dev/badge/instructions/meltforce/vimmary/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 6,730 This file is loaded in full into every session.
When invoked 6,730 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.06730 $0.06730
Opus 5.5 $0.02692 $0.02692
Sonnet 5.5 $0.01346 $0.01346
Haiku 4.5 $0.00673 $0.00673

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

Security

Grade A, and why

vimmary 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 1mo 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 · 487 lines

How it starts

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

vimmary — video and podcast summary service

A Go service that turns bookmarked YouTube videos and transcribed podcast episodes into searchable LLM summaries. Video transcripts come from YouTube's InnerTube API, podcast transcripts from cast2md, summaries from Claude or Mistral, storage is Postgres + pgvector. Triggers are Karakeep webhooks, manual URL submission, cast2md feed subscriptions and a deep link from cast2md; results are served over a web UI, an MCP endpoint and three Atom feeds.

It is not a transcription service — the domain is classic YouTube videos (talks, tutorials) plus podcast episodes cast2md has already transcribed. Livestreams, Shorts and playlists are out of scope by decision, and vimmary never downloads audio for podcasts.

Gotchas

web/dist/ is generated and embedded into the binary. web.go carries //go:embed all:web/dist, so go build ./cmd/vimmary fails outright when the directory does not exist — this is what a fresh checkout looks like, because .gitignore excludes it. Either build the frontend first (cd web && npm ci && npm run build) or create the stub the CI creates: mkdir -p web/dist && touch web/dist/.gitkeep.

Two compose files, different audiences. docker-compose.yml is the development stack and pulls :edge from a tailnet-internal registry, which is unreachable from outside the tailnet. compose.example.yml is the one the README points the public at; it pulls ghcr.io/meltforce/vimmary:latest. Changing one does not change the other.

Nothing in the startup path fetches a secret over the network, and that is the point. The init order in cmd/vimmary/main.go is config → tsnet → resolve the database password from the environment → migrations → DB → services → HTTP listener, and run() is that order — each step is a named function (startTailscale, openDatabase, buildService, buildHTTPServer, openListener), so the sequence is readable in one screen rather than inferred from 254 lines. Every defer stays in run; moving one into the function that created the thing it closes closes it immediately. The only remaining network dependency is tsnet itself. Until 2026-08-07 vimmary read three secrets from setec over the tsnet node during startup, and a node the tailnet had not yet placed got access denied — an answer the setec store retries forever. That produced a 6h23min outage with the container up and no listener; see INCIDENTS.md. Reintroducing any network call before the listener reintroduces that failure class.

Read the full file on GitHub · 487 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. 1mo ago Changed · +31 lines · +504 tokens per session 4ce06351e1ec
  2. 1mo ago First seen · 456 lines · 6,226 tokens per session scan A 55a2e4535a9c

Subscribe to this mod's changes

vimmary CLAUDE.md is an instructions file published in the GitHub repository meltforce/vimmary (5 stars, last pushed today), licensed MIT. It adds 6,730 tokens to every session, about $0.0269 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-31.

Related

Other instructions, from other repositories