NEON-SOUL - Self-Learning Soul Synthesis for AI Agents
Automated soul synthesis for AI agents. Extracts identity from memory files, promotes recurring patterns to axioms (N>=3), generates SOUL.md with full proven...
Automated soul synthesis for AI agents. Extracts identity from memory files, promotes recurring patterns to axioms (N>=3), generates SOUL.md with full proven...
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Automated soul synthesis for AI agents. Reads memory files, finds recurring patterns, generates SOUL.md with provenance tracking. No questionnaires, no templates — identity emerges from real conversations.
Requirements: Node.js 22+, Ollama running locally (
ollama serve).
/neon-soul synthesizeRun the bundled processing engine. This is a single exec command:
exec node {baseDir}/scripts/neon-soul.mjs synthesize
Synthesis is incremental by default — only new/changed memory files and sessions are processed. Existing signals are preserved and merged with new ones. Results from previous runs are cached (generalization, principle matching, axiom notation, tension detection) so unchanged data is never re-processed. If nothing changed since the last run, synthesis skips automatically.
The script auto-detects Ollama, reads memory files, extracts signals, promotes axioms, and generates SOUL.md. It outputs JSON.
Reporting results: Don't dump raw JSON. Present a brief, conversational summary:
Options:
--reset — Clear all synthesis data and caches, re-extract from scratch--force — Run even if no new sources detected--dry-run — Preview changes without writing--include-soul — Include existing SOUL.md as input (for bootstrapping from hand-crafted files)--memory-path <path> — Custom memory directory path--output-path <path> — Custom SOUL.md output path--time-budget <minutes> — Time budget for synthesis (default: 20). Adaptively limits session extraction based on observed LLM speed to ensure synthesis completes within budget--verbose — Show detailed progressExamples:
exec node {baseDir}/scripts/neon-soul.mjs synthesize exec node {baseDir}/scripts/neon-soul.mjs synthesize --reset exec node {baseDir}/scripts/neon-soul.mjs synthesize --force exec node {baseDir}/scripts/neon-soul.mjs synthesize --dry-run
If Ollama is not running, the script prints an error. Tell the user to start Ollama:
ollama serve
/neon-soul statusShow current soul state. Read the following files and report:
.neon-soul/state.json for last synthesis timestamp.neon-soul/synthesis-data.json for signal/principle/axiom countsmemory/ modified since last synthesisOptions:
--verbose, --workspace <path>
/neon-soul rollbackRestore previous SOUL.md from backup.
.neon-soul/backups/--force: restore most recent backup--backup <timestamp> --force: restore specific backup--list: show available backups without restoring/neon-soul auditExplore provenance across all axioms.
.neon-soul/synthesis-data.json--list: show all axioms with IDs and descriptions--stats: show statistics by tier and dimension<axiom-id>: show full provenance tree (axiom -> principles -> signals -> source files)/neon-soul trace <axiom-id>Quick single-axiom provenance lookup.
.neon-soul/synthesis-data.json<axiom-id>Set up cron to run synthesis automatically. Incremental processing and multi-layer caching mean it only does real work when new memory or sessions exist — cached runs complete in seconds.
Recommended: Every 60 minutes, isolated session, 30-minute timeout.
OpenClaw cron example:
openclaw cron add \ --name "neon-soul-synthesis" \ --every 60m \ --timeout 1800 \ --isolated \ --message "Run neon-soul synthesis: exec node {baseDir}/scripts/neon-soul.mjs synthesize --memory-path <memory-path> --output-path <output-path>. Share a brief, warm summary of what changed — highlight any new patterns, axioms, or growth. If nothing changed, just a calm one-liner."
Or run manually:
/neon-soul synthesize
Why cron over heartbeat:
| What | Path |
|---|---|
| Memory files | (diary, preferences, reflections) |
| Soul output | |
| State | |
| Backups | |
| Synthesis data | |
| Caches | , , |
NEON-SOUL processes personal memory files to synthesize identity. Your data stays on your machine.
What NEON-SOUL does NOT do:
Before running synthesis:
memory/ directory--dry-run to preview what will be processedOllama not running:
curl http://localhost:11434/api/tags to check. Start with ollama serve.
Bullet lists instead of prose: When prose generation fails, NEON-SOUL falls back to bullet lists. Usually means Ollama timed out or the model isn't loaded. Run synthesis again.
Stale results after model change: Caches are keyed by model ID. Switching models automatically invalidates cached results. Use
--reset if you want a clean start.No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.