Skip to content

feat: add Intent agent skills for TanStack DB#1330

Open
KyleAMathews wants to merge 4 commits intomainfrom
feat/intent-skills
Open

feat: add Intent agent skills for TanStack DB#1330
KyleAMathews wants to merge 4 commits intomainfrom
feat/intent-skills

Conversation

@KyleAMathews
Copy link
Collaborator

@KyleAMathews KyleAMathews commented Mar 5, 2026

Add 12 SKILL.md files across 7 packages that guide AI coding agents working with TanStack DB. Skills are published with npm packages so agents can reference them when generating code. Also fixes angular-db missing the export * from '@tanstack/db' re-export that all other framework packages have.

Approach

Skills were scaffolded using @tanstack/intent scaffold — a 3-phase process:

  1. Domain Discovery — interview-driven domain map identifying 7 domains, 39 failure modes, and cross-cutting tensions
  2. Tree Generator — decomposed domains into 12 skills across the monorepo (per-framework decomposition, composition skills for meta-framework and offline)
  3. Generate Skills — source-driven generation with cross-reference validation

Each SKILL.md contains YAML frontmatter (name, type, requires, sources) + structured body (Setup, Core Patterns, Common Mistakes with severity ratings). Reference files provide dense API details (adapter configs, operator signatures, transaction API).

Key invariants

  • Every requires field and "See also:" cross-reference resolves to an existing skill file
  • Every sources path in frontmatter points to an existing file in the repo
  • Code examples match actual API signatures (verified by automated review)
  • All framework packages re-export @tanstack/db (angular-db was missing this — fixed)

Non-goals

  • No SSR patterns (not implemented yet — documented as client-side only)
  • No changes to library source code beyond the angular-db re-export fix
  • Skills document current API (v0.5.30), not aspirational features

Skills inventory

Package Skill Type
@tanstack/db db-core (overview) core
@tanstack/db collection-setup + 7 adapter refs sub-skill
@tanstack/db live-queries + operators ref sub-skill
@tanstack/db mutations-optimistic + transaction ref sub-skill
@tanstack/db custom-adapter sub-skill
@tanstack/db meta-framework composition
@tanstack/react-db react-db framework
@tanstack/vue-db vue-db framework
@tanstack/svelte-db svelte-db framework
@tanstack/solid-db solid-db framework
@tanstack/angular-db angular-db framework
@tanstack/offline-transactions offline composition

Verification

# Verify frontmatter is valid YAML
for f in $(find packages -name 'SKILL.md'); do head -1 "$f" | grep -q '^---' && echo "OK: $f"; done

# Verify source references exist
grep -r 'TanStack/db:' packages/*/skills --include='*.md' -ho | sed 's/TanStack\/db://' | sort -u | while read f; do [ -f "$f" ] && echo "OK: $f" || echo "MISSING: $f"; done

# Build angular-db to verify re-export
pnpm --filter @tanstack/angular-db build

Files changed

  • packages/angular-db/src/index.ts — Add export * from '@tanstack/db' for consistency
  • packages/*/package.json (7 files) — Add "skills" to files arrays for npm publishing
  • packages/*/skills/**/*.md (21 files) — SKILL.md files and reference docs
  • _artifacts/skill_tree.yaml — Skill tree generation artifact
  • domain_map.yaml, skill_spec.md — Domain analysis artifacts
  • .changeset/add-intent-agent-skills.md — Changeset for versioning

🤖 Generated with Claude Code

Scaffold 12 SKILL.md files across 7 packages to guide AI coding agents.
Covers core DB concepts (collections, queries, mutations, custom adapters),
5 framework bindings (React, Vue, Svelte, Solid, Angular), meta-framework
integration (Start, Next, Remix, Nuxt, SvelteKit), and offline transactions.

Includes 9 reference files for adapter details, operators, and transaction
API. Updates package.json files arrays to publish skills with packages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@changeset-bot
Copy link

changeset-bot bot commented Mar 5, 2026

🦋 Changeset detected

Latest commit: 2fb845f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
Name Type
@tanstack/angular-db Patch
@tanstack/db Patch
@tanstack/react-db Patch
@tanstack/vue-db Patch
@tanstack/svelte-db Patch
@tanstack/solid-db Patch
@tanstack/offline-transactions Patch
@tanstack/electric-db-collection Patch
@tanstack/powersync-db-collection Patch
@tanstack/query-db-collection Patch
@tanstack/rxdb-db-collection Patch
@tanstack/trailbase-db-collection Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new
Copy link

pkg-pr-new bot commented Mar 5, 2026

More templates

@tanstack/angular-db

npm i https://pkg.pr.new/@tanstack/angular-db@1330

@tanstack/db

npm i https://pkg.pr.new/@tanstack/db@1330

@tanstack/db-ivm

npm i https://pkg.pr.new/@tanstack/db-ivm@1330

@tanstack/electric-db-collection

npm i https://pkg.pr.new/@tanstack/electric-db-collection@1330

@tanstack/offline-transactions

npm i https://pkg.pr.new/@tanstack/offline-transactions@1330

@tanstack/powersync-db-collection

npm i https://pkg.pr.new/@tanstack/powersync-db-collection@1330

@tanstack/query-db-collection

npm i https://pkg.pr.new/@tanstack/query-db-collection@1330

@tanstack/react-db

npm i https://pkg.pr.new/@tanstack/react-db@1330

@tanstack/rxdb-db-collection

npm i https://pkg.pr.new/@tanstack/rxdb-db-collection@1330

@tanstack/solid-db

npm i https://pkg.pr.new/@tanstack/solid-db@1330

@tanstack/svelte-db

npm i https://pkg.pr.new/@tanstack/svelte-db@1330

@tanstack/trailbase-db-collection

npm i https://pkg.pr.new/@tanstack/trailbase-db-collection@1330

@tanstack/vue-db

npm i https://pkg.pr.new/@tanstack/vue-db@1330

commit: cc881ed

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

Size Change: 0 B

Total Size: 92.6 kB

ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/collection/change-events.js 1.39 kB
./packages/db/dist/esm/collection/changes.js 1.22 kB
./packages/db/dist/esm/collection/events.js 388 B
./packages/db/dist/esm/collection/index.js 3.32 kB
./packages/db/dist/esm/collection/indexes.js 1.1 kB
./packages/db/dist/esm/collection/lifecycle.js 1.75 kB
./packages/db/dist/esm/collection/mutations.js 2.34 kB
./packages/db/dist/esm/collection/state.js 3.49 kB
./packages/db/dist/esm/collection/subscription.js 3.71 kB
./packages/db/dist/esm/collection/sync.js 2.41 kB
./packages/db/dist/esm/deferred.js 207 B
./packages/db/dist/esm/errors.js 4.7 kB
./packages/db/dist/esm/event-emitter.js 748 B
./packages/db/dist/esm/index.js 2.7 kB
./packages/db/dist/esm/indexes/auto-index.js 742 B
./packages/db/dist/esm/indexes/base-index.js 766 B
./packages/db/dist/esm/indexes/btree-index.js 2.17 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.1 kB
./packages/db/dist/esm/indexes/reverse-index.js 538 B
./packages/db/dist/esm/local-only.js 808 B
./packages/db/dist/esm/local-storage.js 2.1 kB
./packages/db/dist/esm/optimistic-action.js 359 B
./packages/db/dist/esm/paced-mutations.js 496 B
./packages/db/dist/esm/proxy.js 3.75 kB
./packages/db/dist/esm/query/builder/functions.js 733 B
./packages/db/dist/esm/query/builder/index.js 4.1 kB
./packages/db/dist/esm/query/builder/ref-proxy.js 1.05 kB
./packages/db/dist/esm/query/compiler/evaluators.js 1.43 kB
./packages/db/dist/esm/query/compiler/expressions.js 430 B
./packages/db/dist/esm/query/compiler/group-by.js 2.23 kB
./packages/db/dist/esm/query/compiler/index.js 2.04 kB
./packages/db/dist/esm/query/compiler/joins.js 2.11 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.45 kB
./packages/db/dist/esm/query/compiler/select.js 1.09 kB
./packages/db/dist/esm/query/expression-helpers.js 1.43 kB
./packages/db/dist/esm/query/ir.js 673 B
./packages/db/dist/esm/query/live-query-collection.js 360 B
./packages/db/dist/esm/query/live/collection-config-builder.js 5.55 kB
./packages/db/dist/esm/query/live/collection-registry.js 264 B
./packages/db/dist/esm/query/live/collection-subscriber.js 2.42 kB
./packages/db/dist/esm/query/live/internal.js 145 B
./packages/db/dist/esm/query/optimizer.js 2.62 kB
./packages/db/dist/esm/query/predicate-utils.js 2.97 kB
./packages/db/dist/esm/query/subset-dedupe.js 921 B
./packages/db/dist/esm/scheduler.js 1.3 kB
./packages/db/dist/esm/SortedMap.js 1.3 kB
./packages/db/dist/esm/strategies/debounceStrategy.js 247 B
./packages/db/dist/esm/strategies/queueStrategy.js 428 B
./packages/db/dist/esm/strategies/throttleStrategy.js 246 B
./packages/db/dist/esm/transactions.js 2.9 kB
./packages/db/dist/esm/utils.js 924 B
./packages/db/dist/esm/utils/browser-polyfills.js 304 B
./packages/db/dist/esm/utils/btree.js 5.61 kB
./packages/db/dist/esm/utils/comparison.js 952 B
./packages/db/dist/esm/utils/cursor.js 457 B
./packages/db/dist/esm/utils/index-optimization.js 1.51 kB
./packages/db/dist/esm/utils/type-guards.js 157 B

compressed-size-action::db-package-size

@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

Size Change: 0 B

Total Size: 3.85 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 225 B
./packages/react-db/dist/esm/useLiveInfiniteQuery.js 1.32 kB
./packages/react-db/dist/esm/useLiveQuery.js 1.34 kB
./packages/react-db/dist/esm/useLiveSuspenseQuery.js 559 B
./packages/react-db/dist/esm/usePacedMutations.js 401 B

compressed-size-action::react-db-package-size

KyleAMathews and others added 3 commits March 5, 2026 16:41
- Fix incorrect offline transaction API usage (tx.mutate pattern)
- Remove phantom ne operator, document not(eq(...)) pattern
- Fix Vue template variable reference (data → todos)
- Add export * from @tanstack/db to angular-db source
- Remove nonexistent math functions from skill_tree.yaml
- Remove no-op !skills/_artifacts exclusion from db/package.json
- Add isIdle/isCleanedUp to Angular and React SKILL.md
- Document deprecated query.data in Solid SKILL.md
- Promote Svelte deps mistake severity to CRITICAL

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants