Skip to content

Teams

A team is a self-contained, portable unit of coordinated AI work. It bundles a set of specialist roles, a workflow that orchestrates them, and optional agent definitions into a single directory you can build once, share with anyone, and assemble into any project.

That’s the cliq philosophy: define the how once, then just bring the what. A team encodes an entire methodology — who does what, in what order, with what quality gates — so the only thing that changes from run to run is the requirement you feed it.

Teams can model any domain: engineering, product discovery, content production, research, incident response, or anything else that benefits from coordinated specialists working in sequence or parallel.


A team is a directory containing everything needed to run the pipeline:

my-team/
├── team.yml # Team definition — workflow, metadata, agents
├── roles/ # One markdown file per phase
│ ├── architect.md
│ ├── developer.md
│ └── reviewer.md
├── agents/ # (optional) Bundled custom agent code
│ └── analyst/
│ └── index.js
└── README.md # (optional) Documentation

team.yml defines the phases and how they connect. Each file in roles/ is an agent’s playbook — identity, responsibilities, boundaries, workflow steps. See Roles for the full anatomy, and Workflows & Phases for phase types, commands, and the gate verdict loop.


Teams are organized by scope — a namespace prefix like @cliq or @local. Scopes keep teams from different sources separated so names don’t collide. A team’s full reference is @scope/name, for example @cliq/hello-world or @local/blog-pipeline.

ScopePurposeHow teams get there
@localYour personal teamscliq team create, cliq builder generate — teams created here; cliq team copy writes to a local directory for later install
@cliqOfficial teamscliq team install hub://@cliq/... downloads here
@yournameYour shared scopeCreate teams with cliq team new @yourname/team-a, or install from CliqHub
Other @*Community / org teamscliq team install hub://@publisher/team downloads here

@local is reserved — it’s always present after cliq setup, and teams in it cannot be published to CliqHub. Everything else is a publisher namespace.

cliq setup creates ~/.cliqrc/, which is the global home directory. Inside it, ~/.cliqrc/teams/ is the default registry — the first place cliq looks for teams:

~/.cliqrc/
├── settings.json # global settings (runtime, integrations, hub, hug, etc.)
├── cliq.id # global instance identifier
└── teams/
├── @local/ # your personal teams
│ └── blog-pipeline/
├── @cliq/ # official teams (installed from CliqHub)
│ ├── hello-world/
│ └── feature-dev-js/
└── @yourcompany/ # teams from other publishers
└── ...

When you run cliq assemble @cliq/hello-world, cliq resolves the team (finds it on disk), copies its workflow and role files into the project’s .cliq/ directory, and validates everything. After assembly, the project is self-containedcliq run reads only from .cliq/, not from the registry. You could delete the registry entirely and the assembled project would still run.

This means you can assemble a team on your laptop, push the project (with .cliq/ committed or carried along), and run it on a CI server that doesn’t have the team registry at all.


CliqHub is the public registry for cliq teams. Browse, discover, and install ready-made teams from the community — or publish your own.


There are three ways to create a custom team: copy an existing team, generate one with Builder, or build from scratch. All paths produce a team under @local/ (e.g. ~/.cliqrc/teams/@local/my-team/).

See Team Development for the complete guide — including tutorials, the Builder, versioning, publishing, and the Cliq SDK.