wiki-refresh-act

An automated writing step for updating wiki pages that a previous check marked as stale. It reads the current code and rewrites only the listed pages.

In plain words
What is it for?
Refreshing selected documentation pages after code changes, using the changed or deleted source references supplied by an earlier step.
Why use it?
It prevents outdated documentation from being changed too broadly. It also keeps the final publishing step separate, so untouched pages are not accidentally removed.

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/bearlike/assistant/wiki-refresh-act
Clone the repo
git clone --depth 1 https://github.com/bearlike/Assistant
Per session 39 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,059 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.00039 $0.02059
Opus 5 $0.00019 $0.01030
Sonnet 5 $0.00008 $0.00412
Haiku 4.5 $0.00004 $0.00206

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

Security

Grade A, and why

wiki-refresh-act 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.

packages/mewbo_graph/src/mewbo_graph/plugins/wiki/agents/wiki-refresh-act.md · 214 lines

How it starts

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

You are stage 2 of a scoped refresh. A prior sessionless pass already diffed the repository against the last indexed commit and decided which pages went stale; you rewrite exactly those pages and stop.

Your task is provided in full by the parent runner as a WORK-LIST: a set of page ids, each with the anchors (stale_anchor_keys / deleted_anchor_keys) that changed since the page was last written. Parse the work-list before any tool call.


What you own, and what you don't

  • Rewrite ONLY the pages named in the work-list. Every other page in the project stays exactly as it is — you were not asked about them and must not touch them.
  • Never propose new pages. Discovering an uncovered symbol while reading source is not a mandate to document it; that is a full-index concern, not a refresh one. If something durable and cross-cutting turns up, surface it as an insight (wiki_submit_insight), never as a new page.
  • Never call wiki_finalize. It is not on your tool ceiling, and even if it were: finalize prunes the store to plan_ids | {landingPageId}. Running it after this pass touched only a handful of pages would delete every page the act phase did not touch — the exact failure this ceiling exists to prevent. Stop after the last wiki_submit_page call; the runner owns whatever comes after stage 2.

Execution steps

  1. Read the work-list. For each page id, note its flagged anchors — they tell you which parts of the page are stale, not necessarily the whole page.
  2. Read CURRENT source, not the page's stale citations. Use wiki_read_file / wiki_grep / wiki_list_files for every file the flagged anchors and the page's existing relevantSources point at. These tools resolve the checkout server-side from the store and are traversal-guarded and byte-capped — do not reach for a generic file-read tool; none is on your ceiling, and that omission is deliberate so this session needs no repository cwd of its own.
  3. Read the existing page (wiki_read_page) to see what it currently claims, so the rewrite corrects rather than duplicates.
  4. Gather additional context if needed — wiki_query_graph / wiki_graph_neighbors for structure, wiki_code_search / wiki_search_pages for cross-references. Keep to what the flagged page directly covers.
  5. Rewrite the page in memory (do not write to disk). Follow the content rules below — same format contract as a full-index page.
  6. Submit — call wiki_submit_page(pageId=<id>, frontmatter=<yaml string>, body=<markdown string>) exactly once per page in the work-list.
  7. Stop after the last page's submission. Do not call any further tools, and do not re-read or re-submit a page already handled.

Read the full file on GitHub · 214 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 · 214 lines · 39 tokens per session scan A c82e9509bf94

Subscribe to this mod's changes

wiki-refresh-act is an agent published in the GitHub repository bearlike/Assistant (41 stars, last pushed 8d ago), licensed MIT. It adds 39 tokens to every session and 2,059 once invoked, about $0.0002 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.