Get started using Intent to help your agent discover and load package skills.
The install command guides your agent through the setup process:
npx @tanstack/intent@latest installExamples use npx for npm projects. In pnpm, Yarn, or Bun projects, use the matching runner: pnpm dlx, yarn dlx, or bunx.
This creates or updates an intent-skills guidance block. It:
Checks for existing intent-skills guidance in your config files (AGENTS.md, CLAUDE.md, .cursorrules, etc.)
Writes lightweight instructions for skill discovery and loading
Preserves content outside the managed block
Verifies the managed block before reporting success
If an intent-skills block already exists, Intent updates that file in place. If no block exists, AGENTS.md is the default target.
Intent creates guidance like:
<!-- intent-skills:start -->
## Skill Loading
Before editing files for a substantial task:
- Run `pnpm dlx @tanstack/intent@latest list` from the workspace root to see available local skills.
- If a listed skill matches the task, run `pnpm dlx @tanstack/intent@latest load <package>#<skill>` before changing files.
- Use the loaded `SKILL.md` guidance while making the change.
- Monorepos: when working across packages, run the skill check from the workspace root and prefer the local skill for the package being changed.
- Multiple matches: prefer the most specific local skill for the package or concern you are changing; load additional skills only when the task spans multiple packages or concerns.
<!-- intent-skills:end -->Intent detects the package manager when generating this block, so the runner may be npx, pnpm dlx, yarn dlx, or bunx.
To enforce loading guidance before edits in supported agents, opt in to hooks:
npx @tanstack/intent@latest hooks installProject-scoped hooks are installed for Claude Code and Codex. intent install can write project guidance to .github/copilot-instructions.md, but GitHub Copilot CLI hook enforcement is user-scoped, so configure it explicitly:
npx @tanstack/intent@latest hooks install --scope user --agents copilotCursor and generic AGENTS.md agents use the guidance block only.
Hooks add the available Intent skill catalog to supported agent sessions and keep the edit gate active until the agent loads matching full guidance. To tailor what appears in the session catalog, configure intent.skills and intent.exclude in package.json.
package.json#intent.skills is an allowlist of the packages whose skills you want surfaced.
{
"intent": {
"skills": ["@tanstack/query", "@tanstack/router"]
}
}List the packages you trust. Intent then surfaces skills from those packages and leaves the rest out. See the source entries in Configuration for the forms an entry can take, and Trust model for why the allowlist exists.
When your agent works on a task that matches an available skill, it loads the matching SKILL.md into context.
Load a skill manually:
npx @tanstack/intent@latest load @tanstack/react-query#coreThis prints the skill content for the installed package version.
If you want explicit task-to-skill mappings in your agent config, opt in:
npx @tanstack/intent@latest install --mapSkills version with library releases. When you update a library:
npm update @tanstack/react-queryThe new version brings updated skills automatically. The skills are shipped with the library, so you get the version that matches your installed code. If a package is installed both locally and globally and global scanning is enabled, Intent prefers the local version.
If you need to see what skills have changed, run:
npx @tanstack/intent@latest listUse --json for machine-readable output:
npx @tanstack/intent@latest list --jsonGlobal package scanning is opt-in:
npx @tanstack/intent@latest list --globalYou can also check if any skills reference outdated source documentation:
npx @tanstack/intent@latest stale