Last 12 weeks · 31 commits
5 of 6 standards met
Is your feature request related to a problem? Currently, only discovers packages in the local project's directory. It cannot detect or install skills from npm packages that are installed globally (e.g., those available via ). This limits flexibility for users who prefer global installations for custom or shared skills. Describe the solution you'd like Add support for scanning globally installed npm packages, possibly with an option like or . The tool could: Use or equivalent to locate the global path. Merge results from both local and global directories. Provide a way to prioritize or choose between local and global skills when there are name conflicts. Additional context Supporting global packages would make it easier to share and reuse skills across multiple projects and environments, especially for developer teams with custom shared skills.
Repository: antfu/skills-npm. Description: Install agent skills from npm Stars: 355, Forks: 11. Primary language: TypeScript. Languages: TypeScript (84.7%), JavaScript (15.3%). License: MIT. Latest release: v1.0.0 (3w ago). Open PRs: 1, open issues: 3. Last activity: 3w ago. Community health: 85%. Top contributors: antfu, jinghaihan, EnderRomantice.
Clear and concise description of the problem As a developer using this project, I want the configuration to allow specifying included packages using a wildcard filter for scoped packages, so that I don't need to specify the package name individually, since the project is using a lot of scoped packages from my organization. For example: Suggested solution In , we can adjust the function to handle the wildcard: Alternative _No response_ Additional context _No response_ Validations [x] Follow our Code of Conduct [x] Read the Contributing Guide. [x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
Problem skips the confirmation prompt but not the agent selection prompt. To fully skip interactive prompts (e.g. in CI or scripts), you also need , but there's no way to say "all of them" without listing every agent name. Changes Support as a special value for (both CLI flag and config file), matching the upstream CLI convention Resolved in so works from too Test plan [x] passes [x] — 21 tests pass [x] clean
Problem discovers skills by scanning . This relies on package authors bundling skills inside their npm packages. In practice, most popular packages (React, Next.js, Tailwind CSS, etc.) don't ship a directory — and likely won't anytime soon. This means can't help users of these packages, which is a significant gap. Proposed Solution Add a config option that maps installed packages to external skill sources. When detects a package is installed but has no built-in skills, it fetches the corresponding skill from a community-maintained repository. How it works 1. scans as usual 2. For each entry in , check if the package is installed (exists in ) 3. If installed but has no built-in directory, fetch the skill from the specified GitHub repo 4. Cache the fetched skills locally and symlink them to agent directories, same as built-in skills Fetch format would resolve to: This follows the same directory convention as . Why not just use a separate skills-only npm package? That already works today — you can and will pick it up. But this requires: Publishing and maintaining a separate npm package Users explicitly installing it Managing version alignment manually The config approach is lighter — no extra packages to install, and the mapping is explicit and user-controlled. Open Questions 1. Should community skills be cached globally (XDG cache) or per-project? 2. How to handle version alignment — should the config support specifying a branch/tag (e.g., )? 3. Should there be a community registry/default mapping so users don't have to configure each package manually? Happy to implement this if the direction makes sense!
[ x ] <- Keep this line and put an between the brackts. Description This PR adds a caching mechanism to speed up repeated scans and adds support for Bundle lock files. Changes: 1. Added a caching system - caches scan results based on lock file hashes, avoiding rescanning the node_modules directory when dependencies haven't changed. 2. Supports npm, yarn, pnpm, and bun. 3. Added a cache status indicator - displays the "(From Cache)" message when using cached results. Performance: Rescanning the node_modules directory on every run is slow, especially in large monorepo environments. Caching can reduce subsequent run times from seconds to milliseconds. User Experience: The "(From Cache)" indicator helps users understand whether they are receiving cached or up-to-date results. Linked Issues accomplish #12 Additional context I'm not entirely sure if this implementation meets expectations (as described in #12). Any suggestions? :P