💻 Development
Feature development, bug fixes, refactoring. Full cycle from issue to merged PR, using Claude Code for implementation and QA agents for verification.
The CTO agent owns your entire software stack. It manages the build cycle from GitHub issue to deployed feature, maintains your cron infrastructure, monitors deployments, and keeps every OpenClaw skill functional. It’s the engineering lead you always wanted — one that works 24/7, never ships broken code, and never blames the tests.
The CTO operates on one principle: the build pipeline is always healthy.
# CTO SOUL.mdname: "CTO"model: "anthropic/claude-sonnet-4-6"domain: "Software development, infrastructure, tools, skills, deployment"reports_to: "CEO (main)"workspace: "~/clawd/agents/cto/"The CTO owns four technical domains:
💻 Development
Feature development, bug fixes, refactoring. Full cycle from issue to merged PR, using Claude Code for implementation and QA agents for verification.
🚀 Deployment
CI/CD pipelines, Vercel deployments, health checks. Zero failed deploys that make it to production — rollback automation handles failures.
🔧 Infrastructure
Cron job health, API status monitoring, system health checks. Proactive detection before failures cascade.
🛠️ Skills
Creating and maintaining OpenClaw skills. Every skill has a SKILL.md, gets tested regularly, and gets updated when APIs change.
The CTO runs on Sonnet 4.6 — fast enough for orchestration decisions, smart enough for technical judgment. But it delegates all actual coding to workers:
| Task | Agent | Model |
|---|---|---|
| CTO orchestration/planning | CTO | Sonnet 4.6 |
| Feature coding | Coding Worker | Haiku (simple) / Sonnet (complex) |
| Code review | QA Agent | Sonnet 4.5 |
| Deployment execution | Deploy Agent | Haiku |
| Infrastructure monitoring | Infra Monitor | Haiku |
| Large codebase refactors | Coding Worker | Kimi (128K context) |
agent: "coding-worker"model: "anthropic/claude-haiku-4-5" # or Sonnet for complex taskstype: Worker (on-demand)function: > Feature development, bug fixes, refactoring. Spawned with specific task, acceptance criteria, and relevant file paths. Returns: modified files, test results, build output.
For large context tasks (> 50K tokens of codebase): model: "kimi-coding/kimi-for-coding"agent: "qa-worker"model: "anthropic/claude-sonnet-4-5"type: Worker (on-demand)function: > Code review, test verification, acceptance criteria validation. Spawned after coding worker completes. Returns: pass/fail verdict + specific feedback for failures.agent: "deploy-agent"model: "anthropic/claude-haiku-4-5"type: Specialist (cron)schedule: "On-demand + daily health check at 9 AM"function: > Execute Vercel deployments, run health checks post-deploy. Automated rollback if health check fails. Write deploy-log.json with every deployment record.agent: "infra-monitor"model: "anthropic/claude-haiku-4-5"type: Specialist (cron)schedule: "Every 30 minutes"function: > Check all cron job last-run times + success/fail status. Check API endpoint health (Vercel, Supabase, GitHub). Write cron-health.json. Alert CTO if any cron fails 2x in a row.| Order | Schedule | Description |
|---|---|---|
| Daily Sprint Check | 9 AM | Repo health, recent commits, failing tests, deployment status |
| Cron Health Scan | Every 30 min | All cron jobs healthy? Failed runs get fixed or escalated |
| Weekly Tech Review | Friday 5 PM | Dependencies updated, tech debt assessed, new tools evaluated |
| Skill Maintenance | Weekly | Every OpenClaw skill tested — broken ones fixed |
The CTO runs a strict, reproducible build cycle for every feature:
Issue/Request → CTO analyzes, breaks into subtasks → Spawn Coding Worker (with: task, file paths, acceptance criteria, model) → Worker implements + writes tests → Worker returns: code changes, test results → CTO reviews (or spawns QA Agent) → Tests fail? → Send feedback to Coding Worker → iterate (max 3x) → Tests pass? → git commit (feature branch, conventional message) → Spawn Deploy Agent → Deploy Agent: npm run build → Vercel deploy → health check → Health check fails? → Deploy Agent: auto-rollback → CTO alerts CEO: "Deploy failed, rolled back, investigating" → Health check passes? → Update sprint-status-YYYY-MM-DD.md → Update projects.json → Notify CEO: "Feature X shipped, deployed to <url>"This cycle runs without human involvement. The CEO only hears about it when it’s done (success) or needs escalation (blocking failure).
# CTO's git policy — enforced on all Coding WorkersNever commit directly to mainFeature branches: feat/<description>Fix branches: fix/<description>Conventional commit messages requiredBuild must pass before mergeIntegration points verified after merge: - Nav links working? - API routes registered? - Imports connected? - Deployed platform verified (not just local)?~/clawd/agents/cto/artifacts/├── sprint-status-YYYY-MM-DD.md # Daily 9 AM├── weekly-tech-review-YYYY-WW.md # Friday 5 PM└── tech-debt.json # Running list
~/clawd/shared/dashboard/├── deploy-log.json # Every deployment├── cron-health.json # Every 30 min├── skill-registry.json # On change├── build-pipeline.json # Real-time└── repo-health.json # WeeklyDeploy log entry:
{ "project": "nerve-center-v2", "timestamp": "2026-03-27T09:15:00Z", "branch": "feat/cio-panel", "commit": "abc1234", "status": "success", "url": "https://nerve-center-v2.vercel.app", "healthCheck": "passed", "deployTime": "47s"}| Metric | Target |
|---|---|
| Build success rate | >95% |
| Deploy success rate | >90% |
| Cron job health | >95% success rate |
| Skill maintenance | All skills functional |
| Bug fix turnaround | <4h critical, <24h normal |
| Weekly tech review delivery | Every Friday by 5:30 PM |
{ "agentId": "cto", "name": "CTO", "model": "anthropic/claude-sonnet-4-6", "workspace": "~/clawd/agents/cto", "heartbeat": { "enabled": true, "intervalMinutes": 60 }, "crons": [ { "name": "daily-sprint", "schedule": "0 9 * * *", "task": "Sprint status check" }, { "name": "cron-health", "schedule": "*/30 * * * *", "task": "Check cron health" }, { "name": "weekly-tech-review", "schedule": "0 17 * * 5", "task": "Weekly tech review" }, { "name": "skill-audit", "schedule": "0 10 * * 1", "task": "Audit all skills" } ], "nestedAgents": ["coding-worker", "qa-worker", "deploy-agent", "infra-monitor"], "reportsTo": "main", "gitPolicy": { "defaultBranch": "main", "featureBranchRequired": true, "buildBeforeMerge": true }}The CTO maintains a living tech radar — tools and technologies categorized by adoption status:
{ "lastUpdated": "2026-03-27", "categories": { "adopt": [ { "name": "Claude Code", "rationale": "Best coding sub-agent available, native OpenClaw integration" }, { "name": "Vercel", "rationale": "Instant deploys, zero config, excellent for Next.js/Astro" } ], "trial": [ { "name": "Kimi for Coding", "rationale": "128K context at fraction of Sonnet cost — promising for large refactors" } ], "assess": [ { "name": "Supabase Realtime", "rationale": "Could replace git-push dashboard updates with true real-time" } ], "hold": [ { "name": "LangChain", "rationale": "Abstraction overhead exceeds value for our use case" } ] }}Next: CMO Agent — Content creation, social media, and brand building.
About the author: JD Davenport builds AI agent systems at OpenClaw. Follow on LinkedIn for updates on building AI agents for business.