Markdown Output Prompt — Lock the Document Structure
The contract that stops AI documents from restructuring themselves: a pinned section skeleton, forced tables, and strict consistency rules.
Overview
Ask a model for "a comparison document" five times and you get five structures. The markdown output contract fixes that: a "# " title rule, named "## " sections in a pinned order, table rules that refuse prose-collapse, and a strict consistency block — every section used, exact heading text, nothing merged. This resource loads the structure-enforcement showcase: a feature comparison whose Comparison Table section MUST come back as a real markdown table, identical columns every run.
Workflow
-
Generate once per document type
The prompt is the template — reuse it every time that document gets written.
-
Watch the table contract
Header row, separator row, one row per item, same columns, "—" for blanks — the rules that keep a table a table.
-
Keep Strict for parseable docs
Exact heading text is what lets scripts, diffs, and reviewers rely on the structure.
Why This Works
- Named sections with jobs beat "structure it nicely" by an order of magnitude
- The never-collapse rule directly counters the model's strongest formatting habit
- Strict consistency turns a one-off document into a reusable template
Best for
- Documents that get diffed, templated, or parsed downstream
- Teams generating the same document type repeatedly
- Anyone whose comparison tables keep dissolving into paragraphs
Not for
- Compressing an existing text — that's the Structured Summary Prompt
- Machine-parseable data contracts — that's the JSON Output Prompt Builder
Use cases
- Getting the same document skeleton on every run
- Forcing real markdown tables for comparisons
- Pinning heading text so downstream tooling can parse it