Claude Code Plugins

Community-maintained marketplace

Feedback

documentation-testing

@tachyon-beep/skillpacks
2
0

Test documentation completeness, accuracy, findability - copy-paste-run validation before release

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name documentation-testing
description Test documentation completeness, accuracy, findability - copy-paste-run validation before release

Documentation Testing

Overview

Test documentation like you test code. Core principle: If you haven't tried it, it's broken.

Key insight: Untested documentation always has issues. Copy-paste-run test finds them before users do.

When to Use

Load this skill when:

  • Finalizing documentation before release
  • Reviewing documentation quality
  • Creating documentation quality gates
  • After major doc updates

Symptoms you need this:

  • "Is this documentation good enough to ship?"
  • Preparing installation guides, quick starts, tutorials
  • Documentation quality review
  • Pre-release documentation checklist

Don't use for:

  • Writing documentation (use muna/technical-writer/clarity-and-style)
  • Structuring documentation (use muna/technical-writer/documentation-structure)

Five Testing Dimensions

Test documentation across 5 dimensions:

1. Completeness Testing

Question: Can reader accomplish the task with ONLY this documentation?

2. Accuracy Testing

Question: Do all examples, commands, and instructions actually work?

3. Findability Testing

Question: Can users find this documentation when they need it?

4. Example Verification

Question: Can you copy-paste every example and have it run without modification?

5. Walkthrough Testing

Question: Can a new user follow this successfully on a clean system?


Dimension 1: Completeness Testing

Goal: Verify reader can complete task without external resources.

Checklist

  • All prerequisites listed - OS, language versions, required accounts, tools
  • All configuration options documented - Every setting, not just defaults
  • Error cases covered - What can go wrong and how to fix
  • Troubleshooting section - Common issues with solutions
  • Success criteria - "How do I know it worked?"
  • Next steps - What to do after completing this doc

Example: Installation Guide

Incomplete:

## Installation

Run:
\`\`\`bash
npm install our-app
\`\`\`

You're done!

Missing: Prerequisites, error handling, verification

Complete:

## Installation

### Prerequisites
- Node.js 18+ (`node --version` to check)
- npm 9+ (`npm --version` to check)
- Active internet connection

### Install

\`\`\`bash
npm install our-app
\`\`\`

### Verify Installation

Check installed version:
\`\`\`bash
npx our-app --version
# Expected output: our-app v2.1.0
\`\`\`

### Troubleshooting

**Error: "EACCES: permission denied"**
- Solution: Run with sudo: `sudo npm install -g our-app`

**Error: "Unsupported engine"**
- Solution: Upgrade Node.js to 18+

### Next Steps
- [Quick Start Guide](./quick-start.md)
- [Configuration Reference](./config.md)

Testing Method

The "Clean Slate Test":

  1. Can someone with ZERO context complete this?
  2. Read doc, follow instructions
  3. Note every moment you had to Google or guess

Dimension 2: Accuracy Testing

Goal: Verify all examples, commands, and instructions work.

Checklist

  • Code examples run - Copy-paste into environment, executes without errors
  • Commands correct - No typos, correct options, work on stated OS
  • Version numbers current - Not referencing outdated versions
  • Screenshots up-to-date - Match current UI
  • Links work - No 404s, links go to correct pages
  • Output matches examples - Documented output = actual output

Example: API Documentation

Inaccurate:

Make a request:
\`\`\`bash
curl https://api.example.com/users
\`\`\`

Returns user list.

Issues: No authentication, vague output

Accurate:

Make a request:
\`\`\`bash
curl -H "Authorization: Bearer YOUR_API_KEY" \\
     https://api.example.com/v1/users
\`\`\`

Response:
\`\`\`json
{
  "users": [
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"}
  ],
  "total": 2
}
\`\`\`

Status: 200 OK

Testing Method

Copy-Paste-Run Test:

  1. Copy EVERY code example
  2. Paste into clean environment
  3. Run without modifications
  4. Verify output matches documentation
  5. If ANY example fails, documentation is inaccurate

Dimension 3: Findability Testing

Goal: Verify users can find documentation when needed.

Checklist

  • Keywords present - Terms users would search for
  • Linked from related pages - Cross-references in both directions
  • In navigation/TOC - Appears in sidebar, index, sitemap
  • Search engine optimized - Title, headers, meta description
  • Clear title - Describes content accurately

Example: Deployment Guide

Not Findable:

# Guide

Deploy the app...

Issues: Generic title, no keywords

Findable:

# Deploying to AWS ECS with Docker (Production)

**Keywords**: AWS, ECS, Fargate, Docker, deployment, production, continuous deployment, CI/CD

Deploy our application to AWS Elastic Container Service (ECS) using Docker containers...

**Related**:
- [Docker Configuration](./docker.md)
- [CI/CD Pipeline](./cicd.md)
- [Environment Variables](./env-vars.md)

Testing Method

Search Simulation:

  1. What would user search for? ("deploy to AWS", "ECS deployment", "Docker production")
  2. Search your docs with those terms
  3. Does this page appear in top 3 results?

Dimension 4: Example Verification

Goal: All examples work without modification.

Checklist

  • Examples are complete - Include all necessary imports, setup
  • No placeholders without explanation - If using YOUR_API_KEY, explain how to get it
  • Environment specified - Language version, OS, dependencies
  • Async/await correct - Don't forget await on promises
  • Error handling shown - Not just happy path

Example: Code Example

Unverified:

const users = client.get('/users');
console.log(users);

Issues: Missing await, won't work

Verified:

// Prerequisites: npm install api-client
// Environment: Node.js 18+

import APIClient from 'api-client';

// Get API key from https://dashboard.example.com/settings
const client = new APIClient(process.env.API_KEY);

async function getUsers() {
  try {
    const users = await client.get('/users');
    console.log('Users:', users);
    // Output: Users: [{id: 1, name: 'Alice'}, {id: 2, name: 'Bob'}]
  } catch (error) {
    console.error('Failed to fetch users:', error.message);
  }
}

getUsers();

Testing Method

Literal Copy-Paste Test:

  1. Copy example
  2. Create new file
  3. Paste (no modifications)
  4. Run
  5. Does it work? If not, example is broken.

Dimension 5: Walkthrough Testing

Goal: New user can follow successfully on clean system.

Checklist

  • Test on clean system - Fresh VM/container, not your dev machine
  • Follow every step literally - No shortcuts, no cached knowledge
  • Note confusion points - Every time you have to guess or Google
  • Verify timing claims - "5 minute setup" actually takes 5 minutes?
  • Test with beginner - Colleague unfamiliar with project

Example: Quick Start

Untested:

# Quick Start (5 minutes)

1. Install the CLI
2. Configure your credentials
3. Deploy your first app

Done!

Issues: Vague steps, unverified timing

Walkthrough-Tested:

# Quick Start (15 minutes)

## Prerequisites (2 min)
- [ ] Ubuntu 22.04 or macOS 12+
- [ ] 2GB free disk space
- [ ] Internet connection

## Step 1: Install CLI (5 min)

\`\`\`bash
curl -L https://releases.example.com/cli.sh | bash
\`\`\`

Verify:
\`\`\`bash
our-cli --version
# Should output: our-cli v2.1.0
\`\`\`

**Troubleshooting**: If command not found, close and reopen terminal.

## Step 2: Configure Credentials (3 min)

Get API key: https://dashboard.example.com/settings

\`\`\`bash
our-cli auth login YOUR_API_KEY_HERE
\`\`\`

Success message: "✓ Authenticated as user@example.com"

## Step 3: Deploy First App (5 min)

\`\`\`bash
mkdir my-app && cd my-app
our-cli init
our-cli deploy
\`\`\`

**Success criteria**: URL shown: "✓ Deployed to https://my-app-abc123.example.com"

Visit URL in browser - you should see "Hello World"

## Next Steps
- [Add custom domain](./custom-domains.md)
- [Configure environment variables](./env-vars.md)

Testing Method

New User Walkthrough:

  1. Spin up clean VM/container
  2. Follow guide step-by-step as written
  3. Don't use any cached knowledge
  4. Note EVERY point of confusion
  5. Time how long it actually takes

Or: Give to colleague who's never used the product. Watch them follow it. Note every question they ask.


Testing Workflow

Use this workflow before releasing documentation:

Phase 1: Quick Checks (10 min)

  • Read through once - obvious errors?
  • Check all links - do they work?
  • Scan for placeholders - any unexplained YOUR_X_HERE?
  • Verify versions - are version numbers current?

Phase 2: Example Verification (30 min)

  • Copy EVERY code example
  • Paste into clean environment
  • Run without modifications
  • Verify output matches docs

Phase 3: Completeness Check (15 min)

  • Prerequisites listed?
  • Error cases covered?
  • Troubleshooting section?
  • Success criteria ("how do I know it worked")?

Phase 4: Walkthrough Test (60 min)

  • Fresh VM/container
  • Follow as new user
  • Note confusion points
  • Verify timing claims

Phase 5: Findability Check (10 min)

  • Search docs with user keywords
  • Check cross-references
  • Verify in navigation/TOC

Total time: ~2 hours for thorough documentation testing


Common Issues Found By Testing

Issue: Async/Await Missing

Example:

const data = api.get('/endpoint'); // Missing await
console.log(data); // Prints Promise object, not data

Found by: Copy-paste-run test


Issue: Prerequisites Not Listed

Example:

Run: `docker-compose up`

Missing: Docker installed, docker-compose.yml file exists

Found by: Clean system walkthrough


Issue: Environment Variables Not Explained

Example:

const key = process.env.API_KEY; // How do I set this?

Found by: New user walkthrough (where do I get API key?)


Issue: Timing Claims Unverified

Example: "Setup in 5 minutes" actually takes 20 minutes (npm install, account creation, key generation)

Found by: Walkthrough testing with timer


Issue: Success Criteria Missing

Example:

Deploy your app:
\`\`\`bash
deploy.sh
\`\`\`

Missing: How do I know it worked? What URL? What should I see?

Found by: Completeness testing


Documentation Testing Report Template

# Documentation Testing Report

**Document**: [Quick Start Guide / API Reference / etc.]
**Tester**: [Name]
**Date**: [Date]
**Environment**: [Clean Ubuntu 22.04 VM / macOS 13 / etc.]

## Test Results

### Completeness ✅ / ❌
- [ ] Prerequisites listed
- [ ] Error cases covered
- [ ] Troubleshooting included
- [ ] Success criteria present

**Issues Found**: [List any gaps]

### Accuracy ✅ / ❌
- [ ] All code examples run
- [ ] All commands correct
- [ ] Links work
- [ ] Output matches docs

**Issues Found**: [List inaccuracies]

### Findability ✅ / ❌
- [ ] Keywords present
- [ ] Linked from related pages
- [ ] In navigation

**Issues Found**: [List findability gaps]

### Examples ✅ / ❌
**Copy-Paste-Run Results**:
- Example 1: ✅ Works / ❌ Failed - [error]
- Example 2: ✅ Works / ❌ Failed - [error]

### Walkthrough ✅ / ❌
**Confusion Points**: [List every point where you had to guess or Google]
**Actual Time**: [X minutes] vs Claimed: [Y minutes]
**Success**: ✅ Completed task / ❌ Got stuck at step X

## Recommendations
1. [Fix async/await in example 2]
2. [Add prerequisites section]
3. [Update timing claim from 5 to 15 minutes]

## Overall: Ready for Release ✅ / Needs Work ❌

Quick Reference: Testing Checklist

Dimension Key Question Quick Test
Completeness Can task be done with ONLY this doc? List everything needed - is it in the doc?
Accuracy Do examples run? Copy-paste every example, run it
Findability Can users find this? Search with user keywords - does it appear?
Examples Copy-paste-run works? Literally copy-paste, no modifications, run
Walkthrough Does it work for new user? Fresh VM, follow as beginner, time it

Cross-References

Use BEFORE this skill:

  • muna/technical-writer/clarity-and-style - Write clear docs
  • muna/technical-writer/documentation-structure - Structure docs properly

Use AFTER this skill:

  • Fix issues found, then re-test

Real-World Impact

Documentation tested with this framework:

  • Quick start guide testing caught async/await bug in 3/5 examples (would have broken for every user)
  • Walkthrough testing revealed "5 minute setup" actually took 22 minutes (including account creation and key generation not mentioned in docs)
  • Copy-paste-run test found missing import statement that prevented example from running (developer's IDE auto-imported it)
  • Clean system test revealed missing prerequisite (Docker Compose not documented) that blocked 40% of users

Key lesson: Untested documentation always has issues. 2 hours of testing prevents weeks of user confusion and support tickets.