solo-orchestrator: Instructions file for Claude Code

CLAUDE.md

solo-orchestrator CLAUDE.md is an instructions file for Claude Code from kraulerson/solo-orchestrator. It costs 11,529 tokens per session, scanned C, original, MIT.

A repository guide for Solo Orchestrator, a framework that generates projects for other applications. It explains the difference between the framework and the generated projects, along with commands and tracking rules.

In plain words
What is it for?
Use it to understand the repository, generate or resume downstream projects, follow the correct kickoff flow, and check project-specific commands and issue records.
Why use it?
It prevents contributors from editing the wrong project or relying on outdated counts and startup instructions.

Instructions file for Claude Code

Written for Claude Code: PreToolUse hook event. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions Claude Code.

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

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/t/r.

Reuse

Borrowing it

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

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 solo-orchestrator CLAUDE.md

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

Your own site · 80×15
<a href="https://agentmods.dev/instructions/kraulerson/solo-orchestrator/claude-md"><img src="https://agentmods.dev/badge/instructions/kraulerson/solo-orchestrator/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 11,529 This file is loaded in full into every session.
When invoked 11,529 The same file — it is already loaded in full.
Security scan C 3 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.11529 $0.11529
Opus 5.5 $0.04612 $0.04612
Sonnet 5.5 $0.02306 $0.02306
Haiku 4.5 $0.01153 $0.01153

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

Security

Grade C, and why

solo-orchestrator CLAUDE.md scanned grade C with 3 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 4d 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.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

Run as a NON-root user or every `chmod 555` fixture silently stays writable.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

grep is a shell function from /Users/karl/.claude/shell-snapshots/snapshot-zsh-….sh

Makes network callslowCapability

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

Add `curl ca-certificates` to the apt line; `ubuntu:24.04` has neither, and
CLAUDE.md · 637 lines

How it starts

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

CLAUDE.md — agent orientation for the solo-orchestrator repo

Read this first. It is the map for working effectively in THIS repository. Counts are date-stamped (they drift); prefer the grep/command recipes — run them to get current truth. Verified 2026-07-23.

WHAT THIS REPO IS

This is the framework repo that GENERATES downstream projects — it is not itself a scaffolded project. init.sh scaffolds a new project elsewhere; the files a downstream agent reads at kickoff live in the GENERATED project, not here.

  • The README "Quick Start" no longer carries a kickoff prompt of its own (BL-202 residual 2). It points at bash scripts/resume.sh — the single state-aware first-message generator, whose three branches are the intake prompt, PROJECT_INTAKE.md § 13 verbatim, and the classic resume prompt — plus, checked before them, the assessment prompt for an adopted project not yet assessed (# BL-242-RESUME-ASSESSMENT, which prints a file adoption wrote). That script and everything its output names (CLAUDE.md, PROJECT_INTAKE.md, docs/reference/…, .claude/phase-state.json) exist in generated projects only; the README says so in as many words, because it is read by people who have not run init yet. Do not re-add a verbatim paste block here — the hand-maintained copy is what drifted, and tests/test-bl202-readme-kickoff-consolidation.sh now fails if one comes back (literal signatures and a structural bare-fence net, five mutation proofs).
  • init.sh ships the guide downstream to docs/reference/: see the cp "$SCRIPT_DIR/docs/builders-guide.md" docs/reference/ line (grep builders-guide in init.sh). In THIS repo the guide is docs/builders-guide.md (top level), and there is no PROJECT_INTAKE.md and no .claude/phase-state.json.
  • docs/INDEX.md is the documentation map — a one-screen index of docs/** and Reports/**. Start there to find a doc.

ENVIRONMENT TRAPS

  • No timeout / gtimeout on this macOS host. Wrapping a command in them yields a spurious rc=127 (command-not-found), not a real timeout. Do not use them.
  • The repo path contains a space (Claude Projects/…). Quote every path in every command, always.
  • bash is 3.2 (/bin/bash, GNU bash 3.2.57). In product code: no ${var,,} lowercasing, no associative arrays (declare -A), no nullglob. Use temp files / indexed arrays instead.
  • sed with a | delimiter and a shell-code replacement bites, and it bites SILENTLY. Shell replacements are |-dense (||), so s|old|new| where new contains || either errors (bad flag in substitute command) or — worse — terminates the expression early and leaves the file unchanged while sed reports success. It has bitten three times (twice inside a mutation harness, once ad-hoc), and 25 files carry s|-delimited sed. Two rules: pick a delimiter absent from the replacement, and assert the edit actually applied (a changed-line count), because "sed ran" is not "sed edited". A related one-liner: & in a sed replacement means the whole match — an unescaped && splices the original line back in, and that mutant passes bash -n. See ## BL-224: for the sibling case where a lint's own regex over-matched for the same reason.
  • The same & trap lives in bash's own ${var/pat/rep}, and it is VERSION-SPLIT between this host and CI. Since bash 5.2 an unescaped & in the replacement of a pattern substitution means THE WHOLE MATCH, exactly as in sed; bash 3.2 has no such rule. 5.2 is the boundary, not 5.1 — measured, u='one TWO three'; "${u//TWO/&}" gives one & three on 3.2.57, 5.0.18 and 5.1.16 and one TWO three on 5.2.37, and the shopt that governs it (patsub_replacement, on by default) does not exist before 5.2. This Mac runs 3.2 and the runners run 5.2, so a replacement carrying && — which every shell guard does — produces the intended text locally and splices the match back in on CI. It is silent in the worst way: the line still changes, the changed-line count is still right, and bash -n is still clean, so a mutation harness reports a healthy mutant that no longer mutates. That is a red rest shard on PR #380, found only because the mutant stopped killing its case. Two rules, the same two as for sed: do not use ${var/pat/rep} when the replacement can contain & — split on the pattern instead (lhs="${s%%"$pat"*}"; rhs="${s#*"$pat"}"), which has no & rule in any version — and assert the replacement LANDED, by its own literal text, not by a line count. soif_sed_repl_esc in helpers-core.sh is unaffected, but do not try to read that off the spelling — two drafts of this bullet reasoned about it and both were wrong. Measure it. Double-quoted, t='R&D tools', u='one TWO three':
    replacement, as written   what it is        bash 3.2      bash 5.2
    ${t//&/\\&}   <- REAL      two backslashes   R\&D tools    R\&D tools
    ${t//&/\&}                  one backslash     R\&D tools    R&D tools
    ${u//TWO/\\&}              two backslashes   one \& three  one \TWO three
    ${u//TWO/&}                 bare &            one & three   one TWO three
    
    On 5.2, \\ collapses at quote removal to a LITERAL backslash that does not escape, so \\& is backslash-plus-whole match; a single \& is an escaped & and yields a literal & with the backslash consumed; a bare & is the whole match. On 3.2 all three are literal. So the real source line — t="${t//&/\\&}", two backslashes — is byte-identical across versions ONLY because its pattern is the single character &, which makes "the whole match" happen to be &. Change that pattern and the versions diverge in silence. tests/test-bl255-sed-replacement-escape.sh pins those bytes in the unit lane, and that is what would catch it — but only there. Mutate the helper's \\& to \& and that suite stays GREEN on this Mac and goes red only on the runner, which is this same trap one level up: a local run of the suite that guards the trap does not see the trap. Reproduce the runner's bash on this host:
    docker run --rm -v "$PWD:/repo:ro" ubuntu:24.04 bash -c 'apt-get update -qq \
      && apt-get install -y -qq jq git && useradd -m t && cp -r /repo /home/t/r \
      && chown -R t /home/t/r && su t -c "cd /home/t/r && bash tests/<file>.sh"'
    
    Run as a NON-root user or every chmod 555 fixture silently stays writable.
  • A local that DECLARES without ASSIGNING is a second version split, and it is NOT the same boundary as the one above — it is bash 4.0, not 5.2. local t followed by a read of $t under set -u is an empty string on bash 3.2 and an unbound variable that exits the shell on 4.0 and every version after. Measured, same probe, bash:<v> images plus this Mac — f() { local t; [ -n "$t" ] && echo hit; echo AFTER; }:
    bash 3.2.57 (this Mac AND the container)   empty, prints AFTER, rc 0
    bash 4.0.44 / 4.1.17 / 4.2.53 / 4.4.23     t: unbound variable, rc 1
    bash 5.0.18 / 5.1.16 / 5.2.37 / 5.3.20     t: unbound variable, rc 1
    
    Do not merge this into the ${var/pat/rep} bullet. That one flips at 5.2 and 5.1 is on the safe side; this one flips at 4.0 and every bash a runner has shipped this decade is on the failing side. The 2026-09-18 commit that fixed the first instance (81316ea) named 3.2-vs-5.2 because those were the two hosts in front of it — true, and it reads as a 5.x rule, which it is not. Measure the boundary before you quote one.

Read the full file on GitHub · 637 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. 4d ago Changed · +10 lines · +196 tokens per session 9de8f32ff989
  2. 5d ago Changed · +4 lines · +75 tokens per session 07e804f0be4f
  3. 8d ago Changed · +2 tokens per session ad40b7f228db
  4. 15d ago Changed · +9 lines · +165 tokens per session 1b0ba9fc5d4a
  5. 16d ago Changed · +9 lines · +168 tokens per session 6ac57055fb03
  6. 24d ago Changed · +7 tokens per session 7159f38e23e4
  7. 1mo ago Changed · +2 lines · +44 tokens per session dd86234cf323
  8. 1mo ago Changed · +44 lines · +932 tokens per session scan B → C 5ddc929e2cc0
  9. 1mo ago Changed · +60 lines · +1,132 tokens per session 619922437de1
  10. 1mo ago First seen · 499 lines · 8,808 tokens per session scan B c8b10c972406

Subscribe to this mod's changes

solo-orchestrator CLAUDE.md is an instructions file published in the GitHub repository kraulerson/solo-orchestrator (30 stars, last pushed 4d ago), licensed MIT. It adds 11,529 tokens to every session, about $0.0461 per session on Opus 5.5. A static security scan graded it C with 3 findings (asks for root, reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,715 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,581 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,731 tokens

deepseek-harness AGENTS.md

AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.

deepseek-ai/deepseek-harness · 4,261 tokens