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 commands/bankstatemently/plugins/convertgit clone --depth 1 https://github.com/bankstatemently/pluginsWhat 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.00047 | $0.00346 |
| Opus 5 | $0.00023 | $0.00173 |
| Sonnet 5 | $0.00009 | $0.00069 |
| Haiku 4.5 | $0.00005 | $0.00035 |
Grade A, and why
convert 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 yesterday.
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.
What it actually says
Input: $ARGUMENTS
Convert
Input: a public HTTPS PDF URL, host-provided PDF attachment, or local file path the host cannot pass directly. Output: the conversion summary, key account details, statement period, balances, transaction count, and optional CSV/XLSX/QBO/Xero download links.
Follow this sequence:
- If the input is a public HTTPS URL or host-provided PDF attachment, call
convert_statement. - If the input is a local file path and the host cannot pass the file directly, call
request_upload, upload the PDF bytes to the returned URL, then callconvert_statementwith the upload id. - If conversion is still processing, poll
get_statementuntil the statement is ready or the tool returns a terminal summary. - Present the tool summary, key account details, statement period, balances, and transaction count. Use the response summary as the source of truth when present.
- Ask which export the user wants. For CSV, XLSX, QBO, or Xero, call
get_statementwith the requested output format and present the returned link.
Example prompt: Convert this bank statement PDF and give me a CSV download: https://bankstatemently.com/benchmark/statements/bsb-004-statement.pdf
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.
- yesterday First seen · 25 lines · 47 tokens per session scan A 4dd15ba13792
convert is a command published in the GitHub repository bankstatemently/plugins (1 stars, last pushed 2d ago), licensed MIT. It adds 47 tokens to every session and 346 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-31.
Other commands, from other repositories
make
Create structured implementation plan in docs/plans/.
speckit.checklist
Generate a custom checklist for the current feature based on user requirements.
speckit.clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
speckit.specify
Create or update the feature specification from a natural language feature description.
speckit.analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
speckit.implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.