# Running the project (https://docs.vitrinka.ai/dev/skills/pm)



## /vitrinka:tasks [#tasks]

`/vitrinka:tasks [list|intake|file|epic|rule]` works a project's task engine from the app's repository: filing a task, planning an epic, triaging intake, starting a sprint, adding an automation rule. Its verbs are the CLI — `vitrinka task`, `sprint`, `intake`, `project` — and the MCP generic verbs; the skill carries only the laws those verbs do not print:

* **One vocabulary** — the state groups `backlog`, `unstarted`, `started`, `completed` and `cancelled` are universal, and the types are one set: `task`, `bug`, `story`, `epic` (the feature's whole record), `todo`, `qa` (its test plan), `journey` (one user path inside it) and `meeting`.
* **Intake is the only way in** — what an agent proposes is a draft until a person accepts it, and an agent accepts its own drafts only when you ask it to triage — [intake](/pm/intake).
* **Gates are ticked with evidence**, never bare.
* **Commits and pull requests attach themselves** — through the `Vitrinka-Task` trailer and `vt-<id>` branches, which the GitHub App reads — [commit trailers](/dev/cli/setup#hooks).

The model behind it is the [Product](/pm) tab: [tasks](/pm/tasks), [sprints](/pm/sprints), [rules](/pm/rules).

## /vitrinka:release [#release]

`/vitrinka:release [refresh|cut|status]` drives a project's release from the repository with `vitrinka project release`. `status`, the default, shows each repository's window — branch, start, pull-request count, last sweep. `refresh` sweeps the merged pull requests of every repository in the release into the rolling next release and has Eve rewrite the page; `cut` freezes it and opens the next window. The skill also writes the release notes — one document per release, its screens picked from the window's ranked shot pool — and links them to the release with `vitrinka project release --notes` — [releases](/pm/release).

## Pickup, spot and hand back [#loop]

Three skills keep the task tree true without end-of-session bookkeeping:

| Skill     | When                                                                                                                                               |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pickup`  | A task id or URL arrives: the bounded pickup view — the last hand-back, the branch, what to read first, what is next — before any code is touched. |
| `spot`    | A "later", "out of scope" or "someone should decide" thought appears mid-work: it is filed as a child task at once instead of being carried.       |
| `handoff` | The work ends: `hand_back` files the children and a versioned summary and returns the chat block the session closes with.                          |

Status moves by itself — a live run marks the task in progress, a pull request in review, the merge done — [the work loop](/pm/work-loop).

## /vitrinka-experimental:cleanup [#cleanup]

Checks a project's open tasks against the code, the pull requests and the QA record, applies what it can prove and proposes the rest — an unattended workflow of the experimental plugin, Claude Code only — [cleaning a backlog](/dev/skills/workflows#cleanup).
