Capture concept
Obsidian knowledge-distillery skill for Claude Code and Codex — AI-assisted concept capture, Markdown notes, and reusable learning maps for your vault.
npx -y skills add lionellau/capture-concept --skill capture-conceptAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Obsidian knowledge distillery for capturing concepts from conversations, URLs, articles, debugging, decisions, meetings, feedback, aha moments, and domain onboarding into a user-selected Obsidian vault. Auto-detects S1-S12 scenarios, calibrates reference/working/comprehensive depth, researches gaps, generates tags and backlinks, creates MOCs/logs, and writes wiki-grade Obsidian notes. Use when the user says capture this, save this concept, add to my notes/wiki/vault, remember this, what did I learn, document this decision, file this bug fix, or asks to turn useful knowledge into reusable notes.
SKILL.md
8.8 KB, as published. Nobody here has run it
Capture Concept
Capture Concept is an Obsidian knowledge distillery. It extracts concepts from cognitive work, decides the capture scenario, calibrates depth, researches gaps, and writes interlinked wiki-grade notes into the user's chosen vault.
Portable means: never assume a machine-specific vault path, folder taxonomy, or private tag schema. This skill is for Obsidian users; require an Obsidian vault.
Files
SKILL_DIR/
├── SKILL.md
├── scripts/init.py
├── scripts/resolve_target.py
├── scripts/vault_ops.py
├── references/
│ ├── scenarios.md
│ ├── enrichment.md
│ ├── graph-and-tags.md
│ └── quality-checklist.md
└── templates/
Preflight
Set SKILL_DIR to this skill directory. Run setup/diagnostics before the first
capture:
python3 "$SKILL_DIR/scripts/init.py" --doctor
If not configured, ask for the user's Obsidian vault path, then persist it:
python3 "$SKILL_DIR/scripts/init.py" --vault "/path/to/obsidian-vault" --create-starter-files
Target resolution order:
- Path explicitly supplied in the prompt.
CAPTURE_CONCEPT_TARGET.~/.capture-concept/config.json.
The target must contain .obsidian/. If the user wants to create a new vault:
python3 "$SKILL_DIR/scripts/init.py" --vault "/path/to/new-vault" --create-vault --create-starter-files
Required:
- Obsidian vault directory with
.obsidian/ - Filesystem read/write access
- companion skills/capabilities:
obsidian-cli,obsidian-markdown,obsidian-bases
Recommended commands, checked by init.py --doctor:
obsidianCLI for search, backlinks, properties, and append operationsrgfor fast local vault searchdefuddlefor URL capture
Do not auto-install required companion skills or optional commands. If required companion skills are missing, stop setup/capture and tell the user to install them. If optional commands are missing, continue only when the required companion skills provide an equivalent path; otherwise report the limitation.
Use scripts/vault_ops.py for deterministic metadata/log operations when it
fits the edit. It refuses to operate outside the configured Obsidian vault.
python3 "$SKILL_DIR/scripts/vault_ops.py" --vault "$TARGET_DIR" add-related "Concepts/note.md" "other-note"
python3 "$SKILL_DIR/scripts/vault_ops.py" --vault "$TARGET_DIR" set-field "Concepts/note.md" updated "YYYY-MM-DD"
python3 "$SKILL_DIR/scripts/vault_ops.py" append-log "$TARGET_DIR" --entry-json '{"concept":"..."}'
Non-Negotiable Workflow
Do not act as a simple summarizer. Every capture must pass through this pipeline. If the user asks for speed, keep the plan concise but still execute the steps.
1. Scenario Detection
Read references/scenarios.md. Determine and remember:
SCENARIO(S1-S12)INPUT_TYPEUSER_INTENT- completeness gaps
Ask follow-up questions only when the completeness check says the note would be materially wrong without the missing input.
2. Concept Extraction and Note Type
Use scenario-specific extraction rules from references/scenarios.md.
Also assign note type:
| Signal | Type |
|---|---|
| "What is X" / "How X works" / "X pattern" | concept |
| "How to do X" / "Step-by-step" | reference |
| "X vs Y" / "Compare" | comparison |
| Decision/tradeoff | decision |
Debugging postmortem (S5) | reference |
Workflow reverse-engineering (S11) | reference |
Aha moment (S10) | insight |
Meeting crystallization (S8) | reference |
For multi-concept scenarios (S1, S2, S4, S7, S9, S12), present the
candidate concept list for pruning before bulk writing. Include why each concept
is worth capturing and recommended priority.
3. Scope, Research, and Capture Plan
Calibrate reference | working | comprehensive depth using
references/scenarios.md. Apply its research gating matrix.
Before writing, create a capture plan with:
- scenario and note type
- selected concepts
- depth and why
- research needed and sources to verify
- existing-note search queries
- intended folder/location
- tag candidates
- backlink candidates and expected relationship
- template(s) to load
- navigation/log updates
For current tools, libraries, APIs, prices, laws, standards, or fast-moving facts, verify with primary/current sources before enrichment.
4. Existing Note Search
Search by title, slug, aliases, and key phrases:
rg -n --glob '*.md' "{concept-name}|{important-alias}" "$TARGET_DIR"
find "$TARGET_DIR" -iname "*{concept-slug}*.md" -not -path "*/.trash/*"
When available:
obsidian search query="{concept-name}" limit=10
obsidian backlinks file="{related-concept}"
If a note exists, update it: add new knowledge, merge tags, update updated:,
and preserve unrelated user content. If it does not exist, create it.
5. Location Selection
Reuse the user's vault conventions first. Detect existing domain folders,
numbered folders, project folders, MOCs, and _index.md files.
If no convention is clear, use:
| Type | Folder |
|---|---|
| Concepts/references | Concepts/{Domain}/ |
| Decisions | Decisions/{Domain}/ |
| Debugging postmortems | Postmortems/{Domain}/ |
| Meetings | Meetings/{YYYY}/ |
| Session MOCs | _outputs/ |
If the vault already has a domain taxonomy, follow it. If the note is company-specific or daily-work-specific, prefer the existing work/project area even when the knowledge domain is technical.
6. Tags, Backlinks, and Stubs
Read references/graph-and-tags.md. Run the tag algorithm and backlink scoring
algorithm. Do not template-fill tags.
Rules:
related:contains only verified existing notes.- Missing but important concepts go into
stub_candidates, notrelated:. - Bidirectional backlinks are mandatory when a related note is edited safely.
- If a reverse edit cannot be done, report the exact reason.
7. Write the Page
Read references/enrichment.md, then only the needed template:
| Scenario | Template |
|---|---|
| S1/S2/S7 individual concept | templates/concept.md |
| S3 comparison | templates/comparison.md |
| S4 concept/tool | templates/concept.md or templates/reference.md |
| S5 debugging | templates/postmortem.md |
| S6 decision | templates/decision.md |
| S8 meeting | templates/meeting.md |
| S9 feedback pair | templates/feedback-pair.md |
| S10 aha moment | templates/insight.md |
| S11 workflow | templates/workflow.md |
| S12 domain map | templates/domain-map.md plus templates/concept.md |
| generic how-to | templates/reference.md |
Apply depth-based section inclusion. Do not leave empty placeholder sections.
Use provenance-confidence limits:
| Provenance | Max Confidence |
|---|---|
extracted | high |
inferred | medium |
ambiguous | low |
Conversation captures are usually inferred; article/paper extracts are usually
extracted; conflicting or underspecified sources are ambiguous.
8. Graph, Navigation, and Log
Update existing navigation surfaces when present:
- domain
_index.md - domain/project MOC
wiki-log.mdorcapture-log.md
If no log exists, create capture-log.md at the target root.
For 3+ concepts, create a session MOC from templates/session-moc.md. For S12,
the session MOC is the domain learning map from templates/domain-map.md.
9. Quality Check and Report
Read references/quality-checklist.md and verify all applicable gates.
Report:
- scenario detected
- concepts captured, skipped, and stub candidates
- files created/updated
- target directory and note style
- depth calibration reasoning
- research performed or intentionally skipped
- tags applied and why
- backlinks added with relevance scores
- navigation/log/MOC updates
URL Capture
If the user provides a URL, extract readable Markdown first when possible:
defuddle parse "<URL>" --md -o /tmp/capture-concept-source.md
If defuddle is unavailable, use the best available extraction method and cite
that extraction may be lossy. Capture transferable concepts, not article
metadata.
Batch Capture
For explicit batches (capture X, Y, Z), process concepts sequentially,
cross-link real relationships, and log the batch as one operation.