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 skills add Contentrain/ai --skill contentrain-bulkgit clone --depth 1 https://github.com/Contentrain/aiWrote 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/skills/contentrain/ai/contentrain-bulk)<a href="https://agentmods.dev/skills/contentrain/ai/contentrain-bulk"><img src="https://agentmods.dev/badge/skills/contentrain/ai/contentrain-bulk/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.
<a href="https://agentmods.dev/skills/contentrain/ai/contentrain-bulk"><img src="https://agentmods.dev/badge/skills/contentrain/ai/contentrain-bulk.svg" alt="Reviewed on agentmods" width="80" 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.00030 | $0.01058 |
| Opus 5.5 | $0.00012 | $0.00423 |
| Sonnet 5.5 | $0.00006 | $0.00212 |
| Haiku 4.5 | $0.00003 | $0.00106 |
Grade A, and why
contentrain-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 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.
How it starts
The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: Run Bulk Content Operations
Apply safe batch operations to existing content entries.
When to Use
Use this when the user wants to:
- copy one locale to another
- update status on many entries
- delete multiple collection entries
This skill is for existing content, not for schema design.
Steps
1. Inspect the Model
Call contentrain_status and contentrain_describe(model: "<model-id>") first.
Confirm:
- model kind
- whether
i18nis enabled - which locales are supported
2. Pick the Correct Bulk Operation
copy_locale: clone one locale to another for i18n-enabledcollection,singleton, ordictionarymodelsupdate_status: update metadata state — many entries at once forcollection(byentry_ids) ordocument(byslugs), or the single record of asingleton/dictionarydelete_entries: remove many collection entries at once
3. Apply Safety Rules
- never use
copy_localeon non-i18n models update_statusaddresses records the way their meta is laid out:entry_idsforcollectionmodels,slugsfordocumentmodels (meta is one file per slug — the same identitycontentrain_content_saveuses), and neither forsingleton/dictionary, which have one meta record per locale. The wrong list is rejected with a message naming the right one.publish_atoncontentrain_content_savedoes not publish — it gates delivery of an already-published entry.update_statusis the only way to change status.delete_entriesis collection-onlyupdate_statusrewrites every supported locale unless you passlocale. Pass it when restoring one locale's status, or you will change the other's too.- preview first:
dry_run: trueruns the operation in a throwaway worktree and reports what would change (would_copy/would_replace,would_update+not_found,would_delete+files_to_remove) without committing anything. A preview needs noconfirm copy_localeREPLACES the target locale — the preview'swould_replaceis how many records that costs- confirm entry IDs before delete operations
- batch only related entries together
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.
- 1mo ago Changed · +2 lines 8c8899a43b94
- 1mo ago Changed · +13 lines 38a3ec96349f
- 1mo ago First seen · 131 lines · 30 tokens per session scan A 65aa57570d55
contentrain-bulk is a skill published in the GitHub repository Contentrain/ai (6 stars, last pushed today), licensed MIT. It adds 30 tokens to every session and 1,058 once invoked, about $0.0001 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-31.
Other skills, from other repositories
chinese-documentation
A Chinese technical-documentation style guide covering spacing, punctuation, numbers, terminology, and links when Chinese and English appear together.
extract-source-sample
Given the path to a finished content-goose ad-run folder, extract everything that defines that ad — recipe shot list, VO script, characters, voices, world, atom-skills, master mp4 — and emit a source-sample.json in the exact shape the upload-ad-sample skill writes to the Goose Ads library. Also links every character…
oma-translation
Translate or revise localized UI strings and prose while preserving meaning, terminology, placeholders, and structure.
speak-human-tw
A Traditional Chinese editing guide for making public-facing writing sound more natural and less machine-generated. It also checks wording associated with Mainland China and half-width punctuation.
bopomofo-rescue
A text-recovery tool for Taiwanese Bopomofo, also called Zhuyin, keyboard mistakes. It converts letter-and-number sequences typed with the wrong input mode back into likely Chinese text.
localization-strategy
Plan, audit, implement, migrate, or validate localization for multilingual products and websites, including locale scope, market readiness, URL architecture, content coverage, hreflang coordination, rollout, and production verification. Use translation for the actual translation, glossary, and language review work.