emergent-wisdom-agent
v0.1.1
Published
Emergent Wisdom Agent — Claude Code plugin + headless harness for understanding graphs
Maintainers
Readme
ewa — Emergent Wisdom Agent
Integration layer for understanding-graph and sema.
Both ug and sema ship their own Claude Code plugins with skills that teach how to use each tool independently. Ewa is the layer that makes them work together — shared vocabulary inside the graph, plus an autonomous harness that runs multi-round loops.
Two modes:
- Plugin mode — install in Claude Code, get both MCP servers + the integration skill
- Harness mode —
npx emergent-wisdom-agent "task"runs an autonomous multi-round loop using direct Anthropic SDK + MCP client (no CLI wrapper)
What each layer provides
| Layer | What it ships | Install |
|-------|--------------|---------|
| understanding-graph | MCP server + 7 skills (orient, graph-workflow, quality-check, reading-mode, creative-work, serendipity, web-ui) | claude plugin install understanding-graph |
| sema | MCP server + 1 skill (sema-usage) | claude plugin install sema |
| ewa | Integration skill (sema-in-graph) + 12 agents + autonomous harness + bundled MCP config | claude plugin install emergent-wisdom-agent |
You can use ug or sema standalone. Ewa adds the integration and the harness.
Install (plugin mode)
# One-time: add the Emergent Wisdom marketplace
claude plugin marketplace add emergent-wisdom/marketplace
# Install all three
claude plugin install understanding-graph
claude plugin install sema
claude plugin install emergent-wisdom-agent- understanding-graph provides the ug MCP server + 7 skills (orient, graph-workflow, etc.)
- sema provides the sema MCP server + sema-usage skill
- emergent-wisdom-agent provides the integration skill (
sema-in-graph) + 12 agents
Ewa doesn't declare MCP servers — it relies on the ug and sema plugins for that. The .mcp.json in this repo is only used by the harness (which connects directly).
For local development:
claude --plugin-dir /path/to/understanding-graph \
--plugin-dir /path/to/sema \
--plugin-dir /path/to/ewaInstall (harness mode)
npx emergent-wisdom-agent "design a bloom filter"
npx emergent-wisdom-agent --project myproject --rounds 50 --model claude-sonnet-4-20250514 "task"The harness connects directly to ug and sema MCP servers via @modelcontextprotocol/sdk and runs multi-turn tool loops via @anthropic-ai/sdk. No CLI wrapper — MCP sessions are kept alive across rounds for performance.
Each round: fresh stateless agent → reads graph → does work → harness checks completion → repeat. The graph is the only memory between rounds.
Agents
12 specialized agents available for the harness:
| Agent | Role | |-------|------| | reader | Controls reading rhythm, stops at thought moments | | synthesizer | Weaves concepts into coherent thought, applies wisdom protocol | | connector | Long-range coherence, fights recency bias | | skeptic | Stress-tests for incoherence and hidden assumptions | | speculator | Generates hypotheses and branching futures | | belief-tracker | Documents mind-changes, manages prediction resolution | | axiologist | Maps optimization functions and value conflicts | | psychologist | Tracks latent state, analyzes the unsaid | | critic | Evaluates craft — prose quality, technique, pacing | | translator | Weaves graph knowledge into fluid narrative | | architect | Reverse-engineers structure and topology | | methodologist | Validates evidence, methodology, and epistemic claims |
Structure
ewa/
├── .claude-plugin/plugin.json # Plugin manifest
├── .mcp.json # Auto-configures ug + sema
├── skills/
│ └── sema-in-graph/ # Integration: sema patterns as stigmergic signals in the graph
├── agents/ # 12 agent definitions
├── harness/ # TypeScript autonomous loop
│ ├── cli.ts # npx emergent-wisdom-agent entry point
│ ├── mcp-context.ts # MCP session lifecycle (connect once, reuse)
│ ├── backend.ts # Anthropic SDK multi-turn tool loop
│ ├── loop.ts # Multi-round understanding loop
│ ├── state.ts # Graph state fetching via direct MCP calls
│ ├── sema-discovery.ts # Lightweight pattern discovery pass
│ ├── completion.ts # Task completion checker
│ └── index.ts # Exports
├── package.json
└── tsconfig.jsonDependencies
- @anthropic-ai/sdk — direct Claude API calls
- @modelcontextprotocol/sdk — MCP client for kept-alive sessions
- understanding-graph (npm) — the graph MCP server
- semahash (pip/uvx) — the vocabulary MCP server
Development
npm install
npm run build # tsc
npm run dev # tsc --watch