# vtex-io-client-integration

Guides backend integrations in VTEX IO apps using @vtex/api and @vtex/clients. Helps select client classes, configure runtime options, and replace raw HTTP calls.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1100 installs · ★ 46
- Author: vtex
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/vtex/skills/tree/HEAD/skills/vtex-io-client-integration/SKILL.md
- Updated: 2026-10-14
- HTML: https://affpapa.org/en/nevibecode/skills/vtex-io-client-integration

## What it does

This skill establishes conventions for outbound HTTP calls in VTEX IO backend services. It directs developers toward prebuilt packages in `@vtex/api` and `@vtex/clients` for checkout and catalog endpoints. For third-party APIs, it prescribes `ExternalClient`. It registers everything in `node/clients/index.ts` through `IOClients`. Handlers access instances strictly via `ctx.clients`.

Direct calls with `fetch`, `axios`, or `got` are banned in VTEX IO because raw libraries discard platform authentication and telemetry headers. Transport configuration belongs in `InstanceOptions` on the client class. The guide suggests timeouts between 1000 and 3000 ms along with small retry limits for idempotent calls.

The scope remains strictly on network transport. It explicitly omits storefront components, GraphQL schemas, route permissions, and `manifest.json` contracts.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-client-integration -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/vtex-io-client-integration/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/vtex-io-client-integration/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-client-integration -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/vtex-io-client-integration/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-client-integration -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/vtex-io-client-integration/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install vtex/skills vtex-io-client-integration
```

2. **Manually: put the files in place**
- File: `.github/skills/vtex-io-client-integration/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-client-integration -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/vtex/skills --path skills/vtex-io-client-integration
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/vtex-io-client-integration/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-client-integration -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/vtex/skills/tree/HEAD/skills/vtex-io-client-integration/SKILL.md

## When to use it
- replace `axios` and `fetch` calls with VTEX IO client classes
- implement external API integrations using `ExternalClient`
- register custom clients in `node/clients/index.ts` via `IOClients`
- configure `InstanceOptions` with timeouts, retries, and telemetry metrics
- access native commerce clients through `ctx.clients` in backend handlers

## Example prompts
- Create an `ExternalClient` subclass in `node/clients/` for a third-party payment gateway
- Refactor this handler to remove `axios` and use `ctx.clients` instead
- Configure `InstanceOptions` for our order client with a 2000 ms timeout and two retries

## Similar
- [mcp-builder](https://affpapa.org/en/nevibecode/skills/mcp-builder.md) — skill · 130949 installs
- [claude-api](https://affpapa.org/en/nevibecode/skills/claude-api.md) — skill · 74198 installs
- [lark-im](https://affpapa.org/en/nevibecode/skills/lark-im.md) — skill · 472900 installs
- [lark-event](https://affpapa.org/en/nevibecode/skills/lark-event.md) — skill · 466800 installs
- [caveman-discover](https://affpapa.org/en/nevibecode/skills/caveman-discover.md) — skill · 104400 installs
- [migration](https://affpapa.org/en/nevibecode/skills/migration.md) — skill · 103900 installs

From the same set: [vtex/skills](https://affpapa.org/en/nevibecode/by/vtex/skills.md) — 38 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
