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 skills add Fergana-Labs/stash --skill resurfacegit clone --depth 1 https://github.com/Fergana-Labs/stashWrote 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/fergana-labs/stash/resurface)<a href="https://agentmods.dev/skills/fergana-labs/stash/resurface"><img src="https://agentmods.dev/badge/skills/fergana-labs/stash/resurface/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/skills/fergana-labs/stash/resurface"><img src="https://agentmods.dev/badge/skills/fergana-labs/stash/resurface.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00018 | $0.00488 |
| Opus 5 | $0.00009 | $0.00244 |
| Sonnet 5 | $0.00004 | $0.00098 |
| Haiku 4.5 | $0.00002 | $0.00049 |
Grade A, and why
resurface 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 9d 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.
What it actually says
Resurfacing old saves
The home feed already resurfaces saved items at random. Doing that again adds nothing. The whole value here is why now — the connection between something the user saved months ago and what they are doing this week.
If you cannot find that connection for an item, do not resurface it. Three items with a real reason beat ten without.
Find candidates
Old saves, from the Bookmarks table:
query_table(table_name="Bookmarks",
filters=[{"column_id": "<Saved>", "op": "lte", "value": "<90 days ago>"}],
limit=100)
Find the reason
This is the part a bookmark manager cannot do, and it is the only reason this skill is worth running. Look at what the user has actually been doing:
search_history/fetch_history— what they have been working on lately- recent saves — what they are reading about now
- their memory wiki — standing interests
Then look for old saves that speak to it: an article they saved before a problem became relevant, a technique they bookmarked and never used, a counter-argument to a position they have since adopted.
Write it
Two to four items. For each:
- What it is — one line, from its summary.
- Why now — the specific connection, naming what they were doing. "You saved this in March; you spent this week on retry logic and it argues the opposite of the approach you took." Not "this might be relevant."
- A link to the saved copy.
Say nothing else. No preamble, no encouragement to read more.
Rules
- Never resurface something saved in the last month. It is not forgotten yet.
- Never resurface the same item twice in a row; check whether a previous resurfacing page already names it.
- If nothing has a real "why now", say "nothing from the archive connects to this week" and stop. That is the correct answer some weeks.
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.
- 9d ago First seen · 59 lines · 18 tokens per session scan A 302b6bb8e747
resurface is a skill published in the GitHub repository Fergana-Labs/stash (332 stars, last pushed today), licensed MIT. It adds 18 tokens to every session and 488 once invoked, about $0.0001 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
learn
Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.
loadout-remember
Save a durable, cross-project user preference into loadout's global fragments/profiles — or update the fragment it contradicts. Use when the user states lasting guidance that should follow them across projects and agents ("always X", "never Y", "stop doing Z"), especially when it conflicts with guidance the loadout…
atomicmemory
Persistent semantic memory across Claude Code sessions — user preferences, project context, prior decisions, codebase facts. Call memorysearch before answering questions that reference past work. Call memoryingest after the user shares durable facts.
atomicmemory-cli
Use the installed AtomicMemory CLI for memory search, ingestion, packaging, diagnostics, and agent-safe JSON output.
agent-context
Create, validate, and maintain a structured .agent-context directory for a repository so AI agents navigate the codebase efficiently and make higher-quality decisions. Use when setting up agent context for a new repo, updating context after agent work, or catching up context after human work.
first-tree-sync
Audit and repair drift between merged code and the Context Tree in both directions — tree→code (does code still support tree facts?) and code→tree (does the tree register everything code now contains?). Use when the tree may be stale, wrong, outdated, or missing coverage for recent code changes; after a large merge…