---
name: mcp-memory-operator
description: Save, retrieve, and curate operational memory in memory-node with safe hygiene rules (no secrets, no noise, project-scoped context) and concise handoff notes. Use when the task needs reusable decisions, validated workarounds, or cross-session continuity.
---

# MCP Memory Operator

Skill per usare `memory-node` come memoria operativa verificabile, senza trasformarla in fonte autoritativa.

## Quick Routing

Usa questa skill quando serve:

- salvare decisioni tecniche gia' validate;
- registrare root cause, workaround e vincoli ambiente riusabili;
- fare handoff sintetici tra fasi o sessioni;
- recuperare contesto operativo prima di un nuovo intervento.

Non usarla come intake multi-sorgente iniziale: per quello usa `mcp-technical-analyst`.

## Regole Permanenti

1. La memoria e' contesto operativo: verificare sempre su docs/codice/ticket prima di trattarla come stato attuale.
2. Usare `project_path` esplicito nelle operazioni project-scoped.
3. Non salvare segreti, token, payload sensibili, stack trace lunghi o output rumorosi.
4. Salvare solo informazioni ad alto riuso: decisioni, pattern bug, workaround validati, convenzioni locali.
5. Evitare duplicati: aggiornare sintesi o creare entry nuova solo se cambia il fatto operativo.
6. Nei risultati, mantenere visibili `source_type`, `source_ref`, `status`, `confidence`, `verification_hint`.

## Workflow Base

1. `memory_status` per verificare stato store/progetto e feature.
2. `memory_list_scopes` / `memory_list_topics` / `memory_list_tags` quando serve orientarsi nella tassonomia del progetto.
3. `memory_search` per vedere se il contesto esiste gia'.
4. `memory_add_entry` solo quando il contenuto e' realmente riusabile.
5. `memory_read_entry` per handoff o verifica puntuale prima di agire.
6. `memory_invalidate_entry` quando una memoria e' obsoleta ma va mantenuta storicamente.

## Contratto M2

Tool disponibili:

- `memory_status`
- `memory_add_entry`
- `memory_search`
- `memory_read_entry`
- `memory_list_scopes`
- `memory_list_topics`
- `memory_list_tags`
- `memory_invalidate_entry`

Non promettere o usare tool futuri: update/delete/import/export/resources/prompts/link/vector restano fuori scope.

Semantica operativa M2:

- `memory_status` e `memory_list_*` sono read-only e non materializzano righe progetto.
- La registrazione progetto avviene nei flussi di write, in particolare `memory_add_entry`.
- I listing filtrano per `status`, default `active`.
- `memory_invalidate_entry` e' invalidazione soft idempotente; usare `reason` sintetica e non sensibile.

Campi controllati dal runtime:

- `source_type`: `agent_note`, `decision`, `handoff`, `ticket_summary`, `commit_context`, `doc_observation`, `file_observation`, `bug_pattern`, `workaround`, `user_preference`, `environment_note`;
- `status` in search: `active`, `invalidated`, `archived`, `superseded`;
- limiti configurabili su `project_id`, `scope`, `topic`, `tags`, `title`, `summary`, `source_ref`, `source_uri`, `content`.

## Qualita' minima entry

Una entry e' buona se:

- descrive un fatto operativo chiaro;
- include origine (`source_type` e `source_ref` quando disponibili);
- ha scope/topic utili al recupero;
- evita ridondanza con documentazione ufficiale.

## Sinergie

- con `mcp-technical-analyst`: consolidamento evidenze e decision-log a fine analisi;
- con `mcp-master-orchestrator`: checkpoint e handoff tra fasi multi-skill;
- con skill specialistiche: persistenza di convenzioni dominio specifiche dopo fix validati;
- con `mcp-docs-navigator`: separare docs ufficiali (docs-node) da memoria operativa (memory-node).

## References

- [references/when-to-save-memory.md](references/when-to-save-memory.md)
- [references/memory-hygiene.md](references/memory-hygiene.md)
- [references/project-handoff.md](references/project-handoff.md)
