***

title: cleanup
slug: /reference/python/agents/skill-base/cleanup
description: Release resources when the skill is removed or the agent shuts down.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

Called when the skill is removed or the agent shuts down. Override to release
resources, close connections, cancel background tasks, etc.

## **Returns**

`None`

## **Example**

```python {11}
from signalwire.core.skill_base import SkillBase

class DatabaseSkill(SkillBase):
    SKILL_NAME = "database"
    SKILL_DESCRIPTION = "Database query skill"

    def setup(self) -> bool:
        self.connection = create_connection()
        return True

    def cleanup(self):
        if hasattr(self, "connection"):
            self.connection.close()
            self.logger.info("Database connection closed")

    def register_tools(self):
        pass
```