source-snapshot

Solid

Playbook for getting external data into the repo deterministically — fetch a web page, doc, or API/registry result once, extract and normalize it, and cache it as a pinned, provenance-stamped artifact that agents read instead of re-fetching live. Use when you need facts an LLM or agent will rely on (docs, library/API behavior, Terraform/provider registry data, prices, schemas) to be reproducible and offline-readable rather than varying per run. Also use when deciding whether to snapshot vs. fetch live, and which extractor to use for a given source. Pairs with fact-verifier (snapshots become its tier-1 sources) and markdown-converter.

Data & Documents 8 stars 1 forks Updated today MIT

Install

View on GitHub

Quality Score: 81/100

Stars 20%
32
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Source Snapshot The core move: **separate retrieval from consumption.** Retrieve once, deterministically, into a pinned artifact with provenance. Then agents and the LLM read the *artifact*, never the live source. Same input → same artifact → same downstream behavior. Live `WebFetch`/MCP on every run is the non-determinism you're removing. ## When to snapshot vs. fetch live | Situation | Do | |---|---| | Fact gates a decision **and** is reused (docs, registry data, schemas, versions) | **Snapshot** to a pinned artifact, commit it | | One-off exploration, throwaway lookup | Fetch live (`WebFetch`, MCP, `c7search`) — no artifact | | Value changes the build output if it drifts (IaC generation, pinned deps) | **Snapshot + pin a version**; refresh on a cadence, never live-per-run | If you find yourself fetching the same URL/endpoint across runs, that's the signal to snapshot it. ## Choose the extractor by content type - **Article / blog / prose** → main-content extractor (Defuddle, or Mozilla Readability) → Markdown. Strips nav/ads/chrome; the cleaned result is small and stable. Defuddle is often *not* a PATH binary — the npm package is **`defuddle`** (the old `defuddle-cli` is deprecated, "merged into defuddle"; same `parse … --md` interface). The producer resolves a runner automatically (installed `defuddle` binary → `pnpm dlx defuddle` → `bunx` → `npx defuddle`) and never pins `@latest`, so a cached package is reused instead of re-downloaded. If no prose ext...

Details

Author
kevin-burns
Repository
kevin-burns/claude-skills
Created
2 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category

Data & Documents Listed

defuddle

Clean web→markdown extraction via the defuddle CLI (the engine behind Obsidian Web Clipper) — turn any article URL into a vault-ready markdown note WITHOUT ads/nav/comments, saving 40-60% tokens vs raw fetching. Trigger on "/defuddle <url>", "clean import this page", or PREFER it over a raw web fetch whenever the task is "read/ingest a normal web article".

1 Updated 6 days ago
tonydzi
AI & Automation Listed

reduce-to-facts

Use for dense or messy workplace source material - Slack threads, email chains, memos, transcripts, policy docs, vendor writeups, research notes, strategy notes, or customer escalations - before replying, deciding, escalating, or acting when context is long, ambiguous, stakeholder-sensitive, high-stakes, contradictory, or easy to misread. Use source-expanded mode only when the user explicitly asks to verify, fact-check, expand sources, support or refute claims, or use outside sources; not for simple catch-ups or straightforward reply drafting unless uncertainty needs to be preserved first.

2 Updated 3 weeks ago
tmusser
Data & Documents Listed

source-mine

Mine one external source — GitHub, Google Drive/Gmail, ChatGPT or Perplexity history, or the local filesystem — into attributed vault notes on a fixed schema. Use when Shane says "mine my GitHub", "pull context out of my ChatGPT history", "what's in ~/Code that isn't in the vault", "extract X into the knowledge graph", or when bootstrapping vault context for a new project. Do NOT use for a single document or article (use /ingest), for reading the vault itself (use /vault-retrieve), or for web research on a topic (use /research-sweep).

0 Updated 6 days ago
slogsdon