
Product
Microsoft Teams Notifications Are Now Available in Socket
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.
@cleocode/agents
Advanced tools
Universal subagent protocol, canonical worker templates, and meta-agents for the CLEO ecosystem.
Per ADR-068, this package ships exactly three surfaces:
cleo-subagent.cant — the universal protocol base every agent extends.templates/ — five named worker templates with {{variable}} placeholders.
Filename basename equals declared agent <name>: per the install-validator contract.meta/ — meta-agents that synthesize other agents from project context.CleoCode-team dogfood personas (the former cleo-prime, cleo-dev,
cleo-historian, cleo-rust-lead, cleo-db-lead, cleoos-opus-orchestrator)
live in .cleo/cant/agents/ in the cleocode repository and are NOT shipped to
users.
packages/agents/
├── package.json
├── README.md # this file
├── cleo-subagent.cant # universal protocol base
├── templates/
│ ├── project-orchestrator.cant # coordinates the starter team
│ ├── project-dev-lead.cant # decides HOW, reviews workers
│ ├── project-code-worker.cant # writes code within globs
│ ├── project-docs-worker.cant # writes/edits documentation
│ └── project-security-worker.cant # security review and audits
└── meta/
├── README.md
├── agent-architect.cant # meta-agent: synthesizes agents
└── playbook-architect.cant # meta-agent: synthesizes playbooks
cleo-subagent.cantEvery CLEO agent extends cleo-subagent.cant. It defines:
cleo complete as the terminal, output-before-manifest ordering,
focus before work, no fabrication, research linking.The five worker templates are parameterized blueprints with {{variable}}
placeholders. They MUST remain project-agnostic — no CLEO-internal references,
no tool-chain assumptions beyond what the template explicitly parameterizes.
| Template | Role | Purpose |
|---|---|---|
project-orchestrator.cant | orchestrator | Reads tasks, routes to the dev-lead, synthesizes results. Does not execute code. |
project-dev-lead.cant | lead | Decomposes work, reviews output, decides technical direction. Dispatch-only authority; no Edit/Write/Bash (TEAM-002). |
project-code-worker.cant | worker | Writes code within declared globs. Runs {{test_command}} and {{build_command}}. Holds Edit/Write/Bash. |
project-docs-worker.cant | worker | Writes documentation (README, TSDoc, guides) within doc globs. Holds Edit/Write/Bash scoped to docs. |
project-security-worker.cant | worker | Security review, OWASP threat modelling, dependency audits. Read-only — escalates findings. |
These five make a complete starter team: one orchestrator + one lead + three
workers. For projects that need richer topologies, the agent-architect
meta-agent (see below) synthesizes additional personas.
Every .cant filename basename MUST equal the agent <name>: declaration inside
it. Templates use the project-<role> prefix to match the classifier output
(packages/core/src/orchestration/classify.ts). This is enforced by the install
validator at packages/core/src/store/agent-install.ts.
CLEO uses mustache {{var}} syntax for template substitution, per
ADR-055 D033.
{{name}} — simple variable{{object.key}} — dot-notation for nested values{{inputs.taskId}} — already used in starter .cantbook playbooksVariables resolve in priority order at spawn time (not install time):
bindings: shadow playbook bindings.bindings: field.playbook_runs.bindings, task + epic identifiers, user..cleo/project-context.json, traversed via dot-notation.CLEO_* or CANT_* prefix.SubstitutionOptions.defaultValue is set.E_TEMPLATE_RESOLUTION.Templates install with {{...}} placeholders intact. Resolution happens inside
orchestrateSpawnExecute right before composeSpawnPayload, which means:
cleo initPer ADR-068 Decision 3, plain cleo init (no flags) automatically walks
@cleocode/agents/templates/ and calls installAgentFromCant() for each of the
5 worker templates. Each template is registered in signaldock.db.agents with
tier='project'.
A fresh cleo init followed by cleo orchestrate spawn for any of the 5 worker
roles succeeds without E_AGENT_NOT_FOUND.
The --install-seed-agents flag is preserved as a deprecated no-op alias with
a deprecation notice.
cleo-subagent.cantcp packages/agents/templates/project-code-worker.cant \
my-project/.cleo/cant/agents/my-worker.cant
Edit the agent name, tune the description + skills + tool list, replace
{{variable}} placeholders with either literal values (if project-specific) or
leave them for lazy resolution at spawn time.
cleo cant validate my-project/.cleo/cant/agents/my-worker.cant
cleo agent install my-project/.cleo/cant/agents/my-worker.cant
cleo agent doctor --json
Agent resolution at spawn time walks tiers in order (ADR-055 / ADR-068):
{projectRoot}/.cleo/cant/agents/{agentId}.cant~/.local/share/cleo/cant/agents/{agentId}.cantpackages/agents/templates/{agentId}.cantcleo-subagent.cant synthesized envelope (ADR-068 Decision 6)E_AGENT_NOT_FOUND is only thrown when cleo-subagent.cant itself is
unreachable, indicating a corrupt installation.
packages/core/src/store/agent-install.ts wraps the
.cant copy, agents row upsert, and agent_skills junction rewrite in a
single BEGIN IMMEDIATE TRANSACTION.packages/core/src/agents/seed-install.ts
compares .seed-version against the bundled package.json version and
returns early when they match.packages/core/src/store/agent-doctor.ts emits
D-001…D-010 codes for orphan files, SHA mismatch, legacy paths, missing
skills, and legacy JSON registries.MIT — see LICENSE.
FAQs
CLEO agent protocols and templates
We found that @cleocode/agents demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.