padosoft-docs-match-codelisted
Install: claude install-skill padosoft/skills
# Docs match code
Documentation that quotes the code **is code**: a column name, an env var, a command flag, a route, a
response shape. The difference is that nothing fails when it goes stale — it just quietly starts lying, and
the person it lies to is the one with the least context to notice.
**The rule: every fact quoted from the code is verified against the code before merging.**
---
## 1. What counts as a quoted fact
| In the docs | Verify against |
|---|---|
| A table or column name, a type, a nullability | the migration, the model |
| An environment variable | the example env file, the config that reads it |
| A command and its flags | the command's own signature/help |
| A route, verb or path | the route list |
| A response shape or field | the resource/serializer, or a real response |
| A file path | the filesystem |
| A default value | the code that defines it, not the docs that repeated it |
Prose about *why* is not a quoted fact and does not rot the same way. It is the concrete nouns that drift.
## 2. Verify, do not remember
```bash
# env vars named in the docs but absent from the example file
rg -o "[A-Z][A-Z0-9_]{3,}" README.md docs/ | sort -u > /tmp/doc-vars
rg -o "^[A-Z][A-Z0-9_]*" .env.example | sort -u > /tmp/real-vars
comm -23 /tmp/doc-vars /tmp/real-vars | head
# a column named in the docs, against the migrations
rg -n "column_name" database/migrations/ app/Models/
# a command's real signature
<your-cli> help <command> # then compare flag b