agentleFS
nisarthnisarth/claude-skills-store/skills/engineering/documentation/SKILL.md

documentation

Skill1 starsChanged 7 months agoMITView on GitHub

Write and maintain technical documentation. Trigger with "write docs for", "document this", "create a README", "write a runbook", "onboarding guide", or when the user needs help with any form of technical writing — API docs, architecture docs, or operational runbooks.

112 other projects use a version of this, 4 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use create-media-pack, project-preferences and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • DepressionCenterSkill

    create-media-pack

    Create a coordinated project branding and media pack with three accessible design options, approved vector artwork, image exports, a branding guide, and README integration. Use when asked for a repository media pack, brand kit, or complete project visual identity.

    Also in 5 projects that use this

  • DepressionCenterSkill

    project-preferences

    Apply repository-specific preferences when planning, implementing, or reviewing changes in this project.

    Also in 6 projects that use this

  • thistleknotSkill

    response-style

    Response and prose protocol. Use when drafting user-facing prose, expanding a user's ideas, or tuning tone and format to preserve voice, avoid AI cliches, and maintain coherent answers.

    Also in 7 projects that use this

  • BrowserWorksSkill

    accessibility-frontend-review

    Performs an accessibility code review of a local diff or Phabricator revision in the style of the Firefox accessibility team. Use this skill whenever the user asks to review a Phabricator patch or revision for accessibility issues, mentions a D-number (like D284142) in the context of accessibility review, asks "does this patch have any a11y issues", or wants to check a diff against accessibility guidelines. Also use it when the user says things like "can you review this for a11y", "check this patch", or "give me an accessibility review of D[number]". Invoke proactively when the user pastes a phabricator.services.mozilla.com URL or shares a revision ID alongside any accessibility concern. Invoke when questions about the following topics are raised: aria properties, aria roles, high contrast mode, forced colors, prefers contrast, focus order, screen readers, assistive technology.

    Also in 4 projects that use this

  • BrowserWorksSkill

    android-new-module

    Guide for creating new Android gradle modules in the android-components project.

    Also in 4 projects that use this

  • +7 more from BrowserWorks

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. 0 are common, 21 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 101 edited versions we read keep these.

  • 21

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write clear, accurate, and maintainable technical documentation.

    line 27
  2. Distinctive:

    Read the codebase to extract accurate information:

    line 47
  3. Distinctive:

    Read the actual code to ensure documentation accuracy.

    line 69
  4. Distinctive:

    Check for existing docs that should be updated rather than duplicated.

    line 70
  5. Distinctive:

    Look at tests for usage examples.

    line 71
  6. Distinctive:

    Check git history for recent changes if updating existing docs.

    line 72
  7. Distinctive:

    Follow the format template for the chosen document type (see Output Format section).

    line 76
  8. Distinctive:

    Structure: Use headers, lists, and tables to make content scannable.

    line 78
  9. Distinctive:

    Accuracy: Every code example must work.

    line 80
  10. Distinctive:

    Verify code examples by reading the actual source.

    line 88
  11. Distinctive:

    Ensure install/setup instructions match the current project state.

    line 89
  12. Distinctive:

    Check that links and references point to real files.

    line 90
  13. Very specific:

    Action: Read package.json/pyproject.toml for project info, scan src/ for structure, check for existing setup scripts, and write a complete …

    line 205
  14. Distinctive:

    Action: Ask about the database setup, document the exact commands for failover, include verification steps after each action, and add …

    line 211
  15. Distinctive:

    Action: Document local setup, key architectural concepts, important services, common workflows, where to find things, and who to ask for …

    line 214
  16. Distinctive:

    Write for your reader, not for yourself.

    line 218
  17. Distinctive:

    Every code example must be tested or verified against the actual codebase.

    line 219
  18. Distinctive:

    Use consistent terminology.

    line 220
  19. Distinctive:

    Put the most important information first.

    line 221
  20. Distinctive:

    Prefer examples over explanations.

    line 223
  21. Distinctive:

    Keep runbooks copy-paste ready.

    line 224
  22. Distinctive:

    Use links instead of duplication.

    line 225

“Common” is measured: kept by at least 6 in 10 of the 101 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Technical Documentation

Write clear, accurate, and maintainable technical documentation. Adapt style and depth to the document type and audience.

Workflow

Step 1: Determine Document Type and Audience

Identify what kind of documentation is needed:

TypeAudiencePurpose
READMENew contributorsOrient, install, run, contribute
API DocumentationIntegration developersUnderstand endpoints, auth, data formats
RunbookOn-call engineersRespond to incidents, perform operations
Onboarding GuideNew team membersGet productive quickly
Architecture DocEngineersUnderstand system design and data flow
ChangelogUsers and developersTrack what changed between versions
ADRFuture engineersUnderstand why decisions were made

Step 2: Gather Source Material

Read the codebase to extract accurate information:

# Understand project structure
ls -la
find . -name "*.md" -not -path "*/node_modules/*" | head -20

# Check for existing docs
cat README.md 2>/dev/null
ls docs/ 2>/dev/null

# For API docs: find route definitions
grep -rn "router\.\|app\.\(get\|post\|put\|delete\)" --include="*.ts" --include="*.js" src/
# or for Python
grep -rn "@app\.\(route\|get\|post\|put\|delete\)" --include="*.py" .

# For architecture docs: understand dependencies
cat package.json 2>/dev/null | head -30
cat requirements.txt 2>/dev/null
cat docker-compose.yml 2>/dev/null
  • Read the actual code to ensure documentation accuracy.
  • Check for existing docs that should be updated rather than duplicated.
  • Look at tests for usage examples.
  • Check git history for recent changes if updating existing docs.

Step 3: Write the Documentation

Follow the format template for the chosen document type (see Output Format section). Key principles:

Structure: Use headers, lists, and tables to make content scannable. Readers skim first, read second.

Accuracy: Every code example must work. Every command must be copy-pasteable. Wrong docs are worse than no docs.

Completeness: Cover happy path AND edge cases. Document error states, not just success states.

Conciseness: Say what needs to be said, then stop. Long docs go unread.

Step 4: Validate

  • Verify code examples by reading the actual source.
  • Ensure install/setup instructions match the current project state.
  • Check that links and references point to real files.
  • Confirm environment variable names match what the code actually reads.

Output Format Templates

README Template

# Project Name

One-line description of what this project does.

## Quick Start

Prerequisites, install, and run in under 60 seconds.

## Overview

2-3 paragraphs explaining the project's purpose, architecture, and key concepts.

## Installation

Step-by-step install instructions with exact commands.

## Usage

Common use cases with code examples.

## Configuration

Environment variables and config options in a table.

| Variable      | Required | Default | Description              |
|---------------|----------|---------|--------------------------|
| DATABASE_URL  | Yes      | -       | PostgreSQL connection URL |

## Development

How to set up the dev environment, run tests, and contribute.

## API Reference

Brief API overview or link to full docs.

## Troubleshooting

Common issues and their solutions.

API Documentation Template

# API Reference

## Authentication

How to authenticate. Include a working curl example.

## Endpoints

### POST /api/resource

Create a new resource.

**Request**
| Field   | Type   | Required | Description         |
|---------|--------|----------|---------------------|
| name    | string | yes      | Name of the resource |

**Response** `201 Created`
```json
{ "id": "abc123", "name": "example" }

Errors

StatusCodeDescription
400VALIDATION_ERRORInvalid input
401UNAUTHORIZEDMissing or bad token

### Runbook Template

```markdown
# Runbook: <Operation Name>

## Overview
What this runbook covers and when to use it.

## Prerequisites
- Access to <system>
- Permissions: <role>

## Procedure

### Step 1: <Action>
```bash
<exact command>

Expected output: <what you should see> If this fails: <what to do>

Step 2: <Action>

...

Rollback

How to undo this operation safely.

Escalation

When and how to escalate if the runbook doesn't resolve the issue.


## Examples

**User**: "Write a README for this project"
**Action**: Read package.json/pyproject.toml for project info, scan src/ for structure, check for existing setup scripts, and write a complete README with install, usage, and development sections.

**User**: "Document the API endpoints"
**Action**: Find all route definitions in the codebase, read request/response types, check middleware for auth requirements, and produce endpoint-by-endpoint documentation with examples.

**User**: "Write a runbook for database failover"
**Action**: Ask about the database setup, document the exact commands for failover, include verification steps after each action, and add rollback and escalation procedures.

**User**: "Create an onboarding guide for new backend engineers"
**Action**: Document local setup, key architectural concepts, important services, common workflows, where to find things, and who to ask for help.

## Best Practices

- Write for your reader, not for yourself. A README for external developers is different from an internal architecture doc.
- Every code example must be tested or verified against the actual codebase. Wrong examples erode trust in all documentation.
- Use consistent terminology. If the codebase calls it a "workspace," don't call it a "project" in the docs.
- Put the most important information first. Readers who need to skim should get the essentials from the first few sections.
- Date or version-stamp docs that are likely to become stale. "Last updated: 2024-01" helps readers judge currency.
- Prefer examples over explanations. Show, then explain if needed.
- Keep runbooks copy-paste ready. An on-call engineer at 3 AM should not have to interpret your prose.
- Use links instead of duplication. If something is documented elsewhere, link to it rather than copying it.
- Include a "Troubleshooting" or "FAQ" section for recurring questions. This reduces support load and helps future readers.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.