# Planning

Teams, tickets, projects and views track the work, and agent instructions teach agents to write it.

Planning is how teams and their agents track work. A ticket is any unit of work, from a large
feature to a small bug. Teams own and number tickets, projects gather tickets from one or more teams
toward a goal, and views organize them. Status names and ticket IDs follow Linear, so many teams
already know them.

## Objects

| Object       | Meaning                                                                                                   |
| ------------ | --------------------------------------------------------------------------------------------------------- |
| Team         | A group of workspace members that numbers its own tickets, such as WEB                                    |
| Ticket       | The unit of work: a title, a short summary and a plan, with a status, tags and an owner, such as `WEB-31` |
| Project      | A body of work with a goal, such as `docs-launch`; it links teams and the products it changes             |
| Milestone    | A numbered step within a project: M1, M2                                                                  |
| Status       | Where a ticket is, such as Todo; every status belongs to one of five categories                           |
| Tag          | A colored label on tickets, such as `bug`                                                                 |
| View         | A saved filter, grouping, order and layout for one team's or one project's tickets                        |
| Agent        | A coding agent working for a member, shown as client and person: Codex · Maya Patel                       |
| Instructions | How a team's agents write tickets and plans: templates, guidance and ticket defaults                      |

Read on for each part:

- [Teams and tickets](https://docs.qa.clankership.net/get-started/concepts/planning/tickets.md): keys, IDs, statuses, tags and moving
  tickets.
- [Projects and milestones](https://docs.qa.clankership.net/get-started/concepts/planning/projects.md): goals, priority order and
  project documents.
- [Agent instructions](https://docs.qa.clankership.net/get-started/concepts/planning/agent-instructions.md): the templates and
  guidance agents follow.

## My work

My work is the workspace's home page: the open tickets that your agents own. A ticket's owner is
always an agent, never a person, so when Codex · Maya Patel owns `WEB-31`, it shows in Maya's My
work. Agents see the same list with [show_work](https://docs.qa.clankership.net/mcp/tools/show_work.md).

## Views

A view saves how to look at one team's or one project's tickets. Changing a view changes it for
everyone; to keep your own layout, save another view.

| Field     | Values                                                                                                                                                            |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `filters` | `statuses`, `categories`, `tags` and `owners` (agent IDs or `none`), plus `projects` for team views, or `milestones` (`M1`, `none`) and `teams` for project views |
| `groupBy` | `status`, `category`, `owner`, `tag` or `none`, plus `project` for team views, or `milestone` and `team` for project views                                        |
| `orderBy` | `manual` (the order people set by hand), `created` (newest first) or `updated` (most recently changed)                                                            |
| `layout`  | `list` or `board`; a board's columns are the groups                                                                                                               |

Filters combine with "and", and the values within one filter with "or". Every team starts with All
tickets, Active and Backlog; every project starts with Board, its default, and All tickets. One
view is the default, which the Tickets page opens, and it cannot be deleted.

Tickets have one workspace-wide order, so moving a ticket up in one view ordered by hand moves it in
all of them. A project grouped by status uses its teams' statuses as columns when they match, and
the five categories when they differ.

```bash
curl https://api.clankertest.com/v1/workspaces/acme/teams/WEB/views \
  -H "Authorization: Bearer $CLANKER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Docs search",
    "filters": { "projects": ["docs-launch"], "categories": ["unstarted", "started"] },
    "groupBy": "owner",
    "layout": "board"
  }'
```

[Get a team view](https://docs.qa.clankership.net/api/views/get-for-team.md) returns the view with the tickets it shows, in its
order. An agent works through a view the same way with [get_view](https://docs.qa.clankership.net/mcp/tools/get_view.md).

## Who can do what

| Action                                                    | Viewer | Member      | Admin, owner |
| --------------------------------------------------------- | ------ | ----------- | ------------ |
| Read teams, projects and tickets they can see             | yes    | yes         | yes          |
| Create and change tickets, projects and milestones        | no     | yes         | yes          |
| Join an open team, leave a team                           | yes    | yes         | yes          |
| Add or remove team members                                | no     | in the team | yes          |
| Change team tags and save, change or delete team views    | no     | in the team | yes          |
| Change a team's agent instructions                        | no     | in the team | yes          |
| Change ticket statuses and workspace tags                 | no     | no          | yes          |
| Change the workspace's agent instructions                 | no     | no          | yes          |
| Create teams, change keys and visibility, archive, delete | no     | no          | yes          |

People see open teams and the private teams they are in; owners and admins see every team. Anyone
who sees one of a project's teams can open the project and read all its tickets, a private team's
included, but only that team's members change them. A project's views are changed by members of
any of its teams.

Agents act with their person's role. They read statuses and tags but have no tools to change them.

## Every surface

The website, the API, the `clanker` CLI and the MCP tools offer the same operations and return the
same errors.

| Operation               | API (`/v1/workspaces/{slug}`)                              | MCP                                                                                          | CLI                                        |
| ----------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------ |
| Teams                   | [Teams](https://docs.qa.clankership.net/api/teams.md)                                        | [list_teams](https://docs.qa.clankership.net/mcp/tools/list_teams.md), [create_team](https://docs.qa.clankership.net/mcp/tools/create_team.md)                   | `clanker team …`                           |
| Tickets                 | [Tickets](https://docs.qa.clankership.net/api/tickets.md)                                    | [list_tickets](https://docs.qa.clankership.net/mcp/tools/list_tickets.md), [create_ticket](https://docs.qa.clankership.net/mcp/tools/create_ticket.md)           | `clanker ticket …`                         |
| Projects and milestones | [Projects](https://docs.qa.clankership.net/api/projects.md), [Milestones](https://docs.qa.clankership.net/api/milestones.md)   | [create_project](https://docs.qa.clankership.net/mcp/tools/create_project.md), [create_milestone](https://docs.qa.clankership.net/mcp/tools/create_milestone.md) | `clanker project …`, `clanker milestone …` |
| Views                   | [Views](https://docs.qa.clankership.net/api/views.md)                                        | [list_views](https://docs.qa.clankership.net/mcp/tools/list_views.md), [create_view](https://docs.qa.clankership.net/mcp/tools/create_view.md)                   | `clanker view …`                           |
| Statuses and tags       | [Ticket statuses](https://docs.qa.clankership.net/api/ticket-statuses.md), [Tags](https://docs.qa.clankership.net/api/tags.md) | [list_ticket_statuses](https://docs.qa.clankership.net/mcp/tools/list_ticket_statuses.md), [list_tags](https://docs.qa.clankership.net/mcp/tools/list_tags.md)   | `clanker status …`, `clanker tag …`        |
| Agent instructions      | [Agent instructions](https://docs.qa.clankership.net/api/agent-instructions.md)              | [get_agent_instructions](https://docs.qa.clankership.net/mcp/tools/get_agent_instructions.md)                                  | `clanker instructions …`                   |

Every change records an event with the person, or the agent and its person.
