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/wdwdev/discord-archive/recallnpx skills add wdwdev/discord-archive --skill recallgit clone --depth 1 https://github.com/wdwdev/discord-archiveWrote 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/wdwdev/discord-archive/recall)<a href="https://agentmods.dev/skills/wdwdev/discord-archive/recall"><img src="https://agentmods.dev/badge/skills/wdwdev/discord-archive/recall.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.1 | $0.00102 | $0.01756 |
| Opus 5 | $0.00051 | $0.00878 |
| Sonnet 5 | $0.00020 | $0.00351 |
| Haiku 4.5 | $0.00010 | $0.00176 |
Grade A, and why
recall scanned grade A with 1 finding 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Pipeline: `sql_query` (find attachments) → `refresh_attachment_url` → `curl -sL URL -o /tmp/file` → `Read` tool to view How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Discord Archive Recall
Retrieve information from a Discord message archive using semantic_search (vector similarity), graph_search (vector + interaction graph expansion), sql_query (read-only PostgreSQL), get_context_window (conversation around a message), and refresh_attachment_url.
Argument
$ARGUMENTS
Tools
semantic_search
Vector similarity search over message chunks.
- Required:
query(natural language) - Key params:
limit(default 20),guild_id,channel_id,author_id,after/before(ISO datetime),has_attachments(bool — true finds image/media chunks),include_text(bool),include_message_ids(bool — needed to map a hit to attachments or a get_context_window anchor) - Always set
include_text: trueto avoid extra SQL round-trips. - Distance (squared L2 on unit vectors = 2 − 2·cosine; lower = more similar): < 0.65 strong, 0.65–0.90 useful, 0.90–1.05 weak — corroborate with SQL, ≥ 1.05 noise. A nonsense query floors at ~0.98, so anything ≥ 1.0 is no better than random. Judge distances within a result set too — they are not comparable across different
instructionvalues or languages (ZH matches run ~0.1–0.3 lower than EN). - Query in the language of the target community. ZH→ZH retrieval is excellent; EN↔ZH does NOT bridge (an English query against a Chinese guild latches onto emoji shortcodes, filenames, and stray Latin tokens instead of meaning). Translate the query first.
- Semantic search's niche is content whose wording you can't guess (self-descriptions, causal backstory, paraphrased memories). For facts reachable by keyword, a scoped SQL
ILIKEis usually as good and cheaper. Semantic calls are expensive (seconds, not ms) — ground with SQL first, then spend them deliberately.
graph_search
Semantic search, then a second semantic search scoped to the seed authors' interaction neighborhood — surfaces on-topic chunks from the people the seeds talk to.
- Required:
query(natural language) - Key params:
limit(default 20),expansion_hops(default 1),guild_id,include_text(boolean),min_edge_weight(default 2),max_distance(default 0.9 — expansion relevance gate) - Always set
include_text: trueto avoid extra SQL round-trips. - Returns two types of results, both with real
distance:"source": "seed"(plain vector search) and"source": "graph_expansion"(chunks by graph neighbors that are also semantically on-topic; each carriesedge_weightandexpansion_hop). - How expansion works now: it walks the reply/mention graph from the seed authors to their connected users (bots and the "Deleted User" sentinel excluded), then runs the query again restricted to those users within the seeds' time window. So expansion is the neighbors' relevant chunks, not whatever their best-connected contacts happened to say. Expansion distances run a bit higher than seeds (the author restriction removes the globally-closest chunks) — judge them against the same calibration, and use
max_distanceto widen/tighten (raise toward 1.0 for recall, lower toward 0.8 for precision). If seeds themselves are weak, expansion is correctly empty. - Use it to pull in the other side of a discussion or a participant who phrased things differently, without a separate timeline query. For pure topic recall,
semantic_searchwith a higherlimitis still simpler.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 100 lines · 102 tokens per session scan A 3b7d1dfd405d
recall is a skill published in the GitHub repository wdwdev/discord-archive (2 stars, last pushed 2mo ago), licensed MIT. It adds 102 tokens to every session and 1,756 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
amazon aurora dsql
Deprecated compatibility redirect for Aurora DSQL guidance. Use when a request concerns DSQL, Aurora DSQL, distributed SQL, DSQL schemas, migrations, queries, authentication, performance, or application development.
testing
Run and troubleshoot tests for DBHub, including unit tests, integration tests with Testcontainers, and database-specific tests. Use when asked to run tests, fix test failures, debug integration tests, troubleshoot Docker/database container issues, or add new tests. Also use when verifying code changes work correctly…
fix-bug
Use when given a GitHub issue URL or number to investigate and implement a fix. Triggers on "fix issue", "fix bug", "fix.
debug-evals
Debug haiku.rag evaluation runs in Logfire. Use when asked to look at Logfire for an eval run, find failing or low-scoring eval cases, compare runs, check citation quality (citedmap) or judge pass rate (answerequivalent), or explain why an eval case failed. Drives the Logfire MCP against the evals service, or the…
dv-overview
Foundational cross-cutting context for Dataverse / Power Platform work — scope and the skill map, the tool-capability reference, the safety rules, and the safe change lifecycle. Use when the user mentions Dataverse, Dynamics 365, Power Platform, CRM, or ERP; load this first for orientation. Specialist skills…
dv-query
Bulk reads, multi-page iteration, and analytics over Dataverse data. Use when the user wants to read, list, filter, aggregate, group, join, or analyze records — including pandas DataFrame workflows and notebook exploration.