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/sonichi/sutando/context-reconstructnpx skills add sonichi/sutando --skill context-reconstructgit clone --depth 1 https://github.com/sonichi/sutandoWhat 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.00043 | $0.02551 |
| Opus 5 | $0.00022 | $0.01275 |
| Sonnet 5 | $0.00009 | $0.00510 |
| Haiku 4.5 | $0.00004 | $0.00255 |
Grade A, and why
context-reconstruct 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 2d 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 — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
context-reconstruct
Goal: never act on lost/eroded memory of the ongoing work. The agent can be interrupted, compacted, or run dozens of interleaved cron passes and still pick up exactly where the thread left off — without the owner re-reminding it.
Why a skill, not a script: a hardcoded bundler (fixed N reads, one channel, fixed depth) is rigid — and easy to skip (narrate "re-anchor" then assert from memory anyway). The fix isn't a rigid script; it's flexible judgment + practice. This file is living — improve it whenever a reconstruction misses.
The one rule
Before interpreting or acting on anything that depends on earlier context, READ the durable record. Don't recall — read. A "re-anchor" you claim but don't actually read is the failure.
What to read — judgment, fit to the moment (not a checklist to run blindly)
Read the current-track record FIRST — <workspace>/hosts/<hostname>/current-track.md (this skill owns it; see "Maintain" below).
Resolve <hostname> with bash scripts/sutando-config.sh host-label, the same way pending-questions.md does. Legacy fallback: if that file is absent but <workspace>/state/current-track.md exists, read the legacy path and migrate it to the per-host path on the next write — the flat path was shared across hosts and is being retired (#2567).
It's the fast anchor: the current main-track goal, the active sub-task, and the live open decisions. This is what's missing when "continue your main track" gets guessed — the goal must be a pinned record, not inferred from luck.
Then, as the situation needs (pick what's relevant; skip what isn't):
- The live thread — the channel(s) the owner is actually active on:
python3 src/discord-read.py <channel_id> --serving <task channel_id>when serving a task (the contextNotFrom gate runs before the fetch), or--operatoron autonomous passes with no serving context (Discord), telegram task[Replying to…]quotes (Telegram has no history fetch). Go as deep as the thread needs with--until <id|iso>— not a fixed message count. If unsure which channel is live, check the most recent task'schannel_id/state/last-owner-activity.json. - Open decisions — per-host
pending-questions.md. - Recent judgment/decisions — latest
relay/relay-*.md. - What's built / next —
build_log.mdtail. - Deep history (older than the channel can cheaply reach) — the session transcript JSONL.
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.
- 2d ago First seen · 107 lines · 43 tokens per session scan A 6ecd18ec9e75
context-reconstruct is a skill published in the GitHub repository sonichi/sutando (389 stars, last pushed 2d ago), licensed MIT. It adds 43 tokens to every session and 2,551 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 skills, from other repositories
contacts
Manage contacts, communication channels, access control, and invite links.
gmail
Manage Gmail email — drafting, sending, organizing, filters, vacation replies, and inbox analysis.
app-builder
Build and edit small, personal visual tools and artifacts — dashboards, trackers, calculators, data visualizations, charts, simple landing pages, and slide decks the user wants for THEMSELVES. This is the right skill whenever the user asks to "visualize this," "make a chart," or "build an artifact" for their own use…
assistant-migration
Migrate from ChatGPT, Claude, OpenClaw, Hermes, Manus, and other AI assistants into Vellum by inspecting their data exports, conversation archives, files, prompts, custom instructions, memory, saved memories, tools, GPTs, workflows, integrations, and relationships, then mapping as much as safely possible into Vellum…
guardian-verify-setup
Set up channel verification for phone, Telegram, Slack, Discord, or email channels via outbound verification flow.
media-processing
Ingest and process media files (video, audio, image).