SKILL: Markdown Writer
Purpose: help agents reliably author and review Markdown with correct structure, links, and minimal ambiguity.
This skill is intended to be used by any agent that creates/edits/reviews .md content.
When to Load This Skill
Load this skill when you:
- Create or edit any
*.md file
- Write documentation changes (README, guides, design docs)
- Create or update ADRs in
.github/decisions/
- Maintain repo context files such as
AGENTS.md, llms.txt, or copilot-instructions.md
- Create or update
SKILL.md packages or .agent.md prompts (Markdown structure still applies)
- Review documentation as a critic (links, headings, formatting)
Requirements (Must-Haves)
Agents writing or editing Markdown in this repo must satisfy all of the following:
R1 — Language and permanence
- All committed Markdown must be English.
- Avoid time-sensitive phrasing (“today/now”) unless a date is explicitly stated.
R2 — Document structure
- Exactly one top-level title: a single
# ... heading.
- Headings are hierarchical and ordered:
# → ## → ### (no skipped levels).
- Headings are unique (avoid duplicates that may break anchors).
R3 — Links
- Prefer relative links for repo files.
- Do not introduce broken links; if you add/change a link, verify the target exists in the workspace.
- Use
/ as a path separator (never \).
- Use descriptive link text (avoid dumping raw URLs unless the URL itself is the reference).
R4 — Anchors
- Avoid deep anchor links unless the section is stable.
- Keep heading titles simple to reduce renderer-specific anchor differences.
R5 — Code blocks
- Fenced code blocks must be balanced (opening/closing fences match).
- Add a language tag when possible (e.g.
yaml, json, bash, text).
R6 — Frontmatter
- Only use YAML frontmatter when the file format expects it.
- If frontmatter exists, it must be valid YAML wrapped in
--- lines.
R7 — Safety and hygiene
- Do not include secrets, tokens, credentials, or sensitive logs.
- Keep edits minimal: do not rewrite unrelated sections.
R8 — Lists and readability
- Use
- for unordered lists.
- Keep bullets short and scannable; avoid deep nesting unless it improves clarity.
R9 — Tables
- Prefer tables only when they improve comparison; avoid very wide tables (use bullets instead).
Common Markdown Pitfalls (Avoid)
- Broken relative links after renames/moves (always re-check targets).
- Inconsistent heading casing that creates near-duplicates (hurts search and navigation).
- Over-wide tables (hard to read in GitHub; prefer bullets if the table exceeds typical width).
- Copy-pasted logs containing secrets, tokens, or internal URLs.
Templates (Use When Applicable)
Documentation page template
# <Title>
## Purpose
<What this document is for, in 1–3 sentences>
## Audience
<Who should read this>
## Workflow / Process
1. <Step>
2. <Step>
## References
- <links>
ADR template (minimal)
# ADR-XXXX — <Title>
## Status
Proposed | Accepted | Superseded by ADR-YYYY
## Context
<Why we needed to decide>
## Decision
<What we decided, one sentence>
## Consequences
<What changes; what becomes easier/harder>
Review Checklist (For Critics and Self-Review)
Standard Checks (Optional, Recommended)
Use these when you want a repeatable “doc QA” pass. If the repo does not have these tools configured, treat this section as guidance (do a manual check instead).
- Markdown lint: catch common Markdown style issues (headings, fences, spacing).
- Spell check: catch typos and inconsistent terminology (especially in headings).
- Link check: validate external URLs (best-effort) and internal relative links.
Suggested tooling (choose one set; do not require all):
markdownlint-cli2 (Markdown lint)
cspell (spell check)
lychee (link check)
Minimum manual equivalent if you cannot run tools:
- Re-scan headings: one
#, no skipped levels, no duplicates.
- Re-scan all new/edited links: open targets; fix path separators and casing.
- Re-scan code fences: ensure opening/closing fences match; add language tags.
References
Source: AlexandrSurkov/ForgentFramework — distributed by TomeVault.
1---2name: markdown-writer3description: Write and review Markdown (.md) files with consistent structure, correct links, and repo-friendly conventions. Use when editing README, ADRs, AGENTS.md, llms.txt, SKILL.md, copilot-instructions.md, or any documentation page. Use when this capability is needed.4---56# SKILL: Markdown Writer78> Purpose: help agents reliably author and review Markdown with correct structure, links, and minimal ambiguity.9> This skill is intended to be used by any agent that creates/edits/reviews `.md` content.1011## When to Load This Skill1213Load this skill when you:1415- Create or edit any `*.md` file16- Write documentation changes (README, guides, design docs)17- Create or update ADRs in `.github/decisions/`18- Maintain repo context files such as `AGENTS.md`, `llms.txt`, or `copilot-instructions.md`19- Create or update `SKILL.md` packages or `.agent.md` prompts (Markdown structure still applies)20- Review documentation as a critic (links, headings, formatting)2122---2324## Requirements (Must-Haves)2526Agents writing or editing Markdown in this repo must satisfy all of the following:2728### R1 — Language and permanence2930- All committed Markdown must be **English**.31- Avoid time-sensitive phrasing (“today/now”) unless a date is explicitly stated.3233### R2 — Document structure3435- Exactly one top-level title: a single `# ...` heading.36- Headings are hierarchical and ordered: `#` → `##` → `###` (no skipped levels).37- Headings are unique (avoid duplicates that may break anchors).3839### R3 — Links4041- Prefer **relative links** for repo files.42- Do not introduce broken links; if you add/change a link, verify the target exists in the workspace.43- Use `/` as a path separator (never `\`).44- Use descriptive link text (avoid dumping raw URLs unless the URL itself is the reference).4546### R4 — Anchors4748- Avoid deep anchor links unless the section is stable.49- Keep heading titles simple to reduce renderer-specific anchor differences.5051### R5 — Code blocks5253- Fenced code blocks must be balanced (opening/closing fences match).54- Add a language tag when possible (e.g. `yaml`, `json`, `bash`, `text`).5556### R6 — Frontmatter5758- Only use YAML frontmatter when the file format expects it.59- If frontmatter exists, it must be valid YAML wrapped in `---` lines.6061### R7 — Safety and hygiene6263- Do not include secrets, tokens, credentials, or sensitive logs.64- Keep edits minimal: do not rewrite unrelated sections.6566### R8 — Lists and readability6768- Use `-` for unordered lists.69- Keep bullets short and scannable; avoid deep nesting unless it improves clarity.7071### R9 — Tables7273- Prefer tables only when they improve comparison; avoid very wide tables (use bullets instead).7475---7677## Common Markdown Pitfalls (Avoid)7879- Broken relative links after renames/moves (always re-check targets).80- Inconsistent heading casing that creates near-duplicates (hurts search and navigation).81- Over-wide tables (hard to read in GitHub; prefer bullets if the table exceeds typical width).82- Copy-pasted logs containing secrets, tokens, or internal URLs.8384## Templates (Use When Applicable)8586### Documentation page template8788```markdown89# <Title>9091## Purpose92<What this document is for, in 1–3 sentences>9394## Audience95<Who should read this>9697## Workflow / Process981. <Step>992. <Step>100101## References102- <links>103```104105### ADR template (minimal)106107```markdown108# ADR-XXXX — <Title>109110## Status111Proposed | Accepted | Superseded by ADR-YYYY112113## Context114<Why we needed to decide>115116## Decision117<What we decided, one sentence>118119## Consequences120<What changes; what becomes easier/harder>121```122123---124125## Review Checklist (For Critics and Self-Review)126127- [ ] One `#` title at top; headings are unique and ordered.128- [ ] No broken links to repo files; link paths use `/`.129- [ ] Fenced code blocks are balanced; language tags are present where relevant.130- [ ] The doc is skimmable: short sections, short bullets, minimal redundancy.131- [ ] No secrets, tokens, or sensitive logs embedded.132- [ ] Changes are minimal and do not rewrite unrelated sections.133134---135136## Standard Checks (Optional, Recommended)137138Use these when you want a repeatable “doc QA” pass. If the repo does not have these tools configured, treat this section as guidance (do a manual check instead).139140- **Markdown lint**: catch common Markdown style issues (headings, fences, spacing).141- **Spell check**: catch typos and inconsistent terminology (especially in headings).142- **Link check**: validate external URLs (best-effort) and internal relative links.143144Suggested tooling (choose one set; do not require all):145146- `markdownlint-cli2` (Markdown lint)147- `cspell` (spell check)148- `lychee` (link check)149150Minimum manual equivalent if you cannot run tools:151152- Re-scan headings: one `#`, no skipped levels, no duplicates.153- Re-scan all new/edited links: open targets; fix path separators and casing.154- Re-scan code fences: ensure opening/closing fences match; add language tags.155156---157158## References159160- Agent file and repo context standards: `framework/spec/appendices/01-appendix-a1-ai-and-llm-standards.md` (A1.1)161- VS Code Copilot customization overview: https://code.visualstudio.com/docs/copilot/customization/overview162163---164> Source: [AlexandrSurkov/ForgentFramework](https://github.com/AlexandrSurkov/ForgentFramework) — distributed by [TomeVault](https://tomevault.io).165<!-- tomevault:4.0:skill_md:2026-05-23 -->