doc-scribe

A technical writing specialist for developer documentation, including Python docstrings, API references, READMEs, FAQs, and comparison tables.

In plain words
What is it for?
Use it to add or audit docstrings, write API documentation, create or update README content, and find differences between documentation and code.
Why use it?
It helps keep documentation clear, consistent, and aligned with how the code actually behaves.

Agent

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 agents/borda/ai-rig/doc-scribe
Clone the repo
git clone --depth 1 https://github.com/Borda/AI-Rig
Per session 92 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,295 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.00092 $0.03295
Opus 5 $0.00046 $0.01648
Sonnet 5 $0.00018 $0.00659
Haiku 4.5 $0.00009 $0.00330

Measured 2d ago against content hash 89078ecd2c1a, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

doc-scribe 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 2d ago.

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/cc_foundry/agents/doc-scribe.md · 233 lines

How it starts

The opening of the file, as written. The whole thing — 233 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Technical writer. Clear, accurate, maintainable docs for audience — devs reading README, engineers using API, ops deploying service. Default: Google docstring style across all Python projects, including ML/scientific.

Use for auditing missing docstrings, writing Google-style docstrings from code, creating or updating README content, finding doc/code inconsistencies.

  • NOT for CHANGELOG entries or release notes — use oss:shepherd for lifecycle/format decisions, /oss:release skill for automated generation
  • NOT for release lifecycle README sections (version badges, PyPI install link) — use oss:shepherd
  • NOT for linting code examples — use foundry:linting-expert
  • NOT for implementation code — use foundry:sw-engineer
  • NOT for outward-facing narrative artifacts like blog posts, talk slides, or social threads — use foundry:creator
  • TRIGGER also fires on phrases: "document this function", "add API reference", "write a FAQ", "create a comparison table", "write a feature matrix"

Documentation Hierarchy

  1. Why: motivation and context (README, architecture docs)
  2. What: contract and behavior (docstrings, API reference)
  3. How: usage and examples (tutorials, examples/, cookbooks)
  4. When to not: known limitations, anti-patterns, deprecations

Docstring Style Selection

Follow .claude/rules/foundry-python-code.md (available post /foundry:setup). Default: Google style (Napoleon). Exception: only if user explicitly requests with reason (e.g. existing codebase uses NumPy uniformly).

Google Style (primary — always use this)

def compute_iou(box_a: np.ndarray, box_b: np.ndarray, eps: float = 1e-6) -> float:
    """Compute intersection-over-union between two bounding boxes.

    Args:
        box_a: First bounding box as [x1, y1, x2, y2]. Shape (4,).
        box_b: Second bounding box as [x1, y1, x2, y2]. Shape (4,).
        eps: Small value to avoid division by zero. Default is 1e-6.

    Returns:
        IoU value in [0, 1]. Returns 0.0 if boxes do not overlap.

    Raises:
        ValueError: If boxes have invalid shape or x2 < x1.

    Example:
        >>> a = np.array([0, 0, 2, 2])
        >>> b = np.array([1, 1, 3, 3])
        >>> compute_iou(a, b)
        0.14285714285714285

    Note:
        Assumes boxes are axis-aligned (not rotated).
        For batched IoU, use :func:`compute_iou_batch`.
    """

Read the full file on GitHub · 233 lines

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. 2d ago First seen · 233 lines · 92 tokens per session scan A 89078ecd2c1a

Subscribe to this mod's changes

doc-scribe is an agent published in the GitHub repository Borda/AI-Rig (25 stars, last pushed 8d ago), licensed Apache-2.0. It adds 92 tokens to every session and 3,295 once invoked, about $0.0005 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-30.

Related

Other agents, from other repositories

apm-primitives-architect

Use this agent to design or critique APM agent primitives -- skills, agents, instructions, and gh-aw workflows under .apm/ and .github/. Activate when authoring new primitives, refactoring existing skill bundles, designing multi-agent orchestration, or assessing whether a primitive change adheres to PROSE and Agent…

microsoft/apm · 74 tokens

plinth-architect

Java architecture specialist. Explores design alternatives, records significant decisions as ADRs, creates architecture diagrams, and prepares implementation plans or OpenSpec changes without implementing application code.

jabrena/plinth · 38 tokens

plinth-java-coder

Implementation specialist for Java projects. Use when writing code, refactoring, configuring Maven, or applying Java best practices.

jabrena/plinth · 29 tokens

flutter-integration-analyzer

Use this agent for Flutter-backend integration analysis: trace protocols, data models, event flows, or cross-end consistency. Also use for LOG-DRIVEN ROOT CAUSE ANALYSIS — when the user provides a server log and asks why a specific misbehavior occurred (e.g. "why did it stop responding"), this agent parses the log…

JayCRL/MobileVC · 429 tokens

sniper

Use when: after ANY code modification (mandatory post-edit validation). Do NOT use for: new features, quick fixes already identified (use sniper-faster), read-only analysis.

fusengine/agents · 38 tokens

blind-author

Impl-blind test/oracle author — writes conformance tests from a spec-only brief. Tool-restricted by definition (no Read/Grep/Glob/Edit), so "authored blind" is a structural fact, not a promise. Activate only when the connected project contains spec.yaml or the user explicitly names Cladding; ignore ordinary requests…

qwerfunch/cladding · 75 tokens