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 you need to quickly produce a structured Markdown README, API reference or technical guide from an existing project.
For documentation auto-generated from code (docstrings, OpenAPI) or for narrative marketing content without a technical structure.
Security analysis
SafeThis 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 madeExamples
Read this repository and write a README covering installation, quick start, main features and configuration options.Document the POST /api/orders endpoint in Markdown, with a request body table, a curl example and the success and error responses.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:
- Read all route files to identify endpoints
- Extract HTTP method, path, middleware, request/response types
- 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
namefield 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 filesThis 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.mdFrom 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 installationopenskills 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 syncManual 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.
Supabase Docs Authoring
Documentation
Write, edit, and review Supabase documentation content including guides, tutorials, reference docs, and partials. Follow style guides and MDX/TOML validation rules.
Create Architecture Decision Record
Documentation
Create a new Architecture Decision Record with sequential numbering, register it in the AgentDB graph, and link related ADRs.
Plan update with deep research
Documentation
Updates a plan document by launching parallel subagents to analyze a topic across all compiler passes, then consolidates findings into the plan doc.