Collaboration & automation

Tasks

Issues, pull requests and your own to-dos, each with its Workspaces and its PR.

What a Task is

A Task is the piece of work itself. A Workspace is where it happens, an agent is who does it, and the Task is what it is for. It holds only what cannot be worked out from elsewhere:

  • Its sources: a GitHub issue, a pull request, or nothing at all if you typed it in.
  • Your notes.
  • Its stage: new, planning, confirming, ready, in progress, in review, done. This is what you have decided. Change it from the dropdown in the task’s detail, or let an agent or an agentflow set it.

Everything else is worked out when it is shown. The title comes from the issue. The activity comes from what is actually happening:

TodoNothing under it yet
In progressIt has a Workspace
In reviewIt has an open pull request
DoneEvery source is closed or merged, or you marked it done

An agent or a run in trouble under a task shows up too: needs you, error or running, the worst one wins. Stage is what you intend and activity is what is true. They are shown side by side and neither corrects the other.

A pull request belongs to a task by branch: a PR whose head branch is the branch of one of the task’s Workspaces is that task’s PR. Nothing parses fixes #96.

Where Tasks come from

  • GitHub issues, by themselves. For a project on GitHub (with gh signed in), every open issue becomes a Task as soon as Kumo sees it. Kumo looks only at projects it has a reason to: one with tasks already, one an online agentflow listens to, or one whose Tasks page is open. It checks every five minutes, and an unchanged list costs nothing against your rate limit.
  • A pull request, when you pick one on the Tasks page or start a Workspace from it.
  • By hand: + on the Tasks page or on the Tasks row in the sidebar. Manual asks for a title, a project and notes. Chat lets you describe the work in a sentence and hands it to an agent, which turns it into one or more tasks, asking first when the request is unclear.
  • From an agent: kumo task new.

The Tasks page

Tasks at the top of the sidebar opens a full-width page: the list on the left, the selected task’s detail on the right. Its row in the sidebar counts the tasks that need you.

The list is grouped by project and filtered by the chips along the top: All, Mine (made by you, assigned to you, or waiting on your review), Needs you, Confirming and In review. The search box takes plain words, #96, and filters you can combine:

label:bug  milestone:"0.26"  author:ann  stage:ready  is:pr  is:issue  is:manual

Each row shows the issue number, the title, its PR (⑂ #131), its labels, then the stage and the activity. Done tasks are grey, sort to the end, and only appear under All. Click a row to select it; it does not take you anywhere.

The detail has, from the top: the task’s identity and stage, the actions, its pull request, the Workspaces and agentflow runs under it, the issue’s description, its comments (read-only; replying stays on GitHub), and an activity feed: commits on its branches, agents starting and stopping, run milestones, events, newest first. Each line links to what it is about.

Actions

The first button is always the one step still between this task and done, so you never have to work out what comes next:

WhenFirst button
Nothing under it yetStart a Workspace…
A Workspace, no PROpen a pull request ▾
An open PRMerge #131…
PR merged, issue still openClose issue…
A task you typed inMark done

Then the way to give up on it (Close issue…, Close pull request… or Delete task…), Run flow ▾, which hands the task to an agentflow, and Start a Workspace…, which is always there: you can open another Workspace on a task at any time.

  • Start a Workspace… opens New Workspace already filled in for this task: the branch, the first prompt with the issue’s text, and a line telling the agent which task it is on.
  • Open a pull request ▾ lists the agents on this Workspace. Pick one and Kumo sends it a fixed instruction: push this branch and open a PR against the base, with Fixes #96 in it. The message shows in that agent’s conversation as FROM Task #96, not as you.
  • Merge #131… asks Merge, Squash or Rebase (whichever the repository allows) and merges through gh. If GitHub refuses, you see its words.

Kumo writes to GitHub in exactly four places, all of them a button you pressed and confirmed: close an issue, merge a PR, close a PR, and asking an agent to open one. There is no background sync and no commenting.

The Task panel

In a Workspace, the Task button in the right rail (⇧⌘T) shows the task this folder is for: its number, title, PR and the same first button as the Tasks page. Everything is there to finish the job without leaving the board. A Workspace not linked to a task says so.

Tasks in the conversation

  • Type # in the composer to pick a task of this project, the recently active first, by number or title. It goes in as @task:#96.
  • A Workspace started from a task puts a short block at the top of its first prompt: which task this is, and how to read and update it with kumo task. So the agent knows where its work belongs, and can move the stage on, without you pasting anything.
  • Agents use kumo task list / show / new / edit / start / done for the same things the page does. kumo task show with nothing after it is the task of the agent’s own Workspace.

When a task ends

When every source of a task is closed or merged, Kumo marks it done, and once no Workspace is left under it, removes it. The list does not fill up with finished work. A task you typed in is finished with Mark done.

Delete task… only removes the task; its Workspaces stay. Reopen the issue on GitHub and it comes back as a new task.

Events

Every task announces itself on Kumo’s event bus: task.created, task.updated (with what changed: stage, labels, a PR opened or merged…), task.done and task.deleted. Agentflows start on these. See Agentflows.