ivoilic/discover-package-skills
Overview
This skill proactively discovers AI rules, prompts, agents, and skill bundles exposed by npm packages in a project and integrates them into editor-specific rule/config files. It also installs reusable skills via the Skills ecosystem when appropriate and permitted. Use it to reuse existing package-provided rules instead of recreating them from scratch.
How this skill works
When triggered (project open, dependency changes, or on-demand), the skill scans package.json and the project workspace, inspects node_modules or resolved package paths, and looks for exports and convention files named llms, rules, agents, skills, and similar. It normalizes discovered content into a standard representation (packageName, ruleName, content, metadata) and maps each rule into existing editor targets such as AGENTS.md, .cursor/rules/, .rules, .windsurfrules, or .github/instructions/. When a package is a skills bundle, it can suggest or run skills.sh installation commands following the project's package-manager conventions.
When to use it
- When opening a repository for the first time to discover available rules/skills.
- After package.json or lockfile changes that add or update dependencies.
- Before relying on a third-party package so you can reuse its rules instead of recreating them.
- When you want to add editor-specific rule files idempotently and consistently.
- When you may want to install a reusable skill bundle from the Skills ecosystem.
Best practices
- Prefer existing project destinations (AGENTS.md, .cursor/rules/, .rules) and augment them rather than creating new conventions.
- Favor static inspection of package files and docs; avoid executing package code unless absolutely necessary and safe.
- Be idempotent: update existing normalized-name blocks instead of creating duplicates.
- Record traceability comments with source package and version using the standardized <!-- Copied from ... --> header.
- Match the project package manager (pnpm/yarn/npm/bun) when proposing skills installation commands.
Example use cases
- Scan a monorepo after a dependency bump and refresh imported rules whose package versions changed.
- Add Cursor-compatible .mdc rule files from a discovered package that exports an array of rule objects.
- Install a skill bundle with pnpm dlx skills add <owner/repo> when the user allows automatic installation.
- Aggregate multiple package-provided prompts into AGENTS.md under a clearly marked package skills section.
- Convert a package's .rules or README convention into .github/instructions/ entries for VSCode workflows.
FAQ
It only edits rule/config files by default and avoids adding npm dependencies unless you explicitly request skill installation or helper scripts.
How does it handle conflicting rules from multiple packages?
It normalizes names (package_ruleName), appends or updates entries idempotently, and surfaces conflicts for user review rather than deleting existing rules.