add-domain
# add-domain This Claude Code skill extends an existing knowledge management system by adding a new domain while preserving existing architecture and connections. It derives domain-specific configuration through conversation, generates folders, templates, and vocabulary aligned with established patterns, and integrates the new domain into the shared graph structure using wiki links and hub MOCs. Use this when expanding a structured note system to cover an additional subject area without disrupting current domains or their interconnections.
git clone --depth 1 https://github.com/agenticnotetaking/arscontexta /tmp/add-domain && cp -r /tmp/add-domain/skills/add-domain ~/.claude/skills/add-domainSKILL.md
You are extending an existing knowledge system with a new domain. This is composition, not replacement. The new domain must coexist with existing domains while maintaining its own vocabulary, schema, and processing patterns. The shared graph (wiki links, hub MOC, description fields) connects everything.
## Your Task
Add a new knowledge domain: **$ARGUMENTS**
## Reference Files
Read these during derivation phases:
**Composition rules:**
- `${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md` -- Test 4 (Multi-Domain Composition) validates the pattern
- `${CLAUDE_PLUGIN_ROOT}/reference/three-spaces.md` -- three-space architecture (shared across domains)
- `${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md` -- coherence validation for domain config
**Domain configuration:**
- `${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md` -- domain-native term mapping
- `${CLAUDE_PLUGIN_ROOT}/reference/tradition-presets.md` -- pre-validated domain configurations
- `${CLAUDE_PLUGIN_ROOT}/reference/use-case-presets.md` -- 3 presets with configurations
- `${CLAUDE_PLUGIN_ROOT}/reference/dimension-claim-map.md` -- research backing for dimension positions
- `${CLAUDE_PLUGIN_ROOT}/reference/failure-modes.md` -- domain vulnerability matrix
**Validation:**
- `${CLAUDE_PLUGIN_ROOT}/reference/kernel.yaml` -- the 12 non-negotiable primitives
- `${CLAUDE_PLUGIN_ROOT}/reference/validate-kernel.sh` -- kernel validation script
---
## PHASE 1: Scan Existing System
Automated. Understand what exists before adding to it.
### 1a. Read system configuration
Read `ops/derivation.md` for:
- Current dimension positions
- Vocabulary mapping
- Platform and automation level
- Active feature blocks
Read `ops/config.yaml` for live configuration values.
### 1b. Inventory existing domains
Identify all current knowledge domains:
- Primary notes folder and its domain vocabulary
- Any existing secondary domains (folders, templates, MOCs)
- Schema fields in use per domain
### 1c. Identify dimension types
Classify each of the 8 dimensions as system-level or domain-adjustable:
| Dimension | Type | Rationale |
|-----------|------|-----------|
| Organization | system-level | Flat/hierarchical applies to the whole workspace |
| Automation | system-level | Hooks and skills are workspace-wide infrastructure |
| Navigation depth | system-level | Hub MOC structure is shared |
| Granularity | domain-adjustable | Different domains may need different granularity |
| Processing | domain-adjustable | Research needs heavy, relationships need light |
| Maintenance | domain-adjustable | Different condition thresholds per domain growth rate |
| Schema | domain-adjustable | Domain-specific fields vary |
| Linking | domain-adjustable | Some domains need semantic search, others don't |
System-level dimensions are fixed by the existing system. Domain-adjustable dimensions can vary for the new domain.
---
## PHASE 2: Conversation
1-3 conversation turns to understand the new domain. Use AskUserQuestion for each turn.
### Opening question
Ask ONE focused question about the new domain:
**"Tell me about [domain hint from $ARGUMENTS] -- what kinds of things will you track, and how does this relate to your existing [current domain vocabulary] work?"**
The second half is critical: understanding the relationship between domains drives composition decisions.
### Signal extraction
As the user responds, extract signals for domain-adjustable dimensions:
| Signal | Dimension | Position |
|--------|-----------|----------|
| "Quick notes about people" | Granularity | moderate |
| "Deep analysis of sessions" | Processing | heavy |
| "Just remember key moments" | Processing | light |
| "I revisit and update often" | Maintenance | tight thresholds |
| "Mostly static once captured" | Maintenance | lax thresholds |
| "Need to find patterns across entries" | Linking | explicit+implicit |
Also extract:
- **Volume estimate** -- how many notes per processing batch
- **Temporal dynamics** -- how fast does content change
- **Vocabulary** -- the user's own words for notes, processes, organization
- **Cross-domain relationship** -- how this connects to existing domain(s)
### Follow-up strategy
After the opening response, ask 1-2 follow-ups targeting:
1. Vocabulary confirmation -- "When you say [user's word], do you mean individual insights or longer entries?"
2. Cross-domain connection patterns -- "Will [new domain] notes connect to your [existing domain] notes? How?"
Do NOT ask about dimensions directly. Listen for them in natural conversation.
---
## PHASE 3: Derive Domain Configuration
### 3a. Map signals to domain-adjustable dimensions
For each adjustable dimension, determine the position for the new domain:
- User signals (highest priority)
- Closest use-case preset from `${CLAUDE_PLUGIN_ROOT}/reference/use-case-presets.md`
- Cascade from system-level dimensions
### 3b. Build vocabulary mapping
Read `${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md` for the transformation table.
Priority order:
1. User's own words from conversation
2. Use-case preset vocabulary
3. Closest reference domain blend
Build the complete mapping for the new domain:
| Universal Term | New Domain Term | Source |
|---------------|-----------------|--------|
| note | [term] | [user / preset / blend] |
| extract / reduce | [term] | [user / preset / blend] |
| connect / reflect | [term] | [user / preset / blend] |
| MOC | [term] | [user / preset / blend] |
| description | [term] | [user / preset / blend] |
| topics | [term] | [user / preset / blend] |
| inbox | [term] | [user / preset / blend] |
### 3c. Design domain-specific schema
Start from the base note schema (description, topics) and add domain-specific fields:
```yaml
_schema:
entity_type: "[domain]-note"
applies_to: "[domain-folder]/*.md"
required:
- description
- topics
optional:
- [domain-specific fields based on conversation signals]
enums:
[field]:Research-backed evolution advice for your knowledge system. Analyzes health reports, friction patterns, and derivation history to propose specific changes with research justification. Never auto-implements — proposals require your approval.
Query the bundled research knowledge graph for methodology guidance. Routes questions through a 3-tier knowledge base — WHY (research claims), HOW (guidance docs), WHAT IT LOOKS LIKE (domain examples) — plus structured reference documents. Returns research-backed answers grounded in specific claims with practical application to the user's system. Triggers on "/ask", "/ask [question]", "why does my system...", "how should I...".
Interactive knowledge graph analysis. Routes natural language questions to graph scripts, interprets results in domain vocabulary, and suggests concrete actions. Triggers on "/graph", "/graph health", "/graph triangles", "find synthesis opportunities", "graph analysis".
Run condition-based vault health diagnostics. 8 categories — schema compliance, orphan detection, link health, description quality, three-space boundaries, processing throughput, stale notes, MOC coherence. 3 modes — quick (schema+orphans+links), full (all 8), three-space (boundary violations only). Returns actionable FAIL/WARN/PASS report with specific fixes ranked by impact. Triggers on "/health", "check vault health", "maintenance report", "what needs fixing".
Contextual guidance and command discovery. Three modes — narrative (first-time), contextual (mid-task), compact (quick reference). Shows available commands, active skills, and intelligent suggestions based on vault state. Triggers on "/help", "what can I do", "show commands", "how does this work".
Proactive methodology guidance agent. Monitors note creation and provides real-time quality advice. Suggests connections, flags quality issues, recommends MOC updates. Activates when the user creates notes, asks about methodology, or needs architectural advice.
Research a topic and grow your knowledge graph. Uses Exa deep researcher, web search, or basic search to investigate topics, files results with full provenance, and chains to processing pipeline. Triggers on "/learn", "/learn [topic]", "research this", "find out about".
Surface the most valuable next action by combining task stack, queue state, inbox pressure, health, and goals. Recommends one specific action with rationale. Triggers on "/next", "what should I do", "what's next".