Post file template¶
One file per post, marketing/x/NN-<day>-<topic>.md in the product's repo. Same frontmatter as campaign
tools that read post files from a repo (e.g. Promo Desk's Campaign tab, see flow/tools.md).
---
where: X
stage: share # warmup | share | discuss | update | results | deal
date: {{YYYY-MM-DD HH:MM}}
link: first-comment # direct | first-comment | bio | none — WHERE the link goes, never the URL itself
status: planned # planned | posted YYYY-MM-DD <link to the post> | skipped | removed
kind: post # post | thread | long | reply
variant: v01 # v01 … v20, see templates/variants/README.md
day: tue # mon … sun (7-day rotation)
product: {{slug}}
aim: reply # reply | share | follow | visit
---
# {{NN}} — X · {{topic}}
> Attach: {{screenshot / 10–30 s clip}}. Check before posting: {{numbers to verify}}.
## Body
```text
{{the post, under 280 characters unless kind: long. No URL here when link: first-comment}}
```
## Reply 1
```text
{{landing}}?utm_source=x&utm_medium=reply&utm_campaign={{slug}}
```
link:says where the link goes. The URL itself lives in## Reply 1(first-comment), in the body (direct), or nowhere (bio,none). A URL inlink:is rejected by tools that read this format.- Default to
first-commentorbio: links are weakly rewarded by the ranker (03-how-x-ranks-posts.md), and the same link in many posts looks like spam (08-rules-and-risks.md). stage:maps the 7-day rotation: demo / tip / behind the scenes →share, question →discuss, weekly numbers →results, the one offer of the week →deal, posts before the product is out →warmup.kind,variant,day,product,aimare extra fields for your own sorting.variantlets you compare results by post type every Sunday. A ready file per variant: templates/variants/.- For a thread, number each part
1/,2/… on its own line inside thetextblock.