add-content

star 0

Create or edit Flint Static content pages (Markdown + YAML frontmatter). Use when adding pages, blog posts, section indexes, or products to the site.

NeoTech By NeoTech schedule Updated 2/25/2026

name: add-content description: Create or edit Flint Static content pages (Markdown + YAML frontmatter). Use when adding pages, blog posts, section indexes, or products to the site.

Add / Edit Content

Create or modify content pages in content/. Each .md file becomes an HTML page at build time. The file path determines the URL; frontmatter determines everything else.

Trigger Phrases

  • "Add a page about [topic]"
  • "Create a blog post about [topic]"
  • "Add a new section called [name]"
  • "Write content for [page]"
  • "Create a landing page for [topic]"
  • "Add [name] to the blog"
  • "Update the frontmatter on [page]"
  • "Add a child page under [section]"
  • "Create a product page for [name]"

When to Use

  • Adding a new page, blog post, section index, or product
  • Editing frontmatter fields (title, parent, labels, etc.)
  • Adding :::children, :::html, or HTMX links to a page

Procedure

1. Pick the file path

Goal File path URL
Top-level page content/<slug>.md /<slug>
Section index content/<section>/index.md /<section>
Child page content/<section>/<slug>.md /<section>/<slug>

2. Write frontmatter

Every file must have Short-URI. See references/frontmatter-fields.md for all fields.

---
title: My Page Title
Short-URI: my-page
Template: default
Type: page
Parent: root
Order: 3
Category: General
Labels: [tutorial, beginner]
Description: A short SEO summary
---
  • Parent: root → appears in top navigation
  • Parent: <section-short-uri> → child of that section
  • Type: section → container page, use :::children in body
  • Type: product → requires PriceCents, Currency, StripePriceId, StripePaymentLink, Image

3. Write the Markdown body

Standard GFM Markdown. Extend with three directives:

Auto-list child pages:

:::children sort=date-desc limit=5
:::

Raw HTML block:

:::html
<div hx-get="/fragments/demo.html" hx-target="#output">
  <button class="bg-blue-600 text-white px-4 py-2 rounded">Click Me</button>
  <div id="output"></div>
</div>
:::

HTMX link:

[Load Data](/fragments/data.html){hx-get hx-target=#output hx-swap=innerHTML}

See references/directives.md for full options and placeholders.

4. Validate

  • Short-URI is unique across all content files
  • Parent matches an existing section's Short-URI or is root
  • Template matches a file in themes/default/templates/ (without .html)
  • Type is one of: page, post, section, product
  • Section indexes include a :::children directive
  • Products have all five product fields

5. Build

bun run build

Constraints

  • No <style> or <link> tags — use Tailwind in :::html blocks
  • No <script> blocks — client JS goes in src/client/
  • No nested ::: blocks — first ::: closes the block
  • No Markdown inside :::html — it's raw HTML only
  • No hard-coded nav links — navigation is auto-generated from Parent + Order
  • No HTML cards for data a component already renders — put structured data in frontmatter and let {{tag}} components render it (e.g. Skills: array → {{skill-cards}}, product fields → {{product}})

References

  • references/frontmatter-fields.md — Complete field reference with types and defaults
  • references/directives.md:::children, :::html, and HTMX syntax details
  • references/examples.md — Full page examples (blog post, product, section index)
Install via CLI
npx skills add https://github.com/NeoTech/Flint --skill add-content
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator