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 duthaho/skillhub --skill revisitgit clone --depth 1 https://github.com/duthaho/skillhubWrote 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/duthaho/skillhub/revisit)<a href="https://agentmods.dev/skills/duthaho/skillhub/revisit"><img src="https://agentmods.dev/badge/skills/duthaho/skillhub/revisit.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.00202 | $0.01195 |
| Opus 5 | $0.00101 | $0.00598 |
| Sonnet 5 | $0.00040 | $0.00239 |
| Haiku 4.5 | $0.00020 | $0.00120 |
Grade A, and why
revisit 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 7d 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
revisit — what you parked, now due
/revisit — scan every skill's memory for items due to re-check
/revisit <skill> — only that skill's tracker (e.g. /revisit ideate)
Skills that judge under uncertainty don't just decide — they record a trigger
for revisiting the decision: ideate PARKs an idea "revive when X", verdict
stamps "revisit-when", scout/refactor leave WATCH items, learn schedules the
next review by date. Scattered across out/*/, those triggers rot unseen. This
skill is the one place that gathers them and asks a single question: what is
due to re-check right now?
It is strictly read-only — the same contract as daybrief. It never edits a
tracker, never marks anything revived, never runs the follow-up skill. It
surfaces; you decide.
Step 0 — Locate the memory
Today's date is date +%F (compute it; don't hardcode). Then find out/ in the
current project.
- No
out/, or no memory files under it → say so plainly and stop. Nothing to revisit is a valid, complete answer (keyless, graceful — never invent items). /revisit <skill>→ restrict the scan toout/<skill>/only.
Completion criterion: the set of memory files to scan is fixed, or a clean "nothing to revisit yet" is reported.
Step 1 — Collect the revisit signals
Read each memory file and pull every line carrying a revisit signal. Known shapes (don't limit to these — any "revive/revisit/recheck/due" marker counts):
| Source | Signal to pull |
|---|---|
out/ideate/tracker.md |
PARK rows with a "Revive when …" reason |
out/verdict/*.md |
revisit-when triggers on a past verdict |
out/scout/tracker.md |
WATCH items and their revive condition |
out/refactor/tracker.md |
WATCH candidates deferred to a trigger |
out/learn/*.md |
next-review due dates (spaced repetition) |
out/jobfit/tracker.md |
roles marked to re-check later |
Skip anything already resolved (SHIPPED, DONE, DROP, applied) — a DROP is not a revisit. Capture for each item: source skill, the verbatim line, and its trigger (a date, or a condition in prose).
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.
- 7d ago First seen · 101 lines · 202 tokens per session scan A ff34d44056a1
revisit is a skill published in the GitHub repository duthaho/skillhub (9 stars, last pushed 14d ago), licensed MIT. It adds 202 tokens to every session and 1,195 once invoked, about $0.0010 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 skills, from other repositories
learn-from-fix
Capture Elixir/Ecto/LiveView lessons and Hex API rules. Use after corrections or when asked to document learning, record a lesson, prevent a fixed mistake, or remember package guidance with --library.
recall
Recall prior work from past sessions — how a bug was fixed, what was decided, where a pattern lives. Use when asked 'have we done this before' or 'how did I fix X' in Elixir/Phoenix work. ccrider MCP when available, else git + solution docs.
assigns-audit
Inspect LiveView socket assigns for memory bloat — missing temporaryassigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporaryassigns.
compound-docs
Searchable Elixir/Phoenix/Ecto solution documentation system with YAML frontmatter. Builds institutional knowledge from solved problems. Use when consulting past solutions before investigating new issues.
evolving-status
View Self-Evolving Loop session status, history, and memory metrics.
import
Import a self-contained NeatContext context bundle shared by another person, or reconcile a newer copy of a context already on this machine, leaving the source bundle unchanged. Use only when the user explicitly invokes this skill or asks to import a NeatContext bundle.