Skill sources
Skills come from three places. All three resolve on the same composer install / composer update lifecycle and are fanned out side by side.
1. Host
Your project's own .ai/skills/. Nothing to configure. A directory with a SKILL.md in it ships.
vendor/bin/boost new skill my-skill --description="What it does."A host skill with the same name as a vendor skill shadows it. boost where marks the shadow, and boost where --diff=<name> prints the difference between your copy and the vendor's.
2. Vendor packages
Any Composer package that ships resources/boost/skills/ is a skill source, whether it uses the flat layout (<name>.md) or the nested one (<name>/SKILL.md). Allowlist its vendor to pick it up:
return BoostConfig::configure()
->withAllowedVendors(['vendor/package'])
->withAgents([Agent::CLAUDE_CODE]);This is how a team distributes one curated skill set across many repositories: author once in a package, then allowlist everywhere. sandermuller/boost-skills is a published example of the pattern.
The allowlist is deliberate. An installed package does not push skills into your repository until you name its vendor. Run vendor/bin/boost scan after installing a package that publishes skills, and it re-runs the picker for you.
3. Remote sources
GitHub repositories that ship .skill release bundles or skill subdirectories, declared with withRemoteSkills() or picked interactively:
$ vendor/bin/boost remote mattpocock/skillsboost remote resolves the reference, works out whether the repository publishes release assets or skill directories, reads each skill's frontmatter, and shows a checklist with descriptions, tags, and any clash with a skill you already receive. Checked skills land in withRemoteSkills(); unchecked ones are removed. It also pulls in any dependency the same repository publishes, and offers to declare the tags a picked skill needs to survive your withTags() filter.
See Remote skills for hand-written entries, the --ref and --mode flags, the cache, offline behavior, rate limits, the trust model, and publishing your own source.
Which source won
vendor/bin/boost where # every skill, guideline, and command, with its origin
vendor/bin/boost where --diff=name # host override versus the vendor copyOrigins are reported as host, vendor, remote, or shadow, so a skill that is not what you expected can be traced back to the package that supplied it.