forge
AGENTS.md0 starsChanged 7 months agoMITView on GitHub
This file is the active onboarding surface for new agents. If a command or workflow is not referenced here, in README.md, or in CANONICAL_WORKFLOW.md, treat it as historical until verified. Before trusting fleet, task, or agent state, confirm which daemon the CLI is targeting: Use FORGE_API_URL=http://localhost:8081 when the configured hub is stale or unreachable but the local daemon is the intended working reality. Do not dispatch work until forge operator status is READY, or until you explicitly accept a DEGRADED…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository17 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- harness/CLAUDE.mdCLAUDE.md
- auto-security-scanSkill
- auto-test-runnerSkill
- compactSkill
- content-library-producerSkill
- content-publisherSkill
- fastapi-service-templateSkill
- frontend-designSkill
- human-review-gateSkill
- integration-testerSkill
- ios-agentSkill
- ios-designSkill
- mvp-spec-writerSkill
- niche-explorerSkill
- overnight-dispatchSkill
- pwa-frontend-liteSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
15 rules. About 0 are common, 9 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 5
If a command or workflow is not referenced here, in README.md, or in CANONICAL_WORKFLOW.md, treat it as historical until verified.
- Distinctive: line 9
Before trusting fleet, task, or agent state, confirm which daemon the CLI is targeting:
- Very specific: line 22
Use FORGE_API_URL=http://localhost:8081 when the configured hub is stale or unreachable but the local daemon is the intended working …
- Distinctive: line 29
Read these in order:
- Very specific: line 41
Use the forge CLI first.
- Distinctive: line 43
Use the portfolio operating loop before creating new MVP scope.
- Very specific: line 44
If a doc references forge-harness, CLI v2, or wrapper-first workflows, treat it as legacy.
- Very specific: line 45
Do not broaden scope when an existing product is blocked at validate, deploy, or measure.
- Distinctive: line 49
Run this once on a new node:
- Very specific: line 95
Write detailed briefs to .forge/dispatches/ and send a short reference:
- Distinctive: line 119
Before taking on net-new work:
- Distinctive: line 131
Do not use these for new workflows:
- Distinctive: line 152
Use this decision order:
- Distinctive: line 159
If the command or workflow is not verifiable there, do not assume it is current.
- Distinctive: line 163
When starting fleet agents in tmux windows, use these exact commands:
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.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
FORGE Agent Operations Guide
This file is the active onboarding surface for new agents.
If a command or workflow is not referenced here, in README.md, or in CANONICAL_WORKFLOW.md, treat it as historical until verified.
0. Control-Plane Sanity
Before trusting fleet, task, or agent state, confirm which daemon the CLI is targeting:
forge config list
forge daemon status
forge operator repair --sync-tmux --session forge
forge operator status --use-tmux-agents --session forge
forge operator status
forge attention
forge portfolio statusUse FORGE_API_URL=http://localhost:8081 when the configured hub is stale or
unreachable but the local daemon is the intended working reality. Do not
dispatch work until forge operator status is READY, or until you explicitly
accept a DEGRADED state and route only to dispatch-ready agents.
1. Active Surfaces
Read these in order:
- README.md
- docs/GETTING_STARTED.md
- docs/ACTIVE_SURFACES.md
- docs/INFRASTRUCTURE_MAP.md — progressive disclosure (Tier 1-3)
- docs/STRATEGY.md — strategy index and gradual disclosure entrypoint
- docs/runbooks/CANONICAL_WORKFLOW.md
- config/portfolio/portfolio-state.yaml (copy from
examples/portfolio/sample-portfolio-state.yamlif missing)
2. Core Rules
- Use the
forgeCLI first. - Dispatch hierarchy: (a)
forge task createfor queue-based work (PRIMARY), (b) Task tool for code changes, (c)forge dispatch sendfor named agent override (SECONDARY). Never rawtmux send-keys. - Use the portfolio operating loop before creating new MVP scope.
- If a doc references
forge-harness,CLI v2, or wrapper-first workflows, treat it as legacy. - Do not broaden scope when an existing product is blocked at
validate,deploy, ormeasure.
3. One-Command Node Join
Run this once on a new node:
cd /path/to/forge/cmd/forge
go build -o forge .
./forge node joinOverride when needed:
./forge node join --node-id node-b --agents "agent-a agent-b"
./forge node join --check4. First Commands
These are the commands every onboarded agent should know:
forge config list
forge daemon status
forge operator repair --sync-tmux --session forge
forge operator status --use-tmux-agents --session forge
forge status
forge agent list
forge attention
forge portfolio status
forge task list
forge dispatch send kimi --file .forge/dispatches/task.mdSeveral low-frequency nouns (fleet, lead, message, …) are hidden from default forge --help. Run forge advanced to print their names, then forge <noun> --help for details.
Useful follow-ups:
forge portfolio list
forge portfolio show <product-key>
forge node list
forge agent list
forge daemon status5. Dispatch Convention
Write detailed briefs to .forge/dispatches/ and send a short reference:
forge dispatch send gemini --file .forge/dispatches/my-task.mdDo not use:
tmux send-keys -t forge:agent "message" EnterInteractive tmux send-keys is acceptable only for approvals or restarts when an agent is already waiting at its own prompt.
Note: §10’s bootstrap wake line is bootstrap only (wake an agent window). It is not a substitute for forge task create / forge dispatch send / the task queue (§2).
6. Portfolio Guardrail
FORGE is optimizing for shipped revenue, not raw activity.
The active operating loop is:
idea -> validate -> build -> deploy -> measure -> monetize -> scale|kill
Before taking on net-new work:
forge portfolio status
forge portfolio list
forge portfolio show <product>The current working set is tracked in portfolio-state.yaml.
7. Deprecated for New Work
Do not use these for new workflows:
forge-harness ...- old “CLI v2” references as a canonical surface
- raw
tmux send-keysfor task delivery - wrapper-first flows in
bin/whenforgealready has the command - ad hoc
curl /api/...for normal operator workflows
Historical material remains in the repo for now, but it is not an onboarding surface.
8. Open Source Boundary
The long-term split is:
- Public orchestration layer: CLI, control plane, dashboard, routing, approvals, Trinity interfaces
- Private portfolio layer: domains, MVPs, analytics, revenue-sensitive context
Until that split is complete, keep the active operational truth in the files listed under Active Surfaces.
9. If Unsure
Use this decision order:
forge --help- ACTIVE_SURFACES.md
- CANONICAL_WORKFLOW.md
- LEGACY_TOOLING_POLICY.md
If the command or workflow is not verifiable there, do not assume it is current.
10. Agent Start Commands
When starting fleet agents in tmux windows, use these exact commands:
| Agent | Start Command | Notes |
claude | claude --dangerously-skip-permissions | Primary implementation agent |
kimi | kimi -y | Auto-accept prompts |
gemini | gemini -y | Auto-accept prompts |
pi | pi | No flags needed |
minimax | minimax | No flags needed |
opencode | opencode | Heavy — sati/nova only |
kilo | kilo | Heavy — sati/nova only |
cursor | cursor-agent -f | Human-steered interactive |
amp | amp --dangerously-allow-all | Autonomous mode |
codex | codex --dangerously-bypass-approvals-and-sandbox | Research + strategy |
Dispatch after start (bootstrap only — §2 still governs real task delivery): Wait 5 seconds for agent initialization, then send a short wake line via:
tmux send-keys -t forge:AGENT -l "message" && sleep 0.1 && tmux send-keys -t forge:AGENT Enter11. Skill Compatibility Matrix
.claude/skills/ skills are Claude Code features. Non-Claude agents receive natural language prompts and don't invoke skills directly. The table below maps each skill to its compatibility and the equivalent approach for non-Claude agents.
Direct Invocation: Claude Code Only
These skills require Claude Code infrastructure and cannot run in other agents:
| Skill | Why Claude Code Only |
auto-test-runner | Hook-triggered, runs on file save events |
auto-security-scan | Hook-triggered, invoked by Claude Code hooks |
compact | Manages Claude Code context window |
handoff | Saves Claude Code session state |
overnight-dispatch | Chains forge dispatch send calls via Claude Code |
Cross-Agent Skills (any agent can do the work with a text prompt)
For non-Claude agents, phrase the request as a natural language task — no slash command needed.
| Skill | Claude Code | kimi / pi / glm / minimax | gemini | Notes |
content-library-producer | /content-library-producer | "Write 5 blog post outlines for..." | ✅ | Any capable writer |
content-publisher | /content-publisher | "Format this outline for WordPress..." | ✅ | Any capable writer |
niche-explorer | /niche-explorer | "Research the [market] opportunity..." | ✅ best | gemini excels at research |
mvp-spec-writer | /mvp-spec-writer | "Create feature backlog for [product]..." | ✅ best | gemini excels at planning |
human-review-gate | /human-review-gate | "Score risk and recommend escalation..." | ✅ |
Code Generation Skills (Claude Code or capable code agents)
| Skill | Claude Code | opencode / kilo / glm | kimi / pi | Notes |
frontend-design | ✅ | ✅ | ❌ avoid | Needs strong UI taste |
pwa-frontend-lite | ✅ | ✅ | ❌ avoid | Needs React/Vite knowledge |
fastapi-service-template | ✅ | ✅ | ❌ avoid | Needs boilerplate generation |
ios-agent | ✅ | ❌ | ❌ | iOS harness integration only |
ios-design | ✅ | ❌ | ❌ | HIG-compliant SwiftUI patterns |
stripe-best-practices | ✅ | ✅ | ✅ | Stripe integration guidance |
upgrade-stripe | ✅ | ✅ | ❌ | Stripe API version upgrades |
Quality / Testing Skills (require code execution context)
| Skill | Claude Code | kimi | pi | Notes |
integration-tester | ✅ | ✅ | ✅ | kimi: best for coverage loops |
Quick Rule
Writing code or running tests? Use Claude Code, opencode, kilo, kimi, or glm. Research, planning, content, analysis? Use gemini or any agent with a clear text prompt. Skills? Only available in Claude Code windows — other agents get the same result via a well-phrased task.
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.

