Built-in lines
When a workspace is created in the web app, Spotlight opens two lines for its first team: Delivery and Review. A team created through the resource API or Terraform gets no lines. See A workspace created in the web app.
Both are ordinary lines, with the fields described in
spotlight_line. Neither names repositories. Every work station
of both has harness set to claude-code, with no model, effort or profile.
The same team gets a task titled Set up your team at Delivery's backlog. See
Setup task.
Delivery
| Line field | Value |
|---|---|
key | delivery |
name | Delivery |
role | delivery |
| Key | Name | Kind | Passes to | Ends | Diffs | Decisions | Tools |
|---|---|---|---|---|---|---|---|
backlog | Backlog | backlog | triage | no | no | no | |
triage | Triage | work | spec, implementation | no | no | no | |
spec | Spec | work | implementation | no | no | no | |
implementation | Implementation | work | code-review, spec | no | no | yes | |
code-review | Code Review | work | spec, implementation | yes | no | no | pull-request |
completed | Completed | completed | no | no | no |
| Happening | From | To |
|---|---|---|
github.checks.failed | any station | implementation |
github.pull_request.commented | any station | code-review |
github.pull_request.changes-requested | any station | code-review |
github.pull_request.merged | any station | completed |
Review
| Line field | Value |
|---|---|
key | review |
name | Review |
role | review |
| Key | Name | Kind | Passes to | Ends | Diffs | Decisions | Tools |
|---|---|---|---|---|---|---|---|
backlog | Backlog | backlog | code-review | no | no | no | |
code-review | Review | work | yes | yes | no | review-comment, review | |
completed | Completed | completed | no | no | no |
| Happening | From | To |
|---|---|---|
github.pull_request.mentioned | any station | code-review |
github.pull_request.labelled | any station | code-review |
github.pull_request.merged | any station | completed |
github.pull_request.closed-unmerged | any station | completed |
The Review line's review policy (reviews) has every default. See
Review policy fields.
On both lines, a reaction that arrives while a run holds the task waits until
the run ends, and is dropped if the run passes the task on. A reaction to
completed instead stops the run and asks a person, or, if the task awaits an
answer to the run's question, adds a note to it. See Moves.
Station prompts
Each work station has a Markdown prompt. Backlog and completed stations have
none.
| Line | Station | Opens with | Asks the agent to |
|---|---|---|---|
| Delivery | triage | "Decide what is actually being asked for, and whether it is clear and coherent enough to plan against." | Read only, state what the request comes down to, and hand on to Spec once a plan could be written against it. |
| Delivery | spec | "Take the request as triage settled it and turn it into a plan someone can implement without going back to the requester." | Write a plan: the approach, the files and functions to change, how to test it, and what is out of scope. Revise the plan against the returned note when implementation or code review hands the task back. |
| Delivery | implementation | "Make the change the spec describes, and no more than it." | Make the change with tests, leave tests and linter passing, and push the task's branch. Hand back to spec when the spec is wrong or leaves something out. |
| Delivery | code-review | "Review the change against what was asked for, not against how you would have written it." | Hand the task back to implementation with findings, or to spec when the fault is in the plan, or open a pull request and hand on to done. |
| Review | code-review | "Review the pull request this task names." | Leave comments with spotlight review-comment, submit them with spotlight review, make no edits, and hand on to done. |
A built-in line is changed and deleted like any other line. See Change a line's stations.
Setup task
In the inbox, the Set up your team task lists three steps, each ticked once
done:
| Step | Ticked when | Action |
|---|---|---|
| "Install the GitHub App" | Spotlight's GitHub App is installed for the workspace. | "Install on GitHub", or "Configure on GitHub" once installed. |
| "Connect a host" | A push pool exists, or a host seen in the last 24 hours serves an image that is not refused and holds a harness. | "Go to runners", which opens /w/<slug>/settings/runners. |
| "Set up configuration as code" | The team's setup chat has opened its pull request. | The setup form. Once the chat started, "Open setup chat" for the person who started it. Once the pull request is open, "Open pull request" for everyone. |
A ticked step hides its action until the step is selected. Once the task's inbox item is resolved, the actions of "Install the GitHub App" and "Connect a host" are greyed out and cannot be used.
The setup form shows once the GitHub App is installed and a host seen in the
last 24 hours serves an image that is not refused and holds a harness. Before then the step reads
The setup chat needs the GitHub App and a host. Push pools can't run a setup chat.
The form has:
| Part | Holds |
|---|---|
| "Repository" | The repository the configuration goes in, from those the GitHub App reaches. |
| Folder | The folder in it, spotlight at first. |
| "Repositories" | The code repositories the chat checks out, "No repositories" at first. |
| Agent | The harness, model and effort of the chat. The first harness at first, or the one last picked in this browser, here or in another chat. |
| "Start setup chat" | Starts the chat, once a repository, a folder and a harness are chosen. |
The chat's first message reads
Set up our configuration as code in <repository>, under <folder>/. Where the
chat cannot start, the form reads the reason, or
Sorry, the setup chat could not start. Where another person started the chat,
the step reads <Name> is setting this up., or A former member is setting this up.
See Chats.