# Goodmem:python

> Use when the user wants to write Python code that interacts with GoodMem — creating embedders, spaces, memories, retrieval, managing API keys, etc. Provides the complete SDK reference for the goodmem Python package.

- **Type:** Skill
- **Install:** `agentstack add skill-pair-systems-inc-goodmem-claude-code-plugin-python`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [PAIR-Systems-Inc](https://agentstack.voostack.com/s/pair-systems-inc)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [PAIR-Systems-Inc](https://github.com/PAIR-Systems-Inc)
- **Source:** https://github.com/PAIR-Systems-Inc/goodmem-claude-code-plugin/tree/main/skills/python

## Install

```sh
agentstack add skill-pair-systems-inc-goodmem-claude-code-plugin-python
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

You have access to the GoodMem Python SDK. Use it to write Python code that accomplishes the user's request.

See [reference.md](reference.md) for the complete API reference including all method signatures,
convenience shortcuts, available model identifiers, error handling, and common patterns.

Key principles:
- Context managers recommended: `with Goodmem(...) as client:` (plain construction is fine in short scripts)
- For create methods, pass flat kwargs (convenience transforms handle the rest)
- For update methods, pass either a typed request object or a plain dict
- Use `model_identifier` for embedders/LLMs/rerankers — the SDK auto-infers provider, endpoint, etc.
- Use `api_key="sk-..."` on create (not `credentials`) — the SDK builds the credential struct
- Iterate paginated results directly: `for item in client.spaces.list():`
- Use `stream=False` on retrieve if you want a plain list instead of a stream
- **SaaS endpoints require `api_key`**: creating an embedder/LLM/reranker for a known SaaS provider (OpenAI, Cohere, Voyage, Jina, Anthropic, Google, Mistral) without `api_key` raises `ValueError: Provider '...' at '...' requires an API key.` — always pass `api_key="sk-..."`

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [PAIR-Systems-Inc](https://github.com/PAIR-Systems-Inc)
- **Source:** [PAIR-Systems-Inc/goodmem-claude-code-plugin](https://github.com/PAIR-Systems-Inc/goodmem-claude-code-plugin)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-pair-systems-inc-goodmem-claude-code-plugin-python
- Seller: https://agentstack.voostack.com/s/pair-systems-inc
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
