Team
A team is identified by scope and slug (for example@cliq/hello-world). Its definition lives in the team catalog as a manifest (phases, agents, dependencies, optional role text for LLM phases).
You install / assemble a team into a workspace, then run it. The manifest is the playbook; the run is one performance with concrete inputs.
Phase
A phase is one named step in the manifest:
There is no separate “job” object. The phase is the step; the agent type decides which inputs matter.
Phase types
Agents
An agent is a registered runtime the daemon can invoke. Every phase picks one withagent: <name>.
Switching
agent changes how a step runs. It does not change the DAG.
How agents are abstracted (SDK)
Invoke is data in / data out over the agent protocol. Context layers add only what each kind needs:LlmAgentbuilds a prompt from role + upstream_text + requirement, then calls a model (or a coding CLI that wraps one).CliAgentextendsLlmAgent— same prompt assembly, then runs a coding CLI tool.ConnectorAgentdoes not use role; it uses action/sources/targets and settings credentials.execruns the phase’scommands; no role, no model.
role string for every agent; only LLM agents treat it as meaningful input.
Role (LLM agents only)
A role is the specialist brief for anagent_type: llm phase: who this agent is, what to produce, and what not to do.
- Declared as required input on LLM agent manifests.
- Carried on the run as role text for that phase (assembled into the LLM prompt with upstream and the requirement).
- Not a coordination surface — agents do not discover work by reading role files from a shared layout.
exec, connectors, notify agents, or nested team phases. Those use commands, sources/targets, or a team ref.
A good role is specific. “Implement the failing tests until they pass” beats “write code.” For LLM phases, tightening the role usually beats swapping models.
Dependencies (depends_on)
depends_on encodes order. The daemon builds a DAG and starts a phase when every predecessor is done.
Gates
A gate (type: gate) judges earlier work.
- Optional
commandsrun (exit0= check passed) - A gate-capable agent issues a verdict — typically an
llmagent, orhug/auto-gate - The daemon acts on the verdict
Only agents that can produce verdicts belong on gate phases (
llm or specialized gate types).
Outputs, upstream, artifacts
When a phase finishes, its result is stored on the run as a phase artifact (output: text + optional data).
The next invoke receives upstream: map of predecessor name → that output. Dependents do not re-read a chat transcript or pick up handoffs from a directory tree.
phase completes → artifact on the run → dependents see upstream.
Inputs and requirements
The run still needs a what (cliq req, cliq run -i …, or declared team inputs). Same team, different inputs → different outcomes; the process stays stable.