broll: Instructions file for Claude Code

CLAUDE.md

broll CLAUDE.md is an instructions file for Claude Code from luke-fairbanks/broll. It costs 778 tokens per session, scanned C, original, MIT.

An MCP server that gives coding agents tools for producing short-form video content, including AI-generated material, repeatable rendering, and draft-first publishing.

In plain words
What is it for?
Use it to build and render branded video plans, create overlays and captions, manage outbox drafts, and prepare content for publishing with vendor keys supplied through the environment.
Why use it?
Its rules keep visual layout in code for consistent output, protect API keys, make rendering repeatable, and prevent content from being posted before a draft exists and the caller confirms it.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md.

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

Reuse

Borrowing it

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

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

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

Your own site · 80×15
<a href="https://agentmods.dev/instructions/luke-fairbanks/broll/claude-md"><img src="https://agentmods.dev/badge/instructions/luke-fairbanks/broll/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 778 This file is loaded in full into every session.
When invoked 778 The same file — it is already loaded in full.
Security scan C 1 finding. 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.00778 $0.00778
Opus 5.5 $0.00311 $0.00311
Sonnet 5.5 $0.00156 $0.00156
Haiku 4.5 $0.00078 $0.00078

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

Security

Grade C, and why

broll CLAUDE.md scanned grade C 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 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.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

- npm sometimes drops rolldown/sharp native bindings (npm/cli#4828): fix is `rm -rf node_modules package-lock.json && npm install`.
CLAUDE.md · 34 lines

How it starts

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

broll — architecture rules

broll is an MCP server that gives coding agents content-production hands: BYO-key generation, deterministic rendering, draft-first publishing. These rules are binding for all changes.

Non-negotiables

  1. The model plans; code renders. Anything that must look consistent (layout, fonts, spacing, captions, branding) lives in TypeScript, never in a prompt. If AI output drifts, the fix is moving that part into code.
  2. Determinism. compilePlan and slideOverlaySvg are pure functions: same inputs → same ffmpeg args / same SVG. No Date.now(), no randomness in render paths. IDs come from the injectable IdGenerator.
  3. Draft-first publishing. No code path may post to a network without (a) a draft file existing in the outbox and (b) confirm: true from the caller. Never weaken this.
  4. BYO keys only. Keys are read from env, sent only to their vendor's API, never logged, never proxied.
  5. Errors must be actionable. Every thrown error tells the agent what to do next (which tool to call, which env var to set). ffmpeg failures include the stderr tail.

Layout

  • src/config.ts — env + broll.config.json (brand kit). zod-validated.
  • src/workspace.ts — on-disk state: assets/renders/drafts/tmp + manifest. All tool outputs are inspectable files.
  • src/render/ — the crown jewel. plan.ts compiles declarative RenderPlans to ffmpeg args (pure); renderer.ts is the only orchestrator; ffmpeg.ts is the only place a process spawns; carousel.ts composes slides via sharp+SVG.
  • src/providers/ — Strategy pattern. registry.ts picks explicit → config default → first configured → mock. The mock provider must always keep every workflow runnable keyless.
  • src/social/ — Adapter pattern per platform + constraints.ts (validate before publish) + drafts.ts (outbox) + publisher.ts (per-platform results, never all-or-nothing).
  • src/server.ts — thin MCP tool wrappers only; logic lives in services. src/broll.ts is the composition root.

Read the full file on GitHub · 34 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. 2mo ago First seen · 34 lines · 778 tokens per session scan C 841e8f268430

Subscribe to this mod's changes

broll CLAUDE.md is an instructions file published in the GitHub repository luke-fairbanks/broll (5 stars, last pushed 4mo ago), licensed MIT. It adds 778 tokens to every session, about $0.0031 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

broll CLAUDE.md compared with instructions from other repositories

broll CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
broll CLAUDE.mdluke-fairbanks/brollInstructions file54mo agoMITC778Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143ktodayMITA7,461Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA5,685GitHub Copilot
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195ktodayMITA3,086GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file280k2d agoMITA4,325Codex, OpenCode