8000 fix: register installed skills in boost.json during add-skill by meirdick · Pull Request #621 · laravel/boost · GitHub
[go: up one dir, main page]

Skip to content

fix: register installed skills in boost.json during add-skill#621

Open
meirdick wants to merge 1 commit intolaravel:mainfrom
meirdick:fix/add-skill-register-in-config
Open

fix: register installed skills in boost.json during add-skill#621
meirdick wants to merge 1 commit intolaravel:mainfrom
meirdick:fix/add-skill-register-in-config

Conversation

@meirdick
Copy link
@meirdick meirdick commented Mar 2, 2026

Summary

  • boost:add-skill now registers installed skill names in boost.json's "skills" array before calling boost:update
  • This ensures the subsequent sync to agent directories (.claude/skills/, .cursor/skills/, etc.) always runs, even if the user never previously ran boost:install --skills

Problem

When a user runs boost:add-skill for the first time (without having previously enabled skills via boost:install --skills), skills download to .ai/skills/ but never sync to agent directories. The skill is invisible to the agent.

Root cause: boost:update checks Config::hasSkills() → reads "skills" key from boost.json → key doesn't exist → hasSkills() returns false → sync skipped.

Discovered while installing meirdick/growth-product-context — a community skill for product analytics journey discovery.

Fix

Added registerInstalledSkills() which merges newly installed skill names into boost.json's "skills" array before calling runBoostUpdate(). This ensures Config::hasSkills() returns true and the sync proceeds.

Test plan

  • Run boost:install without --skills on a fresh project
  • Verify boost.json has no "skills" key
  • Run boost:add-skill meirdick/growth-product-context
  • Verify boost.json now has "skills": ["growth-product-context"]
  • Verify .claude/skills/growth-product-context/SKILL.md exists
  • Run boost:add-skill again with a second skill — verify both are in boost.json

🤖 Generated with Claude Code

When `boost:add-skill` downloads a community skill, it calls
`boost:update` to sync skills to agent directories. However,
`boost:update` checks `Config::hasSkills()` which reads the
`"skills"` key from `boost.json`. If the user never ran
`boost:install --skills`, this key doesn't exist, so the sync
is silently skipped — the skill sits in `.ai/skills/` but never
reaches `.claude/skills/`, `.cursor/skills/`, etc.

Fix: register the installed skill names in `boost.json`'s
`"skills"` array before calling `boost:update`, ensuring the
subsequent sync always runs.

Fixes laravel#620
@pushpak1300
Copy link
Member
pushpak1300 commented Mar 3, 2026

Okay so if I understood this only happens when you try to install skills without running php artisan boost:install --skills ? but why you would anyone not want to install boost skill and then download custom skills ?

I'll need to rethink on this one if this is something we should support or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0