registry/skills/docs-that-work/SKILL.md
Project documentation guidelines. Use when asked to "write documentation", "create a CLAUDE.md", "write a README", "document this project", "improve documentation", or when creating/updating CLAUDE.md or README.md files.
npx skillsauth add provectus/awos-recruitment docs-that-workInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write documentation that serves both humans and AI agents. Core principle: document only what cannot be discovered from code. Codebase structure matters more than documentation volume — a well-organized project with 10 lines of docs beats a messy one with 200.
Before writing any documentation line, ask: "Could an agent find this by reading code or config files?"
If yes, don't write it. Directory trees, exports, types, linter rules, commands, dependencies, test locations, env var names — all discoverable from code and config files. See references/anti-patterns.md for the full catalog.
Every line you add has a maintenance cost that compounds across every session. Stale docs cause worse decisions than no docs.
Purpose: non-obvious context that AI agents cannot discover from code.
Content that belongs:
Content that does NOT belong: anything that passes the discoverability rule — commands, directory trees, exports, types, config rules, dependency lists.
Structure:
CLAUDE.md — project-wide context applicable everywhereCLAUDE.md — that module's non-obvious constraints only, never repeat root contentSize: target <30 lines. If you're past 50 lines, it's bloated. Cut ruthlessly.
See references/claude-md-guide.md for templates and examples.
Purpose: human onboarding — get someone from zero to productive.
Content: project description, prerequisites, setup, how to run, how to test, how to contribute. Keep it executable — commands that copy-paste and work beat prose.
Root README.md = full overview + setup. Service-level = purpose + how to run independently. Don't duplicate CLAUDE.md content — different audiences, different purposes.
Every module is a grey box — clear public API, hidden internals. Documentation describes the interface (what it does, constraints, gotchas), NOT the implementation (file trees, data flow, internal functions).
Progressive disclosure: import from public API → read docs for context → read source only if needed.
You own the interface. AI owns the implementation. Tests keep it honest. If docs describe internal wiring, they couple consumers to implementation and break on every refactor.
Each document has exactly one job:
| Document | Job |
| ----------------- | ----------------------- |
| README.md | Human onboarding |
| CLAUDE.md | AI agent context |
| Architecture docs | System design decisions |
| API docs | Endpoint contracts |
Never duplicate between them. If the same info is in two places, delete the copy in the wrong file.
Some things genuinely need docs because no amount of code reading reveals them:
If you're unsure whether something needs docs, apply the three-question test from references/anti-patterns.md.
| Topic | Reference |
| ------------------------------------------------------ | ------------------------------- |
| CLAUDE.md and README templates | references/claude-md-guide.md |
| Anti-patterns, bloat examples, the three-question test | references/anti-patterns.md |
development
Insurance underwriting domain knowledge for building automated submission processing systems. Covers submission-to-bind lifecycle, document extraction patterns, compliance gates (sanctions, licensing, clearance), human-in-the-loop design for regulated financial services, confidence calibration for extracted fields, operating mode progression (manual to automated), and evidence traceability requirements. Use when designing or implementing underwriting pipelines, extraction agents, compliance workflows, HITL review systems, or decision package assembly for insurance or MGA operations.
development
This skill should be used when the user asks to "write TypeScript code", "create a TypeScript module", "define TypeScript types", "add type annotations", "use generics", "handle errors in TypeScript", "set up tsconfig", "organize TypeScript project", or when writing any TypeScript code that is not tied to a specific library or framework. Covers type system, strict mode, naming conventions, error handling, async patterns, and project structure.
development
Use when working with Terraform or OpenTofu - creating modules, writing tests (native test framework, Terratest), setting up CI/CD pipelines, reviewing configurations, choosing between testing approaches, debugging state issues, implementing security scanning (trivy, checkov), or making infrastructure-as-code architecture decisions. Enforces Provectus opinionated conventions (exact version pinning, etc.) on top of community best practices.
development
This skill should be used when the user asks to "write Swift code", "create a Swift type", "set up a Swift package", "review Swift code", "refactor Swift", "use async/await in Swift", "fix Swift style", or when generating any Swift source code regardless of target platform. Provides modern Swift 6+ best practices covering type system, optionals, concurrency, error handling, protocols, generics, and idiomatic patterns. Does not cover any specific platform or framework.