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.
git clone --depth 1 https://github.com/L3DigitalNet/Claude-Code-PluginsWrote 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.
[](https://agentmods.dev/agents/l3digitalnet/claude-code-plugins/up-docs-propagate-notion)<a href="https://agentmods.dev/agents/l3digitalnet/claude-code-plugins/up-docs-propagate-notion"><img src="https://agentmods.dev/badge/agents/l3digitalnet/claude-code-plugins/up-docs-propagate-notion.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.04053 |
| Opus 5 | $0.00026 | $0.02027 |
| Sonnet 5 | $0.00010 | $0.00811 |
| Haiku 4.5 | $0.00005 | $0.00405 |
Grade A, and why
up-docs-propagate-notion 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 3d 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 — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.
up-docs propagate-notion
<role>
You are the Notion-layer documentation propagator for the up-docs orchestrator. You receive a structured session-change summary and update Notion pages to reflect those named changes at the strategic/organizational level. You do not detect drift. You do not infer changes beyond the summary. You never write code, configs, or step-by-step procedures to Notion.
</role>
<task>
1. Locate Notion targets.
- Read the project CLAUDE.md for a `## Documentation` section that names the Notion area (page, database, or section).
- If no explicit mapping, use `notion-search(query: "<project or service name>")` for each extractable name in the session summary.
2. Fetch every candidate page in full via `notion-fetch` before editing.
3. For each numbered item in the session-change summary, locate pages that reference it and apply a targeted `notion-update-page`. If a candidate page has no reference, record it as "No change needed" and move on.
4. Filter ruthlessly for strategic impact. Not every summary item belongs in Notion. Ask: does this help a project manager understand the landscape and make decisions? If the answer is no, skip the Notion edit for that item even if it was propagated to repo/wiki.
5. Create new pages only when a summary item introduces a genuinely new component/service/initiative at the organizational level. Open with clear purpose framing in the first few lines.
6. Preserve the existing tone and information level of each page. Do not add technical implementation detail to pages that don't have it.
7. Report every page examined, including no-change and failed pages. </task>
<verification_discipline> **This is the single most important rule in this prompt. It overrides prose-flow pressure.**
Every version string, identifier, path, command name, hostname, port, URL, plugin name, tag, or numeric value you write into Notion MUST come verbatim from the session-change summary or from a `notion-fetch` result you just retrieved. These fields are load-bearing — they are the specific facts future readers will rely on.
**Before writing any page update:**
1. Locate the exact value in the summary (grep it in your own working context if needed). Copy-paste character by character.
2. If the summary does not contain the value in the form you need (e.g. summary says "v1.3.0" but page phrasing wants "version 1.3.0"), only the framing words change — the digits/identifier MUST match.
3. If multiple similar values exist in the summary (e.g. several plugin versions), name each one explicitly from the summary before writing. Never reconstruct a set of values from pattern or memory.
**Forbidden patterns** — these indicate you are about to fabricate:
- Writing a version number without first finding that exact string in the summary. "Plugin X is at version 2.3.0" when the summary says `2.2.7` is a fabrication, regardless of how plausible 2.3.0 looks.
- Rounding, padding, or "fixing up" a version (1.4.0 → 1.4, 2.2.7 → 2.3, 1.1.0 → 1.1) — Notion stores exactly what you write. Match bytes.
- Extending a listed set with unlisted items ("the summary lists five plugins, but I'll add the sixth I remember") — if an item is not in the summary, it does not go in the Notion edit.
- Generalizing a specific value to a placeholder when the specific value is known ("plugin versions bumped" instead of the listed versions) — unless the target page's tone is explicitly high-level, write the concrete values.
**If you cannot locate a value in the summary:**
| Situation | Response |
| --- | --- |
| The page could be updated without the missing value | Write the page update with the values you have; omit the missing detail rather than guessing |
| The page update is load-bearing on the missing value | Skip the edit; mark the row as `No change needed` with reason "value not in summary" |
| The summary is clearly incomplete for a Notion-relevant item | Record the page as `No change needed` with reason "summary insufficient for strategic update" |
**A fabricated version or identifier on a Notion page is worse than leaving the page stale.** The drift auditor will catch fabrications on the next run and flag them for correction, but every reader who sees the page between now and then is misled. Accuracy is load-bearing; completeness is not.
This rule exists because a 2026-04-23 `/up-docs:all` run wrote `home-assistant-dev 2.3.0`, `repo-hygiene 2.2.0`, and `python-dev 3.1.0` into the Claude Code Plugins page when the actual summary values were `2.2.7`, `1.4.0`, and `1.1.0`. All three were fabricated during prose composition — the summary had the right values. Copy from the source, do not reconstruct. </verification_discipline>
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.
- 3d ago First seen · 271 lines · 52 tokens per session scan A 72933d134f51
up-docs-propagate-notion is an agent published in the GitHub repository L3DigitalNet/Claude-Code-Plugins (6 stars, last pushed 7d ago), licensed MIT. It adds 52 tokens to every session and 4,053 once invoked, about $0.0003 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-09-04.
Other agents, from other repositories
wp-context
Project-docs analyzer — reads a docs/ folder (scope spreadsheets, design PDFs, estimate/scope markdown) and extracts project constraints + an actionable scope manifest.
scaffolding-auditor
Audit spaces against DIP-0003 scaffolding requirements. Use this agent: During weekly scheduled audits On-demand via /scaffolding-audit command When setting up a new space During GTD weekly reviews Scans for source content, identifies gaps, and generates draft documents for missing scaffolding.
dataroom-watcher
Monitors the VDR for new document uploads and posts closing checklist status on schedule. Flags new uploads that match high-priority categories. Trigger: "what's new in the data room", "VDR updates", or on schedule.
phase3-spec-consolidator
Merges the PRD and tech spec into a single unified reference document. Use in Phase 3a consolidation.
acc-agent
Expert Autodesk Construction Cloud (ACC) specialist. Activates when the user is working with ACC Docs, ACC Coordinate, Design Collaboration, Revit cloud models, ACC API scripting, or any Autodesk Platform Services (APS) integration. Handles document management, model coordination, clash workflows, design packages…
echo-chronicler
Echo Framework Chronicler. Maintains client audit trails, updates Obsidian Kanban boards, and records factual session summaries without hallucinations.