"Guide Wren LangChain, LangGraph, and Pydantic AI integrations
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill sdk-integrations --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Sdk Integrations?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-sdk-integrations)More formats (shields.io, HTML) on the badges page.
---
name: sdk-integrations
description: "Guide Wren LangChain, LangGraph, and Pydantic AI integrations
through WrenToolkit, project prerequisites, tool contracts, memory controls,
and error recovery."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# Wren Framework SDKs
Use this sub-skill when an application agent should consume an existing,
CLI-prepared Wren project through LangChain/LangGraph or Pydantic AI.
## Shared Preconditions
1. Install the framework package and the datasource/memory extras actually used.
2. Prepare the project first:
```bash
wren context validate
wren context build
```
3. Ensure `wren_project.yml` and `target/mdl.json` are present before calling
`WrenToolkit.from_project(...)`.
4. Keep connection configuration in the Wren profile plus environment-backed
values. The toolkit reads the project and resolves profile state; it does not
invent a database connection.
## LangChain / LangGraph
```python
from wren_langchain import WrenToolkit
from langchain.agents import create_agent
toolkit = WrenToolkit.from_project("analytics-project")
tools = toolkit.get_tools(include_memory_write=False)
agent = create_agent("openai:gpt-4o", tools=tools, system_prompt=toolkit.system_prompt(tools=tools))
```
Use `get_tools(..., raise_on_error=True)` only when the host loop should receive
exceptions instead of an LLM-readable error envelope.
## Pydantic AI
```python
from wren_pydantic import WrenToolkit
from pydantic_ai import Agent
toolkit = WrenToolkit.from_project("analytics-project")
toolset = toolkit.toolset(include_memory_write=False)
agent = Agent("openai:gpt-4o", instructions=toolkit.instructions(toolset=toolset), toolsets=[toolset])
```
Set `takes_ctx=True` only when combining Wren tools with a deps-typed Pydantic
AI toolset.
## Tool Selection Rules
- Keep `wren_dry_plan` available when an agent may generate nontrivial SQL; it
is the cheap semantic check before `wren_query`.
- Keep `wren_list_models` available so an agent can inspect its modeled surface
instead of hallucinating table names.
- Allow memory writes only when the host has an explicit policy for persisting
accepted user questions and SQL; otherwise set `include_memory_write=False`.
- Do not reuse a toolkit after intentionally switching project/profile context;
create a new instance so connection and project assumptions are explicit.
## References and Helper
- Read `references/langchain.md` for tool names, envelopes, and prompt behavior.
- Read `references/pydantic-ai.md` for typed tools and retry behavior.
- Read `references/tool-contracts.md` to keep the agent prompt synchronized
with the tools actually supplied.
- Read `references/troubleshooting.md` for project, profile, memory, and
framework errors.
- Run `scripts/sdk_project_probe.py --project <directory>` to check project
prerequisites and import available framework packages without making a query.
## Guardrails
- A toolkit is one project context. Use separate toolkits for separate Wren
projects rather than assuming profile changes hot-swap an existing toolkit.
- Memory tools are auto-detected from project state. Do not promise fetch/recall
or memory write tools when the relevant backend/path is absent.
- LLM-facing query tools cap output. Write aggregation SQL rather than asking a
tool for an unbounded extract.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!