Speclist
Structured specification format with two peer types: flow (procedural) and def (declarative).
| Format | Purpose | Structure | Example Use |
|---|---|---|---|
| flow | What to do | Numbered steps | Operations, procedures |
| def | What exists | Bulleted entries | Functions, entities, specs |
Both share common syntax documented in reference/shared.md.
Operations
Writing Flow
When authoring procedural content (operations, procedures, workflows):
- •Read
reference/flow.mdfor structure and syntax - •Read
reference/shared.mdfor common conventions
Writing Def
When authoring declarative content (functions, entities, component specs):
- •Read
reference/def.mdfor structure and syntax - •Read
reference/shared.mdfor common conventions
Reading
When interpreting/executing a speclist:
- •Identify format (flow vs def) from structure
- •Read the relevant reference file for syntax details
Import Content
When converting existing content (Linear issues, specs, docs) into speclist format:
Mapping Table:
| Source Pattern | Speclist Equivalent | Example |
|---|---|---|
1. **STEP 1: Title** | 1. TITLE | 1. **STEP 1: Upload file** -> 1. UPLOAD FILE |
*italicized context* | > **NOTE** context | *We only support Stripe* -> > **NOTE** ... |
(skipped if condition) | > **SKIP IF** _condition_ | (skipped if valid) -> > **SKIP IF** _isValid_ |
 |  | Same syntax (no change) |
1. **Requirements:** | **Requirements:** section | Keep as labeled section with numbered items |
| Nested step numbers (5.2) | Flatten or use sub-steps | 5.2 inside step 5 -> 5.1, 5.2 or top-level |
| Bulleted entity lists | Def format (- **name**) | Entity descriptions -> def structure |
Conversion Process:
- •IDENTIFY FORMAT
- •Sequential steps -> use flow format
- •Entity/function descriptions -> use def format
- •Mixed -> separate into flow and def sections
- •CONVERT STEPS (flow)
NOTE Linear often uses
**STEP N: Title**format.- •Extract step title -> convert to UPPERCASE label
- •Sub-actions become numbered sub-steps
- •CONVERT ENTITIES (def)
- •Entity name ->
- **name** - •Description -> first sub-item
- •Properties ->
key: valuesub-items
- •Entity name ->
- •EXTRACT METADATA
- •Italicized text after step title ->
> **NOTE** ... - •Parenthetical skip conditions ->
> **SKIP IF** _condition_
- •Italicized text after step title ->
- •PRESERVE IMAGES
NOTE Markdown image syntax is unchanged between formats.
- •Copy
directly
- •Copy
- •FLATTEN STRUCTURE
NOTE Linear sometimes nests steps incorrectly (e.g., 5.2 = Step 6).
- •If nested step is truly a sub-step: keep as sub-step
- •If nested step is independent: promote to top-level step
- •CONVERT REQUIREMENTS
NOTE Requirements are declarative specs (what must exist), distinct from actions (what to do).
- •Keep
**Requirements:**label - •Convert requirement items to numbered list
- •If step also has actions: add
**Actions:**label before action items - •Nested requirements -> numbered sub-items (e.g., 1.1, 1.2)
- •Keep