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.
npx agentmods add instructions/truecourse-ai/truecourse/claude-mdgit clone --depth 1 https://github.com/truecourse-ai/truecourseWrote 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.
[](https://agentmods.dev/instructions/truecourse-ai/truecourse/claude-md)<a href="https://agentmods.dev/instructions/truecourse-ai/truecourse/claude-md"><img src="https://agentmods.dev/badge/instructions/truecourse-ai/truecourse/claude-md.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.07282 | $0.07282 |
| Opus 5 | $0.03641 | $0.03641 |
| Sonnet 5 | $0.01456 | $0.01456 |
| Haiku 4.5 | $0.00728 | $0.00728 |
Grade A, and why
truecourse 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TrueCourse — Claude Instructions
Key Files to Keep Updated
- docs/SPEC_GUARD_PLAN.md — The source of truth for the guard (spec → scenario) pipeline: design, implementation status, and the numbered decision/work items. When completing work on an item, update its
STATUS:; when adding features or changing scope, update the plan. - README.md — Must reflect the current state of the project. When adding new packages, endpoints, commands, environment variables, or changing the project structure, update the README to match.
Project Layout
apps/dashboard/client/— Vite + React Router frontend (React Flow graph, Tailwind CSS, dark mode)apps/dashboard/server/— Express + Socket.io HTTP layer that serves the dashboard. Thin adapter over@truecourse/core; contains routes, sockets, middleware, and dashboard-only services (analytics, watcher, telemetry).apps/landing/— Public marketing site (Vite + React + Tailwind v4). Standalone, deployed separately from the local dashboard.pnpm --filter @truecourse/landing devruns it on port 3100. Sample OSS analysis reports live inapps/landing/src/data/analyses.ts.packages/core/— Framework-agnostic analysis engine: pipeline, graph/flow services, LLM providers, persistence (analysis-store), config, logger, errors. Consumed by both the CLI and the dashboard server.packages/analyzer/— Tree-sitter (WASM viaweb-tree-sitter) + TypeScript Compiler analysis engine (TS/JS/Python)packages/interface-mapper/— The deterministic interface catalog: CLI (tree + probes), API (route registrations, OpenAPI contracts), RPC routers and web places/resources derived from the analyzer's per-file facts. Feeds guard setup'sinterfacesstep andguard interfaces author; depends only on@truecourse/sharedand@truecourse/guard-runner.packages/llm-api/— The direct-APILlmTransport(createApiTransport) on the Vercel AI SDK:anthropic | openai | bedrock | copilot,generateObjectwhen the request carries a schema, per-call StageUsage. The only OSS package allowed to importai/@ai-sdk/*(enforced bytests/architecture/ee-import-boundary.test.ts);@truecourse/ee-llmre-exports it. Also home to the api-mode session driver (createApiSessionDriver) — the per-turn loop the agent sessions run on inapimode — and the per-provider cache/tool-call tuning table it applies.packages/llm-claude-agent/— The Agent SDK session driver (createClaudeAgentSessionDriver): claude-code mode of the agent loop, one streaming-inputquery()subprocess per session, tools as in-process MCP handlers, outcome via native json-schema output. The only package allowed to reference@anthropic-ai/claude-agent-sdk(enforced by the same boundary test), which is an OPTIONAL peer behind a lazy import — never a compile-time dependency (its optionalDependencies drag a ~300MB binary).packages/agent-loop/— The agent loop, defined in ONE package: the session contract (transcript events, session defs, theSessionDriverseam, sessions-store shapes) and the policy shellrunAgentLoop(budgets, ceilings, resume grants, malformed-outcome policy, seq/ts stamping, depth-1 children). Driver-agnostic by construction — imports neitherainor the Agent SDK nor node builtins; one package per backend implements the seam (llm-api,llm-claude-agent).packages/core/src/services/guard-setup/—guard setup's agent sessions, injected into@truecourse/guard-generator'srunGuardSetup(which stays core-free) bycommands/guard-setup.ts:recipe-repair(loop only on the failure path of deterministic recipe discovery, iterating in one persistentWorkingSandbox),dependency-catalog(classify the starting state after the deterministic externals skeleton; add-only fold intoscenarios/dependencies.json),interfaces-step+reconcile-interfaces(the deterministic interface catalog from@truecourse/interface-mapper, a reconcile session that settles tree-vs-probe disagreements, and theservices/interface-author/engine behindguard interfaces author; the derived catalog isguard/interfaces.json, the authored oneguard/interfaces.authored.json),seed-session(prove-by-execution seed authoring against the live services; the fold re-proves the outcome in a fresh world and restores the tree on refusal) andauth-proof(one short session per user-registered supplied dependency; proof-class, never cached).session-context.tsis the holder of the run record + driver every seam draws from — lazy for the CLI, eager and keyed by repo identity for a hosted run.packages/core/src/services/spec-scan/— The spec scan as agent sessions, the loop's first production consumer:orchestrate(≤1 scope session whose standing instructions ride every downstream briefing and cache key),curate-doc(pooled, one coherent keep/skip/tag judgment per doc — it may page a long doc and peek at a referenced one),settle-areas(a true barrier, concurrency 1) andoverlap(pooled, one session per deterministic COLLISION CLUSTER).run.tsis the whole scan: discovery → prefilter → the four steps → the deterministic fold (pointer re-anchoring, cross-area dedup, high-confidence auto-apply) →writeCorpus. Two invariants: FAIL-OPEN per item (a dead session never drops a doc), and the ONE-ABORT rule — a kind whose every session died transport-class throws BEFORE anything is written.@truecourse/spec-consolidatorkeeps the deterministic half (discovery, prefilter, collision pairing, pointer verification, area grouping, the corpus/decisions stores); it holds no LLM runner and noLlmTransportreference at all.packages/shared/— Shared Zod schemas and TypeScript typespackages/db/—@truecourse/db: the Postgres schema (drizzle) +createDb(one pool, migrations at boot, a dedicated advisory-lock pool). Used by the dashboard server and EE.packages/data-store/—@truecourse/data-store: Postgres implementations of core's storage seams (analyses, specs, guard, config/ui-state, the gh_repos-derived registry, the LLM KV cache, the advisory analyze lock) over a content-addressedcontenttable. Installed by the dashboard server at boot (apps/dashboard/server/src/stores.ts);@truecourse/ee-data-storere-exports it and keeps only EE-only stores (knowledge, traces, workspace settings). The jobs, notifications and pending-baseline stores live here too (jobs-store.ts), consumed by@truecourse/jobs.packages/github-app/— The GitHub App protocol: webhook receiver, connect API, thegh_repos/installations link store (PostgresGateStore).packages/jobs/—@truecourse/jobs: the generic background job runner. A Postgres-backed queue (graphile-worker) with a tracked row per job, the shared lifecycle harness (executeJob: row bookkeeping, the stepped checklist, the standardized notification, the settled hook), a local cancel registry, the LISTEN/NOTIFY event hub, and the three routers the server mounts (/api/events,/api/jobs,/api/notifications). Enqueues are single-flight per(workspace, key). Job TYPES live with their consumer — the dashboard server's are inapps/dashboard/server/src/jobs/tasks/.tools/cli/— CLI commands (analyze, dashboard, list, add, rules). Thin adapter over@truecourse/core— does NOT depend on the dashboard server.tests/— All tests (centralized, not colocated). Organized by package:tests/shared/,tests/analyzer/,tests/server/(covers both dashboard-server routes and core services),tests/cli/.tests/fixtures/— Fixture repos the tests drive:sample-{js,python,csharp}-project-{positive,negative,il}/(analyzer rule fixtures),sample-scheduling-saas/,guard-fixture-cli/(therelkitCLI) andguard-fixture-api/(thetodos+api-v2HTTP servers) for the guard drivers,recipe-propose/androute-manifest-monorepo/for the deterministic recipe/route derivations
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.
- yesterday Changed · +14 lines · +2,175 tokens per session f615d4928f2a
- 5d ago First seen · 120 lines · 5,107 tokens per session scan A c6980922607c
truecourse CLAUDE.md is an instructions file published in the GitHub repository truecourse-ai/truecourse (527 stars, last pushed yesterday), licensed MIT. It adds 7,282 tokens to every session, about $0.0364 per session on Opus 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.
Other instructions, from other repositories
fallow
Rust-native codebase analyzer for TypeScript and JavaScript projects.
static-analysis AGENTS.md
Instructions for analysis-tools-dev/static-analysis, covering guidelines for ai agents and assistants and 🤖 instructions for the ai.
fallow CLAUDE.md
Claude Code instructions for fallow-rs/fallow, covering fallow repository adapter for claude, knowledge layers, workflow, trust boundary and generated surfaces.
roam-code AGENTS.md
AGENTS.md instructions for Cranot/roam-code, covering agents.md — roam-code development guide, what this project is, documentation hub, where files go (private vs public) and quality discipline (from internal/dogfood/ + agi-in-md).
PhpCodeArcheology CLAUDE.md
Instructions for PhpCodeArcheology/PhpCodeArcheology, covering claude.md — phpcodearcheology, project overview, language, tech stack and project structure.
megalinter CLAUDE.md
Claude Code instructions for oxsecurity/megalinter, covering claude.md, project overview, development setup, shell commands — use rtk and key commands.