Awesome-omni-skill mlp-continuity
Full-stack memory continuity with MLP storage. Combines the Continuity Framework's reflection capabilities with encrypted IPFS/Pinata storage via the Memory Ledger Protocol.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/design/mlp-continuity" ~/.claude/skills/diegosouzapw-awesome-omni-skill-mlp-continuity && rm -rf "$T"
manifest:
skills/design/mlp-continuity/SKILL.mdsource content
MLP Continuity - Full Stack Integration
Combines asynchronous reflection with sovereign, encrypted memory storage via the Memory Ledger Protocol.
Architecture
┌─────────────────────────────────────────────────────────────┐ │ Full Stack Continuity │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Continuity Framework (Reflection) │ │ │ │ Classifier → Scorer → Generator → Integration │ │ │ └───────────────────────┬─────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ MLP Storage Layer │ │ │ │ Encryption → IPFS → Envelopes │ │ │ └───────────────────────┬─────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Decentralized Storage │ │ │ │ IPFS / Pinata / Arweave │ │ │ └─────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘
Features
| Feature | Reflection-Only | Full Stack |
|---|---|---|
| Memory extraction | ✓ | ✓ |
| Confidence scoring | ✓ | ✓ |
| Question generation | ✓ | ✓ |
| Local markdown storage | ✓ | ✓ |
| Encrypted storage | ✗ | ✓ |
| IPFS/Pinata persistence | ✗ | ✓ |
| Cross-platform portability | ✗ | ✓ |
| Cryptographic attestations | ✗ | ✓ |
| Identity kernel integration | ✗ | ✓ |
| Context pack generation | ✗ | ✓ |
Commands
All Continuity Commands
Includes all commands from the base Continuity skill:
mlp-continuity reflect [--session <transcript>] mlp-continuity questions [--limit 5] mlp-continuity status mlp-continuity greet mlp-continuity resolve <question-id>
MLP-Specific Commands
# Store a memory to IPFS with encryption mlp-continuity store "Memory content" --type fact --tags "tag1,tag2" # Load a memory from IPFS mlp-continuity load <envelope-cid> # Generate a context pack for session initialization mlp-continuity context-pack [--intent general_session] # Export identity kernel mlp-continuity export-identity <output-path> # Import identity kernel from another platform mlp-continuity import-identity <input-path> # Sync local memories to MLP storage mlp-continuity sync # Show MLP storage status mlp-continuity mlp-status
Configuration
Environment Variables
# Continuity settings export CONTINUITY_MEMORY_DIR=~/clawd/memory export CONTINUITY_IDLE_THRESHOLD=1800 export CONTINUITY_QUESTION_LIMIT=3 # MLP storage settings export MLP_CONFIG_PATH=~/.openclaw/mlp-config.yaml export PINATA_JWT=your_pinata_jwt_token export PINATA_GATEWAY=your_gateway.mypinata.cloud
Config File (~/.openclaw/mlp-config.yaml)
mlp_version: "0.2" storage: provider: pinata jwt: ${PINATA_JWT} gateway: ${PINATA_GATEWAY} # Or use local for development: # provider: local # path: ~/.openclaw/mlp-blobs encryption: algorithm: "XChaCha20-Poly1305" key_path: ~/.openclaw/keys identity: kernel_path: ~/.openclaw/identity-kernel.yaml epoch_duration: "P30D"
Workflow
Session Start
- Load IdentityKernel from MLP storage
- Generate ContextPack with relevant memories
- Load pending questions from continuity store
- Surface questions in greeting
const result = await skill.onSessionStart(); // Returns: { contextPack, questions, identity }
Session End
- Run Continuity reflection (classifier → scorer → generator)
- Encrypt new memories
- Store encrypted blobs to IPFS
- Create MLP envelopes with attestations
- Save questions for next session
const result = await skill.onSessionEnd(session); // Returns: { memories_stored, questions_generated, envelope_cids }
Multi-Agent Configuration
Add to your openclaw.json:
{ "agents": { "list": [ { "id": "main" }, { "id": "continuity-classifier", "workspace": "~/clawd/continuity-agents/classifier", "model": "anthropic/claude-sonnet-4", "tools": { "allow": ["read"] } }, { "id": "continuity-scorer", "workspace": "~/clawd/continuity-agents/scorer", "model": "anthropic/claude-sonnet-4", "tools": { "allow": ["read"] } }, { "id": "continuity-generator", "workspace": "~/clawd/continuity-agents/generator", "model": "anthropic/claude-sonnet-4", "tools": { "allow": ["read"] } } ] } }
Memory Flow
Conversation │ ▼ ┌────────────────────────────────┐ │ Continuity Reflection │ │ - Classify memories │ │ - Score confidence │ │ - Generate questions │ └────────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ MLP Storage Bridge │ │ - Convert to MLP format │ │ - Encrypt content │ │ - Sign with identity │ └────────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ IPFS/Pinata │ │ - Store encrypted blob │ │ - Get CID │ └────────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ MLP Envelope │ │ - Create envelope │ │ - Add attestations │ │ - Store to ledger │ └────────────────────────────────┘
Trust Model
| Component | Trust Level | Notes |
|---|---|---|
| Your agent | Trusted | Signs memories with identity |
| Continuity sub-agents | Partial | Read-only, no external access |
| Storage (IPFS) | Untrusted | Only sees encrypted data |
| Platform | Untrusted | No access to decryption keys |
Example: Full Reflection + Storage
import { MLPContinuity } from 'mlp-continuity'; const skill = new MLPContinuity(); await skill.init(); // Run reflection on session const reflection = await skill.reflect(conversation); // → Extracts memories, scores confidence, generates questions // Memories are automatically encrypted and stored // → Returns envelope CIDs for each memory // Next session const context = await skill.generateContextPack(); // → Loads identity kernel, decrypts relevant memories, compiles pack
Compatibility
- Node.js: >= 18.0.0
- MLP Spec: v0.2
- Continuity Framework: v1.0.0
- Storage: Pinata, IPFS, local (dev mode)
Migration from Continuity-Only
If you started with the continuity-only skill (
skills/openclaw/continuity/):
# Sync existing local memories to MLP storage mlp-continuity sync --source ~/clawd/memory # This will: # 1. Read all memories from MEMORY.md # 2. Encrypt each memory # 3. Store to IPFS # 4. Create MLP envelopes # 5. Keep local copies as backup
Related
- Continuity Framework — Core reflection library
- MLP Storage — Encrypted storage layer
- Continuity-Only Skill — Local storage without MLP