ww-visualize
Memory visualization and diagramming for World Weaver systems
What this skill does
# WW Visualize Skill
Memory visualization and diagramming for World Weaver systems.
## Purpose
This skill provides visualization capabilities:
1. **Memory Graphs**: Visualize knowledge graph structure
2. **Timeline Views**: Show memory evolution over time
3. **Architecture Diagrams**: System component diagrams
4. **Analysis Charts**: Bug distributions, metrics
5. **Learning Curves**: Training progress visualization
## When to Use
Invoke this skill when:
- User asks "show me the memory graph"
- User asks "visualize the architecture"
- User wants to see memory patterns
- Analysis results need visualization
- Documentation needs diagrams
## Visualization Types
### 1. Knowledge Graph Visualization
Generate Mermaid diagram of entity relationships:
```python
def generate_knowledge_graph(entities, relationships):
"""Generate Mermaid graph from WW semantic memory."""
lines = ["graph LR"]
# Add entities
for entity in entities:
node_id = entity['name'].replace(' ', '_')
lines.append(f" {node_id}[{entity['name']}]")
# Add relationships
for rel in relationships:
src = rel['source'].replace(' ', '_')
tgt = rel['target'].replace(' ', '_')
label = rel['type']
weight = rel.get('weight', 1.0)
# Thicker line for stronger relationships
if weight > 0.7:
lines.append(f" {src} =={label}==> {tgt}")
else:
lines.append(f" {src} --{label}--> {tgt}")
return '\n'.join(lines)
```
Output:
```mermaid
graph LR
Hebbian_Learning[Hebbian Learning]
STDP[STDP]
Eligibility_Traces[Eligibility Traces]
Hebbian_Learning ==USES==> STDP
STDP --REQUIRES--> Eligibility_Traces
```
### 2. Memory Timeline
Generate timeline of episodes:
```python
def generate_timeline(episodes):
"""Generate Mermaid timeline from episodes."""
lines = ["gantt", " title Memory Timeline", " dateFormat YYYY-MM-DD"]
# Group by project
by_project = defaultdict(list)
for ep in episodes:
project = ep.get('context', {}).get('project', 'Unknown')
by_project[project].append(ep)
for project, eps in by_project.items():
lines.append(f" section {project}")
for ep in eps:
date = ep['timestamp'][:10]
outcome = ep['outcome']
icon = "crit" if outcome == "failure" else ""
lines.append(f" {ep['content'][:30]} :{icon} {date}, 1d")
return '\n'.join(lines)
```
### 3. Architecture Component Diagram
```mermaid
flowchart TB
subgraph Plugin["Claude Code Plugin"]
direction TB
Skills["Skills<br/>store, recall, context, consolidate<br/>analyze, diagnose, visualize, architecture"]
Commands["Commands<br/>/remember, /recall, /consolidate<br/>/ww-audit, /ww-visualize"]
Hooks["Hooks<br/>SessionStart, SessionEnd"]
Agents["Agents<br/>memory, retriever, synthesizer<br/>bio-auditor, race-hunter, leak-hunter<br/>hinton-validator, cache-analyzer, trace-debugger"]
end
subgraph MCP["MCP Server"]
direction TB
Gateway["Request Gateway"]
Memory["Memory Manager"]
Learning["Learning System"]
Consolidation["Consolidation Engine"]
end
subgraph Core["Core Systems"]
direction TB
Episodic["Episodic Store<br/>Fast learning, autobiographical"]
Semantic["Semantic Store<br/>Slow learning, knowledge graph"]
Procedural["Procedural Store<br/>Skills, patterns"]
end
subgraph Storage["Storage"]
Neo4j[(Neo4j<br/>Graph DB)]
Qdrant[(Qdrant<br/>Vector DB)]
end
Plugin --> MCP
MCP --> Core
Core --> Storage
```
### 4. Bug Distribution Chart
```python
def generate_bug_chart(bugs):
"""Generate bug distribution visualization."""
by_severity = defaultdict(int)
by_type = defaultdict(int)
for bug in bugs:
by_severity[bug['severity']] += 1
by_type[bug['type']] += 1
# Mermaid pie chart
lines = ["pie showData", " title Bug Distribution by Severity"]
for severity, count in by_severity.items():
lines.append(f' "{severity}" : {count}')
return '\n'.join(lines)
```
```mermaid
pie showData
title Bug Distribution by Severity
"CRITICAL" : 133
"HIGH" : 180
"MEDIUM" : 212
"LOW" : 145
```
### 5. Learning Progress
```python
def generate_learning_curve(metrics):
"""Generate learning progress chart."""
lines = [
"xychart-beta",
" title Learning Progress",
' x-axis ["Step 1", "Step 2", "Step 3", "Step 4", "Step 5"]',
f' y-axis "Loss" 0 --> 1',
f' line [{", ".join(str(m["loss"]) for m in metrics)}]'
]
return '\n'.join(lines)
```
### 6. Memory System Flow
```mermaid
sequenceDiagram
participant User
participant Plugin
participant MCP
participant Episodic
participant Semantic
participant Storage
User->>Plugin: /remember "Fixed bug"
Plugin->>MCP: create_episode()
MCP->>Episodic: store()
Episodic->>Storage: insert(Neo4j)
Episodic->>Storage: embed(Qdrant)
Storage-->>MCP: success
MCP-->>Plugin: episode_id
Plugin-->>User: Stored!
```
## Output Formats
Visualizations can be generated as:
1. **Mermaid** - For markdown embedding
2. **ASCII** - For terminal display
3. **JSON** - For web rendering
4. **DOT** - For Graphviz
## Commands
```bash
# Generate knowledge graph
/ww-visualize graph --limit 50 --min-weight 0.3
# Generate timeline
/ww-visualize timeline --days 7
# Generate architecture
/ww-visualize architecture
# Generate bug chart
/ww-visualize bugs --from /home/aaron/mem/MASTER_BUG_LIST.md
```
## Integration
This skill integrates with:
- **ww-analyze**: Visualize analysis results
- **ww-diagnose**: Show diagnostic flowcharts
- **ww-architecture**: Embed in documentation
- **MCP server**: Query memory data
## Output Locations
Generated visualizations:
- `/home/aaron/mem/WW_GRAPH_{timestamp}.md` - Knowledge graphs
- `/home/aaron/mem/WW_TIMELINE_{timestamp}.md` - Timelines
- `/home/aaron/mem/WW_ARCHITECTURE_{timestamp}.md` - Architecture
- `/home/aaron/ww/docs/diagrams/` - Persistent diagrams
## Error Handling
If visualization fails:
1. Check data availability
2. Fall back to simpler visualization
3. Provide raw data if rendering fails
4. Log error with context
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.