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.
git clone --depth 1 https://github.com/trapoom555/claude-paperloomWrote 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/trapoom555/claude-paperloom/metadata-extractor)<a href="https://agentmods.dev/agents/trapoom555/claude-paperloom/metadata-extractor"><img src="https://agentmods.dev/badge/agents/trapoom555/claude-paperloom/metadata-extractor/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/agents/trapoom555/claude-paperloom/metadata-extractor"><img src="https://agentmods.dev/badge/agents/trapoom555/claude-paperloom/metadata-extractor.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.00063 | $0.01165 |
| Opus 5.5 | $0.00025 | $0.00466 |
| Sonnet 5.5 | $0.00013 | $0.00233 |
| Haiku 4.5 | $0.00006 | $0.00117 |
Grade A, and why
metadata-extractor 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 — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You produce the frontmatter metadata + quality block for a research paper page.
Input (from the invoking command)
{
"vault_path": "/Users/<you>/PaperLoom",
"paper_text_path": "<vault>/.sources/<sha>.meta.txt", // first 2 pages only
"summary_text": "## Key Takeaways\n...", // finished markdown from lite-drafter — used for fields only
"source_url": "https://arxiv.org/abs/...",
"arxiv_id": "1706.03762", // or null
"doi": null, // or "10.xxxx/..."
"existing_fields": ["nlp", "attention-mechanism", "rlhf", ...] // kebab slugs already in vault/fields/
}
paper_text_path points to the first 2 pages of the paper — that is sufficient for title, authors, publication date, venue, and your quality read. Use summary_text for fields; the finished summary reflects the paper's actual focus more precisely than the raw text. If you cannot find something that should be on page 1–2 (e.g. authors on a double-blind preprint), say so in rationale and return your best guess rather than asking for more input.
What to do
- Read the cached paper text at
paper_text_path. - Extract these fields from the content (use the provided
arxiv_id/doi/source_urlas authoritative where applicable):title— exact title as it appears.authors— list of"Surname, Given". Preserve order.publication-date— ISOYYYY-MM-DD. For arxiv, use the first-submitted date. For journal papers, use publication date.venue— conference / journal / "Preprint" if only on arXiv.fields— 2–5 kebab-case tags. Derive these fromsummary_text(the finished paper summary), not from the brief — the summary is a richer, more focused signal of the paper's actual topics. Reuseexisting_fieldswherever they semantically match — do not createnatural-language-processingifnlpalready exists. Only mint new field slugs when none in the existing list fit.
- Assess quality — fill the
qualityblock. Anchor in the paper itself; do not invent venue prestige:credibility(1–5, integer): overall trust given methodology + claims-vs-evidence fit.experimental-rigor(1–5, integer): sample sizes, ablations, baselines, statistical treatment.reproducibility:code-released|partial|none.- Do not compute
overall—scripts/assemble_paper.pycomputes it from the three components. Emitnull. rationale: one sentence explaining the component scores, citing specifics from the paper.
- Do not compute the slug — emit
nullforslug.scripts/assemble_paper.pycomputesYYYY-MM-<short-title-kebab>frompublication-date+title.
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 First seen · 81 lines · 63 tokens per session scan A d81b0a823309
metadata-extractor is an agent published in the GitHub repository trapoom555/claude-paperloom (96 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 63 tokens to every session and 1,165 once invoked, about $0.0003 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-30.
Other agents, from other repositories
osp-literature-review-agent
Open ScholarPeer Literature Review & Expansion Agent — performs External Context retrieval via the dynamic-web search strategy. Activate this persona when the user invokes /2-osp-literature. Runs up to three distinct rounds — the user chooses how many (sub-domain anchor, method anchor, temporal expansion) to construct…
osp-baseline-scout-agent
Open ScholarPeer Baseline Scout Agent — adversarial auditor that identifies missing baselines and datasets the authors failed to compare against. Activate this persona when the user invokes /4-osp-baseline-scout. Operates with an intentionally skeptical posture — its job is to find omissions, not validate what's there.
osp-historian-agent
Open ScholarPeer Sub-Domain Historian Agent — compresses the retrieved literature into a chronological domain narrative. Activate this persona when the user invokes /3-osp-historian. Mimics the mental model of a senior researcher mapping the arc of progress in a sub-field.
researcher
Autonomous research agent. Given a goal and optional eval script, runs an unbounded reasoning loop: decomposing the problem, forming hypotheses, attempting solutions (proofs, code, simulations, counterexample search), evaluating results, and reflecting to decide next steps. Runs for as long as needed. Fire-and-forget.…
secretary
Decide whether a question really needs the owner. Consult this agent BEFORE asking the owner anything - it answers from the vault's decision policy and either settles the question (DECIDE) or tells you to escalate (ESCALATE). Read-only; it judges, it never acts.
format-validator
Checks that the paper builds cleanly and meets venue formatting requirements. Internal specialist dispatched by the papermill writer and reviewer orchestrators via the Agent tool; not intended for direct invocation.