builder-os
CLAUDE.md2 starsChanged 49 days agoMITView on GitHub
The shared contract is in AGENTS.md, imported above: architecture, design principles, non-negotiables, portability rules, skill contract, testing, contributing. Everything here is Claude Code specific and applies on top of it. The explicit import makes the shared repository contract available while working in this checkout. Installing BuilderOS as a plugin does not load this root file as project context; runtime rules must live in the components the plugin loads. These three are deletable. Deleting them costs slash commands and per-phase context…
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-designSkill
- agents-mdSkill
- bug-diagnosisSkill
- builder-osSkill
- business-caseSkill
- delivery-disciplineSkill
- domain-modelSkill
- evidence-ledgerSkill
- gate-checksSkill
- go-to-marketSkill
- ideation-methodsSkill
- opportunity-mappingSkill
- outcome-reviewSkill
- pressure-testingSkill
- problem-framingSkill
- product-analysisSkill
- release-opsSkill
- research-methodsSkill
- spec-writingSkill
- system-designSkill
- tracking-standardsSkill
- using-builder-osSkill
- ux-architectureSkill
- wayfindingSkill
The file
We split this CLAUDE.md into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 44
Check pipeline state before dispatching, and refuse on a failed upstream gate
- Distinctive: line 46
Read and pass the previous phase artifact
- Distinctive: line 47
Verify the completion marker, then re-run the phase gate on the written artifact before presenting results.
- Very specific: line 48
Use the plugin namespace for component lookup (builder-os:problem-framer, /builder-os:bos-frame).
- Very specific: line 52
Every lifecycle dispatch carries: operating mode and resolved capabilities, pipeline state (phase, cycle, gate mode), PRODUCT.md, the …
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
@AGENTS.md
CLAUDE.md — BuilderOS on Claude Code
The shared contract is in AGENTS.md, imported above: architecture, design principles, non-negotiables, portability rules, skill contract, testing, contributing. Everything here is Claude Code specific and applies on top of it.
The explicit import makes the shared repository contract available while working in this checkout. Installing BuilderOS as a plugin does not load this root file as project context; runtime rules must live in the components the plugin loads.
Claude Code Adapters
| Directory | Role |
agents/ | Subagent wrappers. Thin by design: role, Iron Law, context contract, reporting format |
commands/ | Slash-command entry points and argument parsing |
.claude-plugin/plugin.json | Plugin manifest |
These three are deletable. Deleting them costs slash commands and per-phase context isolation, nothing else. See docs/hosts.md.
Agent Frontmatter
---
name: agent-name
description: "Brief purpose description"
model: inherit
---Agent Contract
Agents are adapters over skills. Every agent MUST:
- Name its namespaced skill (
builder-os:{skill}) and instruct running that skill's procedure in the requested operating mode - State its role and its Iron Law
- Define the context contract its dispatch prompt carries
- End with a completion marker (
## TYPE COMPLETE)
Agents MUST NOT duplicate the procedure, the frameworks or the output contract. Those live in the skill, where every host can reach them. An agent longer than about 40 lines has almost certainly stolen something from its skill.
Command Contract
Commands are routing layers, not logic. Every command MUST:
- Check pipeline state before dispatching, and refuse on a failed upstream gate
- Resolve capabilities per
references/capability-map.mdand pass the derived mode - Read and pass the previous phase artifact
- Verify the completion marker, then re-run the phase gate on the written artifact before presenting results. The marker is a claim; the gate on the file is the evidence
- Use the plugin namespace for component lookup (
builder-os:problem-framer,/builder-os:bos-frame). Dispatch in the foreground (run_in_background: false) and await completion before dependent dispatches, artifact reads or gates. Keep this rule in the loaded command itself
Dispatch Context Package
Every lifecycle dispatch carries: operating mode and resolved capabilities, pipeline state (phase, cycle, gate mode), PRODUCT.md, the previous phase artifact, the user's request verbatim, and the instruction to write the phase artifact, update state.json, and run the gate before reporting.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

