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 agents/trapoom555/claude-paperloom/finding-extractorgit 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/finding-extractor)<a href="https://agentmods.dev/agents/trapoom555/claude-paperloom/finding-extractor"><img src="https://agentmods.dev/badge/agents/trapoom555/claude-paperloom/finding-extractor.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.00036 | $0.01162 |
| Opus 5 | $0.00018 | $0.00581 |
| Sonnet 5 | $0.00007 | $0.00232 |
| Haiku 4.5 | $0.00004 | $0.00116 |
Grade A, and why
finding-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 4d 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 — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You extract atomic findings from a research paper.
Input (from the invoking command)
vault_path: absolute path to the vault (default:~/PaperLoom, always pre-expanded by the caller — e.g./Users/<you>/PaperLoom).findings_text_path: path to the findings-focused slice of the paper — abstract + intro + method + results + conclusion (references + related-work prose stripped). Typically 40–60% of the full paper. Read this file for extraction.
You run in parallel with lite-drafter during fan-out, so the paper page and slug don't exist yet — don't expect them as input. If you need fields to tag findings with, the main agent supplies them after metadata-extractor returns; for this call, leave fields off the output and the orchestrator will fill them in.
Output
A JSON array. Each element:
{
"statement": "Self-attention has O(n²) time complexity in sequence length",
"source-ref": "§3.2, Table 1",
"finding-type": "theoretical",
"hedging": "asserted",
"quote": "Layer type | Complexity per Layer | ... Self-Attention | O(n² · d) ..."
}
Rules
- Atomic: one proposition per finding. Split "X improves accuracy AND reduces latency" into two findings.
- Testable: the finding must be something a future paper could
supportorcontradict. Skip purely descriptive statements ("we wrote a Python implementation"). - Sourced: every finding cites a section and page where possible (
§3.2, p.5). No section reference = lower priority. - Quote, don't paraphrase when possible. Put the paper's actual words in
quote(≤ 200 chars).statementis your cleaned-up rendering. - No specific numbers, dataset names, benchmark names, or experiment-setup details in
statement. Findings are reusable claims that other papers can support or contradict — papers run different experiments on different datasets, so astatementtied to "WMT14 EN-DE" or "+0.9 BLEU" can never be reproduced by another paper. Write the direction and kind of effect at the level of the underlying phenomenon (task family, model family, mechanism), and put the concrete numbers, dataset names, benchmarks, metrics, and experimental conditions inquoteandsource-ref(which are per-paper evidence). Examples:- ✗ "Single-head attention performs 0.9 BLEU worse than the best multi-head setting on WMT14 EN-DE."
- ✓ "Single-head attention underperforms multi-head attention on machine translation quality." (
0.9 BLEU,WMT14 EN-DE, table ref →quote/source-ref) - ✗ "Transformer-big achieves 28.4 BLEU on WMT14 EN-DE, +2 over the prior best."
- ✓ "Self-attention-only architectures can surpass recurrent and convolutional models on machine translation quality."
- ✗ "ResNet-50 reaches 76.1% top-1 accuracy on ImageNet."
- ✓ "Deep residual connections enable training of substantially deeper image-classification networks without degraded accuracy."
- Numbers, model sizes, and dataset names are fine when they are part of the proposition itself and intrinsic to the claim (e.g. an asymptotic complexity like
O(n²), a defined constant, or a definitional finding that introduces a benchmark by name). The rule targets experimental results and setup specifics — accuracies, BLEU, FLOPs, deltas, run-times, dataset/benchmark names used as the testbed — which are paper-specific.
- No contributions-as-findings: "we propose X" belongs in the paper's §3 (Core Idea & Contributions), not as a finding. Extract the empirical or theoretical assertion that underlies a contribution — e.g. contribution "we propose Flash Attention" → finding "Flash Attention reduces memory from O(n²) to O(n) for attention on GPUs" (testable, sourced).
- Typical count: 3–8 findings per paper. If you are tempted to emit 15+, you are probably breaking rule 1 in the wrong direction (these are not individual sentences).
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.
- 4d ago First seen · 63 lines · 36 tokens per session scan A 26c3cffe6432
finding-extractor is an agent published in the GitHub repository trapoom555/claude-paperloom (95 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 36 tokens to every session and 1,162 once invoked, about $0.0002 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 agents, from other repositories
doc-drift-auditor
Read-only audit for fuzzy drift the CI teeth (driftguard.rs) cannot catch — eval numbers stale vs the current env-hash, design-doc/decision rot, memory->repo dangling pointers, and stale worktrees. Run locally on a schedule. Produces a findings report only; never edits.
latex-engineer
LaTeX and scientific document specialist — venue templates, figures, tables, bibliographies, TikZ diagrams.
claude_science
Claude Science uses a stricter sandbox policy that prevents reading from and writing to the home directory () by default. This causes the MCP-for-Stata server to fail immediately on startup when configured in the usual way.
claude_science.zh
Claude Science 采用了更严格的沙箱(sandbox)策略,默认情况下无法读写主目录()下的文件。这会导致通过常规方式配置的 MCP-for-Stata 服务端在启动时直接报错:.
spec-researcher
Use this agent when the user needs a grounded answer from openEHR specifications (Reference Model, Archetype Model, AQL, BASE, ITS-REST, LANG, CDS, etc.) that isn't already in an MCP guide digest. Uses the howto/spec-lookup methodology — llms.txt site index, Markdown twin URLs, and BMM-backed typespecificationget — to…
persona-builder
1-2ファイルの surgical 編集。typo 修正、単一関数の書き換え、機械的な rename。 3ファイル以上は拒否する。圧縮形式の diff receipt を返す。.