Agent skill

Data Client Setup

by reactive in reactive/data-client

Install and set up @data-client/react or @data-client/vue in a project.

Apache-2.0Auto-check passedMobile

Install Data Client Setup

skills CLI
$ npx skills add reactive/data-client --skill data-client-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install reactive/data-client data-client-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/reactive/data-client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/data-client-setup .claude/skills/data-client-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
data-client-setup
GitHub stars
2k
Token cost
~2.2k tokens
SKILL.md length
753 words
Files
30 (incl. references)
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Install and set up @data-client/react or @data-client/vue in a project.

  • Works in 4 steps: Detect Package Manager → Detect Project Type → Detect Protocol Type → …
  • Tasks that involve Cross-platform mobile apps
  • SKILL.md covers Detection Steps, Installation, Provider Setup and Protocol-Specific Setup, plus 4 more sections
  • Calls npm, yarn and pnpm

What it does

Data Client Setup is an agent skill from reactive/data-client. Install and set up @data-client/react or @data-client/vue in a project. Detects project type (NextJS, Expo, React Native, Vue, plain React) and protocol (REST, GraphQL, custom), then follows the bundled protocol-specific setup guide.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 36 other files, including reference files (for example `references.json`, `references/DataClientPlugin.md` and `references/DataProvider.md`).

It sits in Mobile, covering Cross-platform mobile apps and GraphQL. It works with React, Vue.js, GraphQL and Next.js. The repository describes itself as: Async State Management without the Management. REST, GraphQL, SSE, Websockets. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Cross-platform mobile apps
  • Tasks that involve GraphQL

Example prompts

  • “/data-client-setup”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Detect Package Manager
  2. Detect Project Type
  3. Detect Protocol Type
  4. Install the Skills This Project Needs

What it can do on your machine

Read from SKILL.md and the folder at commit 6d35253. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • yarn
    • pnpm
    • claude
    • npx
    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, yarn, pnpm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Data Client Setup loads about 2.2k tokens when it runs, and up to ~83k if it reads all its reference files. Until then it costs about 63 tokens; SKILL.md has 753 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~83k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from reactive/data-client at commit 6d35253, republished under its Apache-2.0 licence (© reactive). 753 words, ~2,236 tokens.

Download SKILL.mdSave it as .claude/skills/data-client-setup/SKILL.md (or your agent's skills folder). This skill also uses 29 other files; get the full folder from GitHub.
name
data-client-setup
description
Install and set up @data-client/react or @data-client/vue in a project. Detects project type (NextJS, Expo, React Native, Vue, plain React) and protocol (REST, GraphQL, custom), then follows the bundled protocol-specific setup guide.
disable-model-invocation
true

Setup Reactive Data Client

Detection Steps

Before installing, detect the project type and protocol by checking these files:

1. Detect Package Manager

Check which lock file exists:

  • yarn.lock → use yarn add
  • pnpm-lock.yaml → use pnpm add
  • package-lock.json or bun.lockb → use npm install or bun add
2. Detect Project Type

Check package.json dependencies:

CheckProject Type
"next" in dependenciesNextJS
"expo" in dependenciesExpo
"vue" in dependenciesVue
"react-native" in dependencies (no expo)React Native
"react" in dependenciesPlain React
3. Detect Protocol Type

Scan the codebase to determine which data-fetching protocols are used:

REST Detection

Look for these patterns:

  • fetch() calls with REST-style URLs (/api/, /users/, etc.)
  • HTTP client libraries: axios, ky, got, superagent in package.json
  • Files with REST patterns: api.ts, client.ts, services/*.ts
  • URL patterns with path parameters: /users/:id, /posts/:postId/comments
  • HTTP methods in code: method: 'GET', method: 'POST', .get(, .post(
GraphQL Detection

Look for these patterns:

  • @apollo/client, graphql-request, urql, graphql-tag in package.json
  • .graphql or .gql files in the project
  • `gql`` template literal tags
  • GraphQL query patterns: query {, mutation {, subscription {
  • GraphQL endpoint URLs: /graphql
Custom Protocol Detection

For async operations that don't match REST or GraphQL:

  • Custom async functions returning Promises
  • Third-party SDK clients (Firebase, Supabase, AWS SDK, etc.)
  • IndexedDB or other local async storage
4. Install the Skills This Project Needs

Protocol setup guides are bundled in this skill, but defining and using data afterwards is covered by other Data Client skills. Install the ones that match what you detected, skipping any already installed:

DetectedSkills
Alwaysdata-client-schema, data-client-manager
React (NextJS, Expo, React Native, plain React)data-client-react, data-client-react-testing
Vuedata-client-vue, data-client-vue-testing
RESTdata-client-rest
GraphQLNone beyond Always (data-client-schema covers @data-client/graphql)
Custom asyncNone beyond Always (data-client-schema covers @data-client/endpoint)

Use the installer that installed this skill. For OpenSkills and the skills CLI, add -g if this skill lives under your home directory rather than the project.

  • Claude Code plugin (this skill is under ~/.claude/plugins/): claude plugin install react@data-client or claude plugin install vue@data-client. Either includes every skill above.
  • OpenSkills (AGENTS.md lists skills in an <available_skills> block): npx openskills install reactive/data-client/.agents/skills/<skill>, once per skill.
  • Otherwise use the skills CLI: npx skills add reactive/data-client --yes --skill <skill> --skill <skill> ...

Newly installed skills may not be loaded until the next session, so read their SKILL.md directly when this skill says to apply them.

Installation

Core Packages
FrameworkCore Package
React (all)@data-client/react + dev: @data-client/test
Vue@data-client/vue (testing included)
Install Command Examples

React (NextJS, Expo, React Native, plain React):

bash
npm install @data-client/react && npm install -D @data-client/test
yarn add @data-client/react && yarn add -D @data-client/test
pnpm add @data-client/react && pnpm add -D @data-client/test

Vue:

bash
npm install @data-client/vue
yarn add @data-client/vue
pnpm add @data-client/vue

Provider Setup

After installing, add the provider at the top-level component.

NextJS (App Router)

Edit app/layout.tsx:

tsx
import { DataProvider } from '@data-client/react/nextjs';

export default function RootLayout({ children }) {
  return (
    <html>
      <DataProvider>
        <body>
          {children}
        </body>
      </DataProvider>
    </html>
  );
}

Important: NextJS uses @data-client/react/nextjs import path.

Expo

Edit app/_layout.tsx:

tsx
import { Stack } from 'expo-router';
import { DataProvider } from '@data-client/react';

export default function RootLayout() {
  return (
    <DataProvider>
      <Stack>
        <Stack.Screen name="index" />
      </Stack>
    </DataProvider>
  );
}
React Native

Edit entry file (e.g., index.tsx):

tsx
import { DataProvider } from '@data-client/react';
import { AppRegistry } from 'react-native';

const Root = () => (
  <DataProvider>
    <App />
  </DataProvider>
);
AppRegistry.registerComponent('MyApp', () => Root);
Plain React (Vite, CRA, etc.)

Edit entry file (e.g., index.tsx, main.tsx, or src/index.tsx):

tsx
import { DataProvider } from '@data-client/react';
import { createRoot } from 'react-dom/client';

createRoot(document.getElementById('root')!).render(
  <DataProvider>
    <App />
  </DataProvider>,
);
Vue

Edit main.ts:

ts
import { createApp } from 'vue';
import { DataClientPlugin } from '@data-client/vue';
import App from './App.vue';

const app = createApp(App);

app.use(DataClientPlugin, {
  // optional overrides
  // managers: getDefaultManagers(),
  // initialState,
  // Controller,
  // gcPolicy,
});

app.mount('#app');
Show full SKILL.md (301 more words)Show less

Protocol-Specific Setup

After provider setup, follow the guide for each detected protocol. These guides are bundled copies of the standalone protocol setup skills, so they need nothing else installed.

REST APIs

Follow references/data-client-rest-setup.md, which will:

  1. Install @data-client/rest
  2. Offer to create a custom BaseEndpoint class extending RestEndpoint
  3. Configure common behaviors: urlPrefix, authentication, error handling
GraphQL APIs

Follow references/data-client-graphql-setup.md, which will:

  1. Install @data-client/graphql
  2. Create and configure GQLEndpoint instance
  3. Set up authentication headers
Custom Async Operations

Follow references/data-client-endpoint-setup.md, which will:

  1. Install @data-client/endpoint
  2. Offer to wrap existing async functions with new Endpoint()
  3. Configure schemas and caching options
Multiple Protocols

If multiple protocols are detected, follow each protocol's guide. Each protocol package can be installed alongside others.

Verification Checklist

After setup, verify:

  • Core packages installed in package.json
  • Provider/Plugin wraps the app at root level
  • Correct import path used (especially @data-client/react/nextjs for NextJS)
  • No duplicate providers in component tree
  • Protocol-specific setup completed via its guide

Common Issues

NextJS: Wrong Import Path

❌ Wrong:

tsx
import { DataProvider } from '@data-client/react';

✅ Correct for NextJS:

tsx
import { DataProvider } from '@data-client/react/nextjs';
Provider Not at Root

The DataProvider must wrap all components that use data-client hooks. Place it at the topmost level possible. In Vue, call app.use(DataClientPlugin) on the root app before app.mount().

Next Steps

After core setup and protocol-specific setup:

  1. Define data schemas using Entity - see skill "data-client-schema"
  2. Use hooks like useSuspense, useQuery, useController - see skill "data-client-react" or "data-client-vue"
  3. Define REST resources - see skill "data-client-rest"

References

Vue projects: read <name>.vue.md instead of <name>.md when it exists.

For detailed API documentation, see the references directory:

© reactive, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 29 other files (references) in .agents/skills/data-client-setup of reactive/data-client.

  • SKILL.md
  • references.json
  • references/DataClientPlugin.md
  • references/DataProvider.md
  • references/data-client-endpoint-setup.md
  • references/data-client-endpoint-setup/references/Endpoint.md
  • references/data-client-endpoint-setup/references/Endpoint.vue.md
  • references/data-client-graphql-setup.md
  • references/data-client-graphql-setup/references/auth.md
  • references/data-client-rest-setup.md
  • references/data-client-rest-setup/references/RestEndpoint.md
  • references/data-client-rest-setup/references/RestEndpoint.vue.md
  • references/data-client-rest-setup/references/auth.md
  • references/data-client-rest-setup/references/auth.vue.md
  • … and 16 more

Open the folder on GitHubat commit 6d35253

Compare with similar skills

Data Client Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Data Client Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Data Client Setup this skillreactive/data-client2k—~2.2kAutomated safety check: PassApache-2.0
Expo Web To Nativeexpo/skills2.7k—~2.6kAutomated safety check: PassMIT
React Nativeericrisco/rsc-harness167—~3kAutomated safety check: PassMIT
Frontend Designavibebuilder/claude-prime120—~2.1kAutomated safety check: PassMIT
Lunora Realtimeanolilab/lunora283—~2.7kAutomated safety check: PassCustom licence
JSON Render Catalogyonatangross/orchestkit289—~6.4kAutomated safety check: PassMIT

Similar skills

  • Official

    Migrate an existing web React app to a native iOS/Android app with Expo.

    2.7k GitHub stars~2.6k tokensUpdated today
    MobileAuto-check passed
  • React Native

    ericrisco/rsc-harness

    A skill your agent uses when writing the JS/TS inside a React Native or Expo app — screens, Expo Router navigation, lists, Reanimated gestures, platform forks, offline state, native modules — or…

    167 GitHub stars~3k tokensUpdated today
    MobileAuto-check passed
  • Frontend Design

    avibebuilder/claude-prime

    Builds distinctive, production-grade UIs that avoid generic AI aesthetics.

    120 GitHub stars~2.1k tokensUpdated 4 mo ago
    Frontend & DesignAuto-check passed
  • Lunora Realtime

    anolilab/lunora

    Wires Lunora's live data into a client app. An agent skill from anolilab/lunora.

    283 GitHub stars~2.7k tokensUpdated today
    MobileAuto-check passed
  • JSON Render Catalog

    yonatangross/orchestkit

    json-render component catalog patterns for AI-safe generative UI.

    289 GitHub stars~6.4k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Screenmap

    aleqsio/screenmap

    Generate a visual navigation map of an Expo / React Native or NativeScript app.

    242 GitHub stars~7.2k tokensUpdated 3 days ago
    MobileAuto-check passed

More from reactive/data-client

All 17 skills in this repo
  • Data Client REST Setup

    reactive/data-client

    Set up and migrate to @data-client/rest for REST APIs. An agent skill from reactive/data-client.

    2k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Data Client Manager

    reactive/data-client

    Implement @data-client Managers for global/background side effects - websocket, SSE, polling, real-time updates, subscriptions, logging, analytics, metrics/timing, error reporting (Sentry), toast…

    2k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Data Client React

    reactive/data-client

    Use @data-client/react hooks for data fetching, mutations, and rendering - useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController, DataProvider, AsyncBoundary…

    2k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Data Client React Testing

    reactive/data-client

    Test @data-client/react with renderDataHook and mountDataClient - jest unit tests, fixtures, interceptors, MockResolver, mock responses, nock HTTP mocking, fake timers for polling/subscription…

    2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Data Client REST

    reactive/data-client

    Define REST APIs with @data-client/rest - resource(), RestEndpoint, CRUD (GET/POST/PUT/PATCH/DELETE), HTTP fetch, normalize, cache, urlPrefix, path-to-regexp parameters, searchParams, pagination…

    2k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Data Client Schema

    reactive/data-client

    Model data with @data-client schemas (Entity, EntityMixin, Collection, Union, Query, Values, All, Invalidate, Lazy, Scalar) for atomic, consistent, referentially-equal async data via normalization…

    2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Questions about Data Client Setup

What does Data Client Setup do?

Install and set up @data-client/react or @data-client/vue in a project. Data Client Setup is an agent skill from reactive/data-client. Install and set up @data-client/react or @data-client/vue in a project.

When should I use Data Client Setup?

Data Client Setup fits situations like: tasks that involve Cross-platform mobile apps; tasks that involve GraphQL.

How do I install Data Client Setup in Claude Code?

Run `npx skills add reactive/data-client --skill data-client-setup -a claude-code`. Or copy the skill folder (.agents/skills/data-client-setup in reactive/data-client) into .claude/skills/data-client-setup in your project. Claude Code loads it when a task matches its description.

How do I install Data Client Setup in Codex?

Run `npx skills add reactive/data-client --skill data-client-setup -a codex`. Or copy the skill folder (.agents/skills/data-client-setup in reactive/data-client) into .agents/skills/data-client-setup in your project. Codex loads it when a task matches its description.

Can I use Data Client Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add reactive/data-client --skill data-client-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/data-client-setup, .gemini/skills/data-client-setup, .github/skills/data-client-setup and .opencode/skills/data-client-setup in your project.

What does Data Client Setup need to run?

Going by SKILL.md and its folder, Data Client Setup needs the command-line tools its instructions call (npm, yarn, pnpm, claude, npx and bun). Our summary lists: Node.js.

Does Data Client Setup access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Data Client Setup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Data Client Setup use?

Data Client Setup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Data Client Setup use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 81k tokens, read only when the agent opens those files.

What are the alternatives to Data Client Setup?

Skills that share tags, products or a category with Data Client Setup: Expo Web To Native (expo/skills, 2.7k stars), React Native (ericrisco/rsc-harness, 167 stars), Frontend Design (avibebuilder/claude-prime, 120 stars) and Lunora Realtime (anolilab/lunora, 283 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Data Client Setup?

reactive (a GitHub organization) maintains it in reactive/data-client, which has 2,037 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.

Source: reactive/data-client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.