
pkm
by DxTa
SKILL.md
name: pkm description: Personal Knowledge Management via Obsidian MCP - capture learnings to daily notes and search vault version: "1.0.0" license: MIT compatibility: opencode
Personal Knowledge Management (PKM)
Capture learnings and search your Obsidian vault using the Obsidian MCP server.
Overview
This skill provides personal knowledge management functionality:
- Capture Learnings: Save insights and learnings to today's daily note
- Search Vault: Find notes matching specific queries
- Daily Notes: Automatically append to daily notes in your vault
Prerequisites
Required:
- Obsidian vault at
/home/dxta/Documents/Obsidian/personal - Obsidian MCP server configured in
~/.config/opencode/opencode.json - Obsidian Local REST API enabled in Obsidian settings
Verify MCP Configuration:
cat ~/.config/opencode/opencode.json | grep -A 10 obsidian
Should show:
"obsidian": {
"type": "local",
"command": ["npx", "-y", "@huangyihe/obsidian-mcp"],
"environment": {
"OBSIDIAN_VAULT_PATH": "/home/dxta/Documents/Obsidian/personal",
"OBSIDIAN_API_TOKEN": "{env:OBSIDIAN_API_TOKEN}",
"OBSIDIAN_API_PORT": "27123"
},
"enabled": true
}
Enable Obsidian Local REST API:
- Open Obsidian
- Go to Settings → Third-party plugin → Community plugins
- Browse → Install "Local REST API"
- Settings → Options → Set API token and enable plugin
- Set API token in environment:
export OBSIDIAN_API_TOKEN=your-token
Usage
CLI Commands
# Capture a learning to today's daily note
~/.config/opencode/skill/pkm/scripts/pkm.py capture "content to capture" --tags tag1,tag2
# Search vault for notes
~/.config/opencode/skill/pkm/scripts/pkm.py search "query" --max 10
# Show help
~/.config/opencode/skill/pkm/scripts/pkm.py --help
Command Examples
Capture a learning:
~/.config/opencode/skill/pkm/scripts/pkm.py capture "Learned about React hooks optimization" --tags react,frontend
Search for notes:
~/.config/opencode/skill/pkm/scripts/pkm.py search "obsidian"
Search with max results:
~/.config/opencode/skill/pkm/scripts/pkm.py search "project management" --max 20
Capture without tags:
~/.config/opencode/skill/pkm/scripts/pkm.py capture "Important meeting notes"
Capture with multiple tags:
~/.config/opencode/skill/pkm/scripts/pkm.py capture "Key insight about database design" --tags database,backend,sql
Daily Notes Structure
Learnings are captured to daily notes at:
Daily Notes/YYYY-MM-DD.md
Each learning entry is formatted as:
---
type: learning
source: opencode
tags: ["tag1", "tag2"]
created: 2025-01-02T10:30:00Z
---
## Learning
[Your captured content]
---
_Captured via OpenCode @ 10:30_
Integration with OpenCode
The PKM skill integrates with OpenCode's MCP tools:
- Uses
obsidian_create_noteorobsidian_update_noteMCP tools - Requires Obsidian MCP server to be enabled in
opencode.json
To verify MCP is working:
# In OpenCode, the skill will instruct AI to use:
@obsidian_search_vault(query="your query")
# Or create/update notes:
@obsidian_create_note(path="Daily Notes/2025-01-02.md", content="...")
Output Format
Capture output (instructions for AI):
Please create/update note at: Daily Notes/2025-01-02.md
Content to append:
---
type: learning
source: opencode
tags: ["react", "frontend"]
created: 2025-01-02T10:30:00Z
---
## Learning
Learned about React hooks optimization
---
_Captured via OpenCode @ 10:30_
Use the obsidian MCP create_note or update_note tool.
If note exists, append this content to it.
Search output (instructions for AI):
Please search the Obsidian vault for: project management
Use the obsidian MCP search_vault tool with query: "project management"
Return of the top 10 results with relevant excerpts.
CLI mode output (direct invocation):
Note path: Daily Notes/2025-01-02.md
Content:
---
type: learning
source: opencode
tags: ["react", "frontend"]
created: 2025-01-02T10:30:00Z
---
## Learning
Learned about React hooks optimization
---
_Captured via OpenCode @ 10:30_
Use Claude Code with Obsidian MCP to create this note.
Error Handling
-
Obsidian MCP not configured
- Error:
Obsidian MCP server not found or disabled - Solution: Ensure Obsidian MCP is enabled in
opencode.jsonandOBSIDIAN_API_TOKENis set
- Error:
-
Obsidian not running
- Error:
Connection refusedorECONNREFUSED - Solution: Ensure Obsidian is open and Local REST API plugin is enabled
- Error:
-
Vault path not found
- Error:
Vault path does not exist - Solution: Verify vault path in
opencode.jsonmatches actual location
- Error:
-
API token invalid
- Error:
Unauthorizedor403 Forbidden - Solution: Set correct
OBSIDIAN_API_TOKENin environment oropencode.json
- Error:
Examples
Example 1: Capture Technical Learning
User Request: "I just learned about useCallback optimization"
Usage: The skill instructs AI to capture via MCP
Output (what AI executes):
@obsidian_create_note(
path="Daily Notes/2025-01-02.md",
content="---\ntype: learning\nsource: opencode\ntags: [\"react\", \"hooks\", \"optimization\"]\ncreated: 2025-01-02T10:30:00Z\n---\n\n## Learning\n\nLearned about useCallback optimization to prevent unnecessary re-renders.\n\n---\n_Captured via OpenCode @ 10:30_"
)
Example 2: Search for Previous Notes
User Request: "What have I learned about databases?"
Usage: The skill instructs AI to search via MCP
Output (what AI executes):
@obsidian_search_vault(query="database", max_results=10)
Example 3: CLI Direct Invocation
User Request: "Capture this learning: 'Database indexing improves read performance by 100x'"
Command:
~/.config/opencode/skill/pkm/scripts/pkm.py capture "Database indexing improves read performance by 100x" --tags database,performance,optimization
Notes
- This skill is a wrapper around Obsidian MCP tools
- In OpenCode, the skill generates instructions for the AI to use MCP tools directly
- CLI mode outputs formatted content for manual note creation
- Daily notes follow the
Daily Notes/YYYY-MM-DD.mdconvention - Tags are comma-separated and will be formatted as a JSON array
- Source is always marked as
opencodefor captures via this skill
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です