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/poco-ai/agentero/vault-normalizernpx skills add poco-ai/Agentero --skill vault-normalizergit clone --depth 1 https://github.com/poco-ai/AgenteroWrote 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/poco-ai/agentero/vault-normalizer)<a href="https://agentmods.dev/skills/poco-ai/agentero/vault-normalizer"><img src="https://agentmods.dev/badge/skills/poco-ai/agentero/vault-normalizer.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.00057 | $0.02199 |
| Opus 5 | $0.00028 | $0.01099 |
| Sonnet 5 | $0.00011 | $0.00440 |
| Haiku 4.5 | $0.00006 | $0.00220 |
Grade A, and why
vault-normalizer 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 — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Vault Normalizer
Goal
Convert an existing research directory into an Agentero-compatible Vault without losing user-written notes or original files.
Safety rules
- Inspect first; do not move, rename, delete, or overwrite files until the user approves a concrete migration plan.
- Preserve user-written Markdown, PDFs, TeX/source archives, annotations, Obsidian
[[wikilinks]], and any existingAGENTS.mdcontent. - If a directory already has
AGENTS.md, read it as local instructions and do not replace it; only propose an append/merge draft when the user asks. - Prefer copying or staged moves when the source directory is not already a Vault.
- Never treat
.agentero/catalog.sqliteas disposable cache; it is the authoritative paper collection and metadata store. - Do not make root
PAPERS.md,library.bib, or per-papermetadata.jsonthe source of truth. They are optional exports or projections. - Treat link repair as a separate, reviewable change. Do not invent missing notes, select an ambiguous candidate, or rewrite a user-authored link without approval.
Target layout
agentero-vault/
├── AGENTS.md
├── papers/
│ ├── <paper-id-or-citekey>/
│ │ ├── NOTES.md
│ │ ├── <id>.pdf
│ │ ├── PAPER.md # optional derived readable body
│ │ ├── marks/ # optional JSON highlights / asks / translations
│ │ ├── source/ # optional original TeX / e-print
│ │ ├── assets/ # optional note images or derived figures
│ │ └── attachments/ # optional extras: supplement PDFs, slides, code repos
│ └── <topic>/.../<paper-id-or-citekey>/
├── notes/
├── plans/
├── assets/ # optional non-paper media
├── .agents/
│ └── skills/
└── .agentero/
├── catalog.sqlite
├── config.json
└── .trash/
Directory rules
papers/contains all cataloged papers. Topic folders are allowed at any depth.- A paper folder is the smallest paper unit and is recognized by direct children such as
NOTES.md,PAPER.md,marks/,source/,assets/, or transitionalmetadata.json. - A topic folder under
papers/is not a paper unless it directly contains a paper marker. - Catalog identity is the Vault-relative paper folder path, e.g.
papers/nlp/transformers/1706.03762, not just the leaf directory name. - Local PDFs for a paper should live at the paper folder root, not inside
source/. Extra PDFs (supplement, slides, reviews) belong in{paper}/attachments/, not the paper root. - TeX, arXiv e-print contents, and original source archives belong in
{paper}/source/. Do not put user extras there. - Supporting materials (code repos, datasets, extra PDFs) belong in
{paper}/attachments/. Create that directory only when adding files; do not create emptyattachments/folders.attachments/is not a paper-identity marker. - User notes about one paper belong in
{paper}/NOTES.md. - For new organization, prefer
notes/for concept notes and cross-paper notes, andplans/for research plans, TODOs, and drafts; do not force-move existing folders that already work for the user. - Markdown-embedded images belong beside the Markdown file in
./assets/and should use relative links like. - PDF selection artifacts belong in
{paper}/marks/*.json; do not write them into the PDF binary or catalog body. .agentero/is application state and should not be shown or edited as ordinary notes.
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 · 154 lines · 57 tokens per session scan A e3f15d275998
vault-normalizer is a skill published in the GitHub repository poco-ai/Agentero (420 stars, last pushed today), licensed MIT. It adds 57 tokens to every session and 2,199 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-08-30.
Other skills, from other repositories
pptx
当涉及到 .pptx 文件的任何操作时使用此技能——无论是作为输入、输出还是两者兼有。包括:创建幻灯片、演示文稿或路演材料;读取、解析或提取任何 .pptx 文件中的文本(即使提取的内容将用于其他地方,如邮件或摘要);编辑、修改或更新现有演示文稿;合并或拆分幻灯片文件;处理模板、布局、演讲者备注或批注。当用户提到“演示文稿”、”幻灯片“、”PPT“或引用 .pptx 文件名时触发,无论他们之后打算如何使用内容。如果需要打开、创建或操作 .pptx 文件,就使用此技能。.
当用户需要对PDF文件进行任何操作时,请使用此技能。包括从 PDF 中读取或提取文本/表格、合并多个 PDF、拆分 PDF、旋转页面、添加水印、创建新PDF、填写PDF表单、加密/解密 PDF、提取图片,以及对扫描版 PDF 进行 OCR 使其可搜索。如果用户提到 .pdf 文件或要求生成 PDF,请使用此技能。.
nano-pdf
Edits PDF files using natural-language instructions via the nano-pdf CLI. Supports modifying text, changing titles, fixing typos, and updating content on specific pages. Use when the user wants to edit a PDF, modify PDF content, update PDF text, fix a typo in a PDF, change a PDF title, or rewrite part of a PDF page.
pdf-toolkit
Structured .pdf operations: extract text/tables, merge pages from multiple PDFs, split a PDF by page ranges, fill PDF form fields, and generate fresh PDFs from JSON. Trigger when the user wants programmatic PDF work without natural-language rewriting — examples: pull tables from a report, combine three PDFs, extract…
hive.pdf
Read, write, merge, split, rotate, watermark, encrypt, and OCR PDF files using Python (pypdf, pdfplumber, reportlab, pypdfium2) and command-line tools (poppler-utils, qpdf). Use when the user asks to extract text/tables/images from a PDF, create or modify a PDF, combine or split PDFs, OCR a scanned PDF…
sn-ppt-entry
Entry point for PPT generation. Asks the user to choose a mode (fast, standard, or creative), then collects role / audience / scene / pagecount as needed. For standard mode, also asks how images should be sourced (AI generation, web search, or none), whether charts should use AI-generated infographics or ECharts, and…