Marketing execution workflows for OpenClaw, with eval gates and a task pipeline.
- Deterministic workflows (YAML) for intake, execution, and strategy evolution
- Marketing agent roles (context, planner, executor, evaluator, PM)
- Persistent task pipeline in SQLite
- Strategy evolution cron loop (3x/day)
- Local dashboard for approvals, pipeline operations, and run visibility
- Node.js
>=20(enforced inpackage.json) - OpenClaw installed/running for full agent runtime integration
- Local shell with
crontabavailable (for system cron fallback)
GrowthClaw uses OpenClaw cron integration when available; otherwise it installs system cron jobs with schedule + payload bindings that call GrowthClaw workflows.
Installer script (after hosting this repo):
curl -fsSL https://raw.githubusercontent.com/<org>/growthclaw/main/scripts/install.sh | bashAlternative from OpenClaw prompt:
tell OpenClaw agent: install github.com/<org>/growthclaw
Local clone install:
npm install
npm run build
npm link
growthclaw install --with-dispatcher-crongrowthclaw install
growthclaw workflow run intake-and-plan "Set up GrowthClaw for <company>"
growthclaw tasks list --status needs-approval
growthclaw tasks approve --all
growthclaw dashboardThen open http://127.0.0.1:3333.
Loop:
- Context intake from website + answers
- Initial strategy creation
- Task backlog generation
- Human approval gate
- Task execution
- Per-task strict eval gate
- PM transition decision
strategy-evolution runs 3x/day and proposes only justified additions.
backlog: created, not yet ready for approvalneeds-approval: ready for human reviewapproved: execution allowedrunning: executor currently producing artifactseval: awaiting evaluator verdictrevise: evaluator requested specific changesblocked: human input/external blocker/escalation requireddone: complete and acceptedarchived: optional parked/retired state
- Inputs: setup prompt / website context
- Writes:
company_context,strategy_versions,tasks,task_events - Outputs:
APPROVAL_REQUEST.md
- Inputs: approved task id
- Writes: task artifacts in
~/.growthclaw/tasks/<task-id>/, task status transitions, eval fields, task events - Outputs: evaluator verdict and transition to
done/revise/blocked
- Inputs: latest context + strategy + tasks + outcomes
- Writes: new proposal tasks (when needed), approval summary updates
- Outputs: updated
APPROVAL_REQUEST.md
Start/stop/status commands:
growthclaw dashboard
growthclaw dashboard stop
growthclaw dashboard statusKey screens:
- Tasks Kanban
- Task detail (artifacts, eval, PM reasons, history)
- Approvals
- Strategy
- Runs
- Cron
- Logs
- Settings
All UI actions call guarded GrowthClaw backend endpoints using the same PM transition rules as CLI.
Default strategy evolution schedule (local time):
09:0013:0017:00
Manual trigger:
growthclaw workflow run strategy-evolutionReinstall cron from dashboard or CLI install command.
Config file:
~/.growthclaw/config.json
Supported keys:
dashboard.portsafeMode.draftOnlysafeMode.allowForceMoveslimits.maxRetriescron.strategyEvolution.timesintegrations.*placeholders
You can also relocate runtime root with GROWTHCLAW_HOME in future versions (planned).
- Draft-only publishing defaults enabled
- Human approval gate before execution
- Retry caps for revise loops
- PM guarded transitions (no bypass unless force is explicitly allowed)
- Secrets are never committed to repo; use environment variables
- Dashboard sanitizes logs/artifacts to avoid secret leakage
- Optional dashboard basic auth via
GROWTHCLAW_DASHBOARD_BASIC_AUTH=1
Minimal workflow example:
id: custom-workflow
name: Custom Workflow
trigger: manual
runtime: openclaw
steps:
- id: plan
agent: strategy_planner
tools: [files]
- id: execute
agent: executor
tools: [files, web]
- id: evaluate
agent: task_eval
tools: [files]Keep eval/verdict gates explicit and route transitions through PM rules.
growthclaw install
growthclaw workflow list
growthclaw workflow install <id>
growthclaw workflow run <id> "<task>"
growthclaw tasks list [--status ...]
growthclaw tasks view <task-id>
growthclaw tasks approve <task-id>
growthclaw tasks approve --all
growthclaw tasks edit <task-id> [--patch '{"priority":"P0"}']
growthclaw tasks move <task-id> <status> [--force]
growthclaw tasks comment <task-id> "<text>"
growthclaw strategy current
growthclaw strategy history
growthclaw logs [<lines>]
growthclaw dashboard
growthclaw dashboard stop
growthclaw dashboard status- Add workflows in
resources/workflows/*.yml - Add/adjust agent rubrics in
resources/agents/*.md - Extend API in
src/dashboard/server.ts - Extend UI in
dashboard/src/pages/* - Run checks:
npm run typecheck
npm run build