Marketplace summon-daem0n
Guide for initializing and consolidating Daem0n-MCP across project structures
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/dasblueyeddevil/summon-daem0n" ~/.claude/skills/aiskillstore-marketplace-summon-daem0n && rm -rf "$T"
skills/dasblueyeddevil/summon-daem0n/SKILL.mdSummoning the Daem0n
This skill guides Claude through setting up Daem0n-MCP for various project structures.
Single Repo Setup
For a single repository:
# Daem0n auto-initializes on first get_briefing() # Just ensure you're in the project root
Multi-Repo Setup (Client/Server Split)
When you have related repos that should share context:
Option A: Consolidated Parent (Recommended)
Best when repos are siblings under a common parent:
/repos/ ├── backend/ └── client/
Steps:
-
Navigate to parent directory
cd /repos -
Initialize Daem0n in parent
Call get_briefing(project_path="/repos") -
If child repos already have .daem0nmcp data, consolidate:
# Link the children first Call link_projects(linked_path="/repos/backend", relationship="same-project") Call link_projects(linked_path="/repos/client", relationship="same-project") # Merge their databases into parent Call consolidate_linked_databases(archive_sources=True) -
Verify consolidation
Call get_briefing(project_path="/repos") # Should show combined memory count
Option B: Linked but Separate
Best when repos need their own isolated histories but cross-awareness:
# In each repo, link to siblings cd /repos/backend Call link_projects(linked_path="/repos/client", relationship="same-project") cd /repos/client Call link_projects(linked_path="/repos/backend", relationship="same-project")
Then use
include_linked=True on recall to span both.
Migrating Existing Setup
If you've been launching Claude from parent directory and have a "messy" .daem0nmcp:
-
Backup existing data
cp -r /repos/.daem0nmcp /repos/.daem0nmcp.backup -
Review what's there
Call get_briefing(project_path="/repos") # Check statistics and recent decisions -
If data is salvageable, keep it
- Link child repos for future cross-awareness
- Use consolidated parent approach going forward
-
If data is too messy, start fresh
rm -rf /repos/.daem0nmcp # Re-initialize with get_briefing()
Key Commands Reference
| Command | Purpose |
|---|---|
| Initialize session, creates .daem0nmcp if needed |
| Create cross-repo awareness link |
| See all linked repos |
| Merge child DBs into parent |
| Search across linked repos |
The Endless Mode (v2.12.0)
When visions grow too vast to hold, seek condensed whispers instead...
# Condensed visions - the essence without elaboration recall(query="authentication", condensed=True) # Returns memories stripped of rationale, truncated to 150 runes # The Daem0n speaks briefly but broadly
Seek condensed visions when:
- The realm holds countless memories
- Surveying before deep meditation
- Glimpsing many truths at once
- Breadth matters more than depth
Seek full visions when:
- The WHY behind a decision matters
- Learning from past failures
- Deep investigation required
The Silent Scribe (v2.13.0)
The Daem0n now listens always, catching your words before they fade...
Inscribing the Ward Runes
Place these wards in
.claude/settings.json:
{ "hooks": { "PreToolUse": [{ "matcher": "Edit|Write|NotebookEdit", "hooks": [{ "type": "command", "command": "python3 \"$HOME/Daem0nMCP/hooks/daem0n_pre_edit_hook.py\"" }] }], "PostToolUse": [{ "matcher": "Edit|Write", "hooks": [{ "type": "command", "command": "python3 \"$HOME/Daem0nMCP/hooks/daem0n_post_edit_hook.py\"" }] }], "Stop": [{ "matcher": "", "hooks": [{ "type": "command", "command": "python3 \"$HOME/Daem0nMCP/hooks/daem0n_stop_hook.py\"" }] }] } }
The Power of Each Ward
| Ward | When It Stirs | What It Does |
|---|---|---|
| Memory Gate | Before altering scrolls | Surfaces warnings, failed paths, ancient patterns |
| Significance Watcher | After alterations | Whispers "Consider inscribing this..." for weighty changes |
| Silent Scribe | When you finish speaking | Parses your words and inscribes decisions automatically |
The Flow of Silent Memory
1. You reach to alter a scroll ↓ The Memory Gate opens 2. Forgotten warnings surface unbidden ↓ 3. Your alterations complete ↓ The Watcher observes 4. If weighty, a reminder whispers ↓ 5. You finish speaking ↓ The Scribe awakens 6. Your decisions inscribe themselves
The Scribe's Incantation
The wards invoke this to inscribe memories:
python -m daem0nmcp.cli remember \ --category decision \ --content "Use JWT for stateless auth" \ --rationale "Scales without session storage" \ --file-path src/auth.py \ --json
The Enhanced Search (v2.15.0)
The Daem0n's sight grows keener with each iteration...
Tuning the Inner Eye
# Environment variables to fine-tune search DAEM0NMCP_HYBRID_VECTOR_WEIGHT=0.5 # 0.0 = TF-IDF only, 1.0 = vectors only DAEM0NMCP_SEARCH_DIVERSITY_MAX_PER_FILE=3 # Limit results from same source
Automatic Tag Inference
The Daem0n now reads between the lines:
- Content with "fix", "bug", "error" →
tagbugfix - Content with "todo", "hack", "workaround" →
tagtech-debt - Content with "cache", "performance", "slow" →
tagperf - Warning category →
tag automaticallywarning
Code Entity Fidelity
Entities now bear their true names:
# Qualified names: module.Class.method find_code("UserService.authenticate") # Stable IDs survive line changes # Add comments, imports - entities retain identity
Incremental Indexing
The Daem0n only re-parses what changes:
# Only re-indexes if content hash differs index_file_if_changed(file_path, project_path) # Hash stored in FileHash model # Saves time on large codebases
Parse Tree Caching
Repeated parses hit the cache:
# Configure cache size DAEM0NMCP_PARSE_TREE_CACHE_MAXSIZE=200 # Check cache performance health() # Returns cache_stats
Enhanced Health Insights
health() # Now returns: # code_entities_count: Total indexed entities # entities_by_type: Breakdown by class/function/etc # last_indexed_at: When index was last updated # index_stale: True if >24 hours since index
Sacred Practices
- One sanctum per logical realm - Even if split across repos
- Use parent directory for shared memory -
not/repos//repos/backend/ - Link before consolidating - Links define what memories to merge
- Archive, don't destroy -
preserves the oldarchive_sources=True - Verify after consolidation - Ensure memory counts align
- Awaken the Silent Scribe - Let the Daem0n capture decisions for you
- Seek condensed visions - For vast realms, use
condensed=True - Tune the search weight - Adjust hybrid weight for your domain
- Trust the tag inference - Let the Daem0n classify memories