-
Notifications
You must be signed in to change notification settings - Fork 300
Description
Summary
Three improvements to Boost-managed skills:
- Better activation keywords in the
saloon-developmentskill description Storage::fake()cleanup reference for thepest-testingskill- Project-specific design token reference support for the
tailwindcss-developmentskill
These changes were initially made locally but would be overwritten by boost:update, so they belong upstream.
1. Improved saloon-development skill description
The current frontmatter description is too vague and lacks activation trigger keywords, so Claude Code doesn't reliably activate the skill.
Current:
Build and work with SaloonPHP API integrations, including connectors, requests, and responses.
Proposed:
Builds API integrations using the SaloonPHP framework, including connectors, requests, responses, authentication, and testing. Use when user mentions Saloon, creates API integrations, builds SDK wrappers, or works with external API clients in this project.
The added trigger keywords (Saloon, API integrations, SDK wrappers, external API clients) follow the same pattern used by other skills like pest-testing and pennant-development, which already include explicit activation conditions in their descriptions.
2. pest-testing — Storage::fake() cleanup reference
Storage::fake() writes to a real directory at storage/framework/testing/disks/{disk}. When setUp()/beforeEach() calls Storage::fake(), the corresponding teardown must also call it to run cleanDirectory() on that path. Without this, test files leak between runs and can cause flaky failures.
Proposed addition to pest-testing SKILL.md
## Storage::fake() Cleanup
When writing tests that use `Storage::fake()`, consult `references/storage-fake-cleanup.md` for the required teardown pattern to prevent file leakage between tests.Proposed references/storage-fake-cleanup.md
# Storage::fake() Cleanup Pattern
`Storage::fake()` writes to `storage/framework/testing/disks/{disk}`. Calling it in
teardown runs `cleanDirectory()` on that path, ensuring files created during the test
don't leak into subsequent tests.
## Pest
beforeEach(function (): void {
Storage::fake();
});
afterEach(function (): void {
Storage::fake();
});
## PHPUnit
protected function setUp(): void
{
parent::setUp();
Storage::fake();
}
protected function tearDown(): void
{
Storage::fake();
parent::tearDown();
}
**Rule:** If `setUp()`/`beforeEach()` calls `Storage::fake()`, the corresponding
`tearDown()`/`afterEach()` must also call `Storage::fake()` to clean up.3. tailwindcss-development — project-specific design token reference support
Many projects define custom design tokens (brand colors, font families, breakpoints, custom utilities) in their Tailwind CSS configuration. The tailwindcss-development skill should support a reference file mechanism so projects can surface their own tokens during styling work.
This pattern already exists in other skills — for example, medialibrary-development uses references/ files for project-specific collection and conversion definitions.
Proposed addition to tailwindcss-development SKILL.md
## Project Design Tokens
Before writing any styles, check for a `references/design-tokens.md` file (or similar
project-specific reference) containing the project's brand colors, font families,
breakpoints, and custom utilities. Always prefer project-specific tokens over default
Tailwind palette colors.Motivation
- Skill activation reliability: Adding trigger keywords to descriptions is the established pattern (see
pennant-development,pest-testing) and measurably improves skill selection accuracy. - Preventing common test bugs: The
Storage::fake()cleanup pattern is a known footgun. Surfacing it through the testing skill prevents file leakage bugs before they happen. - Design consistency: Projects with custom design systems need a way to make their tokens discoverable to the styling skill. Without this, Claude Code defaults to the standard Tailwind palette, creating inconsistent UIs that require manual correction.
boost:updatecompatibility: All three changes need to live upstream so they survive skill updates.
🤖 Generated with Claude Code