Docs

Threads, Steps, and Notes

Threads

A thread is a single unit of work. On the board, it’s a card. In the markdown, it’s a checkbox line.

- [ ] Build authentication flow

Thread States

StateMarkdownBoard Column
Open- [ ]Backlog or Focus
Done- [x]Done

Checking a thread off in either the editor or the board updates both. There is no “in progress” state — a thread is either in Focus (you’re working on it) or it isn’t.

Thread Titles

The text after the checkbox is the thread title. Keep it short and actionable. The board truncates long titles.

- [ ] Build authentication flow          ← Good
- [ ] Build the authentication flow for the new app including OAuth  ← Too long

Creating Threads

In the editor: Type - [ ] followed by your task text.

On the board: Click the + button at the top of any column. This inserts a new checkbox line in the corresponding markdown section.

Moving Threads

On the board: Drag a card between columns.

In the editor: Cut the line and paste it under a different ## Section heading.

When a thread moves from Backlog to Focus via the board, Loomline moves the line from its original section into ## Focus. When it moves back, it returns to the section it came from.

Steps

Steps are subtasks within a thread. They represent the concrete actions needed to complete the parent thread.

- [ ] Build authentication flow
  - [ ] Set up OAuth provider
  - [ ] Create login screen
  - [ ] Handle token refresh
  - [ ] Write error states

Indentation

Steps must be indented exactly two spaces from the left margin:

- [ ] Parent thread        ← Column 0
  - [ ] Step               ← Column 2 (two spaces)

What gets auto-fixed on import:

You WriteLoomline Normalizes To
Tab + - [ ] Step - [ ] Step
Four spaces + - [ ] Step - [ ] Step
* [ ] Step - [ ] Step
+ [ ] Step - [ ] Step
- Step text (no checkbox) - Step text (kept as plain bullet)

Step States

Steps have the same checked/unchecked states as threads:

- [ ] Build authentication flow
  - [x] Set up OAuth provider
  - [x] Create login screen
  - [ ] Handle token refresh
  - [ ] Write error states

Checking off all steps does not automatically complete the parent thread. You decide when a thread is done.

Viewing Steps

On the Threads board, steps aren’t visible on the card itself. Open the thread detail panel (Cmd+I or double-click the card) to see and interact with steps.

Step Limits

There is no enforced limit on steps per thread. But if you have more than 7-8 steps, consider whether the thread should be split into multiple threads.

Thread Notes

A thread note is context attached to a specific thread. It appears as a blockquote in the markdown and in the detail panel on the board.

- [ ] Redesign settings page
  - [ ] Audit current options
  - [ ] Sketch new layout
> The current settings page has too many tabs. Users report confusion
> about where to find appearance options. Consider a single scrolling view.

Placement Rules

The blockquote must come after the thread and its steps:

✓ Correct:
- [ ] Thread
  - [ ] Step
> Note text here

✗ Wrong:
> Note text here
- [ ] Thread

What Notes Are For

Notes carry context that doesn’t fit in a task title. Use them for:

  • Decisions and rationale
  • Links to references
  • Constraints or requirements
  • Conversation summaries

Notes are not for subtasks. Use steps for that.

Multi-Line Notes

Continue the blockquote across multiple lines:

> First line of the note.
> Second line continues the thought.
> Third line wraps up.

All consecutive > lines are joined into a single note for that thread.

One Note Per Thread

Each thread gets one note block. If you write two separate blockquotes under the same thread (with a gap between them), only the first is attached to the thread.

How They Work Together

A complete thread with steps and a note:

- [ ] Migrate database to PostgreSQL
  - [ ] Export current SQLite data
  - [ ] Set up PostgreSQL instance
  - [x] Write migration scripts
  - [ ] Run migration on staging
  - [ ] Verify data integrity
> Current SQLite DB is 2.3GB. Migration window is Saturday 2am-6am.
> Rollback plan: keep SQLite backup for 30 days.

On the board, this appears as a single card titled “Migrate database to PostgreSQL.” Opening the detail panel shows all six steps (one checked) and the note text.

In Structure mode, this renders as a formatted task block with visual step indicators and the note displayed beneath.

Common Mistakes

MistakeResult
Steps with no parent thread aboveTreated as body text
Blockquote before the threadNot attached to any thread
Nested steps (three levels deep)Only first level parsed
Blank line between thread and stepsAuto-removed on import
Mixing * and - bulletsAuto-normalized to -