ferrox-doc-synthesizer

ferrox-doc-synthesizer is an agent for Claude Code from FerroxLabs/ferrox-factory. It costs 78 tokens per session (3,188 once invoked), scanned A, a copy of gsd-doc-synthesizer, MIT.

A planning-context synthesizer that combines classified documents and applies rules for priority, references, and conflicts.

In plain words
What is it for?
Use it to consolidate ADRs, PRDs, specifications, and other planning documents into conflict reports and shared context.
Why use it?
It exposes contradictions, competing versions, and unresolved blockers before later planning work uses the material.

Agent for Claude Code

Written for Claude Code: PostToolUse hook event. Also seen: reads .claude/ paths.

Part of the ferrox-core plugin — 81 skills, 42 agents, 7 hooks shipped together

Good fit Use it to consolidate ADRs, PRDs, specifications, and other planning documents into conflict reports and shared context.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer
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.

Clone the repo
git clone --depth 1 https://github.com/FerroxLabs/ferrox-factory

Made for: Claude Code.

Or install ferrox-core, the plugin that ships this one along with the rest of its 81 skills, 42 agents, 7 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ferrox-doc-synthesizer

README.md
[![agentmods](https://agentmods.dev/badge/agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer/github.svg)](https://agentmods.dev/agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer)
Your own site
<a href="https://agentmods.dev/agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer"><img src="https://agentmods.dev/badge/agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ferrox-doc-synthesizer

Your own site · 80×15
<a href="https://agentmods.dev/agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer"><img src="https://agentmods.dev/badge/agents/ferroxlabs/ferrox-factory/ferrox-doc-synthesizer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 78 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,188 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 81% copy Near-identical to another mod 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.1 $0.00078 $0.03188
Opus 5 $0.00039 $0.01594
Sonnet 5 $0.00016 $0.00638
Haiku 4.5 $0.00008 $0.00319

Measured 9d ago against content hash 64a03484a7ae, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

ferrox-doc-synthesizer 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 9d 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.

Origin

This is a copy

81% identical to gsd-doc-synthesizer — 75 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

agents/ferrox-doc-synthesizer.md · 268 lines

How it starts

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

You do NOT prompt the user. You do NOT write PROJECT.md, REQUIREMENTS.md, or ROADMAP.md — those are produced downstream by ferrox-roadmapper using your output. Your job is synthesis + conflict surfacing.

CRITICAL: Mandatory Initial Read If the prompt contains a <required_reading> block, load every file listed there first — especially references/doc-conflict-engine.md which defines your conflict report format.

@~/.claude/ferrox-core/references/untrusted-input-boundary.md

<extraction_discipline> This is rule-application, not generation. Apply the taxonomy / precedence rules directly to what the source actually contains. Do not infer, embellish, summarize creatively, or add any content not present in the source. Output only the required structure; when the source is silent on a field, mark it absent rather than guessing. (2505.11423 — applies here as a simple mechanical constraint: mark absent rather than fabricate.) </extraction_discipline>

<few_shot_exemplars> These worked examples show the exact input→output contract for per-type extraction. Apply the same pattern.

Exemplar 1 — Clean ADR extraction

Input: classified ADR docs/adr/0003-choose-postgres.md with locked: true, decision statement: "Use PostgreSQL 15+ for all relational data."

Output entry for INTEL_DIR/decisions.md:

## ADR-0003: Use PostgreSQL as primary datastore
- source: docs/adr/0003-choose-postgres.md
- status: locked (Accepted)
- decision: Use PostgreSQL 15+ for all relational data.
- scope: primary datastore, relational data

Exemplar 2 — UNKNOWN / low-confidence doc (conflict surfacing)

Input: classified doc docs/notes/meeting-2024-01-15.md with type: UNKNOWN, confidence: low.

Output: do NOT extract to any intel file. Instead, add to unresolved-blockers in CONFLICTS_PATH:

[BLOCKER] UNKNOWN classification — user must type-tag
  Found: docs/notes/meeting-2024-01-15.md classified UNKNOWN (low confidence)
  Signals observed: prose-only meeting notes, no ADR/PRD/SPEC markers
  → Re-tag via --manifest before re-running ingest

Mark absent fields as absent in the entry — do not infer a type.

Exemplar 3 — Edge case: competing PRD acceptance criteria

Input: two PRD classifications for the same scope "user-auth":

  • docs/prd/auth-v1.md → requirement: "login via email+password"
  • docs/prd/auth-v2.md → requirement: "login via SSO only"

Output: do NOT pick one. Write both to competing-variants bucket in CONFLICTS_PATH:

[WARNING] Competing acceptance variants for REQ-user-auth
  Found: docs/prd/auth-v1.md requires "email+password"
  Found: docs/prd/auth-v2.md requires "SSO only" — same scope "user authentication"
  Impact: Synthesis cannot pick without losing intent
  → Choose one variant or split into two requirements before routing

Emit both variants verbatim to INTEL_DIR/requirements.md under separate IDs (REQ-user-auth-v1, REQ-user-auth-v2). </few_shot_exemplars>

<why_this_matters> You are the precedence-enforcing layer. Silent merges, lost locked decisions, or naive dedupes here corrupt every downstream plan. When in doubt, surface the conflict rather than pick. </why_this_matters>

Read the full file on GitHub · 268 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. 9d ago First seen · 268 lines · 78 tokens per session scan A 64a03484a7ae

Subscribe to this mod's changes

ferrox-doc-synthesizer is an agent published in the GitHub repository FerroxLabs/ferrox-factory (22 stars, last pushed 1mo ago), licensed MIT. It adds 78 tokens to every session and 3,188 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 81% identical to gsd-doc-synthesizer, differing in 75 lines, and is treated as a copy.

Related

Other agents, from other repositories

quarto-critic

Adversarial QA agent that compares Quarto HTML against Beamer PDF benchmark. Produces harsh, actionable criticism. Does NOT edit files — read-only analysis only.

brycewang-stanford/Auto-Empirical-Research-Skills · 38 tokens

openwriter-enrichment-minion

Refresh stale OpenWriter loglines through exclusive canonical snapshot claims.

travsteward/openwriter · 19 tokens

literature-extractor

Extracts literature Statements from papers for a survey. Reads PDFs, creates Statements with source="literature" and verification="pending", returns a structured report. Never registers theme tags, never creates Warrants or Claims.

yqi96/warranted · 48 tokens

chronology-builder

Isolated worker that reads case documents iteratively and extracts sourced timeline events (date, neutral fact, mandatory document+locus provenance, undisputed/alleged/contested status, party attribution). Deduplicates and cross-references across documents and languages. Emits events.json for the legal-chronology…

fedec65/bettercallclaude · 103 tokens

flow-documenter

Use this agent when you need to generate comprehensive, natural language documentation for a Power Automate flow from its JSON definition. This agent should be invoked when:\n\n- A user provides a flow.json file and requests documentation\n- A new flow has been created and needs to be documented\n- An existing flow…

MacroMan5/AutomationHelper_plugins · 368 tokens

ops-documentacao

Especialista em documentação interna estruturada (Notion, Confluence, GitBook, wikis) para PMEs aplicando framework Diátaxis (Procida), BPMN, ITIL v4, ISO 9001, RACI. Use proativamente quando o usuário (a) escrever SOP / procedimento operacional padrão com estrutura completa (id, owner, escopo, ferramentas, fluxo…

asv-digital/agents-funcionarios · 0 tokens