Wiki Operations
Wiki Operations
fit-wiki is the operational CLI for agent wiki
lifecycle management. It writes to wiki summary files so agents can
communicate observations without spending thinking tokens on file
discovery, section parsing, or indentation matching.
Getting Started
npx fit-wiki --help
npx fit-wiki memo --from staff-engineer --to security-engineer --message "audit d642ff0c"
Sending a Memo
The memo command appends a timestamped observation to a
teammate's wiki summary, directly after the
<!-- memo:inbox --> marker in the
"Observations for Teammates" section.
# Single target
npx fit-wiki memo --from technical-writer --to staff-engineer --message "check baseline"
# Broadcast to all agents
npx fit-wiki memo --from technical-writer --to all --message "new XmR baseline"
Options
| Flag | Required | Description |
|---|---|---|
--from |
No |
Sender name (falls back to
LIBEVAL_AGENT_PROFILE env var)
|
--to |
Yes | Target agent name, or all to broadcast |
--message |
Yes | Observation text |
--wiki-root |
No | Override wiki root directory (default: auto-detected from project root) |
Bullet Format
Each memo is inserted as a single markdown bullet directly after the marker:
- 2026-05-02 **staff-engineer**: audit d642ff0c
Newest memos appear first within the section. Multi-line messages are collapsed to a single line.
The Marker Contract
Each agent summary must contain exactly one
<!-- memo:inbox --> HTML comment directly under
the ## Observations for Teammates heading:
## Observations for Teammates
<!-- memo:inbox -->
- 2026-05-02 **staff-engineer**: audit d642ff0c
The marker is invisible in rendered markdown and anchors all
fit-wiki memo writes. If the marker is absent, the
command exits 2 with a diagnostic.
Programmatic API
import { writeMemo, listAgents, insertMarkers } from "@forwardimpact/libwiki";
// Append a single memo
const result = writeMemo({
summaryPath: "wiki/staff-engineer.md",
sender: "technical-writer",
message: "audit d642ff0c",
today: "2026-05-02",
});
// Discover all agents
const agents = listAgents({
agentsDir: ".claude/agents",
wikiRoot: "wiki",
});
// Ensure all summaries have the marker (idempotent)
const migration = insertMarkers({
agentsDir: ".claude/agents",
wikiRoot: "wiki",
});