| Word count | ~ 327 words |
| Status | written |
How articles work
This section is the home for long-form writing - pieces meant to be read, not filmed. No hook, no CTA, no post image text: just the article itself.
The voice law for everything here is 02 Skills/Written-Voice.md, the written expression of 02 Skills/Voice.md. Run its rewrite pass (or the /written-voice skill) before a piece moves to status: "written".
To add one, drop a markdown file in docs/articles/ named like the scripts are - a leading number for the sidebar order, an optional presenter suffix for the byline (01 The piece about X - Erlen.md). The page title comes from the # H1, the slug from the title.
Structure the file exactly like this template:
- The synopsis is the one-sentence
descriptionin the frontmatter - it never appears inside the piece. It's the short line a feed or link preview shows: the page subtitle, the card description on the Articles overview, and the page's meta description. - The article itself starts straight after the
# H1, with its own##headings as the piece needs. The metadata table (word count, status) injects itself at the top of the page; the word count is computed on every build, so never write it by hand.
Frontmatter also carries the lifecycle status: "draft" keeps the piece off the site entirely while it's being written, "written" publishes it here, and "published" marks it once it's live wherever it's headed.
Where it's headed is the optional destination field (destination: "Substack", "Website", "LinkedIn", or wherever the piece will live). It renders as a row in the injected metadata table; leave it out and the row simply doesn't appear.
Every article page gets a Copy article button in its header - it copies the article's source markdown, so a paste into LinkedIn or anywhere else keeps its headings and bullets.
After adding or editing an article, rebuild the site from the repo root:
npm run docs:build
Set this template to status: "draft" (or delete the file) once the first real article is in.