markdown-formatting

Formats your documentation and pull requests with clean headings and lists so they look professional and are easy to read.

Installation
Run `npx skills add "https://github.com/britt/agent-skills" --skill "markdown-formatting"` to install this skill, then follow its SKILL.md instructions for my next request.

Paste this into Claude Code, Cursor, or any agent that can run commands.

SKILL.mdShow the author's original SKILL.md
---
name: markdown-formatting
description: "Use when writing PR descriptions, issue bodies, documentation, or notes - applies consistent Markdown conventions (heading levels, list markers, code-block languages, link text) and provides PR and issue templates"
---

# Markdown Formatting Skill

Apply consistent Markdown formatting to all outputs. Structure content for readability and professionalism.

## When to Use

Activate when producing:
- PR descriptions and issue bodies
- Documentation and guides
- Notes and summaries
- Structured artifacts that will be saved or published (reports, READMEs, changelogs)

**Not for** conversational chat replies — normal responses don't need templates or strict formatting rules.

## Core Principles

1. **Lead with the point** - TL;DR or summary first, details after
2. **Use structure** - Headings, lists, and whitespace aid scanning
3. **Be consistent** - Same patterns across all outputs
4. **Respect context** - PRs need checklists, docs need examples

## Formatting Rules

### Document Structure

```
# Title (standalone documents only)

Brief summary or TL;DR (1-2 sentences)

## Section Heading

Content organized by topic...
```

### Headings

- Use `##` for main sections (reserve `#` for document title)
- Use `###` sparingly for subsections
- Never skip levels (no `##` to `####`)

### Lists

- Use `-` for unordered lists (not `*`)
- Use `1.` for ordered/sequential steps
- Nest with 2-space indent
- Keep list items parallel in structure

### Code

- Inline: backticks for `commands`, `filenames`, `variables`
- Blocks: triple backticks with language identifier
- Always specify language: ```typescript, ```bash, ```json

### Emphasis

- **Bold** for key terms, warnings, important points
- *Italics* sparingly for emphasis or introducing terms
- Never combine bold and italics

### Links

- Descriptive text: `[installation guide](url)` not `[click here](url)`
- Reference issues/PRs with `#123` format

## Templates

### PR Description

```markdown
## Summary

[One-line description of the change]

## Changes

- [Change 1]
- [Change 2]

## Test Plan

- [ ] [Test case 1]
- [ ] [Test case 2]
```

### Issue Body

```markdown
## Problem

[What is wrong or missing]

## Steps to Reproduce

1. [Step 1]
2. [Step 2]

## Expected

[What should happen]

## Actual

[What actually happens]
```

## Example: Filled-in PR Description

```markdown
## Summary

Add retry with exponential backoff to the `fetchUser` API client.

## Changes

- Wrap `fetchUser` in a retry helper (3 attempts, 200ms base delay)
- Surface a `RetryExhaustedError` after the final attempt
- Add unit tests covering success-after-retry and exhaustion paths

## Test Plan

- [x] `npm test` passes, including new `retry.test.ts` cases
- [x] Manual check: killed the mock server mid-request, saw retries in logs (#87)
```

Note the applied rules: `##` headings, `-` list markers, backticks for code identifiers, `#87` issue reference, and a one-line summary leading the document.

## Anti-patterns

- Walls of text without structure
- Inconsistent list markers (`*`, `-`, `+` mixed)
- Code blocks without language identifiers
- Headings used as emphasis
- Trailing whitespace or excessive blank lines

Mirrored from the author's public source. Install counts from the open skills registry.

The systems behind these skills get built for partners every week.

Partner with us