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 berba-q/faostat-skills --skill analytical-briefgit clone --depth 1 https://github.com/berba-q/faostat-skillsWrote 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/berba-q/faostat-skills/analytical-brief)<a href="https://agentmods.dev/skills/berba-q/faostat-skills/analytical-brief"><img src="https://agentmods.dev/badge/skills/berba-q/faostat-skills/analytical-brief/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/berba-q/faostat-skills/analytical-brief"><img src="https://agentmods.dev/badge/skills/berba-q/faostat-skills/analytical-brief.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.00183 | $0.04284 |
| Opus 5 | $0.00092 | $0.02142 |
| Sonnet 5 | $0.00037 | $0.00857 |
| Haiku 4.5 | $0.00018 | $0.00428 |
Grade A, and why
faostat-analytical-brief 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 11d 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 — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
FAOSTAT Analytical Brief
Produce a multi-page PDF analytical brief in the FAOSTAT house visual style, with the corresponding multi-sheet xlsx data appendix so every figure and discussion point is reproducible.
Scope of the visual grammar (no FAO branding). The brief uses the FAOSTAT visual grammar — teal/dark-blue palette, serif titles, → arrow bullets, teal section banners, numbered figures with Source: FAOSTAT … lines, and the familiar section order (HIGHLIGHTS / BACKGROUND / GLOBAL / REGIONAL / COUNTRY / EXPLANATORY NOTES / NEXT RELEASE / REFERENCES). It does not reproduce the FAO logo, "Food and Agriculture Organization of the United Nations" masthead, ISSN strip, "FAO Statistics Division" stamp, "Required citation: FAO. …" line, or any other FAO branding. The output must be clearly attributable as a user-generated analysis, not an FAO publication.
Prerequisites
Confirm the FAOSTAT MCP tools are available: faostat_get_data, faostat_search_codes, faostat_list_domains, faostat_get_metadata. If they are not, tell the user and stop.
Python packages (install on demand via pip install <pkg> --break-system-packages):
plotly,pandas,kaleido(figure rendering + PNG export, reused fromfaostat-map)reportlab(PDF assembly via Platypus)openpyxl(xlsx data appendix)
The forthcoming figure renders compose on top of faostat-viz (line/bar/stacked-bar) and faostat-map (choropleths). When a brief needs a map, invoke the map skill's rendering guidance rather than reimplementing.
Cross-skill invariants (do not violate)
All 6 invariants from the FAOSTAT skill suite apply unchanged:
- FILTER vs DISPLAY element codes.
faostat_get_datatakes FILTER codes (e.g.,'2510'); never pass DISPLAY codes ('5510'). - Year syntax. Comma-separated lists only (
'2010,2011,...,2024'); colon ranges return empty. - Element filter required on every
faostat_get_datacall. - TCL for national trade aggregates, TM only for partner breakdowns. Never sum TM rows to reconstruct national totals.
- China composite default (user preference, Apr 2026). Default to composite
China(area 351) for country rankings, top-N lists and country-level analysis. OfferChina, mainland(41) as an opt-in — do not substitute 41 unless the user asks for 41 explicitly. Flag the choice in the Methodology sheet, and include the caveat whenever a China number is quoted: FAOSTAT's own publications default to 41, so a brief using 351 will show a marginally larger "China" value than the FAO data-portal default. (Map figures inside the brief are an exception: they use the disaggregation path — area 41 on the CHN polygon with HKG / MAC / TWN rendered separately — because choropleths cannot sensibly render 351. See the map skill.) faostat_get_rankingsHTTP-500 fallback. Reconstruct rankings fromfaostat_get_data+ client-side sort; document fallback in the Methodology sheet.- Element and item code resolution. Never use a hardcoded numeric element or item code as the primary value in a
faostat_get_datacall. Always resolve at runtime:faostat_search_codes(domain_code='<dom>', dimension_id='element', query='<metric name>')for elements;faostat_search_codes(domain_code='<dom>', dimension_id='item', query='<item name>')for items. Numeric codes shown in reference tables and code examples are verified hints — use them to validate the search result, not as the authoritative source. Domain letter-codes (QCL, TCL, GT, EM, FBS, FS…) are stable and may be used directly.
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.
- 11d ago First seen · 218 lines · 183 tokens per session scan A 0c74ec170aba
faostat-analytical-brief is a skill published in the GitHub repository berba-q/faostat-skills (7 stars, last pushed 4mo ago), licensed MIT. It adds 183 tokens to every session and 4,284 once invoked, about $0.0009 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-31.
Other skills, from other repositories
skill-doc-delivery
Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.
report-generator
A report-generation tool for producing SEO and GEO analysis reports in formats such as Markdown, HTML, PDF, JSON, and Excel. It also supports charts, templates, data processing, and interactive report elements.
slides-as-code
Build research slides with text-first source (Slidev/Marp/Reveal/Quarto) and reproducible export (PDF). Includes structure, figure reuse rules, and quality checklist for top-tier scientific presentations.
neqsim-technical-document-reading
Reads and extracts structured engineering data from technical documents (PDFs, Word, Excel, CSV) and engineering images/drawings (P&IDs, vendor datasheets, mechanical arrangements, performance maps). USE WHEN: a user provides engineering documents or images — equipment data sheets, technical requirements, design…
fulcra-lab-results
Parse a lab-report PDF (LabCorp, Quest, hospital labs — any provider) into one canonical Fulcra data track per marker (LDL-C, HbA1c, TSH, ferritin, …). You read the PDF; the fulcra-labs engine normalizes units, validates, and ingests. Verify-before-ingest: nothing is written without passing validation or explicit…
analyze
Analyze a large file (CSV, Excel, PDF, JSON, code) and return a token-efficient summary. Instead of reading thousands of rows or pages, get schema + statistics + sample in under 500 tokens. Use when user mentions a file path, asks to analyze data, pastes many rows, or references a CSV/Excel/PDF/JSON file.