# Agent Skills

## Install skills for best results

Agents get the basics right from the package name alone. [Skills](https://agentskills.io) teach them the current
APIs for the rest, like test fixtures and real-time managers.

If your app already has `@data-client` packages, link the skills they ship, matched to their versions:

```bash
npx --no data-client-skills
```

Otherwise, install skill [/data-client-setup](https://skills.sh/reactive/data-client/data-client-setup):

```bash
npx skills add reactive/data-client --skill data-client-setup
```

Then run it in your agent's chat:

```prompt
/data-client-setup
```

It detects your framework and API style (REST, GraphQL, custom), installs the matching skills below, wires up the
provider, and migrates existing endpoints.

### Install all skills up front

To install every skill for your framework now instead, without letting your agent run installs:

```bash
npx skills add reactive/data-client \
  --skill data-client \
  --skill data-client-setup \
  --skill data-client-manager \
  --skill data-client-schema \
  --skill data-client-v0.18-migration \
  --skill data-client-rest \
  --skill path-to-regexp-v8-migration \
  --skill data-client-react \
  --skill data-client-react-testing \
  --skill data-client-rest-setup \
  --skill data-client-graphql-setup \
  --skill data-client-endpoint-setup
```

```bash
# after installing Data Client: links the skills its packages ship
npx --no data-client-skills
```

The **Installed packages** tab links the skills each installed `@data-client/*` package ships into `.agents/skills`
(with `.claude/skills` linking to it), where Claude Code, Cursor and Codex load them, matched to that package's version. Commit the links. They follow upgrades,
and running it again picks up skills from packages you add or upgrade. On Windows, commit the links only with Developer Mode on and
`git config core.symlinks true`; otherwise leave them uncommitted and rerun the command after installing. The Claude Code, Cursor and Codex plugins set up apps that don't have Data
Client yet. If you use [TanStack Intent](https://tanstack.com/intent), it loads the same package skills.

### Available Skills

- [**`/data-client`**](https://skills.sh/reactive/data-client/data-client) — starts here when you ask your agent to add or use Data Client, and routes it to setup or the skill for the task.
- [**`/data-client-setup`**](https://skills.sh/reactive/data-client/data-client-setup) — installs and configures Data Client for your framework and API style, along with the skills it needs.
- [**`/data-client-rest-setup`**](https://skills.sh/reactive/data-client/data-client-rest-setup) — sets up `@data-client/rest` and migrates existing
  `fetch`/`axios` clients.
- [**`/data-client-endpoint-setup`**](https://skills.sh/reactive/data-client/data-client-endpoint-setup) — wraps custom async functions with `Endpoint`
  for non-REST and non-GraphQL workflows.
- [**`/data-client-graphql-setup`**](https://skills.sh/reactive/data-client/data-client-graphql-setup) — configures `@data-client/graphql` and `GQLEndpoint`
  for GraphQL APIs.
- [**`/data-client-schema`**](https://skills.sh/reactive/data-client/data-client-schema) — designs `Entity`, `Collection`, `Union`, `Query`,
  and related schemas.
- [**`/data-client-rest`**](https://skills.sh/reactive/data-client/data-client-rest) — defines REST APIs with `resource()`, `RestEndpoint`,
  CRUD methods, and response parsing.
- [**`/data-client-manager`**](https://skills.sh/reactive/data-client/data-client-manager) — implements custom `Manager`s for websockets, SSE,
  polling, subscriptions, logging, and middleware.

* [**`/data-client-react`**](https://skills.sh/reactive/data-client/data-client-react) — uses `useSuspense`, `useFetch`, `useQuery`, `useLive`,
  and mutation hooks, and [debugs your running app](https://dataclient.io/docs/getting-started/debugging.md#debugging-with-agents) from a browser tool such as Cursor's browser, Chrome DevTools MCP, or Playwright MCP.
* [**`/data-client-react-testing`**](https://skills.sh/reactive/data-client/data-client-react-testing) — writes React tests with `renderDataHook`,
  fixtures, interceptors, and `nock`.

Browse the full catalog at [skills.sh/reactive/data-client](https://skills.sh/reactive/data-client).

## Set up by hand

To install the packages and add the provider yourself, follow [Installation](https://dataclient.io/docs/getting-started/installation.md).

Every docs page is also available as markdown by adding `.md` to its URL, like [/docs/api/useSuspense.md](https://dataclient.io/docs/api/useSuspense.md).
[llms.txt](https://dataclient.io/llms.txt) lists them all, and
[llms-full.txt](https://dataclient.io/llms-full.txt) holds all React, REST and GraphQL docs in one file.
