myagents
Multi-agent orchestration framework using the BMAD methodology (Business, Market, Architecture, Development). From a project description to working code — fully automated, with QA validation and human escalation when needed.
How it works
Mary (analyst) → product_brief.md + market_research.md
John (product) → prd.md + epics.md + stories.md
Winston (architect)→ architecture.md
↓
Rex (security) → security_audit.md ← Phase 2.5 (read-only)
PASS/WARN → continue
BLOCK → Winston gets one auto-fix attempt → Rex re-audits
still BLOCK → pipeline pauses (fix architecture manually)
↓
[story loop]
↓
Amelia (developer) → src/ + tests
↓
Rex (security) → security_scan_result.md ← per story (read-only)
PASS/WARN → continue (WARN visible to Tess)
BLOCK → pipeline pauses (fix code/story first)
↓
git commit + GitHub PR or GitLab MR (base: myagents branch)
↓
npm test
↓
Tess (QA) → qa_result.md (PASS / FAIL + fix criteria)
↓
Bob (scrum) → stories.md updated
PASS → auto-merge PR into myagents → next story
FAIL → fix-story created → back to Amelia (max 3 retries)
↓
needs_human_review.md → you
you → review myagents branch → merge into main
Branch strategy:
story/xxx — one branch per story (Amelia)
myagents — integration branch, auto-merged after Tess PASS (Bob)
main — stable, merged by you only
All agents run on gpt-5.3-codex via the Codex CLI. No Python SDK dependencies.
Project structure
myagents/
├── src/ # Framework scripts
│ ├── orchestrator.py # Atlas — BMAD state machine
│ ├── mlops_orchestrator.py # MLOps documentary pipeline (separate from BMAD)
│ ├── prepsales_orchestrator.py # Pre-sales IA pipeline (separate from BMAD)
│ ├── audit.py # Rex standalone security audit
│ ├── codex_office.py # Live dashboard (pixel-art, port 7700)
│ ├── init.py # Project initializer
│ └── install.py # Agent prompt installer
│
├── bin/
│ └── myagents.js # CLI dispatcher
│
├── agents/ # System prompts (BMAD + MLOps + Pre-sales agents)
│ ├── mary.md, john.md, winston.md
│ ├── amelia.md # Developer — writes src/ code + structured logs
│ ├── tess.md, bob.md
│ ├── rex.md # Security auditor (OWASP Top 10 + observability checks)
│ ├── mlops_*.md # 15 MLOps specialist agents
│ └── prepsales_*.md # 6 pre-sales IA agents
│
├── config.json # Agent routing (model, provider per agent)
│
├── knowledge/ # Phase 0-2 artifacts (generated)
│ ├── product_brief.md, market_research.md
│ ├── prd.md
│ ├── architecture.md # Includes ## Observability section (logging strategy)
│ └── security_audit.md # Rex — architecture audit result
│
├── planning/ # Stories and epics (generated)
│ ├── epics.md
│ └── stories.md
│
└── implementation/ # Runtime state (generated)
├── tasks.md
├── security_scan_result.md # Rex — per-story code scan
└── needs_human_review.md # Written on max retries
knowledge/, planning/, and implementation/ in this repo are demo output from running myagents on itself. They are replaced by npx myagents init.
Requirements
codex CLI — OpenAI Codex CLI
gh CLI — GitHub CLI (PR creation on GitHub)
glab CLI — GitLab CLI (MR creation on GitLab)
git with a configured remote (GitHub or GitLab — auto-detected)
lsof — used by the dashboard to manage port 7700 (pre-installed on most Linux/macOS)
pillow (Python) — pip install pillow (used by the dashboard for image rendering)
Quick start
npm install -g myagents
cd /your/project
npx myagents new "Your project name" "What you want to build, in 1-2 sentences"
init wipes knowledge/, planning/, implementation/ and writes myagents.config.json. Agents and scripts are untouched.
Commands
npx myagents new <name> <description> Init + run in one shot (new project)
npx myagents run Resume or start the BMAD pipeline
npx myagents run new <name> <description> Alias for: new
npx myagents run mlops <description> Run the MLOps documentary pipeline
npx myagents run prepsales <description> Run the pre-sales IA pipeline
npx myagents install Sync agent prompts to current project
npx myagents dashboard Live dashboard at http://localhost:7700
npx myagents audit [all|arch|code] Rex security audit (default: all)
npx myagents init <name> <description> Init only, no pipeline (advanced)
npx myagents mlops <description> Alias for: run mlops
npx myagents prepsales <description> Alias for: run prepsales
npx myagents help Show this help
When to use what
| New project | npx myagents new "Name" "Description" |
| New complex project | npx myagents init "Name" "" then /project "..." in Claude Code |
| Add a feature | /feature "description" in Claude Code |
| Resume after escalation | rm implementation/needs_human_review.md then npx myagents run |
| Start over from scratch | npx myagents init again |
| Security audit on demand | npx myagents audit (or audit arch / audit code) |
| MLOps architecture decision | npx myagents run mlops "description" |
| Pre-sales client meeting prep | npx myagents prepsales "Client" "sector, context" |
Change models per agent
Edit myagents.config.json (or config.json for direct clone usage):
{
"project_name": "your-project",
"project_description": "Describe your project here — Mary reads this first.",
"agents": {
"mary": { "model": "gpt-5.3-codex", "provider": "openai" },
"john": { "model": "gpt-5.3-codex", "provider": "openai" },
"winston": { "model": "gpt-5.3-codex", "provider": "openai" },
"amelia": { "model": "gpt-5.3-codex", "provider": "openai" },
"tess": { "model": "gpt-5.3-codex", "provider": "openai" },
"bob": { "model": "gpt-5.3-codex", "provider": "openai" },
"rex": { "model": "gpt-5.3-codex", "provider": "openai" }
}
}
Swap any "model" value — the orchestrator routes automatically.
Security audit (Rex)
Rex is a read-only security agent that runs at two points in the pipeline:
Phase 2.5 — Architecture audit (once per project, before the story loop)
- Input:
knowledge/architecture.md + knowledge/prd.md
- Output:
knowledge/security_audit.md
- Checks: auth/authz design, data exposure, injection vectors, secrets management, CORS/headers, cryptography, observability gaps
- Status:
PASS / WARN (continue with notes) / BLOCK
On BLOCK: Winston automatically gets one fix attempt — he reads Rex's findings and patches architecture.md. Rex then re-audits. If still BLOCK, the pipeline pauses for human review.
Per-story code scan (after Amelia, before PR)
- Input: files written by Amelia in
src/ + story + architecture reference
- Output:
implementation/security_scan_result.md
- Checks: OWASP Top 10, hardcoded credentials, XSS, SQLi, path traversal, missing auth middleware, missing structured logs on critical paths
- Status:
PASS / WARN (Tess receives the report for context) / BLOCK (pipeline pauses)
On-demand audit (independent from the pipeline):
npx myagents audit
npx myagents audit arch
npx myagents audit code
Rex is read-only in all cases. Exit code 1 on BLOCK (useful in CI).
Resuming after a BLOCK:
Architecture (BLOCK) after Winston auto-fix | Fix knowledge/architecture.md manually, delete security_audit.md | npx myagents run |
| Architecture (accept risk) | Edit security_audit.md → set **Audit-Status**: WARN | npx myagents run |
Code (BLOCK) | Add security criteria to the story in planning/stories.md | npx myagents run — Amelia re-implements |
| Code (accept risk) | Edit security_scan_result.md → set **Scan-Status**: WARN | npx myagents run |
Rex is non-fatal on error: if Rex itself crashes, the pipeline continues with a warning.
Observability in generated code
Winston's architecture design always includes an ## Observability section that defines:
- Logging library choice and rationale
- JSON log format (mandatory fields:
ts, level, event, module)
- Instrumented events: HTTP in/out, DB queries, auth events, key business transitions
- Log levels:
error (unhandled), warn (degraded), info (business events), debug (disabled in prod)
- What NOT to log: passwords, tokens, API keys, PII
Amelia follows this spec on every story — every I/O call, error path, and business-critical transition emits a structured log. Rex validates that critical paths are not silent.
Dashboard
npx myagents dashboard
Pixel-art isometric office at http://localhost:7700. Each agent has a desk. Click an agent to inspect their current task, status, and PR/MR link.
Multi-project on the same machine: starting the dashboard from a new project directory automatically kills the previous instance and takes over port 7700.
| Gold crown | Atlas (orchestrator) |
| Orange antenna | Claude Code sessions |
| Violet | Tess (QA) |
| Cyan | Bob (Scrum) |
| Red | Rex (Security) — lights up on BLOCK |
| Green ring | Active worker |
MLOps documentary pipeline
A separate pipeline for on-premise LLM deployment decisions. Runs 15 specialist agents in two waves, with devil's advocates and a Rex security audit, producing a final ADR decision document.
npx myagents run mlops "On-premise LLM deployment for production"
npx myagents mlops "On-premise LLM deployment for production"
Optional: place reference documents in bibliography/*.md for shared context (architecture docs, prod feedback, security policies).
Wave 1 (architecture foundation):
mlops_architect → knowledge/mlops_architecture.md
mlops_devil_tech → challenges the architecture
mlops_devops → knowledge/mlops_infra.md
mlops_ciso → knowledge/mlops_security.md
- Rex →
knowledge/mlops_security_audit.md (BLOCK stops the pipeline)
mlops_devil_security → security challenge
Wave 2 (full coverage, each with access to all Wave 1 output):
mlops_legal, mlops_procurement, mlops_controller, mlops_pm, mlops_engineer, mlops_amoa
- Devil's advocates interleaved on finance, project, and strategy angles
Final: Atlas (mlops_atlas_decision) → knowledge/mlops_decision.md — the ADR.
Pre-sales IA pipeline
Prepares a client meeting on AI. From a client description, 6 specialist agents produce a playbook and a slide deck tailored to the client's sector.
npx myagents prepsales "Client Dupont" "retail, 300 employees, already using Dust on HR"
npx myagents run prepsales "Client Dupont" "retail, 300 employees, already using Dust on HR"
Optional: place sector benchmarks, prior meeting notes, or account context in bibliography/*.md for shared context across all agents.
Pipeline (sequential — each agent reads all previous outputs):
prepsales_sector | knowledge/prepsales_sector_analysis.md | Sector pain points, AI maturity of competitors, typical blockers |
prepsales_ai_consultant | knowledge/prepsales_ai_opportunities.md | 5–8 prioritised AI use cases with explicit Dust / N8N / custom scoring |
prepsales_architect | knowledge/prepsales_architecture_recommendation.md | Architecture recommendation with justification and integration effort |
prepsales_devil | knowledge/prepsales_devil_challenge.md | Devil's advocate — hidden risks, vendor lock-in, fragile assumptions |
prepsales_playbook | knowledge/prepsales_playbook.md | Full playbook: use cases, estimated ROI, 90-day roadmap, prerequisites |
prepsales_deck | knowledge/prepsales_deck.md | Markdown slide deck with speaker notes, ready to present |
All agents write in French, with a factual B2B consulting tone.
Claude Code skills
/project — new project with interactive discovery
/project "Prospector — LinkedIn automation SaaS for sales teams"
Claude Code asks the right questions before writing a single line (architecture choices, MVP scope, existing constraints). Produces all knowledge/ artifacts, then launches the pipeline from phase 1.
/feature — add a feature to an existing project
/feature "Export CSV of workflow runs"
Reads the codebase, identifies impacted modules, asks clarifying questions, writes a precise story for Amelia.
| Input | 2-sentence description | Interactive discovery |
| Stories | Generated blindly | Based on your real constraints |
| Human in the loop | Only on escalation | Before the pipeline starts |
| Cost of mistakes | Caught at retry 3 | Caught before phase 1 |
Rule of thumb: use the script for known, well-defined projects. Use the skill when the scope is complex or ambiguous.
Human escalation
If Tess fails a story 3 times, the orchestrator stops and writes implementation/needs_human_review.md with the failing story, the last QA result, and exact steps to resume. The dashboard shows Atlas in red.
rm implementation/needs_human_review.md
npx myagents run