{"skill":{"slug":"hub1","displayName":"Hub1","summary":"Provides persistent, wallet-authenticated semantic memory storage, recall, reputation tracking, shared pools, and time-travel snapshots for autonomous agents.","description":"# OpenClawdy\n\n**Memory Infrastructure for Autonomous Agents**\n\nGive your agent persistent memory that survives sessions. Store facts, preferences, decisions, and learnings - recall them semantically whenever needed. Advanced features include reputation tracking, cross-agent memory pools, and time-travel snapshots.\n\n## Installation\n\n```bash\nopenclaw skill install openclawdy\n```\n\nOr add to your agent config:\n```yaml\nskills:\n  - url: https://openclawdy.xyz/SKILL.md\n    name: openclawdy\n```\n\n## Authentication\n\nOpenClawdy uses wallet-based authentication. Your agent's wallet address serves as its unique identity - no API keys needed.\n\nBefore using memory tools, ensure your agent has a wallet configured. Each wallet gets an isolated memory vault.\n\n---\n\n## Core Tools\n\n### memory_store\n\nStore information for later retrieval.\n\n**Parameters:**\n- `content` (required): The information to remember\n- `type` (optional): Category of memory - one of: `fact`, `preference`, `decision`, `learning`, `history`, `context`. Default: `fact`\n- `tags` (optional): Array of tags for organization\n\n**Example:**\n```\nStore this as a preference: User prefers TypeScript over JavaScript for all new projects\n```\n\n```\nRemember this fact with tags [\"project\", \"tech-stack\"]: The current project uses Next.js 14 with PostgreSQL\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"mem_abc123\",\n    \"content\": \"User prefers TypeScript over JavaScript\",\n    \"type\": \"preference\",\n    \"tags\": [],\n    \"createdAt\": \"2025-02-10T12:00:00Z\"\n  }\n}\n```\n\n---\n\n### memory_recall\n\nRetrieve relevant memories using semantic search. Finds memories by meaning, not just keywords.\n\n**Parameters:**\n- `query` (required): What to search for\n- `limit` (optional): Maximum results to return (1-20). Default: 5\n- `type` (optional): Filter by memory type\n\n**Example:**\n```\nRecall memories about programming language preferences\n```\n\n```\nWhat do I know about the user's coding style? Limit to 3 results.\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"mem_abc123\",\n      \"content\": \"User prefers TypeScript over JavaScript\",\n      \"type\": \"preference\",\n      \"relevance\": 0.95,\n      \"createdAt\": \"2025-02-10T12:00:00Z\"\n    }\n  ]\n}\n```\n\n---\n\n### memory_list\n\nList recent memories without semantic search.\n\n**Parameters:**\n- `type` (optional): Filter by memory type\n- `limit` (optional): Maximum results (1-100). Default: 20\n- `offset` (optional): Pagination offset. Default: 0\n\n**Example:**\n```\nList my recent memories\n```\n\n```\nShow all preference memories, limit 10\n```\n\n---\n\n### memory_delete\n\nDelete a specific memory by ID.\n\n**Parameters:**\n- `id` (required): The memory ID to delete\n\n**Example:**\n```\nDelete memory mem_abc123\n```\n\n---\n\n### memory_clear\n\nClear all memories in the vault. **Use with caution - this is irreversible.**\n\n**Example:**\n```\nClear all my memories (I confirm this action)\n```\n\n---\n\n### memory_export\n\nExport all memories as JSON for backup.\n\n**Example:**\n```\nExport all my memories\n```\n\n---\n\n### memory_stats\n\nGet usage statistics for your agent.\n\n**Example:**\n```\nShow my memory usage stats\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"address\": \"0x1234...\",\n    \"tier\": \"free\",\n    \"memoriesStored\": 150,\n    \"recallsToday\": 45,\n    \"limits\": {\n      \"maxMemories\": 1000,\n      \"maxRecallsPerDay\": 100\n    }\n  }\n}\n```\n\n---\n\n## Advanced Tools\n\n### memory_reputation\n\n**Track which memories lead to good outcomes.** Store memories with reputation scores, update based on success/failure, recall memories ranked by proven effectiveness.\n\n**Actions:**\n\n#### store_ranked\nStore a memory with an initial reputation score.\n\n**Parameters:**\n- `action`: `store_ranked`\n- `content` (required): The information to store\n- `type` (optional): Memory type. Default: `fact`\n- `reputation` (optional): Initial score 0.0-1.0. Default: 0.5\n\n**Example:**\n```\nStore ranked memory: \"Use retry logic for API calls\" with reputation 0.8\n```\n\n#### recall_ranked\nRetrieve memories sorted by reputation (most effective first).\n\n**Parameters:**\n- `action`: `recall_ranked`\n- `query` (required): What to search for\n\n**Example:**\n```\nRecall ranked memories about error handling strategies\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"mem_xyz\",\n      \"content\": \"Use exponential backoff for retries\",\n      \"reputation\": 0.92,\n      \"usage_count\": 15,\n      \"success_rate\": 0.93\n    }\n  ]\n}\n```\n\n#### update_reputation\nUpdate a memory's reputation based on outcome.\n\n**Parameters:**\n- `action`: `update_reputation`\n- `memory_id` (required): The memory to update\n- `outcome` (required): `success`, `failure`, or `neutral`\n- `impact` (optional): Weight of this outcome (0.0-1.0)\n\n**Example:**\n```\nUpdate reputation for mem_xyz: outcome was success\n```\n\n---\n\n### memory_pool\n\n**Cross-Agent Memory Pools** - Share knowledge between multiple agents. Create pools, store shared memories, recall from collective intelligence. Perfect for agent teams and swarms.\n\n**Actions:**\n\n#### create\nCreate a new shared memory pool.\n\n**Parameters:**\n- `action`: `create`\n- `pool_name` (required): Name for the pool\n\n**Example:**\n```\nCreate memory pool: \"research-team\"\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"pool_id\": \"pool_abc123\",\n    \"name\": \"research-team\",\n    \"created_at\": \"2025-02-10T12:00:00Z\"\n  }\n}\n```\n\n#### store\nStore a memory in a shared pool.\n\n**Parameters:**\n- `action`: `store`\n- `pool_id` (required): The pool ID\n- `content` (required): Information to share\n- `type` (optional): Memory type\n\n**Example:**\n```\nStore in pool pool_abc123: \"Found bug in authentication module - fix applied\"\n```\n\n#### recall\nSearch memories in a shared pool.\n\n**Parameters:**\n- `action`: `recall`\n- `pool_id` (required): The pool ID\n- `query` (required): What to search for\n\n**Example:**\n```\nRecall from pool pool_abc123: authentication issues\n```\n\n#### list\nList all accessible pools.\n\n**Parameters:**\n- `action`: `list`\n\n**Example:**\n```\nList my memory pools\n```\n\n---\n\n### memory_snapshot\n\n**Memory Time Travel** - Snapshot and restore agent memory states. Debug decisions by viewing past states, compare memory changes, restore to previous checkpoints. Essential for high-stakes agents.\n\n**Actions:**\n\n#### create\nCreate a snapshot of current memory state.\n\n**Parameters:**\n- `action`: `create`\n- `name` (required): Descriptive name for the snapshot\n\n**Example:**\n```\nCreate memory snapshot: \"before-major-update\"\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"snapshot_id\": \"snap_abc123\",\n    \"name\": \"before-major-update\",\n    \"memory_count\": 150,\n    \"created_at\": \"2025-02-10T12:00:00Z\"\n  }\n}\n```\n\n#### restore\nRestore memory state from a snapshot.\n\n**Parameters:**\n- `action`: `restore`\n- `snapshot_id` (required): The snapshot to restore\n- `mode` (optional): `read_only` (view only) or `overwrite` (replace current). Default: `read_only`\n\n**Example:**\n```\nRestore snapshot snap_abc123 in read_only mode\n```\n\n#### list\nList all snapshots.\n\n**Parameters:**\n- `action`: `list`\n\n**Example:**\n```\nList my memory snapshots\n```\n\n#### compare\nCompare two snapshots or a snapshot with current state.\n\n**Parameters:**\n- `action`: `compare`\n- `snapshot_id` (required): First snapshot\n- `compare_to` (optional): Second snapshot ID or `current`. Default: `current`\n\n**Example:**\n```\nCompare snapshot snap_abc123 to current state\n```\n\n**Response:**\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"added\": 12,\n    \"removed\": 3,\n    \"modified\": 5,\n    \"unchanged\": 130,\n    \"diff\": [...]\n  }\n}\n```\n\n---\n\n## Memory Types\n\n| Type | Use For | Example |\n|------|---------|---------|\n| `fact` | Objective information | \"Project uses Next.js 14\" |\n| `preference` | User/agent preferences | \"User prefers dark mode\" |\n| `decision` | Past decisions made | \"Chose PostgreSQL over MongoDB\" |\n| `learning` | Lessons learned | \"This API requires auth header\" |\n| `history` | Historical events | \"Deployed v2.1 on Jan 15\" |\n| `context` | General context | \"Working on e-commerce project\" |\n\n## Best Practices\n\n### When to Store\n- User states a preference → Store as `preference`\n- Important decision made → Store as `decision`\n- Learned something new → Store as `learning`\n- Key project fact → Store as `fact`\n\n### When to Recall\n- Starting a new session → Recall recent context\n- Before making suggestions → Check preferences\n- Encountering similar problem → Check learnings\n\n### Using Reputation\n- After successful action → Update with `outcome: success`\n- After failed approach → Update with `outcome: failure`\n- When recalling strategies → Use `recall_ranked` for proven approaches\n\n### Using Pools\n- Team of agents working together → Create shared pool\n- Knowledge that benefits multiple agents → Store in pool\n- Looking for collective wisdom → Recall from pool\n\n### Using Snapshots\n- Before major changes → Create snapshot\n- Debugging unexpected behavior → Compare to past state\n- Rolling back mistakes → Restore from snapshot\n\n### Example Workflow\n\n```\n# Session 1: User mentions preference\nUser: \"I always want you to use TypeScript\"\nAgent: [Stores as preference: \"User prefers TypeScript for all code\"]\n\n# Session 2: New task\nUser: \"Create a new API endpoint\"\nAgent: [Recalls preferences about coding]\nAgent: \"I'll create this in TypeScript based on your preference.\"\n\n# Session 3: Learning from outcome\nAgent: [Used retry logic, it worked]\nAgent: [Updates reputation: memory_id=mem_xyz, outcome=success]\n\n# Session 4: Making decisions\nAgent: [Recalls ranked memories about error handling]\nAgent: [Uses highest-reputation approach first]\n```\n\n## Pricing\n\n| Tier | Memories | Recalls/Day | Pools | Snapshots | Price |\n|------|----------|-------------|-------|-----------|-------|\n| Free | 1,000 | 100 | 1 | 3 | $0 |\n| Pro | 50,000 | Unlimited | 10 | 50 | $10/mo |\n| Enterprise | Unlimited | Unlimited | Unlimited | Unlimited | Custom |\n\n## API Endpoints\n\nBase URL: `https://openclawdy.xyz/api`\n\n### Core Endpoints\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| POST | `/memory/store` | Store a memory |\n| POST | `/memory/recall` | Semantic search |\n| GET | `/memory/list` | List memories |\n| GET | `/memory/{id}` | Get specific memory |\n| DELETE | `/memory/{id}` | Delete memory |\n| GET | `/memory/vault` | Export all |\n| DELETE | `/memory/vault` | Clear vault |\n| GET | `/agent/stats` | Usage stats |\n\n### Reputation Endpoints\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| POST | `/memory/reputation/store` | Store with reputation |\n| POST | `/memory/reputation/recall` | Recall by reputation |\n| POST | `/memory/reputation/update` | Update reputation |\n\n### Pool Endpoints\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| POST | `/memory/pool/create` | Create pool |\n| POST | `/memory/pool/store` | Store in pool |\n| POST | `/memory/pool/recall` | Recall from pool |\n| GET | `/memory/pool/list` | List pools |\n\n### Snapshot Endpoints\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| POST | `/memory/snapshot/create` | Create snapshot |\n| POST | `/memory/snapshot/restore` | Restore snapshot |\n| GET | `/memory/snapshot/list` | List snapshots |\n| POST | `/memory/snapshot/compare` | Compare snapshots |\n\n## Authentication Headers\n\nAll requests require wallet signature authentication:\n\n```\nX-Agent-Address: 0x...      # Your wallet address\nX-Agent-Signature: 0x...    # Signed message\nX-Agent-Timestamp: 123...   # Unix timestamp (ms)\n```\n\nMessage format to sign:\n```\nOpenClawdy Auth\nTimestamp: {timestamp}\n```\n\n## ACP Integration\n\nOpenClawdy is available on the Agent Commerce Protocol (ACP). Other agents can purchase memory services directly:\n\n| Service | Fee | Description |\n|---------|-----|-------------|\n| memory_store | $0.01 | Store a memory |\n| memory_recall | $0.02 | Semantic search |\n| memory_reputation | $0.02 | Reputation operations |\n| memory_pool | $0.03 | Pool operations |\n| memory_snapshot | $0.05 | Snapshot operations |\n\n## Support\n\n- Website: https://openclawdy.xyz\n- Twitter: @openclawdy\n- ACP Agent: OpenClawdy Memory\n\n## License\n\nMIT\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":349,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1771423498687,"updatedAt":1778991450551},"latestVersion":{"version":"1.0.0","createdAt":1771423498687,"changelog":"Initial release with memory infrastructure for AI agents","license":null},"metadata":null,"owner":{"handle":"topguyaii","userId":"s175arda09f90zngrw3jzakfen885wb9","displayName":"topguy_aii","image":"https://avatars.githubusercontent.com/u/257900925?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779922123798}}