--- name: store-data description: "[Deprecated] Do not use. Storing data follows the live Neotoma MCP instructions; no skill is needed." deprecated: true triggers: - store this - remember this - save to neotoma - persist - store entities --- # Store Data in Neotoma (deprecated) Retired: this skill duplicated the per-turn retrieval/store/idempotency/ relationship guidance that the live Neotoma MCP tool instructions already provide at session start, and had drifted from that contract. No skill needs to be loaded to store structured data in a connected MCP session. This file is kept on disk only so existing links (symlinks, SkillHub listings, GitHub blob links) keep resolving. It is excluded from fresh installs and from `available_skills`. ## When to use When the user wants to persist structured data (contacts, tasks, events, transactions, notes, etc.) or files (PDFs, CSVs, images) into Neotoma's memory layer. ## Workflow 1. **Check for existing records** before storing to avoid duplicates. - Use `retrieve_entity_by_identifier` for names, emails, or identifiers. - Use `retrieve_entities` with entity_type filter for related records. 2. **Extract entities** from the user's message or attached files. - Use descriptive `entity_type` values (contact, task, event, transaction, receipt, note, etc.). - Include ALL fields from the source data; unknown fields go to raw_fragments automatically. 3. **Store with a single call** when possible. - Use the MCP **`store`** tool for entities-only, file-only (bytes → content-addressed source row), or combined file + entities + optional `interpretation`. - Always include `idempotency_key` for replay safety. 4. **Link related entities** using `create_relationship`. - PART_OF: message belongs to conversation, item belongs to container. - REFERS_TO: message references an entity. - EMBEDS: container holds an asset (file). - SUPERSEDES: new version replaces old. 5. **Confirm storage** using memory-related language ("stored in memory", "will remember"). ## Entity type discovery Before inventing a new entity_type, check what schemas already exist: - Use `list_entity_types` with a keyword search. - If no match, use a descriptive snake_case type; Neotoma auto-creates the schema. ## Required fields - `idempotency_key`: unique per store call (e.g. `conversation-{id}-{turn}-{timestamp}`) - `entity_type`: descriptive type for each entity - All source fields: include everything, not just known schema fields ## Do not - Skip the duplicate check for named entities (people, companies, places). - Omit fields from source data because they are not in the schema. - Store without an idempotency_key.