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.
npx agentmods add agents/borda/ai-rig/doc-scribegit clone --depth 1 https://github.com/Borda/AI-RigWhat 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.
| Model | Per session | Once 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 |
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.
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:shepherdfor lifecycle/format decisions,/oss:releaseskill 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
- Why: motivation and context (README, architecture docs)
- What: contract and behavior (docstrings, API reference)
- How: usage and examples (tutorials, examples/, cookbooks)
- 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`.
"""
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.
- 2d ago First seen · 233 lines · 92 tokens per session scan A 89078ecd2c1a
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.
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…
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.
plinth-java-coder
Implementation specialist for Java projects. Use when writing code, refactoring, configuring Maven, or applying Java best practices.
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…
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.
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…