moflo CLAUDE.md

moflo CLAUDE.md is an instructions file for coding agents from eric-cielo/moflo. It costs 4,484 tokens per session, scanned B, original, MIT.

Project instructions for moflo, an AI-agent orchestration tool that coordinates coding tasks through smaller work units and checks.

In plain words
What is it for?
Use them when changing moflo's command-line tools, source code, scripts, or packaged files, especially when checking paths, file systems, line endings, and shell commands.
Why use it?
They help keep changes consistent across Windows, macOS, and Linux while avoiding unsafe bulk retrieval and project-name leaks.

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/eric-cielo/moflo/claude-md
Clone the repo
git clone --depth 1 https://github.com/eric-cielo/moflo

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

README.md
[![agentmods](https://agentmods.dev/badge/instructions/eric-cielo/moflo/claude-md.svg)](https://agentmods.dev/instructions/eric-cielo/moflo/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/eric-cielo/moflo/claude-md"><img src="https://agentmods.dev/badge/instructions/eric-cielo/moflo/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 4,484 This file is loaded in full into every session.
When invoked 4,484 The same file — it is already loaded in full.
Security scan B 2 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.04484 $0.04484
Opus 5 $0.02242 $0.02242
Sonnet 5 $0.00897 $0.00897
Haiku 4.5 $0.00448 $0.00448

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

Security

Grade B, and why

moflo CLAUDE.md scanned grade B with 2 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.

Reads agent configuration directoriesmediumAgent snooping

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

**The default for a defect you find mid-task is to fix it in the PR you are already in.** Filing is the exception and must be earned: name which threshold in `.claude/guidance/shipped/moflo-inline-fixes.md` § 2 the defec

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

5. **Shell commands** — `bash`/`grep`/`sed`/`cat`/`find` don't exist on Windows out of the box. Use Node primitives (`fs`, `child_process` with `spawn` not shell, `Glob`/`Grep` tools) instead of shelling out. If you MUST
CLAUDE.md · 204 lines

How it starts

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

⚠ Rule #1 — All shipped code MUST be cross-platform (Linux + macOS + Windows)

Hard requirement, no exceptions. Consumers run moflo on Windows dev boxes, macOS laptops, and Linux CI runners. Any code that ships in bin/, src/cli/, .claude/scripts/, or node_modules/moflo/ MUST work identically on all three. The smoke harness runs on all three CI platforms specifically to catch divergence.

Before any change, audit it against the cross-platform checklist:

  1. Paths — use path.join, path.sep, path.resolve. NEVER hardcode / or \. NEVER hardcode /tmp, /usr/local, C:\\Users, etc.
  2. Symlinks — POSIX has them; Windows mostly doesn't. If you compare two paths for identity, fs.realpathSync BOTH sides first (otherwise /var/folders/.../private/var/folders/... on macOS — see #1145).
  3. Case sensitivity — POSIX FS is case-sensitive; macOS APFS + Windows NTFS are case-insensitive by default. Don't write Foo.ts and foo.ts in the same directory.
  4. Line endings — files written by moflo MUST use platform-appropriate EOL or be marked text=auto in .gitattributes. Tests that hash file contents must normalize.
  5. Shell commandsbash/grep/sed/cat/find don't exist on Windows out of the box. Use Node primitives (fs, child_process with spawn not shell, Glob/Grep tools) instead of shelling out. If you MUST shell, branch on process.platform.
  6. Process introspectiontasklist/wmic/Get-CimInstance on Windows vs ps//proc/<pid>/cmdline on POSIX. See daemon-lock.ts:isDaemonProcess* for the right shape.
  7. Spawning daemons — Windows requires shell: true + quoted strings (Node 24 DEP0190); POSIX uses detached: true. See commands/daemon.ts:startBackgroundDaemon.
  8. Tempdir + Windows port reservationsos.tmpdir() is platform-correct; ports 49152-65535 are reserved on Windows (EACCES) — use 40000-44999 in tests.
  9. rm/cp/mkdir in spell bash steps — Windows lacks these on PATH. Use node -e with fs/os for file ops in cross-platform spells.

Verify before pushing — don't trust your local OS:

  • The smoke harness (harness/consumer-smoke/run.mjs) covers all three platforms in CI. Watch macOS + Ubuntu runs, not just Windows.
  • tests/system/ runs cross-platform; tests/bin/ has explicit Windows + POSIX branches.
  • If your local OS is Windows, mentally simulate the POSIX path (symlinks, case-sensitivity, missing tasklist). If POSIX, simulate Windows.

Concrete examples of what cross-platform misses look like in practice:

  • #1145 follow-up (this session)normalizeProjectRoot didn't realpathSync → macOS daemon resolved /var/folders/.../private/var/folders/... while client saw the unresolved path → identity check false-positived → smoke failed on macOS + Ubuntu, passed on Windows. Shipped because verification was Windows-only.
  • feedback_spell_bash_minimal_path.md — spell bash steps on Windows lack mkdir/rm/cp on PATH; use node -e with fs/os.
  • feedback_docker_sandbox_git_safe_directory.mdgit config --global safe.directory gets overridden by bind-mounted .gitconfig; must use --system.

See feedback_cross_platform_mandatory.md (auto-memory) for the running list.


Read the full file on GitHub · 204 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 First seen · 204 lines · 4,484 tokens per session scan B 8b649262e1d2

Subscribe to this mod's changes

moflo CLAUDE.md is an instructions file published in the GitHub repository eric-cielo/moflo (18 stars, last pushed today), licensed MIT. It adds 4,484 tokens to every session, about $0.0224 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.