claude-code-runner CLAUDE.md

Repository instructions for a TypeScript command-line tool that can run prompts, reusable commands, skills, and workflow scripts.

In plain words
What is it for?
Use them when editing the tool, running its type checks, linting, formatting, tests, builds, or working with its command and workflow modes.
Why use it?
They explain the project’s structure and checks so an agent can modify the right part and verify the result.

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/rcrsr/claude-code-runner/claude-md
Clone the repo
git clone --depth 1 https://github.com/rcrsr/claude-code-runner
Per session 716 This file is loaded in full into every session.
When invoked 716 The same file — it is already loaded in full.
Security scan A 0 findings. 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.00716 $0.00716
Opus 5 $0.00358 $0.00358
Sonnet 5 $0.00143 $0.00143
Haiku 4.5 $0.00072 $0.00072

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

Security

Grade A, and why

claude-code-runner 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 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.

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 · 59 lines

How it starts

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

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

@README.md

Commands

npm run check           # Full validation: typecheck + lint + format + test
npm test                # Run all tests
npm run build           # Compile TypeScript

Architecture

CLI modes: prompt (single execution), command (templates from .claude/commands/), skill (slash command /<name>), script (Rill workflows), docs (print rill/CCR reference)

Rill runner (src/rill/runner.ts): Executes .rill scripts using the Rill interpreter with CCR host functions.

Host functions (provided to Rill via ccr:: namespace):

  • ccr::prompt(text, model?, timeout?) → Execute Claude prompt
  • ccr::command(name, args?, timeout?) → Run command template (args is list)
  • ccr::skill(name, args?, timeout?) → Run slash command (args is list)
  • ccr::state(text) → Set the script status line text
  • ccr::get_result(text) → Extract the last XML result from output
  • ccr::has_result(text) → Check if text contains ccr:result
  • ccr::file_exists(path) → Check file existence
  • ccr::get_frontmatter(path) → Parse YAML frontmatter
  • ccr::has_frontmatter(path) → Check if file has frontmatter

Script variables: $ARGS (positional args list, $ARGS[0]…), $ENV (env vars), $name (named args frontmatter), $varname (captures via => $varname). Note: $1/$2/$ARGUMENTS are .claude/commands/ and skill template variables, not valid in .rill scripts.

Constants: All magic numbers live in src/utils/constants.ts

Code Conventions

  • Barrel exports: Each module directory has index.ts re-exporting public APIs
  • Factory functions over classes: Use create* functions (e.g., createLogger())
  • as const over enums: Use const objects with derived types
  • Type guards with unions: Place is* type guards next to discriminated union definitions
  • No global state: Pass state objects through function calls (FormatterState, RunnerContext)

Read the full file on GitHub · 59 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 · 59 lines · 716 tokens per session scan A c7eba6b1eeab

Subscribe to this mod's changes

claude-code-runner CLAUDE.md is an instructions file published in the GitHub repository rcrsr/claude-code-runner (5 stars, last pushed 2mo ago), licensed MIT. It adds 716 tokens to every session, about $0.0036 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-31.