---
title: "SDK agent memory and skills"
canonical: https://trickest.com/docs/developer-tools/sdk/memory-skills
description: "Store and search agent memory and list available skills with the Trickest TypeScript SDK."
---

# SDK agent memory and skills

## `client.memory`

Store notes, logs, session chunks, and plans in a vault. Examples use an authenticated `client: TrickestClient` and a string `vaultId`.

| Method                                         | Description                                          |
| ---------------------------------------------- | ---------------------------------------------------- |
| `list(vaultId, type?, options?)`               | Entries (filter by `MemoryType`)                     |
| `get(id, options?)`                            | By UUID                                              |
| `getByKey(vaultId, key, type, options?)`       | By key                                               |
| `set(vaultId, data, options?)`                 | Create or update with `CreateMemory`                 |
| `append(id, content, options?)`                | Append to entry                                      |
| `delete(id, options?)` / `deleteByKey(…)`      | Remove                                               |
| `search(vaultId, query, options?)`             | Search; options combine `limit` and request controls |
| `log(vaultId, content, options?)`              | Daily log entry                                      |
| `backup(vaultId)` / `restore(vaultId, backup)` | Export or restore memory entries in one vault        |
| `export` / `import`                            | Aliases for backup/restore                           |

```ts
const entry = await client.memory.set(vaultId, {
  key: "scope:notes",
  content: "In-scope: *.example.com",
  type: "section",
  importance: 4,
});

console.log(entry.id);
const found = await client.memory.getByKey(vaultId, "scope:notes", "section");

console.log(found.content);

const hits = await client.memory.search(vaultId, "engagement scope", {
  limit: 5,
});
for (const hit of hits) {
  console.log(hit.id, hit.content, hit.similarity);
}
```

`getByKey()` requires a memory type and throws if no entry matches. A memory backup contains memory entries and export metadata; it does not include workflows, files, skills, or the rest of the vault.

**Types:** `MemoryEntry`, `MemoryType`, `CreateMemory`, `MemorySearchResult`, `MemoryBackup`

<Info>**CLI:** [Memory](/docs/developer-tools/cli/memory).</Info>

## `client.skills`

Use `list(vaultId, options?)` to inspect the built-in and installed skills
available in a vault you can access.

```ts
for await (const skill of client.skills.list(vaultId)) {
  console.log(skill.id, skill.name);
}
```

<Note>
  The package also declares `get`, `install`, and `delete`, but these operations
  are not available to standard accounts. Use `list()` for discovery. For local
  coding-agent setup, follow [Agent integrations](/docs/developer-tools/sdk/agent-integrations).
</Note>

**Types:** `Skill`, `InstallSkill`

## Related

<CardGroup cols={2}>
  <Card title="Sessions" icon="robot" href="/docs/developer-tools/sdk/sessions">
    Agent loads skills during turns.
  </Card>
  <Card
    title="CLI sessions & skills"
    icon="terminal"
    href="/docs/developer-tools/cli/sessions-skills"
  >
    Shell commands for the same resources.
  </Card>
</CardGroup>

---
_Markdown source of https://trickest.com/docs/developer-tools/sdk/memory-skills._
