{"slug": "show-hn-generate-a-claude-code-or-codex-agent-fleet-from-one-html-file", "title": "Show HN: Generate a Claude Code or Codex agent fleet from one HTML file", "summary": "A new browser-based wizard generates a fleet of AI agents for Claude Code or Codex from a single HTML file, with no installation or build step, and now includes optional MOOTx01 integration for persistent memory. The tool splits work across orchestrator, worker, and reviewer roles, claiming measured runs show orchestrators that dispatch implementation use about 64% of tokens in subagents, while those that type code themselves cost three to four times more. The generated output includes agent definitions, skills, hooks, commands, settings, and an install script, and supports both Claude Code's .claude/ directory and Codex's AGENTS.md format.", "body_md": "A browser wizard that generates a working agent fleet for Claude Code or Codex. One HTML file, no install, no build step. Open it, answer some questions, download a zip.\n\n**Now with MOOTx01 integration:**\nan optional persistent-memory layer so a session can hand its own work to\nthe next one.\n\nThe output is a `.claude/`\n\ndirectory containing agent definitions, skills, hooks,\nsettings, and an install script. Drop it in a repository and the agents are\nthere next time you start a session.\n\nA single agent doing everything is the default, and it is the expensive way. It holds the whole task in one context, reasons about all of it at the top tier, and types every line itself.\n\nA fleet splits that into three roles:\n\n- an\n**orchestrator** decomposes the work and dispatches it **workers** implement one unit each, from a brief- a\n**reviewer** judges the orchestrator's output before it lands\n\nThe split is not organisational tidiness. It is what makes the work cheaper and better at the same time: the units run on a smaller model, they run in parallel, and nothing merges without something that did not write it having looked.\n\n**The orchestrator writing the code itself is the failure of that job, not\na shortcut to it.** Measured across live runs, orchestrators that dispatched\ntheir implementation work ran about 64% of tokens in subagents.\nOrchestrators that typed it themselves ran 0 to 32%, and cost three to four\ntimes as much for comparable work.\n\nAgents |\nRole definitions with tools, model, and skills, in the shape your target reads |\nSkills |\nThe doctrine each role loads on demand, rather than carrying always |\nHooks |\nShell hooks for scope enforcement, push gating, and logging |\nCommands |\nSlash commands for the workflows you picked |\nSettings |\n`settings.json` wired to the hooks |\nInstall script |\nPuts it all in place |\n\nOpen `web/fleet-generator.html`\n\nin a browser. Nothing is uploaded; the\nwhole thing runs locally.\n\n`web/GUIDE.html`\n\nwalks the wizard end to end, including three install\npaths depending on how much you want to decide up front. `sample_out/`\n\nholds a full generated bundle if you would rather read the output before\nrunning anything.\n\nClaude Code reads a `.claude/`\n\ndirectory. Codex reads an `AGENTS.md`\n\nat the\nrepository root. The doctrine is identical either way, so this is a\npackaging choice rather than a different fleet.\n\nPicking **Both** emits both entry points from one source, and the\n`AGENTS.md`\n\nstates that the skill files are authoritative. Two\ndescriptions of one fleet drift the moment either is edited, and saying\nwhich one wins is cheaper than reconciling them later.\n\nThe generated fleet does not put every agent on one model.\n\n| Role | Tier | Why |\n|---|---|---|\n| Reviewer | top | One pass over a finished diff. Cheap, and the only thing between a plausible-looking change and your main branch. |\n| Orchestrator | top | Pays for itself if it dispatches. If it types the code itself, this is the most expensive possible arrangement. |\n| Workers | mid | They receive a brief containing everything they need, so capability buys less here than anywhere else. |\n\n**A model class implies an agent-file shape.** Keep two variants of the\norchestrator: the full procedural file for the smaller model, and a lean\none for the capable model. Measured on one identical task across eight\nconfigurations, the lean file halved the cost of the capable model and\npassed, while making every smaller model more expensive and no better.\n\nRunning a capable model against the full procedural file is the most common setup error. It reads as the safe choice and it is not: the model spends context on scaffolding it does not need, has less left for the work, and starts doing the work itself rather than dispatching.\n\nEdit `MODEL_TIERS`\n\nnear the top of the wizard's script block to change the\ndefaults.\n\nA checkbox adds a compact ritual for\n[MOOTx01](https://github.com/codedaptive/mootx01-ce): `/prepare-for-compact`\n\n,\n`/start-clean`\n\n, and `/recover-from-compact`\n\n. The commands need MOOTx01\ninstalled; leave the box unchecked if you are not running it. The agent writes its own\nhandoff before context runs out, and the next session reads it back.\n\nThe `handoff`\n\nand `plan-capture`\n\nskills ship regardless. They are written\nagainst \"your memory system\", so they work with any store and are better\nwith a real one behind them.\n\n```\nfleet-generator/\n├── web/\n│   ├── fleet-generator.html   # the wizard: this is the product\n│   ├── GUIDE.html             # how to use it, end to end\n│   ├── SPEC.md                # how it is built, for editing it\n│   └── archive/\n├── sample_out/                # a full generated bundle, for reading\n└── README.md\n```\n\nEverything lives in `web/fleet-generator.html`\n\nas JavaScript constants:\n`ROLES`\n\nfor the agents, `CLI_SKILLS`\n\nand `OPTIONAL_CLI_SKILLS`\n\nfor skill\nbodies, `OPTIONAL_HOOKS`\n\nfor hooks, `MODEL_TIERS`\n\nfor the tiers. There is\nno separate source tree: the constants are the source.\n\n`web/SPEC.md`\n\ndocuments the structure and what has to agree with what when\nadding a skill or a hook.\n\n`sample_out/`\n\nis a snapshot rather than generated output, so it drifts when\nthe wizard changes and needs a deliberate refresh.", "url": "https://wpnews.pro/news/show-hn-generate-a-claude-code-or-codex-agent-fleet-from-one-html-file", "canonical_source": "https://github.com/bob-codedaptive/fleet-generator", "published_at": "2026-09-03 22:45:49+00:00", "updated_at": "2026-09-03 23:23:24.408023+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools"], "entities": ["Claude Code", "Codex", "MOOTx01"], "alternates": {"html": "https://wpnews.pro/news/show-hn-generate-a-claude-code-or-codex-agent-fleet-from-one-html-file", "markdown": "https://wpnews.pro/news/show-hn-generate-a-claude-code-or-codex-agent-fleet-from-one-html-file.md", "text": "https://wpnews.pro/news/show-hn-generate-a-claude-code-or-codex-agent-fleet-from-one-html-file.txt", "jsonld": "https://wpnews.pro/news/show-hn-generate-a-claude-code-or-codex-agent-fleet-from-one-html-file.jsonld"}}