markdown-documentation
Skill1 starsChanged 8 months agoMITView on GitHub
Standards and practices for Markdown and GitHub Flavored Markdown (GFM) documentation. Covers heading hierarchy, prose style, GFM alerts, task lists, collapsible sections, Mermaid diagrams, tables, badges, and anti-patterns. Enforces no-AI-slop rules: no Unicode artifacts, no emojis, no filler language, no hard line breaks in prose. Use when writing READMEs, docs pages, changelogs, API docs, contributing guides, or any Markdown file.
In this repository33 other files it gives its agents.
- argocdSkill
- c-cpp-compilersSkill
- coding-guidelinesSkill
- devops-iac-engineerSkill
- dag-flowdSkill
- flowd-rules-authorSkill
- frontend-designSkill
- ghSkill
- grafana-dashboardsSkill
- helmSkill
- kustomizeSkill
- legalizerSkill
- lua-projectsSkill
- mermaid-diagramsSkill
- meta-cognition-parallelSkill
- podmasterSkill
- practical-haskellSkill
- rcaSkill
- researcherSkill
- security-auditSkill
- solidity-securitySkill
- svg-genSkill
- tdd-red-green-refactorSkill
- tmux-masterySkill
- tokenomics-designSkill
- ultimate-dbSkill
- ultimate-nixosSkill
- ultimate-rustSkill
- ultimate-web3Skill
- web3-frontendSkill
- web3-testingSkill
- web3-whitepaperSkill
- ziglangSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
37 rules. About 0 are common, 27 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈27
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Never fabricate information.
- Distinctive: line 19
Never generate filler text, placeholder prose, or generic content to pad length.
- Distinctive: line 20
Every sentence must carry meaning.
- Distinctive: line 21
Avoid weasel words: "simply", "just", "easily", "obviously", "of course".
- Distinctive: line 22
Avoid hollow qualifiers: "robust", "powerful", "seamless", "cutting-edge", "world-class", "state-of-the-art".
- Distinctive: line 23
Do not produce marketing copy disguised as documentation.
- Distinctive: line 24
Write for a technical reader who values precision over politeness.
- Distinctive: line 28
Never use emoji characters in documentation output.
- Very specific: line 29
Never use emoticon sequences (:), :/, etc.).
- Very specific: line 30
Never use GitHub emoji shortcodes (:rocket:, :sparkles:, etc.).
- Very specific: line 43
Other invisible markers: No soft hyphens (U+00AD), no word joiners (U+2060), no BOM characters.
- Very specific: line 45
Run a mental check on every output: would a hexdump reveal anything beyond standard ASCII printable characters, newlines, and tabs?
- Very specific: line 49
Never use Unicode box-drawing characters (─ U+2500, ━ U+2501, ═ U+2550, etc.) as decorative section separators in code comments or …
- Distinctive: line 68
When writing essays and blogs
- Very specific: line 99
Use ## H2 for major sections.
- Very specific: line 100
Use ### H3 for subsections.
- Very specific: line 101
Never skip levels (e.g., ## to ####).
- Distinctive: line 102
Keep headings concise and descriptive -- they double as anchor links.
- Distinctive: line 128
Use lists when presenting 3+ related items.
- Distinctive: line 129
Never split a sentence with a hard line break to enforce paragraph brevity.
- Distinctive: line 133
Always specify the language in fenced code blocks.
- Distinctive: line 134
Use inline code for: file names, function names, variable names, CLI commands, config keys.
- Distinctive: line 135
Use code blocks for: multi-line code, configuration files, terminal output.
- Distinctive: line 139
Use descriptive link text.
- Distinctive: line 140
Prefer relative paths for internal documentation links.
- Distinctive: line 141
Verify links are not broken before finalizing.
- Distinctive: line 145
Always include alt text that describes the image content.
- Distinctive: line 146
Never use images as the sole carrier of textual information (accessibility).
- Distinctive: line 147
Prefer SVG or diagrams-as-code (Mermaid) over raster screenshots where possible.
- Distinctive: line 153
Use GitHub's alert syntax for callouts:
- Distinctive: line 181
Use for supplementary content that would otherwise clutter the main flow:
- Distinctive: line 194
Prefer Mermaid over image-based diagrams when the diagram is structural (flowcharts, sequences, ER diagrams):
- Very specific: line 209
Do not impose artificial line length limits on prose.
- Distinctive: line 217
Never break a sentence across lines just to stay under an arbitrary character limit.
- Very specific: line 222
Use alignment syntax (:---, :---:, ---:) when it aids comprehension.
- Distinctive: line 223
Prefer tables over nested lists for structured data with consistent fields.
- Distinctive: line 227
Place badges immediately after the H1 title, before any prose.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Markdown Documentation
Overview
Standards and practices for creating well-formatted, readable documentation using Markdown and GitHub Flavored Markdown (GFM).
Critical Rules -- Writing Integrity
These rules are non-negotiable and override all other instructions.
No AI Slop
- Never fabricate information. If unsure, say so explicitly.
- Never generate filler text, placeholder prose, or generic content to pad length.
- Every sentence must carry meaning. Remove anything that restates the obvious.
- Avoid weasel words: "simply", "just", "easily", "obviously", "of course".
- Avoid hollow qualifiers: "robust", "powerful", "seamless", "cutting-edge", "world-class", "state-of-the-art".
- Do not produce marketing copy disguised as documentation.
- Write for a technical reader who values precision over politeness.
No Emojis or Emoticons
- Never use emoji characters in documentation output.
- Never use emoticon sequences (
:),:/, etc.). - Never use GitHub emoji shortcodes (
:rocket:,:sparkles:, etc.). - Exception: only when the user explicitly requests them.
No Hidden Unicode Artifacts
Prevent all invisible or suspicious Unicode characters that mark content as AI-generated:
- Em dash (
--): Use two hyphens (--) or restructure the sentence. Never output--. - En dash (
-): Use a regular hyphen (-). - Zero-width spaces (
U+200B), zero-width joiners (U+200D), zero-width non-joiners (U+200C): Never include these. - Non-breaking spaces (
U+00A0): Use regular spaces only. - Smart/curly quotes (
""''): Use straight quotes ("') exclusively. - Ellipsis character (
...): Use three periods (...) instead. - Other invisible markers: No soft hyphens (
U+00AD), no word joiners (U+2060), no BOM characters.
Run a mental check on every output: would a hexdump reveal anything beyond standard ASCII printable characters, newlines, and tabs? If yes, fix it.
No Unicode Separator Decorators in Code or Config
Never use Unicode box-drawing characters (─ U+2500, ━ U+2501, ═ U+2550, etc.) as decorative section separators in code comments or configuration files. This pattern:
# ── section name ──────────────────────────────────────────────
// ── State ─────────────────────────────────────────────────────is AI slop. It appears in no Rust, TOML, Solidity, or any other language standard. It is invisible noise in diffs, fails to render meaningfully in most editors, and is a reliable marker of low-quality AI-generated content. Use plain labels or ASCII hyphens if a visual break is truly needed:
# section name
// ---When to Apply
- README files
- Documentation pages
- GitHub/GitLab wikis
- When writing essays and blogs
- Technical writing and guides
- Project documentation
- Changelog and contributing guides
- API documentation
Documentation Structure
File Organization
docs/
README.md
CONTRIBUTING.md
CHANGELOG.md
LICENSE
CODE_OF_CONDUCT.md
SECURITY.md
guides/
getting-started.md
installation.md
configuration.md
api/
authentication.md
endpoints.md
errors.mdHeading Hierarchy
- One
# H1per document (the title). - Use
## H2for major sections. - Use
### H3for subsections. Rarely go deeper than####. - Never skip levels (e.g.,
##to####). - Keep headings concise and descriptive -- they double as anchor links.
Table of Contents
Include a ToC for documents exceeding ~3 screens of content:
## Table of Contents
- [Section One](#section-one)
- [Section Two](#section-two)
- [Subsection](#subsection)Writing Style
Tone
- Direct and declarative. Prefer imperative mood for instructions.
- Technical accuracy over conversational warmth.
- Assume the reader is competent. Do not over-explain standard concepts.
Sentence Structure
- One idea per paragraph. Paragraphs should be focused, not artificially short.
- Lead with the most important information.
- Use lists when presenting 3+ related items.
- Never split a sentence with a hard line break to enforce paragraph brevity.
Code References
- Always specify the language in fenced code blocks.
- Use inline code for: file names, function names, variable names, CLI commands, config keys.
- Use code blocks for: multi-line code, configuration files, terminal output.
Links
- Use descriptive link text. Never use "click here" or "this link".
- Prefer relative paths for internal documentation links.
- Verify links are not broken before finalizing.
Images
- Always include alt text that describes the image content.
- Never use images as the sole carrier of textual information (accessibility).
- Prefer SVG or diagrams-as-code (Mermaid) over raster screenshots where possible.
GFM-Specific Features
Alerts (Admonitions)
Use GitHub's alert syntax for callouts:
> [!NOTE]
> Supplementary information the reader should be aware of.
> [!TIP]
> Advice to help the reader succeed.
> [!IMPORTANT]
> Key information the reader needs to know.
> [!WARNING]
> Urgent information about potential problems.
> [!CAUTION]
> Consequences of an action that could cause harm.Task Lists
- [x] Completed item
- [ ] Pending itemCollapsible Sections
Use for supplementary content that would otherwise clutter the main flow:
<details>
<summary>Additional details</summary>
Content hidden by default.
</details>Mermaid Diagrams
Prefer Mermaid over image-based diagrams when the diagram is structural (flowcharts, sequences, ER diagrams):
```mermaid
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Action]
B -->|No| D[Other action]
```Formatting Rules
Line Length
Do not impose artificial line length limits on prose. Never insert hard line breaks (\n) mid-sentence or mid-paragraph to meet a column width. Let paragraphs flow as continuous text -- renderers wrap naturally and hard breaks create broken, choppy output in rendered views.
Hard line breaks are only appropriate in:
- Code blocks and terminal output (where they are structurally meaningful)
- Markdown tables (one row per line)
- List items that are genuinely separate entries
- Headings
Never break a sentence across lines just to stay under an arbitrary character limit.
Tables
- Align columns for readability in source.
- Use alignment syntax (
:---,:---:,---:) when it aids comprehension. - Prefer tables over nested lists for structured data with consistent fields.
Badges
Place badges immediately after the H1 title, before any prose. Use shields.io format:
# Project Name
[](...)
[](LICENSE)Anti-Patterns
- Walls of text with no visual breaks.
- Headings that don't describe their section content.
- Mixed HTML and Markdown without justification.
- Absolute paths to local files in documentation.
- Language-unspecified code blocks.
- Nested blockquotes beyond two levels.
- Tables with excessive columns that break on narrow viewports.
- Hard line breaks mid-sentence or mid-paragraph to enforce a column limit. Prose must flow as continuous text; let the renderer wrap it.
Additional Resources
- For full Markdown syntax reference, see reference.md
- For README and documentation templates, see templates.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

