Skip to content

Convention-based discovery picks up unrelated packages with skills/ directories #66

@alexandergirardet

Description

@alexandergirardet

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

  1. Have a non-Intent package installed that uses skills/*/SKILL.md for its own purposes
  2. Run npx @tanstack/intent list
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions