markdown-formatting
>- Canonical markdown formatting conventions for diff-friendly documentation. Consult this skill when generating, editing, or reviewing markdown prose. Defines hybrid line wrapping, heading style, list spacing, and link conventions
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/athola/nm-leyline-markdown-formattingNight Market Skill — ported from claude-night-market/leyline. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Markdown Formatting Conventions
When To Use
- Writing or editing any markdown documentation
- Reviewing prose for line-wrapping compliance
- Generating markdown from plugins (scribe, sanctum, etc.)
When NOT To Use
- Editing code blocks, tables, or frontmatter (these have their own formatting rules)
- Quick scratch notes that will not be committed
These conventions apply to all markdown documentation generated or modified by any plugin. The goal: produce prose that creates clean, reviewable git diffs and reads well on mobile devices.
Quick Reference
When writing or editing markdown prose:
- Wrap prose at 80 chars using hybrid wrapping (prefer sentence/clause boundaries over arbitrary word breaks)
- Blank line before and after every heading
- ATX headings only (
# Heading, never setext underlines) - Blank line before every list
- Reference-style links when inline links push lines beyond 80 chars
What to Wrap
Wrap these content types at 80 characters:
- Paragraphs (flowing prose text)
- Blockquote text (the content after
>) - List item descriptions (text after
-or1.) - Descriptions in definition lists
What NOT to Wrap
Never wrap or reflow these content types:
- Tables: pipe-delimited rows stay on one line
- Code blocks: fenced (
```) or indented content - Headings: lines starting with
# - Frontmatter: YAML/TOML between
---or+++ - HTML blocks: raw HTML elements
- Link definitions:
[id]: urlreference lines - Image references:
on their own line - Single-line list items: short bullets that fit on one line
Wrapping Algorithm (Summary)
For each prose paragraph:
- If a sentence fits within 80 chars, keep it on one line
- If a sentence exceeds 80 chars, break at the nearest
sentence boundary (
.!?) before column 80 - If no sentence boundary, break at the nearest clause
boundary (
,;:) before column 80 - If no clause boundary, break before a conjunction
(
andbutor) before column 80 - If none of the above, break at the last word boundary before column 80
- Never break inside backtick spans, link text, or URLs
See modules/wrapping-rules.md for the full algorithm with
examples.
Structural Rules
Blank Lines Around Headings
WRONG:
Some text.
## Heading
More text.
RIGHT:
Some text.
## Heading
More text.
Exception: the first line of a file may be a heading without a preceding blank line.
ATX Headings Only
WRONG:
Heading
=======
WRONG:
Subheading
----------
RIGHT:
# Heading
RIGHT:
## Subheading
Blank Line Before Lists
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-athola-nm-leyline-markdown-formatting": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
extract
Analyze a codebase and build a knowledge base of business logic, architecture, data flow, and engineering patterns. The foundation for gauntlet challenges and agent integration
discourse
>- Scan community discussion channels (HN, Lobsters, Reddit, tech blogs) for experience reports and opinions on a topic
synthesize
>- Merge, deduplicate, rank, and format research findings from multiple channels into a coherent report. Use after research agents return their results
workflow-monitor
Detect workflow failures and inefficient patterns, then create GitHub issues for improvement via /fix-workflow
architecture-paradigm-hexagonal
Hexagonal (Ports and Adapters) architecture isolating domain logic from infrastructure