docs

A command for keeping a project's documentation aligned with its current code and settings. It updates the docs, changelog, architecture decision records (ADRs), and CLAUDE.md guidance files.

In plain words
What is it for?
Use it after changes to update /docs, CHANGELOG.md, ADRs, and the relevant CLAUDE.md files. It can also create missing documentation files and keep the documentation index current.
Why use it?
Documentation often becomes inaccurate after code or configuration changes. This finds contradictions and broken references, then records what changed without removing valid information.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/ohswedd/praxis/docs
Clone the repo
git clone --depth 1 https://github.com/Ohswedd/praxis
Per session 28 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 442 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00028 $0.00442
Opus 5 $0.00014 $0.00221
Sonnet 5 $0.00006 $0.00088
Haiku 4.5 $0.00003 $0.00044

Measured yesterday against content hash a37b3ddbc807, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

docs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/praxis/commands/docs.md · 32 lines

What it actually says

Reconcile every piece of the project's knowledge with the current code ${ARGUMENTS:+(context: $ARGUMENTS)}. Start from what is already there: read before writing, and never drop still-valid content.

  1. Find the drift first. Run python3 "${CLAUDE_PLUGIN_ROOT}/scripts/drift.py". It reports docs that contradict the live configuration (the classic case: a doc still says a human merges every PR long after this repo turned auto-merge on) and references that no longer resolve. Every finding is in scope for this command. Run python3 "${CLAUDE_PLUGIN_ROOT}/scripts/knowledge_check.py" alongside it for the current change: what the changelog and the docs still owe it, and any documentation it removed.
  2. /docs, CHANGELOG.md, ADRs with the docs-living skill: update or create the right documents, add a [Unreleased] changelog entry, record an ADR for any significant or autonomously-taken decision, and keep docs/README.md indexed. Scaffold /docs or CHANGELOG.md if the repo lacks them.
  3. The CLAUDE.md hierarchy with the claudemd-living skill whenever a convention, command, dependency, or architectural pattern moved. Pick the right file for each change, draft minimal edits, and verify them with claudemd_check.py plus @praxis:claudemd-verifier so nothing still valid is lost or contradicted. Show the diff and the verifier verdict before writing.

Prefer stating configurable behaviour as configurable ("with auto-merge off, praxis stops at the PR") rather than as a constant. A sentence that asserts one side of a toggle is drift waiting to happen.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 32 lines · 28 tokens per session scan A a37b3ddbc807

Subscribe to this mod's changes

docs is a command published in the GitHub repository Ohswedd/praxis (1 stars, last pushed 1mo ago), licensed MIT. It adds 28 tokens to every session and 442 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.