⚠️ Design system CSS not found. Check the path in docs/docs.config.js → designSystemPath, then re-run npm run docgen.

Article template

One sentence on what the piece argues - it becomes the page subtitle, the card on the Articles overview, and the meta description.

Articles / Article template
Word count~ 327 words
Statuswritten

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 description in 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.

On this page
  • How articles work
Previous Series

First Impressions

Next

Every brand should operate like a media company

© 2026 By Default