{"id":50607195,"url":"https://github.com/robzilla1738/codex-workflows","last_synced_at":"2026-06-10T04:00:54.757Z","repository":{"id":362600267,"uuid":"1258748958","full_name":"robzilla1738/Codex-Workflows","owner":"robzilla1738","description":"Workflow-as-code orchestration for Codex","archived":false,"fork":false,"pushed_at":"2026-06-05T02:26:10.000Z","size":1075,"stargazers_count":53,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T03:25:08.138Z","etag":null,"topics":["codex","codex-plugin","mcp","multi-agent","typescript","workflows"],"latest_commit_sha":null,"homepage":"https://github.com/robzilla1738/Codex-Workflows","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robzilla1738.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"buy_me_a_coffee":"robcourson"}},"created_at":"2026-06-03T22:08:48.000Z","updated_at":"2026-06-08T13:03:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/robzilla1738/Codex-Workflows","commit_stats":null,"previous_names":["robzilla1738/codex-workflows"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robzilla1738/Codex-Workflows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robzilla1738%2FCodex-Workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robzilla1738%2FCodex-Workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robzilla1738%2FCodex-Workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robzilla1738%2FCodex-Workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robzilla1738","download_url":"https://codeload.github.com/robzilla1738/Codex-Workflows/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robzilla1738%2FCodex-Workflows/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34136112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codex","codex-plugin","mcp","multi-agent","typescript","workflows"],"created_at":"2026-06-06T00:03:51.624Z","updated_at":"2026-06-10T04:00:54.723Z","avatar_url":"https://github.com/robzilla1738.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/robcourson","https://www.buymeacoffee.com/robcourson"],"categories":[],"sub_categories":[],"readme":"# Codex Workflows\n\n[![CI](https://github.com/robzilla1738/Codex-Workflows/actions/workflows/ci.yml/badge.svg)](https://github.com/robzilla1738/Codex-Workflows/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Buy me a coffee](https://img.shields.io/badge/support-Buy%20me%20a%20coffee-ffdd00?logo=buymeacoffee\u0026logoColor=000)](https://www.buymeacoffee.com/robcourson)\n\nCodex has subagents, skills, plugins, and MCP. `codex-workflows` connects those\npieces into a workflow-as-code runtime: durable multi-agent runs, a live\nterminal dashboard, restartable agents, saved workflow scripts, and review\ntemplates that are meant to be used on real repos.\n\nThis is not a native Codex `/workflows` command. Codex does not expose that\nplugin API today. This project ships the closest available surface: a Codex\nplugin with an MCP server and a `cwf` terminal UI.\n\n## Install\n\nInstall it from the GitHub marketplace in this repo:\n\n```bash\ncodex plugin marketplace add robzilla1738/Codex-Workflows\ncodex plugin add codex-workflows@codex-workflows\n```\n\nStart a new Codex thread after installing. Then ask:\n\n```text\nUse codex-workflows to run the bug-sweep workflow with adapter auto.\nOpen the live dashboard automatically and tell me the run id and status.\n```\n\nCodex will call the bundled MCP server. The server starts the workflow, opens\nthe live TUI in your default terminal, and returns a run id you can inspect\nfrom Codex or from the CLI.\n\n## What it includes\n\n- `bug-sweep`: bounded codebase review, adversarial verification, repro\n  planning, and synthesis.\n- `bug-sweep-deep`: larger opt-in fanout for deeper bug hunts.\n- `release-diff-review`: release-blocker review against a branch or diff.\n- `security-auth-review`: auth, permission, injection, secret, sandbox, and MCP\n  boundary review.\n- Live dashboard with phases, agent rows, token/tool/time metrics, recent\n  worker activity, detail view, pause/resume/stop/restart/save controls, and\n  final report path. Token totals show as pending until Codex emits usage\n  metadata; command/tool/message/stderr activity updates as events arrive.\n- Workflow definitions can explicitly request up to 64 concurrent workers and\n  2000 total agents.\n- Durable run state under `${CODEX_HOME:-~/.codex}/codex-workflows/projects/\u003cproject-hash\u003e/runs/\u003crun-id\u003e/`\n  by default, so read-only bug hunts do not dirty the target repo.\n- Project-local storage remains available with `storageScope: \"project\"` or\n  `--storage-scope project`.\n- Downstream verify, probe, and synthesize agents receive prior phase findings\n  as explicit context instead of guessing at earlier results.\n- Detached worker heartbeats let status reads and dashboards identify orphaned\n  runs when a background workflow process dies.\n- Isolated workflow script loading through QuickJS. Workflow scripts define\n  phases and agent prompts; they do not get direct filesystem, shell, network,\n  process, or Node built-in access.\n\n## Model controls\n\nYou can route models globally or by phase/agent:\n\n```text\nUse codex-workflows to run bug-sweep with adapter auto,\nmodel gpt-5.5, reasoning xhigh,\nand modelMap {\"find\":\"gpt-5.4-mini\",\"synthesize\":\"gpt-5.5\"}.\n```\n\nCaller overrides win over workflow defaults:\n\n- `model`: default worker model.\n- `reasoning`: default Codex reasoning effort.\n- `modelMap`: phase id, agent id, or `phase:agent` overrides.\n- `promptSuffix`: extra instruction appended to every worker.\n\nModel names are validated against the local `codex debug models` catalog before\nany agents launch. Short names such as `5.4-mini` are rejected with a suggestion\nlike `gpt-5.4-mini`; they are not silently rewritten.\n\nBug-finding workflows default to read-only workers unless a workflow explicitly\ndeclares otherwise.\n\n## Local development\n\n```bash\npnpm install\npnpm validate:plugin\npnpm test\npnpm cwf validate workflows/bug-sweep.workflow.js\npnpm cwf run workflows/bug-sweep.workflow.js --watch --adapter simulate\npnpm cwf run workflows/bug-sweep.workflow.js --watch --adapter auto --model gpt-5.4-mini\npnpm cwf run workflows/bug-sweep-deep.workflow.js --watch --adapter auto --model gpt-5.4-mini\n```\n\nUseful local commands:\n\n```bash\npnpm cwf workflows\npnpm cwf watch \u003crun-id\u003e\npnpm cwf pause \u003crun-id\u003e\npnpm cwf resume \u003crun-id\u003e\npnpm cwf stop \u003crun-id\u003e\npnpm cwf stop-agent \u003crun-id\u003e \u003cagent-id\u003e\npnpm cwf restart-agent \u003crun-id\u003e \u003cagent-id\u003e\npnpm cwf save \u003crun-id\u003e --name release-diff-review-v2\n```\n\nThe generated plugin lives at `plugins/codex-workflows`. Do not edit the bundled\n`dist` files by hand. Change the TypeScript packages, then run:\n\n```bash\npnpm validate:plugin\n```\n\nThat builds the packages, regenerates the plugin bundle, and checks that no\nmachine-local paths leaked into the distributable plugin.\n\n## Plugin layout\n\n```text\n.agents/plugins/marketplace.json\nplugins/codex-workflows/\n  .codex-plugin/plugin.json\n  .mcp.json\n  dist/\n  skills/codex-workflows/SKILL.md\n  workflows/*.workflow.js\n```\n\nThe plugin bundle is committed so users can install from GitHub without running\n`pnpm install`.\n\n## Docs\n\n- [Plugin distribution](docs/plugin-distribution.md)\n- [Architecture](docs/architecture.md)\n- [Claude workflows parity analysis](docs/claude-workflows-parity.md)\n\n## Support\n\nIf this saves you time, you can support the project here:\n[buymeacoffee.com/robcourson](https://www.buymeacoffee.com/robcourson).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobzilla1738%2Fcodex-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobzilla1738%2Fcodex-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobzilla1738%2Fcodex-workflows/lists"}