> ## Documentation Index
> Fetch the complete documentation index at: https://vibes-sdk.a7ul.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Skill

> Give your coding assistant complete knowledge of @vibesjs/sdk  -  install in one command.

The `@vibesjs/sdk` agent skill gives your coding assistant (Claude Code or any compatible agent) complete, up-to-date knowledge of the framework API  -  tools, agents, toolsets, dependency injection, structured output, streaming, testing, graph workflows, evals, MCP, and more.

Once installed, your agent writes idiomatic `@vibesjs/sdk` code without needing to look up documentation.

## Install

<CodeGroup>
  ```bash Project-level (recommended) theme={null}
  mkdir -p .claude/agents && curl -fsSL https://raw.githubusercontent.com/a7ul/vibes/main/packages/sdk/skills/vibes-sdk.md -o .claude/agents/vibes-sdk.md
  ```

  ```bash Global (all projects) theme={null}
  mkdir -p ~/.claude/agents && curl -fsSL https://raw.githubusercontent.com/a7ul/vibes/main/packages/sdk/skills/vibes-sdk.md -o ~/.claude/agents/vibes-sdk.md
  ```
</CodeGroup>

<Tip>
  **Project-level** installs the skill only for this project. **Global** makes it available across all your projects. Project-level is recommended so the skill version stays in sync with your `@vibesjs/sdk` version.
</Tip>

## Manual install

If you prefer not to use `curl`, copy `vibes-sdk.md` from the [`skills/`](https://github.com/a7ul/vibes/tree/main/packages/sdk/skills) directory of this repo to:

* **Project-level**: `.claude/agents/vibes-sdk.md` in your project root
* **Global**: `~/.claude/agents/vibes-sdk.md`

## Usage

After installing, reference the skill explicitly:

```
Use the vibes-sdk skill to help me build an agent that...
```

Or just start working  -  Claude Code picks it up automatically when it detects `@vibesjs/sdk` in your project.

## How it works

The skill does **not** embed a static copy of the API. Instead it instructs the agent to:

1. **Fetch live docs via [Context7](https://context7.com)** (if available)  -  always reflects the latest published version
2. **Fall back to fetching docs directly from GitHub** via `WebFetch`
3. **Apply a small set of static "gotchas"**  -  non-obvious patterns that are easy to get wrong regardless of framework version

This means the skill stays accurate as the framework evolves  -  no manual updates needed.

## Porting pydantic-ai plugins

The `port-pydantic-ai-community-plugins` skill guides you through porting any Python pydantic-ai community plugin to a TypeScript `@vibesjs/sdk` community toolset.

<CodeGroup>
  ```bash Project-level (recommended) theme={null}
  mkdir -p .claude/agents && curl -fsSL https://raw.githubusercontent.com/a7ul/vibes/main/packages/sdk/skills/port-pydantic-ai-community-plugins.md -o .claude/agents/port-pydantic-ai-community-plugins.md
  ```

  ```bash Global (all projects) theme={null}
  mkdir -p ~/.claude/agents && curl -fsSL https://raw.githubusercontent.com/a7ul/vibes/main/packages/sdk/skills/port-pydantic-ai-community-plugins.md -o ~/.claude/agents/port-pydantic-ai-community-plugins.md
  ```
</CodeGroup>

The skill covers:

* **Conceptual mapping** — Python pydantic-ai constructs → TypeScript vibes equivalents
* **Step-by-step conversion** — from reading Python source to finished TypeScript
* **Worked example** — pydantic-ai-todo → `TodoToolset`
* **Quick reference** — `Toolset<TDeps>`, `tool()`, `plainTool()` snippets
* **Contributing** — where to add new toolsets and how to open a PR

See the [Community](/community/overview) section for existing community toolsets you can use today.

## Keeping it updated

The skill is versioned alongside the framework. When you upgrade `@vibesjs/sdk`, re-run the install command to pull the latest skill.

```bash theme={null}
# Re-run the same install command to update
curl -fsSL https://raw.githubusercontent.com/a7ul/vibes/main/packages/sdk/skills/vibes-sdk.md -o .claude/agents/vibes-sdk.md
```
