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

# Agent Skills

> The Agent Skill each SDK ships, and the one command that installs it.

Each SDK ships an [Agent Skill](https://agentskills.io): its guide, condensed for a coding agent. With it
installed, Claude Code, Codex, Cursor and the rest call a site the way these guides do, instead of
guessing from the API.

## Install it

One command, from your app's root, once the SDK is installed:

> [tab] TypeScript
>
> ```bash theme={"dark"}
> DISABLE_TELEMETRY=1 npx skills add ./node_modules/@fetchski/attract-cms-sdk/skills
> ```
>
> `bunx` and `pnpm dlx` work in place of `npx`.

> [tab] Laravel
>
> ```bash theme={"dark"}
> DISABLE_TELEMETRY=1 npx skills add ./vendor/fetchski/attract-cms-laravel/skills
> ```
>
> It needs Node for `npx`; [Laravel Boost](#other-ways-in) is the PHP-only way.

The [skills CLI](https://github.com/vercel-labs/skills) asks which agents to set up and installs the
skill into the project: one copy in `.agents/skills/`, linked from each agent's own folder
(`.claude/skills/` and the rest). Name the agents up front with `-a claude-code -a codex`, and add
`-y` in a script.

> [!NOTE]
>
> The skill comes from the package you installed, so it matches your SDK's version: run the same command
> again after an upgrade. `DISABLE_TELEMETRY=1` keeps the install off the skills CLI's public install
> counts: the packages are private.

## Tell your agent when to read it

> [tab] TypeScript
>
> Add this to your AGENTS.md or CLAUDE.md.
>
> Before calling a method of `@fetchski/attract-cms-sdk` you haven't used, read
> `node_modules/@fetchski/attract-cms-sdk/skills/fetchski-attract-cms-sdk/SKILL.md` and the method's JSDoc
> in `node_modules/@fetchski/attract-cms-sdk/dist/layer/resources.d.ts`. Test with `fakeSite()`.

> [tab] Laravel
>
> Add this to your AGENTS.md or CLAUDE.md.
>
> Before calling a method of `fetchski/attract-cms-laravel` you haven't used, read
> `vendor/fetchski/attract-cms-laravel/skills/fetchski-attract-cms-laravel/SKILL.md`, then run
> `php artisan attract:list <accessor>` and read the method's docblock. Scaffold new Actions with
> `php artisan make:attract-action` (in a module: `--module=<Name>`, or `FETCHSKI_ATTRACT_MODULE` in `.env`).

## Other ways in

> [accordion] Laravel Boost
>
> The same skill, with a short guideline, sits in the package's `resources/boost/`. Run Boost's
> installer and pick the package when it's listed:
>
> ```bash Terminal theme={"dark"}
> php artisan boost:install
> ```
>
> Or name it in your `boost.json`:
>
> ```json boost.json theme={"dark"}
> {
>   "agents": ["claude_code"],
>   "guidelines": true,
>   "packages": ["fetchski/attract-cms-laravel"]
> }
> ```
>
> Then install without the questions:
>
> ```bash Terminal theme={"dark"}
> php artisan boost:install -n --guidelines --skills
> ```
>
> Leave `skills` out of `boost.json`: Boost writes it.

> [accordion] Synced from node\_modules
>
> Tools that sync skills from `node_modules`, such as `skills-npm`, pick up the TypeScript skill on
> their own.

> [accordion] By hand
>
> Copy or link the skill's folder into your agent's skills folder (`.claude/skills/`,
> `.agents/skills/`), or point your `AGENTS.md` / `CLAUDE.md` at its `SKILL.md`:
>
> **node\_modules**
>
> **@fetchski**
>
> **attract-cms-sdk**
>
> **skills**
>
> **fetchski-attract-cms-sdk**
>
> **SKILL.md**
>
> **vendor**
>
> **fetchski**
>
> **attract-cms-laravel**
>
> **skills**
>
> **fetchski-attract-cms-laravel**
>
> **SKILL.md**


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.