
**Skill Interface:**

Skills should adhere to a defined interface for communication with the Dialogue Manager.  This interface typically includes:

*   **Input:** A JSON object containing the parameters required by the skill.
*   **Output:** A JSON object containing the results of the skill.
*   **Error Handling:**  Skills should handle errors gracefully and return informative error messages.

### 2.3 Memory Integration

AIVA's memory module allows skills to store and retrieve information, enabling personalization and context awareness.

*   **Memory Access:** Skills can access the memory module through a dedicated API.  This API typically provides functions for:
    *   `get(key)`: Retrieves a value from memory based on a key.
    *   `set(key, value)`: Stores a value in memory with a given key.
    *   `delete(key)`: Deletes a value from memory.
*   **Memory Scope:**  Memory can be scoped to different levels:
    *   **User-level:**  Information specific to a particular user.
    *   **Conversation-level:**  Information specific to the current conversation.
    *   **Skill-level:**  Information specific to a particular skill.
*   **Example (Python):**

