Build a structured AI knowledge graph in Obsidian through natural conversation
Project description
🛰️ recon — Obsidian × AI Knowledge Base
Your project's brain — built by AI, lived in Obsidian.
recon is a Claude Code MCP server that turns a natural conversation into a structured project knowledge graph — stored as Markdown in your Obsidian vault.
You describe your project. Claude infers goals, personas, modules, decisions, and features — then writes them as linked nodes. No forms. No templates.
The graph then feeds focused context back to any AI session via generate_context() — so Claude always knows what you're building, every session.
Install
/plugin marketplace add deploysquad-ai/recon
/plugin install recon@deploysquad-ai/recon
Then run /recon.setup, restart Claude Code, and run /recon.
The loop
💬 /recon → 🧠 graph → ⚡ CONTEXT.md → 🏗️ build
describe 10 node types per feature with context
project ↓
←─────────────── 🔄 /recon.add-feature ───────────┘
keep graph current
Node types
Project → Goals → Personas → Constraints → Modules → Decisions → User Stories → Epics → Features → Versions
All stored as [[wikilinked]] Markdown in your Obsidian vault.
Python API
from deploysquad_recon_core import (
create_node, get_node, list_nodes, update_node,
resolve_links, build_index, generate_context,
)
# Author a node
path = create_node("feature", {
"name": "Task Board",
"description": "Kanban board for task management",
"implements": ["[[User Story - Create Task]]"],
"actors": ["[[Persona - Manager]]"],
"belongs_to": "[[Module - Dashboard]]",
"status": "active",
}, project_dir)
# Generate CONTEXT.md for any AI session
context = generate_context("Task Board", project_dir)
# Write CONTEXT.md directly to the vault
from deploysquad_recon_core.context import write_context
path = write_context(context, "auto", project_dir, feature_name="Task Board")
# → features/CONTEXT - Task Board.md
# Link a spec back to the feature
update_node("features/Feature - Task Board.md", {
"spec_path": "docs/specs/task-board-design.md"
})
Semantic linking (optional)
recon can embed nodes and find semantically similar ones using the Gemini API.
Claude Code plugin users: /recon.setup prompts for your Gemini API key and writes it to the MCP server config automatically.
Python library users:
pip install "deploysquad-recon-core[embed]"
Set GEMINI_API_KEY in your environment, then:
from deploysquad_recon_core import embed_nodes, find_similar
embed_nodes(project_dir)
similar = find_similar(node_path, project_dir)
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deploysquad_recon_core-0.1.9.tar.gz.
File metadata
- Download URL: deploysquad_recon_core-0.1.9.tar.gz
- Upload date:
- Size: 36.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75a1168ae516ebd5bd51b02361600204d583a26bd9c77e7825431d4ed9b0f1fe
|
|
| MD5 |
dd37886ef8428fb36192a7fc9c07cacf
|
|
| BLAKE2b-256 |
1a99b6c053eb7dab0b3e06e954528e171f4be80b8fe9a318d411582b4e4a4135
|
File details
Details for the file deploysquad_recon_core-0.1.9-py3-none-any.whl.
File metadata
- Download URL: deploysquad_recon_core-0.1.9-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ffbba6f27d63eb1ffd13268e169a846c6fb0b0f1801565acf5d6fe3a7413fe1
|
|
| MD5 |
28a93ad7801d0a6ae33b8322b457d514
|
|
| BLAKE2b-256 |
de54d8ff116dc1e6c389a159efc134394660672570e22be4c3f71c6d63ee43cc
|