Agent skill

Technical Documentation

by kid-sid in kid-sid/claude-spellbook

A skill your agent uses when writing a README, documenting an API with OpenAPI, drafting a runbook for on-call engineers, authoring a technical spec or ADR, or setting up docs-as-code with…

MITAuto-check: notesDevelopment

Install Technical Documentation

skills CLI
$ npx skills add kid-sid/claude-spellbook --skill technical-documentation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kid-sid/claude-spellbook technical-documentation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kid-sid/claude-spellbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/technical-documentation .claude/skills/technical-documentation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
technical-documentation
GitHub stars
189
Token cost
~3.4k tokens
SKILL.md length
771 words
Files
1
Skills in repo
54
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing a README, documenting an API with OpenAPI, drafting a runbook for on-call engineers, authoring a technical spec or ADR, or setting up docs-as-code with…

  • Writing a README
  • SKILL.md covers When to Activate, README Structure, OpenAPI / Swagger and Runbook Writing, plus 5 more sections
  • Reaches github.com and codecov.io; needs JWT_SECRET
  • Documenting an API with OpenAPI

What it does

Technical Documentation is an agent skill from kid-sid/claude-spellbook. Use when writing a README, documenting an API with OpenAPI, drafting a runbook for on-call engineers, authoring a technical spec or ADR, or setting up docs-as-code with auto-deploy to GitHub Pages.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Technical documentation, OpenAPI specifications and Architecture decision records. It works with OpenAPI and GitHub. The repository describes itself as: A curated collection of skills, prompts, and workflows that extend Claude's capabilities — your personal grimoire for AI-powered development. The licence is MIT.

When your agent uses it

  • Writing a README
  • Documenting an API with OpenAPI
  • Drafting a runbook for on-call engineers
  • Authoring a technical spec

Example prompts

  • “/technical-documentation”

Requirements

  • Python 3
  • Node.js
  • Docker
  • A credential in JWT_SECRET

What it can do on your machine

Read from SKILL.md and the folder at commit a7c2ac9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • codecov.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • JWT_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Technical Documentation loads about 3.4k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 771 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:42
    cp .env.example .env        # fill in required values

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kid-sid/claude-spellbook at commit a7c2ac9, republished under its MIT licence (© kid-sid). 771 words, ~3,421 tokens.

Download SKILL.mdSave it as .claude/skills/technical-documentation/SKILL.md (or your agent's skills folder).
name
technical-documentation
description
Use when writing a README, documenting an API with OpenAPI, drafting a runbook for on-call engineers, authoring a technical spec or ADR, or setting up docs-as-code with auto-deploy to GitHub Pages.

Technical Documentation

Good technical documentation reduces onboarding time, prevents repeated questions, and makes systems maintainable by people who didn't build them.

When to Activate

  • Writing a README for a new project or service
  • Documenting an API with OpenAPI/Swagger
  • Writing a runbook for an on-call engineer
  • Creating an onboarding guide for a team
  • Documenting a significant technical decision (ADR)
  • Setting up documentation-as-code with auto-deploy to GitHub Pages

README Structure

A README is the front door to your project — it answers "what is this and how do I use it?" in under 5 minutes.

markdown
# service-name

[![CI](https://github.com/org/repo/actions/workflows/ci.yml/badge.svg)](...)
[![Coverage](https://codecov.io/gh/org/repo/badge.svg)](...)

One-sentence description of what this service does.

## Prerequisites

- Python 3.12+ / Node.js 20+ / Go 1.22+
- Docker 24+
- PostgreSQL 16 (or `docker compose up db`)

## Quickstart

\```bash
git clone https://github.com/org/service-name
cd service-name
cp .env.example .env        # fill in required values
docker compose up -d db     # start dependencies
make install                # install dependencies
make dev                    # start dev server on :8000
\```

## Configuration

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `DATABASE_URL` | Yes | — | PostgreSQL connection string |
| `JWT_SECRET` | Yes | — | 32-byte secret for JWT signing |
| `LOG_LEVEL` | No | `INFO` | Log verbosity (DEBUG/INFO/WARN/ERROR) |
| `PORT` | No | `8000` | HTTP server port |

## Development

\```bash
make test          # run unit + integration tests
make lint          # run linters
make typecheck     # run type checker
make build         # build production artifact
\```

See [docs/development.md](docs/development.md) for detailed setup, running locally, and debugging.

## Deployment

This service is deployed via GitHub Actions. See [docs/deployment.md](docs/deployment.md).

## Contributing

1. Fork the repo and create a branch: `feat/your-feature`
2. Make changes, write tests
3. Open a PR — the CI must be green before review

See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.

## License

MIT — see [LICENSE](LICENSE)
README Anti-Patterns
  • Wall of text with no headings — add structure
  • "Works on my machine" setup steps — use Docker or make targets
  • Outdated screenshots — use text commands instead
  • Missing prerequisites — list every external dependency
  • No copy-paste quickstart — someone must be able to run it in 3 commands

OpenAPI / Swagger

OpenAPI 3.x is the standard for documenting REST APIs. Write it by hand (spec-first) or generate from code annotations.

Basic Structure
yaml
openapi: 3.1.0
info:
  title: Payment Service API
  version: 1.0.0
  description: |
    Processes payments and manages payment methods.

    ## Authentication
    All endpoints require a Bearer token in the `Authorization` header.

servers:
  - url: https://api.example.com/v1
    description: Production
  - url: https://staging-api.example.com/v1
    description: Staging

security:
  - BearerAuth: []

paths:
  /payments:
    post:
      operationId: createPayment
      summary: Create a payment
      tags: [Payments]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentRequest'
            example:
              amount: 10000
              currency: USD
              source: tok_visa
      responses:
        '201':
          description: Payment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /payments/{id}:
    get:
      operationId: getPayment
      summary: Get a payment by ID
      tags: [Payments]
      parameters:
        - $ref: '#/components/parameters/PaymentId'
      responses:
        '200':
          description: Payment found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '404':
          $ref: '#/components/responses/NotFound'

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

  parameters:
    PaymentId:
      name: id
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Payment identifier

  schemas:
    CreatePaymentRequest:
      type: object
      required: [amount, currency, source]
      properties:
        amount:
          type: integer
          description: Amount in smallest currency unit (cents for USD)
          example: 10000
          minimum: 1
        currency:
          type: string
          enum: [USD, EUR, GBP]
          example: USD
        source:
          type: string
          description: Stripe payment method token
          example: tok_visa

    Payment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        amount:
          type: integer
        currency:
          type: string
        status:
          type: string
          enum: [pending, succeeded, failed]
        created_at:
          type: string
          format: date-time

    Error:
      type: object
      required: [code, message]
      properties:
        code:
          type: string
          example: VALIDATION_ERROR
        message:
          type: string
          example: amount must be greater than 0
        details:
          type: array
          items:
            type: object

  responses:
    ValidationError:
      description: Request validation failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
$ref Reuse Rules
  • Define all reusable schemas in components/schemas
  • Define reusable responses in components/responses
  • Define reusable parameters in components/parameters
  • Never duplicate a schema — use $ref everywhere it appears
Tooling
ToolPurpose
Swagger UIInteractive API browser, served locally or hosted
RedocClean read-only API docs, good for public docs
Stoplight ElementsEmbeddable, modern OpenAPI renderer
openapi-generatorGenerate client SDKs from spec
prismMock server from OpenAPI spec

Runbook Writing

See incident-response skill for the full runbook template. Key principles:

  • Write for the 3am engineer — no tribal knowledge, no assumed context
  • Number every step — so the engineer can say "I'm stuck on step 4"
  • Include expected output — show what success looks like for each step
  • Copy-paste commands — no <REPLACE_ME> placeholders in commands
  • Decision branches — "if X, do Y; otherwise do Z"
  • Keep runbooks current — update after every incident that required improvisation

Architecture Decision Records (ADRs)

ADRs document why a significant decision was made — not just what was decided. Future engineers need context, not just conclusions.

See system-design skill for the full ADR template and lifecycle.

When to Write an ADR
  • Choosing a database or message queue technology
  • Adopting a new framework or library with significant lock-in
  • Changing authentication mechanism
  • Moving from monolith to microservices (or vice versa)
  • Adopting a new infrastructure pattern (Kubernetes, serverless)
  • Any decision that would surprise a new team member
Conventions
docs/
└── adr/
    ├── 0001-use-postgresql-for-primary-store.md
    ├── 0002-use-kafka-for-event-streaming.md
    └── 0003-adopt-opentelemetry-for-tracing.md
  • Number sequentially, never renumber
  • Superseded ADRs stay — add "Superseded by ADR-0012" to the status
  • Store in-repo alongside code — ADRs are code

Technical Spec Template

Write a spec when the feature is large enough to need design alignment before implementation (> 1 sprint, or involves multiple services).

markdown
# Technical Spec: [Feature Name]

**Status:** Draft | In Review | Accepted | Implemented
**Author:** [name]
**Last updated:** YYYY-MM-DD
**Related:** [Jira/Linear ticket], [ADR-XXXX]

## Problem

[1–3 paragraphs: what problem are we solving? Why now? What happens if we don't?]

## Proposed Solution

[Describe the solution at a level where another engineer can implement it.
Include: API contracts, data model changes, component interactions, migration plan.]

### API Changes

[List new or modified endpoints with request/response shapes]

### Data Model

[Schema changes, new tables, index additions]

### Component Diagram

[ASCII or Mermaid diagram showing how components interact]

## Alternatives Considered

| Option | Pros | Cons | Reason not chosen |
|--------|------|------|------------------|
| ...    | ...  | ...  | ...              |

## Implementation Plan

1. [ ] Phase 1: ...
2. [ ] Phase 2: ...
3. [ ] Phase 3: ...

## Risks and Mitigations

| Risk | Likelihood | Impact | Mitigation |
|------|-----------|--------|-----------|
| ...  | ...       | ...    | ...       |

## Open Questions

| Question | Owner | Due |
|----------|-------|-----|
| ...      | ...   | ... |

## Stakeholder Sign-off

- [ ] Engineering lead: @name
- [ ] Product: @name
- [ ] Security (if auth/data): @name

Documentation as Code

Keep docs alongside code in the same repository. Auto-deploy to GitHub Pages on merge.

Show full SKILL.md (325 more words)Show less
Tool Comparison
ToolLanguageBest forConfig
MkDocs + MaterialPythonTechnical docs, clean thememkdocs.yml
DocusaurusNode/ReactDeveloper portals, versioned docsdocusaurus.config.js
mdBookRustBooks, guides (no JS required)book.toml
VitePressVueFast, modern Vue-based docsvitepress.config.ts
MkDocs Example
yaml
# mkdocs.yml
site_name: Payment Service Docs
theme:
  name: material
  features:
    - navigation.tabs
    - search.suggest

nav:
  - Home: index.md
  - API Reference: api.md
  - Runbooks:
    - Overview: runbooks/index.md
    - High Error Rate: runbooks/high-error-rate.md
  - ADRs: adr/index.md

plugins:
  - search
  - git-revision-date-localized
GitHub Actions — Auto-deploy Docs
yaml
name: Deploy Docs
on:
  push:
    branches: [main]
    paths: ['docs/**', 'mkdocs.yml']

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0  # for git-revision-date plugin
      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'
          cache: pip
      - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin
      - run: mkdocs gh-deploy --force

See also: api-design, system-design, incident-response

Red Flags

  • README with only "git clone && npm install" — a quickstart without prerequisites (runtime version, env vars, required services) fails for every new developer; list every dependency
  • OpenAPI spec written after the API is built — spec-first forces design conversations before code is committed; spec-after just documents the implementation's accidents
  • $ref components duplicated across paths — duplicate schemas diverge silently; extract all reusable types to components/schemas and $ref them everywhere
  • Runbooks written during an incident — runbooks drafted under pressure are incomplete and inaccurate; write them during calm periods with a junior engineer as the target reader
  • Documentation in a wiki separate from the code — wikis go stale because they're not in the PR; docs that live alongside code get updated with the feature or the PR doesn't merge
  • ADRs without the rejected alternatives — a decision without context will be relitigated; always record what was considered and why each option was rejected
  • Tech spec signed off by a single engineer — one reviewer misses concerns from other domains; require sign-off from security, ops, and data disciplines for anything touching shared infrastructure

Checklist

  • README has prerequisites, copy-paste quickstart (≤ 3 commands), and config reference
  • All environment variables documented with type, required flag, and description
  • OpenAPI spec covers all public endpoints with request/response schemas
  • All $ref components defined in components/ — no duplicated schemas
  • API error responses have consistent schema (code + message + optional details)
  • Runbooks written for every production alert — no tribal-knowledge steps
  • ADR written for every significant technology or architecture decision
  • Tech spec written and signed off before implementing features > 1 sprint
  • Docs live in-repo alongside code (not in a separate wiki that goes stale)
  • Docs auto-deploy to GitHub Pages on merge to main

© kid-sid, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/technical-documentation of kid-sid/claude-spellbook.

Open the folder on GitHubat commit a7c2ac9

Compare with similar skills

Technical Documentation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Technical Documentation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Technical Documentation this skillkid-sid/claude-spellbook189—~3.4kAutomated safety check: NotesMIT
Generating Documentationancoleman/ai-design-components526—~3kAutomated safety check: PassMIT
Documentationaiskillstore/marketplace4301 repos~2.7kAutomated safety check: PassNone
Documentation Patternsyonatangross/orchestkit288—~830Automated safety check: PassMIT
Distilled SDKalchemy-run/distilled431—~6kAutomated safety check: PassApache-2.0
Nacos API Doc Updatenacos-group/nacos-group.github.io115—~3.3kAutomated safety check: PassApache-2.0

Similar skills

  • Generating Documentation

    ancoleman/ai-design-components

    Generate comprehensive technical documentation including API docs (OpenAPI/Swagger), code documentation (TypeDoc/Sphinx), documentation sites (Docusaurus/MkDocs), Architecture Decision Records…

    526 GitHub stars~3k tokensUpdated 10 mo ago
    DevelopmentAuto-check passed
  • Documentation

    aiskillstore/marketplace

    Comprehensive documentation specialist covering API documentation, technical writing, design documentation, migration guides, and changelog generation.

    430 GitHub starsUsed in 1 repo~2.7k tokens
    DevelopmentAuto-check passed
  • Documentation Patterns

    yonatangross/orchestkit

    Technical documentation patterns for READMEs, ADRs, API docs (OpenAPI 3.1), changelogs, and writing style guides.

    288 GitHub stars~830 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Distilled SDK

    alchemy-run/distilled

    Build or update a distilled SDK for an API provider — sourcing its OpenAPI/Smithy/GraphQL/discovery description, adding the spec mirror that feeds it, generating packages/<provider, listing it on…

    431 GitHub stars~6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Nacos API Doc Update

    nacos-group/nacos-group.github.io

    Updates Nacos API documentation from Swagger api.json. An agent skill from nacos-group/nacos-group.github.io.

    115 GitHub stars~3.3k tokensUpdated 13 days ago
    DevelopmentAuto-check passed
  • API Documentation Generator

    luongnv89/claude-howto

    Generate comprehensive, accurate API documentation from source code. Use when creating or updating API documentation, generating OpenAPI specs, or when users…

    42k GitHub stars~429 tokensUpdated 7 days ago
    DevelopmentAuto-check passed

More from kid-sid/claude-spellbook

All 54 skills in this repo
  • Accessibility

    kid-sid/claude-spellbook

    A skill your agent uses when building or reviewing UI components for keyboard and screen reader compatibility, adding ARIA to custom widgets, auditing a page for WCAG AA conformance, or preparing…

    189 GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Agentex

    kid-sid/claude-spellbook

    A skill your agent uses when building, wiring, or debugging an Agentex agent — choosing agent type, configuring acp.py and manifest.yaml, using adk.messages or adk.state, or resolving…

    189 GitHub stars~2.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • AI Engineer

    kid-sid/claude-spellbook

    A skill your agent uses when building production LLM applications — designing RAG pipelines, choosing vector databases, implementing agent orchestration, optimizing cost, or adding AI safety…

    189 GitHub stars~3.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Angular

    kid-sid/claude-spellbook

    A skill your agent uses when building or refactoring Angular applications — choosing between signals, RxJS, and NgRx for state, configuring routing with guards and lazy loading, optimizing change…

    189 GitHub stars~5k tokensUpdated 2 mo ago
    Auto-check passed
  • API Design

    kid-sid/claude-spellbook

    A skill your agent uses when designing new REST endpoints, reviewing an existing API contract, adding pagination or filtering, planning a versioning strategy, or building a public or partner-facing…

    189 GitHub stars~3.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Auth

    kid-sid/claude-spellbook

    A skill your agent uses when implementing login flows, issuing or validating JWTs, setting up OAuth2/OIDC with a provider, designing role-based or attribute-based access control, securing API…

    189 GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Technical Documentation

What does Technical Documentation do?

A skill your agent uses when writing a README, documenting an API with OpenAPI, drafting a runbook for on-call engineers, authoring a technical spec or ADR, or setting up docs-as-code with…. Technical Documentation is an agent skill from kid-sid/claude-spellbook. Use when writing a README, documenting an API with OpenAPI, drafting a runbook for on-call engineers, authoring a technical spec or ADR, or setting up docs-as-code with auto-deploy to GitHub Pages.

When should I use Technical Documentation?

Technical Documentation fits situations like: writing a README; documenting an API with OpenAPI; drafting a runbook for on-call engineers; authoring a technical spec.

How do I install Technical Documentation in Claude Code?

Run `npx skills add kid-sid/claude-spellbook --skill technical-documentation -a claude-code`. Or copy the skill folder (skills/technical-documentation in kid-sid/claude-spellbook) into .claude/skills/technical-documentation in your project. Claude Code loads it when a task matches its description.

How do I install Technical Documentation in Codex?

Run `npx skills add kid-sid/claude-spellbook --skill technical-documentation -a codex`. Or copy the skill folder (skills/technical-documentation in kid-sid/claude-spellbook) into .agents/skills/technical-documentation in your project. Codex loads it when a task matches its description.

Can I use Technical Documentation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kid-sid/claude-spellbook --skill technical-documentation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/technical-documentation, .gemini/skills/technical-documentation, .github/skills/technical-documentation and .opencode/skills/technical-documentation in your project.

What does Technical Documentation need to run?

Going by SKILL.md and its folder, Technical Documentation needs credentials named JWT_SECRET. Our summary lists: Python 3; Node.js; Docker; A credential in JWT_SECRET.

Does Technical Documentation access the network?

SKILL.md names 2 domains. In commands or code: github.com and codecov.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Technical Documentation safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Technical Documentation use?

Technical Documentation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Technical Documentation use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Technical Documentation?

Skills that share tags, products or a category with Technical Documentation: Generating Documentation (ancoleman/ai-design-components, 526 stars), Documentation (aiskillstore/marketplace, 430 stars), Documentation Patterns (yonatangross/orchestkit, 288 stars) and Distilled SDK (alchemy-run/distilled, 431 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Technical Documentation?

kid-sid (a GitHub user) maintains it in kid-sid/claude-spellbook, which has 189 GitHub stars. The repository holds 54 skills in this directory. The repository was last updated on August 5, 2026.

Source: kid-sid/claude-spellbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.