Problem
intent list and intent install discover packages purely by convention — any npm package in node_modules that has a skills/*/SKILL.md structure gets picked up, even if it has no intent to be an Intent-compatible package.
In our case, @alavida-ai/plugin-website-dev (a Claude Code plugin with 10 internal skills) shows up alongside our actual Intent-enabled packages (@alavida/agentpack, @alavida/agonda). This package has no intent field, no relevant keywords — it just happens to use the same skills/ directory convention for a different system.
Expected behavior
Packages should explicitly opt in to Intent discovery — for example via a "intent" field in package.json, a keyword, or some other signal. Convention-based discovery should be a fallback, not the only mechanism.
Current behavior
Any package with skills/*/SKILL.md appears in intent list output and gets proposed during intent install, regardless of whether it was designed for Intent.
Reproduction
- Have a non-Intent package installed that uses
skills/*/SKILL.md for its own purposes
- Run
npx @tanstack/intent list
- The unrelated package appears alongside actual Intent packages
Suggestion
Add an opt-in signal, e.g.:
"intent": true or "intent": { "skills": [...] } in package.json
- A
"tanstack-intent" keyword
- An
intent.config.json or similar marker file
This would let Intent distinguish between packages that intentionally publish Intent skills and packages that coincidentally share the directory structure.
Problem
intent listandintent installdiscover packages purely by convention — any npm package innode_modulesthat has askills/*/SKILL.mdstructure gets picked up, even if it has no intent to be an Intent-compatible package.In our case,
@alavida-ai/plugin-website-dev(a Claude Code plugin with 10 internal skills) shows up alongside our actual Intent-enabled packages (@alavida/agentpack,@alavida/agonda). This package has nointentfield, no relevant keywords — it just happens to use the sameskills/directory convention for a different system.Expected behavior
Packages should explicitly opt in to Intent discovery — for example via a
"intent"field inpackage.json, a keyword, or some other signal. Convention-based discovery should be a fallback, not the only mechanism.Current behavior
Any package with
skills/*/SKILL.mdappears inintent listoutput and gets proposed duringintent install, regardless of whether it was designed for Intent.Reproduction
skills/*/SKILL.mdfor its own purposesnpx @tanstack/intent listSuggestion
Add an opt-in signal, e.g.:
"intent": trueor"intent": { "skills": [...] }inpackage.json"tanstack-intent"keywordintent.config.jsonor similar marker fileThis would let Intent distinguish between packages that intentionally publish Intent skills and packages that coincidentally share the directory structure.