# Tasks

A task is one thing for one person to do -- replace the filter, sign off on QA,
check the tire pressures.

Tasks live inside a [workflow](workflows.md), and every
[checklist](checklists.md) generated from that workflow gets its own copy of each
one to work through.

## What a task holds

**A title.** What you are asking for, in a few words. This is what people read on
the checklist page, so write it as an instruction: "Test smoke detectors", not
"Smoke detectors".

**A key.** A short slug like `qa-signoff`, generated from the title. You mostly
ignore it -- it shows under the title on the canvas and identifies the task if
anyone connects Flightplan to a script.

**Instructions.** Optional, and worth writing. Anything the person doing the task
needs to know: how to tell pass from fail, where the thing is, what to do if it
looks wrong. Formatting is available -- headings, bold, lists. Tasks with no
instructions read "No instructions written for this task."

**[Assignees](assignment.md).** Optional. Any mix of people and groups. Leave it
empty and the task is anyone's.

**[Fields](fields.md).** Optional. What the task asks you to record while you do
it -- a reading, a photo, a box to tick. A task with no fields just needs closing.

**[Prerequisites](prerequisites.md).** Which tasks have to finish first.

## What happens to a task in a checklist

Inside a checklist a task carries a status -- [Blocked, Ready, Complete or
Skipped](task-statuses.md) -- plus whatever was recorded when it was closed: the
field answers, who closed it, and when.

It also carries whatever anyone said about it. Every task on a checklist takes
[comments](comments.md), at any status, from anyone who can see the checklist.

None of that touches the workflow. The workflow holds the definition; the
checklist holds what happened.

## Tasks a person does not do

A task can be closed by a system instead of a person -- a deploy job reporting
itself finished, for example. On the checklist it shows as complete and credited
to a name like `github-actions`.

Whoever set your workflows up arranges that. If you are curious, the **When
ready** box in the task editor and the connections page under **Settings** are
where it is wired.

## Next

- [Fields](fields.md)
- [Comments](comments.md)
- [How assignment works](assignment.md)
- [Task and checklist statuses](task-statuses.md)
