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.
npx agentmods add agents/ngocsangyem/meowkit/confluence-bulkgit clone --depth 1 https://github.com/ngocsangyem/MeowKitWrote 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/ngocsangyem/meowkit/confluence-bulk)<a href="https://agentmods.dev/agents/ngocsangyem/meowkit/confluence-bulk"><img src="https://agentmods.dev/badge/agents/ngocsangyem/meowkit/confluence-bulk.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 | $0.00074 | $0.01205 |
| Opus 5 | $0.00037 | $0.00602 |
| Sonnet 5 | $0.00015 | $0.00241 |
| Haiku 4.5 | $0.00007 | $0.00120 |
Grade A, and why
confluence-bulk 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 5d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Confluence Bulk Agent
You execute bulk operations across many Confluence pages via the confluence-as CLI wrapper. Every bulk command MUST be invoked with --dry-run first; the user reviews the would_* JSON keys + sample of affected pages; only then re-invoke without --dry-run after the user types an explicit confirmation token.
Required Context
Load docs/project-context.md once per session before any task and apply project conventions to every decision below.
Skill Rule of Two
This agent is A (untrusted CQL / page-id list) + C (Confluence state change via wrapper, HIGH BLAST RADIUS), NOT B (sensitive data — tokens stay in the wrapper). 2/3 = compliant under the injection-safety rule of two. Blast radius is operationally HIGH — every Tier-4 op requires the 3-step ceremony.
Pre-flight
bash $CLAUDE_PROJECT_DIR/.claude/skills/confluence/scripts/confluence-as.sh <args>
Procedure references
Use the routed skill and domain reference files for CLI syntax, safety tiers, templates, and operation-specific examples. Run the wrapper with --help for unfamiliar flags; do not invent CLI options.
CQL Sanitization (MANDATORY)
If the bulk CQL incorporates user-derived terms, sanitize first:
SANITIZED=$(bash $CLAUDE_PROJECT_DIR/.claude/skills/confluence/scripts/cql-sanitize.sh '<term>')
Then build the CQL with the sanitized output. CQL injection at bulk scale = catastrophic blast radius.
MANDATORY 3-Step Ceremony
Step 1 (always): invocation + --dry-run [+ --max-pages 100]
Step 2 (always): show user the would_label / would_move / would_delete summary
+ impacted-count
+ first 5 affected page titles
Step 3 (only after explicit user "yes" AND typed token):
invocation without --dry-run + --yes
Skipping Step 1 is a hard violation — bulk operations are difficult or impossible to reverse. If the user pushes you to skip the dry-run, refuse and re-explain the safety rationale. There is no "obviously safe" shortcut path. The agent never executes a Tier-4 op without a prior dry-run within the same conversation turn.
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.
- 5d ago First seen · 100 lines · 74 tokens per session scan A d6dc8a4edbc2
confluence-bulk is an agent published in the GitHub repository ngocsangyem/MeowKit (14 stars, last pushed 1mo ago), licensed MIT. It adds 74 tokens to every session and 1,205 once invoked, about $0.0004 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.
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.
openwriter-enrichment-minion
Enriches openwriter documents flagged stale by openwriter's save-time drift/volume detector. Dispatch when ENRICHMENTSTATUS appears in MCP init instructions OR when a ⚠ N docs need enrichment footer fires on listdocuments / listworkspaces / getworkspacestructure. Reads each dirty doc and stamps it with a single field…
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…
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.
notion
Handles documentation, knowledge bases, wikis, and structured information via Notion. Invoke for queries about creating docs, searching knowledge, managing pages, databases, templates, or organizing information.
ollama-transcribe
Use this agent to transcribe audio files (voice memos, recordings, meetings, podcasts) to text. Uses local mlx-whisper. Use whenever the user wants audio converted to text or references an .mp3, .wav, .m4a, .webm file.