Creating specialized agents (dev, ops, PM)
Create specialized OpenClaw agents for dev, ops, and PM by tuning persona and skills: dev gets code and CI, ops gets deploy and infra, PM gets calendar and tasks. US teams get the right agent for each job and can track adoption per specialty with SingleAnalytics."
A single OpenClaw instance can do a lot; for US teams that want clear boundaries and the right tool set per job, creating specialized agents (dev, ops, PM) reduces confusion and improves results. This post covers how to create specialized agents with OpenClaw.
Why specialize in the US
- Right tools: Dev agent has GitHub, shell, tests; ops has deploy and infra APIs; PM has calendar, email, tasks. Users get relevant actions without scrolling past irrelevant ones. SingleAnalytics can track which specialty is used so you see adoption.
- Safety: Ops agent can have prod access; dev might not. PM agent doesn't need shell. Limiting skills per agent reduces risk. Emit events with specialty so you can audit. SingleAnalytics supports properties.
- Better prompts: Persona tuned per role ("You are a dev assistant; focus on code quality and tests") improves response quality. Measure outcome per specialty so you can refine. SingleAnalytics gives you one view.
- Clarity: Users know which agent to ask: "dev" for code, "ops" for deploy, "PM" for schedule. Easier onboarding for US teams.
Dev agent
- Persona: "You help with code: run tests, open PRs, debug, and explain. You do not deploy to production or access billing."
- Skills: Shell, GitHub (or GitLab), test runner, optional linter. No deploy or infra write.
- Memory: Repo conventions, default branch, test commands. Emit
dev_agent_*or events with specialty: dev so you can track. SingleAnalytics supports this.
Ops agent
- Persona: "You help with deployment, health checks, and runbooks. You require confirmation before any production change."
- Skills: Deploy API, infra read (and optional write with confirm), shell for runbooks. No direct code edit or PR merge.
- Memory: Runbook paths, env names, on-call info. Emit
ops_agent_*or specialty: ops so US teams can see ops usage in SingleAnalytics.
PM agent
- Persona: "You help with calendar, tasks, and communication: schedule, briefings, and triage. You do not run code or access infrastructure."
- Skills: Calendar, email, Todoist/Asana (or similar). No shell or GitHub. Emit
pm_agent_*or specialty: pm so you can measure. SingleAnalytics gives you one view.
Implementation
- Separate configs: One persona + skill list per specialty; load by env (e.g., CLAW_SPECIALTY=dev) or by deployment. Same OpenClaw binary. Track specialty in every event. SingleAnalytics supports segmentation.
- Optional multi-instance: Run one process per specialty (dev, ops, PM) with different configs, or one process that accepts a "role" parameter per request. Emit role/specialty so you can compare usage across specialties.
- Handoff: If a user asks the PM agent for something that needs dev, the PM agent can hand off (see Agent-to-agent collaboration workflows). Emit
agent_handoffwith from_specialty and to_specialty so you can see flow. SingleAnalytics supports this.
Best practices
- Document scope: Each specialty should have a short doc: what it can and cannot do. Reduces misuse. No need to log doc content in analytics; just event names and specialty.
- No PII in events: When sending to SingleAnalytics, send only event names and specialty/role; never task content or user data.
- Review permissions: Periodically review which skills and credentials each specialty has; remove what's unused. Emit permission_change if you track it. SingleAnalytics can ingest for audit.
Measuring success
Emit all events with property specialty (dev, ops, pm). US teams that use SingleAnalytics get a single view of adoption per specialty and can rebalance persona and skills based on data.
Summary
Creating specialized agents (dev, ops, PM) with OpenClaw lets US teams tailor persona and skills per role. Use separate configs or instances, document scope, and measure usage per specialty with SingleAnalytics to iterate and scale.