feat(wiki): post-campaign knowledge extraction and visualization#271
Conversation
Add skills and scripts for extracting structured knowledge from completed campaigns and rendering interactive HTML visualizations. Closes AI-native-Systems-Research#270 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Hey, nice feature — the self-contained HTML approach is the right call and the skill prompt is well-structured. One bug to fix though: Bug: Slug mismatch between Python and JavaScript will silently break the Knowledge tab The Python function
So for a node like
When you click a node in the Knowledge tab, the panel lookup compares the Python-generated Fix: Make one algorithm match the other — either update Python to use the same Minor: The Everything else looks good — |
- _make_kg_id now uses the same [^a-z0-9]+ regex as the JS side, fixing silent panel lookup failures for names with underscores or special chars - Extract renderRelationshipChips() to deduplicate ~92 lines of identical chip-rendering between Knowledge and Iterations tab branches Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Fixed both in f9483cb:
|
8236302
into
AI-native-Systems-Research:main
Summary
/post-campaignskill that extracts structured knowledge (dead-ends, frontiers, interactions, concepts, summaries) from a completed campaign and generates an interactive HTML visualization/visualize-campaignthin wrapper skill for re-rendering without re-extractingscripts/visualize_campaign.py(interactive HTML generator) andscripts/validate_concepts.py(graph integrity checker)docs/nous-wiki.mddocumenting usage, data model, and output schemasNo existing code is modified. All output goes to
~/.nous/wiki/.Related
Closes #270
See Discussion #269 for the broader cross-campaign persistence strategy.
Test plan
/post-campaignon a completed campaign directory → verify all output files appear in~/.nous/wiki/campaigns/<name>/python scripts/validate_concepts.pyon the generatedconcepts.json→ exits 0/visualize-campaign→ HTML opens in browser with Iterations, Knowledge, Insights, Summary tabs/post-campaignagain on the same campaign → skips extraction (idempotent), only regenerates viz🤖 Generated with Claude Code