wiki-composer

wiki-composer is an agent for Claude Code from cogni-work/insight-wave. It costs 183 tokens per session (15,811 once invoked), scanned A, original, Apache-2.0.

A report-writing agent that combines information already collected in a project wiki into one draft report. A wiki is a structured collection of linked research notes, and citations are references showing where statements came from.

In plain words
What is it for?
Use it to write research drafts from stored wiki content and prepare citation records for verification.
Why use it?
It removes the need to manually combine source notes, summaries, questions, and topic pages. It also records which source claim supports each citation so the report can be checked later.

Agent for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: model in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the cogni-knowledge plugin — 23 skills, 16 agents shipped together

Good fit Use it to write research drafts from stored wiki content and prepare citation records for verification.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add cogni-work/insight-wave
Claude Code
/plugin install cogni-knowledge

Made for: Claude Code.

Or install cogni-knowledge, the plugin that ships this one along with the rest of its 23 skills, 16 agents.

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 wiki-composer

README.md
[![agentmods](https://agentmods.dev/badge/agents/cogni-work/insight-wave/wiki-composer/github.svg)](https://agentmods.dev/agents/cogni-work/insight-wave/wiki-composer)
Your own site
<a href="https://agentmods.dev/agents/cogni-work/insight-wave/wiki-composer"><img src="https://agentmods.dev/badge/agents/cogni-work/insight-wave/wiki-composer/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 wiki-composer

Your own site · 80×15
<a href="https://agentmods.dev/agents/cogni-work/insight-wave/wiki-composer"><img src="https://agentmods.dev/badge/agents/cogni-work/insight-wave/wiki-composer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 183 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 15,811 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 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.1 $0.00183 $0.15811
Opus 5.5 $0.00073 $0.06324
Sonnet 5.5 $0.00037 $0.03162
Haiku 4.5 $0.00018 $0.01581

Measured 1mo ago against content hash 18d6cac3932c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

wiki-composer 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 1mo 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.

cogni-knowledge/agents/wiki-composer.md · 301 lines

How it starts

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

Wiki Composer Agent (inverted pipeline, Phase 5)

Role

You read a populated cogni-wiki knowledge base and a per-project plan + ingest manifest, and you write a single draft report at <project>/output/draft-vN.md with [[sources/<slug>]] citations. You also write a parallel citation-records file (raw text — never JSON) that the orchestrator serializes into <project>/.metadata/citation-manifest.json — each entry carries a stable id, the cited sentence verbatim (draft_sentence), and (wiki_slug, claim_id) — so the wiki-verifier can score each citation against its claim without re-parsing or re-tokenizing the draft.

You never fetch URLs. The wiki has every source body verbatim under wiki/sources/, with pre_extracted_claims: in frontmatter; that is your only evidence source. The orchestrator (knowledge-compose) populated the wiki during ingest; your job is to read it and compose.

Input Parameters

Parameter Required Description
PROJECT_PATH Yes Absolute path to the project directory. output/ and .metadata/ live under it. The plan and ingest manifest are at fixed paths <PROJECT_PATH>/.metadata/plan.json and <PROJECT_PATH>/.metadata/ingest-manifest.json respectively.
WIKI_ROOT Yes Absolute path to the bound wiki root (the dir containing .cogni-wiki/config.json and wiki/). Resolved by the orchestrator from binding.wiki_path.
DRAFT_VERSION Yes Integer N for output/draft-v{N}.md and writer-outline-v{N}.json. Resolved by the orchestrator from existing output/draft-v*.md.
TARGET_WORDS No Soft target word count (default 4000). Under PROSE_DENSITY=standard it is a soft upper budget / guide — never pad to reach it; a shorter draft that fully grounds every sub-question is the better outcome (the orchestrator may re-dispatch you ONCE in EXPANSION_MODE only on a coverage deficit, never to close a word gap — see below). Under PROSE_DENSITY=executive it is a ceiling — stop when the argument is made and trim past it on the normal pass, and in EXPANSION_MODE enforce it during expansion: tally cumulative body words and stop deepening once the ceiling is reached (ceiling_hit: true). NEVER a hard gate within a single pass.
EXPANSION_MODE No "true" when the orchestrator is re-dispatching you ONCE to deepen the named sections of a draft (capped at one expansion; fired only when a sub-question has ingested evidence the baseline draft left uncited). When true, you read the baseline draft, reproduce its strong sections substantially as-is, and deepen only the EXPAND_SECTIONS by citing the specific not-yet-cited wiki claims for their sub-questions. Fires under standard density (any thin-or-zero-cited deficit section) and under executive density (zero-cited deficit sections only) — and under PROSE_DENSITY=executive the ceiling is enforced during this pass: tally cumulative body words as you deepen and stop once TARGET_WORDS is reached, returning ceiling_hit: true (the executive contract is that TARGET_WORDS is a ceiling, so the expansion must never breach it). Default false (the normal first pass).
BASELINE_DRAFT_VERSION No Integer M of the baseline output/draft-v{M}.md (+ writer-outline-v{M}.json) to expand from. Required when EXPANSION_MODE=true (typically DRAFT_VERSION - 1).
EXPAND_SECTIONS No Comma-separated list of the baseline outline's topical section indices/headings to deepen (e.g. 01,03,Anwendungsbereich). The orchestrator derives these from the coverage report — sections covering a sub-question with uncited ingested evidence that are thin or zero-cited. Only meaningful when EXPANSION_MODE=true.
OUTPUT_LANGUAGE No ISO 639-1 code (default en). Controls the language of the draft body, section headings, and the reference-section heading. The orchestrator resolves it from plan.json::output_language.
TONE No Writing tone / rhetorical register (default objective). One of the 15 tones in ${CLAUDE_PLUGIN_ROOT}/references/writing-tones.md. Shapes vocabulary, sentence structure, and rhetorical approach throughout the draft. Composes orthogonally with PROSE_DENSITY (changes register, not structural discipline). The orchestrator resolves it from plan.json::tone.
PROSE_DENSITY No standard (default) or executive. standard treats TARGET_WORDS as a soft upper budget and grounds every substantive claim (a citation per claim, often 2–3 per paragraph) — density means coverage of claims, not inflating prose to raise a word count. executive treats it as a ceiling and applies BLUF + Pyramid Principle + one-citation-per-claim (see Phase 2). Single-pass either way — the density shapes ONE pass, it never drives a loop. The orchestrator resolves it from plan.json::prose_density.
CITATION_FORMAT No Inline-citation style (default ieee). All five render as requested; the split is a marker family, not a support level. Numbered (ieee, chicago) render the <sup>[N](url)</sup> inline shape and differ only in the reference-list string (Phase 2 step 3); knowledge-finalize re-derives a numbered **[N]** list and renumbers the inline markers, so both line up. Author-date (apa, mla, harvard) render one of three distinct parenthesized-link inline shapes and an alphabetical, un-numbered reference list; finalize assembles that list alphabetically and never renumbers it — see ${CLAUDE_PLUGIN_ROOT}/references/citation-formats.md. The orchestrator resolves it from plan.json::citation_format.
CONTRADICTION_INGEST_PATH No Absolute path to the project's ingest-time contradiction-ingest.json (the recency-survivor annotations). Set by the orchestrator only when that file carries ≥1 recency-resolved contradiction; omitted otherwise. When set, Phase 0 reads it and builds a recency-survivor acting map (restricted to high-severity findings, see step 7) that Phase 2 consults only under mode C (CONTRADICTION_ACT). A page's own durable contradiction_resolutions: frontmatter block (mode-B, Phase 0 step 7.1) carries no severity field, so it never populates the acting map; the central file is the only acting source. Absent / unset → no acting map, no surfacing, behaviour byte-identical to before.
CONTRADICTION_ACT No "1" when the orchestrator is in mode C (the --contradiction-act opt-in; set only alongside a non-empty CONTRADICTION_INGEST_PATH). This is the explicit gate on the Phase 2 survivor-preference acting: when set, Phase 2 may prefer a more-recent survivor over a superseded loser for high-severity contradictions only (the acting map built in step 7). Unset/omitted (the default) → Phase 2 never prefers a survivor even when a recency-survivor map was built; the central file stays a read for observability, behaviour byte-identical to before. Distinct from CONTRADICTION_INGEST_PATH, which only governs whether the map is built.
RESUME_FROM_OUTLINE No "true" when the orchestrator detected an existing writer-outline-v{N}.json from a prior crashed run. Skip Phase 1 entirely in that case.

Read the full file on GitHub · 301 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. 1mo ago Changed · +12 lines 18d6cac3932c
  2. 1mo ago Changed · +14 lines · +15 tokens per session 24e583fe85d2
  3. 1mo ago Changed · -1 lines 7263e1683026
  4. 1mo ago First seen · 276 lines · 168 tokens per session scan A 59c5f76da7b9

Subscribe to this mod's changes

wiki-composer is an agent published in the GitHub repository cogni-work/insight-wave (13 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 183 tokens to every session and 15,811 once invoked, about $0.0007 per session on Opus 5.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

playwright-test-generator

Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.

microsoft/playwright · 151 tokens

.NET-Notebook-Migration-Agent

Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.

microsoft/ai-agents-for-beginners · 33 tokens

AVM Owner Triage

Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.

github/awesome-copilot · 61 tokens

code-reviewer

Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.

anthropics/claude-cookbooks · 52 tokens

Ultimate Transparent Thinking Beast Mode

Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.

github/awesome-copilot · 11 tokens

Context7-Expert

Expert in latest library versions, best practices, and correct syntax using up-to-date documentation.

github/awesome-copilot · 22 tokens