agentleFS
slogsdonslogsdon/skills-vault-knowledge/skills/source-mine/SKILL.md

source-mine

Skill0 starsChanged 3 months agoMITView on GitHub

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).

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check each candidate against the vault: before writing: obsidian search query='<candidate>' limit=5.

    line 21

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: /source-mine [source]

Turn an account, corpus, or directory you already own into attributed vault notes — the sweep that gets the graph from empty to useful, and the one nobody wants to hand-write twice.

Don't: write a note without its source and mine date in the body; an unattributed claim is unverifiable a month later and indistinguishable from something you made up. Don't mine and synthesize in one pass — extract first, decide what deserves a note second, or the interesting-but-irrelevant all gets written up. Don't touch the source: mining is read-only, always.

Inputs

source is one of: github, filesystem, google, chat-history (ChatGPT / Claude.ai / Perplexity), or vault (re-reading for unlinked material). If ambiguous, ask which — the extraction rules differ per source.

Steps

  1. Read source-recipes.md for this source's endpoints, extraction targets, and known pitfalls.
  2. Inventory before extracting. List what exists — repo count, thread count, directory listing — and report the scale. A sweep whose size is unknown at the start silently becomes a sample.
  3. Extract to a scratch list, not to the vault. One line per candidate: what it is, why it might matter, where it came from.
  4. Check each candidate against the vault before writing: obsidian search query='<candidate>' limit=5. Existing note → append an ## Update — <date> section. No note → create.
  5. Write the notes. Route by type:
    • a durable idea or framework → Knowledge/Concepts/ via /ingest (it enforces the Vault Schema)
    • project state → Knowledge/Projects/<project>/
    • an external artifact worth keeping → Knowledge/Reference/
    • anything you cannot place → Inbox/, for /inbox-triage to route
  6. Attribute in the body: *Source: <source> — mined <date>*.
  7. Commit the vault once at the end, not per note:
    VAULT="$HOME/Library/Mobile Documents/iCloud~md~obsidian/Documents/Personal"
    git -C "$VAULT" add '<the note paths you wrote>' && git -C "$VAULT" commit -m "docs: mine <source> → N notes"

Output

Report, before the commit:

Source: <source>          Inventoried: <n>    Extracted: <n>    Written: <n>
Created:  <paths>
Updated:  <paths>
Skipped:  <n> — <why: transient, duplicate, out of scope>
Not read: <n> — <why: timeboxed, auth failed>

Skipped and Not read are the load-bearing lines. Without them a partial sweep reads as complete.

Scope guard

Mining reads widely across personal accounts. Extract only what serves the stated goal — do not compile a profile because the data is reachable. When a source needs a sign-in that isn't already active, stop and ask rather than working around it.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.