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 joenandez/spectre --skill spectre-capturegit clone --depth 1 https://github.com/joenandez/spectreWrote 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/joenandez/spectre/spectre-capture)<a href="https://agentmods.dev/skills/joenandez/spectre/spectre-capture"><img src="https://agentmods.dev/badge/skills/joenandez/spectre/spectre-capture/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/joenandez/spectre/spectre-capture"><img src="https://agentmods.dev/badge/skills/joenandez/spectre/spectre-capture.svg" alt="Reviewed on agentmods" width="80" 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.00066 | $0.00947 |
| Opus 5.5 | $0.00026 | $0.00379 |
| Sonnet 5.5 | $0.00013 | $0.00189 |
| Haiku 4.5 | $0.00007 | $0.00095 |
Grade A, and why
spectre-capture 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 16d 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 — 50 lines — stays where its author put it; the contents beside it link to each section on GitHub.
capture
Purpose
Maintain concise, reusable project guidance proactively. Capture never gates delivery, verification, acceptance, or PR progression.
Inputs
- A consequential lasting decision/reversal, accepted correction, verified reusable pattern/gotcha/constraint, disproved guidance, or confirmed persistent-blocker transition.
- Current-request discovery and exact-loaded candidates, when available; host project directory, tag intent, and candidate ID/revision when updating.
- No workflow, feature, run, or PR association: this skill owns maintained knowledge, not work history.
Working Set
- Reuse discovered/loaded candidates that answer the same future question. Refine only an unresolved question; do not repeat a broad search at the capture boundary.
- Read
references/tagging-policy.mdandreferences/knowledge-capture-input.json. Search tags only to resolve missing aliases, omitted areas, or genuinely new tag intent; exact-load a record only when needed. - Use relevant files already acquired for entry points. Focus-read to validate observed lines when needed; do not dump files or invent locations.
Outputs + DONE
- A typed capture result: saved, updated, superseded, retired, no-op, skipped, or surfaced failure, with ID, revision, and canonical
recordPathwhen applicable. - Knowledge content has four distinct responsibilities: applicability (
useWhen); current conclusion first, with why and practical consequences (content); selected code entry points; supporting evidence (evidence). Keep the summary a short routing aid rather than a repeat of the guidance. Aim for 250–600 rendered tokens as a soft editing target; split independent questions when useful, and retain required facts and gates over size.
DONE when: a supported durable fact is captured through the typed path, or a skip/no-op/failure is reported truthfully without changing workflow authority.
Method / guardrails
- Capture facts that change a likely future decision, prevent a repeated failure, or route to relevant code. Routine progress, incidental code observations, transient command errors, and task completion alone do not qualify.
- An explicit user statement that a lasting decision is current, corrected, or superseded is authoritative. Do not wait for repository corroboration or reconfirmation. When a correction is accepted, rewrite contradictory current guidance and its title, summary, and
useWhentogether; do not leave the old conclusion imperative. Use existing revision-aware updates, statuses, andrelatedRecordIdsto reconcile known competing guidance and preserve history. Surface write/conflict failures accurately; never claim unresolved records were reconciled or sweep the corpus. - Bound provider observations by observed version, date, and configuration; state when they need rechecking. Keep phase obligations, experiment settings, and one-session permissions separate from project-wide guidance. Explain genuinely unavailable or non-code entry points; a user correction remains valid even without a known code location.
- Put
entryPointsin the semantic input from relevant acquired files: each location has path, symbol or document section, observed positive line, and role. Use a specific explanation for actual unavailable/non-code portions; mixed known and unavailable locations may include both. No file dumps, invented lines, or boilerplate excuses. - Submit JSON on standard input:
knowledge-cli.mjs capture --kind knowledge --input - --project-dir <project-dir> --json. New input needs tag intent; reuse a canonical area or create only under the shared policy. Use--input <path>only for explicit manual/advanced capture or returnedrecoveryInput. - An unchanged retry is a no-op. Changed records require the loaded
revisionTokenas--expected-revision; preserve omitted tags. Never edit canonical packages,index.json, or history. - A capture failure returns recovery input and remains non-blocking. It never becomes a workflow gate.
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.
- 16d ago Changed · +3 lines · -114 tokens per session ab194b6459b6
- 1mo ago First seen · 47 lines · 180 tokens per session scan A 585fb7fccac3
spectre-capture is a skill published in the GitHub repository joenandez/spectre (165 stars, last pushed 15d ago), licensed MIT. It adds 66 tokens to every session and 947 once invoked, about $0.0003 per session on Opus 5.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-09-17.
Other skills, from other repositories
mem0-oss-to-platform
Plan, then execute, a migration of a project from the mem0 open-source / self-hosted SDK (local Memory class) to the mem0 Platform / hosted SDK (MemoryClient). TRIGGER when: the developer wants to move, switch, or migrate mem0 off OSS/self-hosted to the hosted API, e.g. "migrate my mem0 setup to the platform", "switch…
forget
Remove a personal fact, preference, relationship detail, topic, or prior event from Muse's active memory and stop existing copies or automations from bringing it back. Use for explicit requests such as 'forget that', 'don't remember this about me', or 'remove that from your memory'. Do not use when 'forget it' merely…
Cortex
Operate Cortex, the LifeOS memory system — the typed Knowledge Archive (People, Companies, Ideas, Research with typed related: links) plus recall of prior work sessions, ISAs, and conversations. Search, add, harvest, develop, ingest, distill, graph-navigate, recall. USE WHEN cortex, knowledge, knowledge base, search…
memory
Use when the user asks to remember, recall, forget, update, search, or inspect durable OpenSquilla memory, including profile facts in USER.md and long-term notes in MEMORY.md or memory//.md.
ha-data-stores
Map of Hope Agent's local data stores and safe read-only query workflow. Use when the user asks where Hope Agent stores data, wants to inspect sessions/messages/memory/logs/background jobs/knowledge indexes/settings, asks the model to query local app data, or debugging requires checking persisted state. Trigger…
establishing-project-context
Use when the user asks to establish shared project language, or project work exposes a conflicting, renamed, or deprecated domain term that needs active semantic modeling. Routine small tasks stay on the fast path.