Markdown Writer

VerifiedSafe

Generate well-structured technical documentation in Markdown, including READMEs, API docs, how-to guides, and changelogs.

Sby Skills Guide Bot
DocumentationBeginner
7/25/2026
Claude CodeCursorWindsurfCopilotCodex
#markdown#technical-writing#readme#api-docs#changelog

Recommended for

Automated summary

This skill guides the writing of well-structured technical documentation in Markdown (READMEs, API references, how-to guides, changelogs, ADRs) using supplied templates and a three-step workflow.

Strengths

  • Covers seven document types with a table clarifying each one's purpose and audience
  • Ships complete copy-ready templates for READMEs, API endpoints and how-to guides, including parameter tables and request examples
  • Includes an information-gathering step (read the codebase, check existing tone, identify the audience) before writing
  • Output is plain Markdown that works with any renderer

Limitations

  • Does not verify that documented parameters or code examples actually match the source code
  • The how-to guide template is truncated in the provided file
  • Ignores doc generators (MkDocs, Docusaurus) and Markdown linting
When to use it

When you need to quickly produce a structured Markdown README, API reference or technical guide from an existing project.

When not to use it

For documentation auto-generated from code (docstrings, OpenAPI) or for narrative marketing content without a technical structure.

Security analysis

Safe
Quality score85/100

This skill is purely an instructional writing guide: it tells the agent how to structure Markdown documents, provides templates, and a review checklist. No tools are declared, no shell commands are executed by the skill itself (code blocks are only illustrative documentation examples), and there is no network access, credential handling, file deletion, obfuscation, or safety-disabling behavior. The only remote-ish elements are example URLs and a suggested 'read the codebase' step, both benign and within normal documentation workflow.

No concerns found

How this analysis is made

Examples

Project README
Read this repository and write a README covering installation, quick start, main features and configuration options.
API endpoint docs
Document the POST /api/orders endpoint in Markdown, with a request body table, a curl example and the success and error responses.
Changelog
Write a Markdown changelog for version 2.1.0 from these commits, grouped into Added, Changed and Fixed sections.

name: markdown-writer description: >- Generate well-structured technical documentation in Markdown. Use when a user asks to write docs, create a README, document an API, write a how-to guide, generate technical documentation, create a changelog, write a project wiki, or produce any structured Markdown content. Follows documentation best practices for clarity and completeness. license: Apache-2.0 compatibility: "Works with any Markdown renderer" metadata: author: terminal-skills version: "1.0.0" category: content tags: ["markdown", "documentation", "writing", "readme", "technical-writing"]

Markdown Writer

Overview

Generate well-structured technical documentation in Markdown format. Covers READMEs, API docs, how-to guides, changelogs, and any structured technical content using documentation best practices.

Instructions

When a user asks you to write documentation or Markdown content, follow these steps:

Step 1: Determine the document type

| Type | Purpose | Audience | |------|---------|----------| | README | Project introduction, setup, usage | New users and contributors | | API docs | Endpoint reference with parameters and responses | Developers integrating the API | | How-to guide | Step-by-step walkthrough for a specific task | Users solving a problem | | Tutorial | Learning-oriented, progressive complexity | Beginners | | Reference | Complete technical specification | Experienced users | | Changelog | Version history with changes | All users | | ADR | Architecture decision record | Team members |

Step 2: Gather information

Before writing, collect:

  • Read the codebase to understand what the project does
  • Check existing docs for tone and style
  • Identify the target audience (beginner, intermediate, expert)
  • Note any prerequisites or dependencies
  • Find code examples that demonstrate real usage

Step 3: Write using these templates

README template:

# Project Name

One-line description of what this project does.

## Installation

\`\`\`bash
npm install project-name
\`\`\`

## Quick Start

\`\`\`javascript
const lib = require('project-name');
lib.doSomething();
\`\`\`

## Usage

### Feature One
Explain the feature with a code example.

### Feature Two
Explain the feature with a code example.

## API Reference

### `functionName(param1, param2)`
- `param1` (string): Description
- `param2` (number, optional): Description. Default: `10`
- Returns: `Promise<Result>`

## Configuration

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `port` | number | `3000` | Server port |
| `debug` | boolean | `false` | Enable debug logging |

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## License

MIT

API endpoint documentation:

### Create a User

\`\`\`
POST /api/users
\`\`\`

**Request body:**
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | Full name |
| `email` | string | Yes | Email address |
| `role` | string | No | Default: `"user"` |

**Example request:**
\`\`\`bash
curl -X POST https://api.example.com/users \
  -H "Content-Type: application/json" \
  -d '{"name": "Jane Doe", "email": "jane@example.com"}'
\`\`\`

**Response (201 Created):**
\`\`\`json
{
  "id": 42,
  "name": "Jane Doe",
  "email": "jane@example.com",
  "role": "user",
  "created_at": "2024-03-15T10:30:00Z"
}
\`\`\`

**Error responses:**
| Status | Description |
|--------|-------------|
| `400` | Invalid request body |
| `409` | Email already exists |

How-to guide template:

# How to Deploy to Production

## Prerequisites
- Docker 20+ installed
- AWS CLI configured with credentials

## Steps

### 1. Build the image
\`\`\`bash
docker build -t myapp:latest .
\`\`\`

### 2. Push to registry
\`\`\`bash
docker tag myapp:latest ecr.example.com/myapp:latest
docker push ecr.example.com/myapp:latest
\`\`\`

### 3. Deploy
\`\`\`bash
aws ecs update-service --cluster prod --service myapp --force-new-deployment
\`\`\`

## Troubleshooting

**Build fails with "out of memory":**
Increase Docker memory limit to at least 4GB in Docker Desktop settings.

**Deployment times out:**
Check that the health check endpoint returns 200 within 30 seconds.

Step 4: Review and polish

Checklist before delivering:

  • [ ] Title clearly states what the document covers
  • [ ] Code examples are copy-paste ready (no placeholders that would break)
  • [ ] Tables are used for structured data instead of long prose
  • [ ] Headings follow a logical hierarchy (H1 > H2 > H3)
  • [ ] Links are included for external references
  • [ ] Prerequisites are listed before steps that require them

Examples

Example 1: Generate a README for a CLI tool

User request: "Write a README for my Node.js CLI tool that converts images"

Output structure:

# img-convert

Fast image format conversion from the command line.

## Installation
  npm install -g img-convert

## Usage
  img-convert input.png output.webp
  img-convert --quality 80 --resize 800x600 photo.jpg photo.webp
  img-convert --batch src/*.png --format webp --outdir dist/

## Options (table with flag, type, default, description)

## Supported Formats (table)

## Examples (3-4 real usage scenarios)

## Contributing

## License

Example 2: Document an existing API from code

User request: "Generate API docs from my Express routes"

Process:

  1. Read all route files to identify endpoints
  2. Extract HTTP method, path, middleware, request/response types
  3. Generate one section per endpoint with method, path, parameters, body, response, and example

Output structure:

# API Reference

Base URL: `https://api.example.com/v1`
Authentication: Bearer token in Authorization header

## Users
### GET /users - List all users
### GET /users/:id - Get a user
### POST /users - Create a user
### PUT /users/:id - Update a user
### DELETE /users/:id - Delete a user

## Orders
### GET /orders - List orders
### POST /orders - Create an order

Each endpoint includes parameters table, example request, and example response.

Guidelines

  • Write for the reader, not yourself. Assume the reader has never seen this project.
  • Start with the most common use case, not edge cases.
  • Every code example must be complete enough to run. Do not leave out imports or setup.
  • Use tables for anything with more than 3 key-value pairs. Tables are faster to scan than paragraphs.
  • Keep paragraphs short (3-4 sentences max). Use bullet points for lists of items.
  • Link to related documents rather than duplicating content.
  • Use consistent formatting: backticks for code, bold for UI elements, italics sparingly.
  • For API docs, always include at least one complete request/response example per endpoint.
  • Version documentation alongside code. If the API changes, the docs must change.
  • Do not document obvious things. "The name field is the name" adds no value.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/markdown-writer-mrzxur3w/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/markdown-writer-mrzxur3w' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/markdown-writer-mrzxur3w/download' --output '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md.part' && mv '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md.part' '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Environment declared by the author: Works with any Markdown renderer

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md' && test -s '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/markdown-writer' && cp -R '.skill-downloads/markdown-writer-mrzxur3w' '.claude/skills/markdown-writer'

Cursor
test -f '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md' && test -s '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/markdown-writer' && cp -R '.skill-downloads/markdown-writer-mrzxur3w' '.cursor/skills/markdown-writer'

Codex
test -f '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md' && test -s '.skill-downloads/markdown-writer-mrzxur3w/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/markdown-writer' && cp -R '.skill-downloads/markdown-writer-mrzxur3w' '.agents/skills/markdown-writer'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/markdown-writer-mrzxur3w'

openskills read 'markdown-writer-mrzxur3w'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/markdown-writer-mrzxur3w/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills