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).
In this repository17 other files it gives its agents.
- backlinksSkill
- challengeSkill
- connectSkill
- expandSkill
- fix-nested-code-fencesSkill
- ghostSkill
- ingestSkill
- learnedSkill
- mapSkill
- meetingSkill
- obsidianSkill
- traceSkill
- vault-indexSkill
- vault-lintSkill
- vault-retrieveSkill
- weekly-learningsSkill
- weekly-signalsSkill
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
- Very specific: line 21
Check each candidate against the vault: before writing: obsidian search query='<candidate>' limit=5.
≈ “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.
Files
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
- Read source-recipes.md for this source's endpoints, extraction targets, and known pitfalls.
- 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.
- Extract to a scratch list, not to the vault. One line per candidate: what it is, why it might matter, where it came from.
- Check each candidate against the vault before writing:
obsidian search query='<candidate>' limit=5. Existing note → append an## Update — <date>section. No note → create. - 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-triageto route
- a durable idea or framework →
- Attribute in the body:
*Source: <source> — mined <date>*. - 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.
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
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.

