knowledge manager workflow
npx skills add https://github.com/treylom/knowledge-manager --skill Knowledge Manager Workflow
Skill 文档
Knowledge Manager Workflow
Complete 6-phase workflow guide for content processing
Workflow Overview
Phase 0: Load Configuration
â
Phase 1: Detect Input Source
â
Phase 1.5: Collect User Preferences
â
Phase 2: Extract Content
â
Phase 3: Analyze Content
â
Phase 4: Select Output Format
â
Phase 5: Execute Export
â
Phase 6: Verify and Report
ð MANDATORY WORKFLOW – ì ë ê±´ëë°ì§ ë§ì¸ì!
Antigravity/Gemini CLIìì ë°ëì ì¤í:
STEP 1: ì¬ì©ì ì í¸ë íì¸ (Phase 1.5) – íì!
ì½í ì¸ ì²ë¦¬ ì ë°ëì ìë ì§ë¬¸ì ì¬ì©ììê² ë¬¼ì´ì¼ í©ëë¤:
ð ìì¸ ìì¤: 1.ìì½ / 2.ë³´íµ / 3.ìì¸
ð¯ ì¤ì ìì: A.ê°ë
/ B.ì¤ì© / C.기ì / D.ì¸ì¬ì´í¸ / E.ì ì²´
ð ë
¸í¸ ë¶í : â ë¨ì¼ / â¡ì£¼ì ë³ / â¢ììì / â£3-tier
ð ì°ê²° ìì¤: ìµì / ë³´íµ / ìµë
기본ê°(3.ìì¸, E.ì ì²´, â£3-tier, ìµë)ì ì¬ì©íìê² ìµëê¹?
ð¡ 3-tierë? ê°ì ë
¸í¸ + 주ì ë³ ë
¸í¸ + ììì ë
¸í¸ë¡ ê³ì¸µ 구조í
ìì 미ëì´(Threads/Instagram) URLì¸ ê²½ì° ì¶ê° ì§ë¬¸:
ð ëµê¸ ìì§ ë²ì:
1) depth=1: ì§ì ëµê¸ë§ (ë¹ ë¦)
2) depth=2: ëµê¸ì ëµê¸ê¹ì§ (ë ìì í ë§¥ë½)
â ï¸ ì´ ë¨ê³ë¥¼ ê±´ëë°ë©´ ì ë©ëë¤!
- ì¬ì©ìê° “ë¹ ë¥´ê²”, “기본ì¼ë¡” ë± íµ í리ì í¤ìë를 ì¬ì©í ê²½ì°ë§ ìëµ ê°ë¥
- ê·¸ ì¸ ëª¨ë ê²½ì°: ë°ëì ì§ë¬¸ í ì§í
STEP 2: Vault ê²ì ë° ë ¸í¸ ì°ê²° (Phase 3.5) – íì!
ë ¸í¸ ì ì¥ ì ë°ëì ê´ë ¨ ë ¸í¸ë¥¼ ê²ìíê³ ì°ê²°í©ëë¤.
Step 2-1: ê´ë ¨ í¤ìë ì¶ì¶
ì½í ì¸ ìì íµì¬ í¤ìë ì¶ì¶:
- 주ì í¤ìë (ì: “AI”, “í롬íí¸”, “Claude”)
- ì¸ë¬¼/ê³ì ëª (ì: “@openai”, “Anthropic”)
- 기ì ì©ì´ (ì: “LLM”, “RAG”, “embedding”)
Step 2-2: Vault ê²ì ì¤í
// Antigravity/Gemini CLI ë구ëª
keywords = ["AI", "í롬íí¸", "Claude"]
keywords.forEach(keyword => {
mcp_obsidian_search_vault({ query: keyword })
})
Step 2-3: ê´ë ¨ ë ¸í¸ ì½ê¸° ë° ë¶ì
ê²ì ê²°ê³¼ìì ìì ë ¸í¸ë¤ì ì½ì´ ê´ë ¨ì± íì¸:
// ê²ì ê²°ê³¼ìì ìì 10ê° ë
¸í¸ ì½ê¸°
search_results.slice(0, 10).forEach(result => {
mcp_obsidian_read_note({ path: result.path })
})
Step 2-4: ì°ê²° ìì¤ì ë°ë¥¸ ë§í¬ ì¶ê°
Phase 1.5ìì ì íí “ð ì°ê²° ì줔ì ë°ë¼ ë§í¬ ê°ì ê²°ì :
| ì°ê²° ìì¤ | ë§í¬ ê°ì | ì¤ëª |
|---|---|---|
| ìµì | 1-2ê° | ê°ì¥ ê´ë ¨ì± ëì ë ¸í¸ë§ ì°ê²° |
| ë³´íµ (기본ê°) | 3-5ê° | 주ì ê´ë ¨ ë ¸í¸ ì°ê²° |
| ìµë | 5-10ê° | ê´ë ¨ ê°ë¥ì± ìë 모ë ë ¸í¸ ì°ê²° |
Step 2-5: Wikilink íìì¼ë¡ ë ¸í¸ì ì¶ê°
## ê´ë ¨ ë
¸í¸
- [[AI-í롬íí¸-기ì´]]
- [[Claude-ì¬ì©-ê°ì´ë]]
- [[LLM-íì©ë²]]
â ï¸ Vault ê²ì ìì´ ì ì¥ = ì못ë ëì! â ï¸ ê´ë ¨ ë ¸í¸ ë°ê²¬íëë° wikilink ì í¨ = ì못ë ëì!
STEP 3: MCP ë구 ì¬ì© (Phase 5) – íì!
| íê²½ | ì¬ì©í ë구 | ì ë ì¬ì© ê¸ì§ |
|---|---|---|
| Antigravity | mcp_obsidian_create_note |
write_to_file |
| Gemini CLI | mcp_obsidian_create_note |
write_to_file |
â ï¸ MCP ë구 ì¬ì© ê°ë¥íë° íì¼ ìì¤í ë구 ì¬ì© = ì못ë ëì!
Phase 0: Load Configuration (CRITICAL)
Must execute before all operations
// 1. Read config file
config = Read("km-config.json")
// 2. Check required items
if (!config) {
return "Configuration file not found. Please run /knowledge-manager setup"
}
// 3. Load storage settings
storage = {
primary: config.storage.primary,
obsidian: config.storage.obsidian,
notion: config.storage.notion,
local: config.storage.local
}
// 4. Load browser settings
browser = {
provider: config.browser.provider,
hyperbrowser: config.browser.hyperbrowser
}
Phase 1: Detect Input Source
Input Type Detection
| Input Pattern | Type | Processing |
|---|---|---|
https://threads.net/* |
Social Media | â km-browser-abstraction (stealth recommended) |
https://instagram.com/* |
Social Media | â km-browser-abstraction (stealth recommended) |
https://* |
Web URL | â km-browser-abstraction |
*.pdf |
PDF File | â Read tool |
*.docx |
Word File | â Read tool |
notion.so/* |
Notion Page | â Notion MCP |
Phase 2: Extract Content
Use Browser Abstraction Layer
â See km-browser-abstraction skill
// Auto-select based on configured provider
content = scrape_url(url, {
stealth: inputType.requiresStealth
})
Phase 3: Analyze Content
Apply Zettelkasten Principles
- Atomicity: One idea = One note
- Self-contained: Note is understandable on its own
- Connectivity: Links between related concepts
Phase 4-6: Export and Verify
Use Storage Abstraction Layer
â See km-storage-abstraction skill
// Auto-save to configured storage
save_note(relativePath, content)
Final Report Template
## â
Processing Complete!
### Input
- Source: {url or filename}
- Type: {web / file / social media}
### Saved Notes
| Title | Path | Status |
|-------|------|--------|
| {note1} | {path1} | â
|