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 skills/carboneio/carbone-skill/carbonenpx skills add carboneio/carbone-skill --skill carbonegit clone --depth 1 https://github.com/carboneio/carbone-skillWrote 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/carboneio/carbone-skill/carbone)<a href="https://agentmods.dev/skills/carboneio/carbone-skill/carbone"><img src="https://agentmods.dev/badge/skills/carboneio/carbone-skill/carbone.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.00237 | $0.09054 |
| Opus 5 | $0.00118 | $0.04527 |
| Sonnet 5 | $0.00047 | $0.01811 |
| Haiku 4.5 | $0.00024 | $0.00905 |
Grade B, and why
carbone scanned grade B with 1 finding 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.
Subtle steeringmediumPrompt injection
Instructions that bias recommendations or shape behaviour without the user noticing.
A PDF template supports **no** pictures, colors, `:html`, charts, barcodes, hyperlinks, `:transform`, file operations or signatures — never suggest them here. Full guide → `references/pdf-templates.md`. How it starts
The opening of the file, as written. The whole thing — 492 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Carbone Universal Templating Language — Skill
Carbone is a declarative templating engine. You provide a template (DOCX, XLSX, PPTX, ODT, HTML, …) with Carbone tags (placeholders in {}), plus a JSON dataset. Carbone merges both to produce the filled document.
NEVER invent Carbone syntax. Carbone is its own language — it is NOT JSONPath, NOT Mustache, NOT Handlebars, NOT Jinja2, NOT any other templating language. Its tag syntax, formatters, loop markers, and filter expressions are unique. Any pattern not explicitly documented in this skill or its reference files does not exist in Carbone. If a user's request cannot be answered from what is documented here, say so — do not guess or adapt syntax from another language.
Design principles — they change how you answer:
- Adapt the template to the data, never the data to the template. Carbone injects into an unmodified API response. Reach for array filters, sorting, lookups and
:setbefore suggesting the user reshape their JSON. - Format-agnostic. Carbone injects into the file's own markup — the XML inside DOCX/ODT/IDML and any other XML-based format, and text files such as TXT, CSV, Markdown or JSON (§9).
- Backward compatible. Tag syntax survives upgrades — a template written for v2 still renders on v12. Never warn a user that their existing tags will break in a newer version.
1. Tag Types and Prefixes
| Tag | Purpose |
|---|---|
{d.path} |
Data from the main JSON object (most common) |
{c.path} |
Data from the "complement" object (metadata / computed values) |
{c.now} |
Built-in: current date/time at render time (UTC). Chain with :formatD to display it. |
{#alias = d.path} |
Declare an alias shortcut (removed from output) |
{$alias} |
Use a declared alias |
{t(key)} |
Static i18n translation tag — no quotes needed, whitespace preserved |
{o.option=value} |
Carbone in-template option (removed from output) |
Special {o.} options
Common: {o.timezone=Europe/Paris} {o.lang=en-US} {o.converter=L} {o.useHighPrecisionArithmetic=true} {o.exportFormattedValuesAsText=true} (XLSX only) {o.hardRefresh=true} (force converter even when input/output format match — useful for XLSX formula refresh) {o.preReleaseFeatureIn=VERSION} (opt-in pre-release features).
Full in-template option list → references/in-template-options.md.
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/advanced-features.md 15 KB
- references/aliases.md 5.1 KB
- references/docx-tips.md 7.8 KB
- references/format-support.md 5.8 KB
- references/formatters.md 28 KB
- references/html-templates.md 10 KB
- references/in-template-options.md 3.3 KB
- references/loops-advanced.md 5.8 KB
- references/markdown-templates.md 6.5 KB
- references/pdf-templates.md 3.3 KB
- references/practical-examples.md 17 KB
- references/set-patterns.md 9.4 KB
- references/upgrade-guide.md 5.1 KB
- references/xlsx-tips.md 3.5 KB
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 · 492 lines · 237 tokens per session scan B 0ff1549ce6a4
carbone is a skill published in the GitHub repository carboneio/carbone-skill (5 stars, last pushed 16d ago), licensed Apache-2.0. It adds 237 tokens to every session and 9,054 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it B with 1 finding (subtle steering). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
orbit-notion
Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…
instrument-data-to-allotrope
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full…
baoyu-youtube-transcript
Downloads YouTube video transcripts/subtitles and cover images by URL or video ID. Supports multiple languages, translation, chapters, and speaker identification. Caches raw data for fast re-formatting. Use when user asks to "get YouTube transcript", "download subtitles", "get captions", "YouTube字幕", "YouTube封面"…
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.
gog-slides
Google Slides operations through gog.
read
Reads URLs and PDFs by fetching source content, defaulting to concise summaries for plain read requests and clean Markdown when asked to convert, save, quote, cite, or feed downstream work. Use when users ask in any language to read, fetch, check, summarize, quote, cite, convert, or save a URL or PDF. Not for local…