TanStack / TanStack/intent

Bound agent skill catalogs and add deterministic discovery filters

Open
#234 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
331
Forks
22
Avg merge
12h 17m
Merged PRs (30d)
51

Description

Problem

Skill bodies load on demand, but discovery context grows with every permitted skill. Hooks emit all identifiers and descriptions, and list output offers no result budget or package/path filtering.

Evidence

With one short skill per synthetic package, compact identifier/description catalogs measured 1,009 bytes for 10 skills, 10,279 for 100, and 52,279 for 500. The hook maps over all skills; its session-start matcher includes startup, resume, clear, and compact. Live agent reinjection behavior and actual token counts were not measured.

Sources: list output, hook catalog, existing eval harness.

Verified against main at 206e987 (@tanstack/intent 0.3.8), Node v24.12.0 on macOS arm64. Tests used installed dependencies and synthetic local fixtures.

Acceptance criteria

  • Define a deterministic package/path filtering or search surface using existing identifiers and metadata.
  • Agent catalog output has an explicit byte/character budget, visible omitted-result count, and a way to retrieve remaining results.
  • Policy filtering and hidden-source redaction apply before results are exposed.
  • Loaded instruction bodies remain complete; catalog limits do not silently truncate instructions.
  • Tests cover 10, 100, and 500-skill catalogs, deterministic ordering, overflow, and no-match cases.
  • Extend the existing eval harness to record context bytes, correct selection, and unnecessary loads without equating smaller output with better task quality.

Scope and priority

Priority: High. Type: feature.

Follow-up release; not a v0.4.0 blocker. Coordinate diagnostics with #222. No embeddings, vector database, daemon, or new evaluator.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with packages/intent/src/commands/list.ts and packages/intent/src/hooks/install.ts, then run the existing eval harness described in evals/intent-discovery/README.md. Trace current catalog, filtering, and loading behavior before defining the deterministic search and budget surface. Done means the listed acceptance tests and eval measurements cover ordering, overflow, redaction, complete bodies, and no-match results.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
cli, testing-qa, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.