Bound agent skill catalogs and add deterministic discovery filters
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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