From second-brain
Ingests external sources (articles, gists, docs, URLs) into knowledge bank via interactive discussion: READ source, DISCUSS takeaways, CREATE wiki pages, INTEGRATE with existing KB. Triggers on 'ingest this' or 'add to KB'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/second-brain:kb-ingestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ingest external knowledge sources into the knowledge bank through an interactive workflow. Unlike session-recap (which extracts from Claude Code sessions), this skill handles standalone sources — articles, gists, design docs, PDFs, URLs, or any knowledge-bearing document.
Ingest external knowledge sources into the knowledge bank through an interactive workflow. Unlike session-recap (which extracts from Claude Code sessions), this skill handles standalone sources — articles, gists, design docs, PDFs, URLs, or any knowledge-bearing document.
Knowledge Bank Location: Read from ~/.claude/plugins/config/second-brain/config.json. Configure via skills/common/setup_kb_path.sh --configure.
Philosophy: A single source can touch multiple KB pages. The discussion between you and the user shapes what gets preserved — this is not a summarizer, it's a collaborative knowledge integration tool.
/second-brain:kb-ingestSkill({ skill: "second-brain:kb-ingest" })Provide a source path, URL, or indicate inline content:
/second-brain:kb-ingest /path/to/article.md
/second-brain:kb-ingest https://example.com/interesting-post
Read the source document:
For large sources (>100KB), apply the distillation guide — extract essentials, target 95% size reduction.
Identify:
Present key takeaways to the user and engage in interactive discussion:
projects/{project}/)The discussion itself generates insights beyond the raw source. Capture these.
Example:
Source: Article on event sourcing patterns
Summarize: "3 key takeaways: (1) events as source of truth, (2) projection
rebuilds from event stream, (3) snapshot optimization for large streams"
Propose: "This maps to a concept doc — fits under projects/cc/concepts/
since it's an architectural pattern we could apply to session management"
Ask: "Does this connect to any patterns you've seen in your codebase?
Should we emphasize the snapshot optimization angle?"
Generate KB document(s) incorporating both the source content AND discussion insights.
Templates: Use existing templates from session-recap/references/:
Cross-references: Run cross-reference discovery:
./skills/session-recap/scripts/search_cross_references.sh "keyword" [project]
Target 5-8 WikiLinks (lower than session-recap's 10-15 since standalone ingests have less cross-referencing context).
Frontmatter (MUST include):
---
title: Document Title
aliases: [Alt 1, Alt 2]
tags: [category, topic]
type: concept|component|best-practice
created: YYYY-MM-DD
modified: YYYY-MM-DD
project: {project}
source-type: article|document|url|gist
ingested-from: /path/to/source.md or https://url
---
Obsidian Syntax: When obsidian skills are available, MUST invoke /obsidian:obsidian-markdown before creating documents.
Updating existing docs: If the new knowledge connects to or supersedes existing KB pages, update them too — add cross-references, revise outdated claims, note where new data strengthens or challenges existing content. This follows the LLM Wiki principle that a single ingest can touch multiple pages.
After creating/updating documents:
source skills/common/generate_index.sh
generate_index "$KB_PATH"
source skills/common/obsidian_helpers.sh
append_kb_log "$KB_PATH" "ingest" "kb-ingest" "Ingested [source name]. Created: [docs]. Updated: [docs]"
./skills/session-recap/scripts/count_wikilinks.sh document.md 5
./skills/session-recap/scripts/validate_obsidian_syntax.sh document.md
For multiple sources: "Ingest all .md files in /path/to/folder/"
| Decision | Rationale |
|---|---|
| Interactive DISCUSS step | User's context and emphasis shape what gets preserved — not a blind summarizer |
| 5-8 WikiLinks (not 10-15) | Standalone ingests have less cross-referencing context than full session recaps |
| Reuse session-recap templates | No duplication — one set of templates for all KB documents |
| No daily log | Daily logs are session-recap's responsibility |
| No reflection gate | Reflections come from doing work, not reading about it |
| Can update existing pages | LLM Wiki principle — a single source can touch multiple wiki pages |
Ingest is complete when:
_meta/index.md regenerated_meta/log.md entry appendednpx claudepluginhub sxhmilyoyo/sundayhao-plugins --plugin second-brainHarvests knowledge from external sources like sibling repos, local directories, files, or web URLs into the project's KB system with provenance tracking.
Bulk imports knowledge from files, directories, or URLs into structured backlogs, or captures a single document with a 5-section template (claims, worth-keeping, contested, action, reaction).
Processes Obsidian Inbox items into a knowledge base: reads source, discusses key ideas, then files synthesized notes. Also saves conversation answers as permanent wiki pages.