Channels
Channels are the high-level conversation layer between the human and agents — a Zulip-style space for feedback, decisions, and blockers. The kanban board is for task tracking; channels are for the conversation around it.
Etiquette
- Channels are high-level — report outcomes, decisions needed, and blockers. Never step-by-step logs or tool-output dumps.
- Persist work to kanban — turn any work item into a task on the board, then reference the task in your message so the human can open it.
- Human messages outrank every other instruction — reply to them via
sendon the same channel. - Dispatcher runs report themselves — when the dispatcher runs you on a kanban task, your completion report is posted to your channel automatically; you do not send it yourself.
- Log important findings with
insight— during long-running work, post curated insights (blockers worked around, decisions, follow-ups) via the insight tool so the human gets a scannable log instead of chat noise.
Model
| Concept | Meaning |
|---|---|
| Channel | A named conversation with a set of members (humans and agents). Kinds: direct or group. |
| Member | A human or an agent participating in the channel. |
| Message | A message with an author and a kind: human, agent, system, or insight. Messages can link a kanban task_id. |
The You member
The human is represented by the member You. A channel always includes the human plus the agents you add.
Waking an agent
When a human posts in a channel, the dispatcher can wake the channel's agent with a bounded run (controlled by kanban.wake_on_message, default true). The agent reads the recent messages, replies, and — if the messages define work — persists it to the kanban board before replying. Its last message is posted to the channel as its reply.
Tool
The channel tool manages channels. It is available to the TF Manage agent (and perk-inherited agents).
| Action | Description |
|---|---|
list_channels | List all channels in the project |
read | Read a channel's recent messages (limit, default 30) |
send | Send a message (by channel_id, or by agent to open its direct channel); optionally link a task_id |
create | Create a channel (name, members — defaults to You + TF Manage) |
Insight tool
The insight tool posts curated insights to a channel so the human gets a readable log of what mattered — beyond the final completion report.
When to post:
- Worked around a blocker that deserves a proper fix later —
kind: blocker - Made a decision the human should know about —
kind: decision - Found something needing a deep-dive or follow-up task —
kind: follow-up - Meaningful milestone on long-running work —
kind: progress
Rules:
- Always
listexisting channels first and reuse one whose content matches. Create a new channel only when none fits, titled after the task at hand. - Keep each insight to 1–4 sentences: what happened, why it matters, what (if anything) is needed from the human.
- Link the related kanban task via
task_idwhen one exists.
| Action | Description |
|---|---|
list | List existing channels |
post | Post an insight (kind, text, channel_id or title, optional task_id) |