Skip to content

Skill catalog ​

Everything sandermuller/boost-skills ships. A skill with no tag ships to every project that allowlists the vendor. A tagged skill ships only where the project declares every tag it carries.

Skills ​

SkillWhat it doesTags
ai-guidelinesCreate and maintain AI skills and guideline files (.ai/, CLAUDE.md, AGENTS.md)—
autoresearchAutonomous performance loop: benchmark, change code, then keep or revert by measured resultphp
backend-qualityTwo-tier PHP quality gate: Pint and related tests on every change, PHPStan and the full suite on completionphp
bug-fixingTest-driven bug workflow: reproduce with a failing test, then fix it—
clarifyTurn a fuzzy ask into sharp, fact-checked intent. The shared core of interview and promptimize—
clean-specsRemove spec files whose work is merged to the base branch, keeping only live work—
code-reviewReview recent changes across functionality, code quality, security, and tests—
codex-reviewRequest an independent review from the OpenAI Codex CLI, apply the warranted fixes, re-review until clean—
deploying-laravel-cloudDeploy and manage Laravel applications on Laravel Cloud through the cloud CLIlaravel-cloud hosting
eloquent-modelsCreate and maintain Eloquent models with column and relation constants, docblocks, and foreign-key constantslaravel
evaluateSelf-review a full implementation and fix the issues it surfaces—
eye-verificationA browser pass over a frontend change: resolve the testables, drive each one, publish the proof screenshotsfrontend
final-verification-reviewCloseout verdict: run the evaluate loop, dry-run the closeout preflight, report READY or NOT READYgithub
frontend-qualityFrontend quality gate: type-checking, linting, the JS test suite, and a browser eye-verify for UI changesfrontend
github-issue-updatesAppend a user-facing description and QA testables to a GitHub issue after a feature shipsgithub-issues
humanizerRemove signs of AI-generated writing so text reads as natural and human—
implement-specImplement a specification file phase by phase, with progress tracking—
interviewAdversarially grill out a complex feature's requirements before writing its spec—
jira-createCreate a Jira issue with a well-formed, user-facing descriptionjira
jira-reworkResearch a Jira issue sent back for rework, then propose fix optionsjira github
jira-updatesUpdate a Jira issue after its PR is created, and post Blocked-by-Question commentsjira
migration-squashCreate or review a Laravel migration squash safely, with a checklist for incomplete or data-losing baselineslaravel
php-genericsDocblock generics and array shapes: name a repeated array{...}, bind a generic base class, type a class-name parameterphp
pr-review-feedbackApply PR review comments, evaluating each one critically before actinggithub
pre-releasePre-push gauntlet: Rector, Pint, the full test suite, PHPStan, and a doc-staleness auditphp github release-automation
promptimizeTurn a rough prompt into one optimized, model-agnostic prompt—
pull-requestsCreate and manage your own GitHub PRs through gh: write the description, verify, route by riskgithub
readmeAuthor and maintain a README for a Composer package: shape, voice, and staleness auditsrelease-automation
release-notesDraft GitHub release bodies: structure, voice, breaking-change callouts, and what to omitrelease-automation
resolve-conflictsResolve git merge conflicts without dropping functionality from either side—
simplify-shapeJudge whether a change carries its values in the right type: enum, form request, DTO, query-builder methodphp
test-writingWrite specific, descriptively named tests that follow Arrange-Act-Assert—
test-valueJudge the tests a change touched: delete the ones that prove nothing, cover what nothing tests—
upgradingThe canonical structure for UPGRADING.md in a Composer packagerelease-automation
ux-reviewWeigh UX and UI options for a new feature, recommend an approach, and document the decision—
write-specWrite implementation-ready specification files with progress-trackable phases—

Guidelines ​

Guidelines are always active. There is no on-demand activation. The sync folds them into CLAUDE.md, AGENTS.md, and the other guidance files.

GuidelineWhat it coversTags
ask-user-questionAvoid first- and second-person pronouns in AskUserQuestion payloads. Name the actor instead—
database-safetyNever run destructive database commands. Treat the test database as test-runner-owneddatabase
javascriptJavaScript and TypeScript control-structure style: always use braces, no single-line conditionalsfrontend
migrationsSelf-contained migration files. Append columns rather than positioning them mid-tabledatabase
phpstan-fixingFixing a PHPStan error: write a failing test first when it maps to a runtime bugphp
signed-commitsNever fall back to an unsigned commit when signing is enabled. Surface the failure instead—
single-issue-scopeKeep each session, branch, and PR focused on exactly one issuesingle-issue-scope
task-scopeKeep the change to what the task asks, pick one reading of an ambiguous ask, and edit in place—
verification-before-completionRun the verification command and read its output before claiming work is done—
voiceOne voice rule per writing surface: a routing table plus the Simplified Technical English rulesvoice

A guideline file stays frontmatter-free, for laravel/boost compatibility, so its tags live in a sidecar .boost-tags.yaml manifest beside it.

Subagents ​

A subagent is a Claude Code definition that runs in its own context. The fresh context is the point: an adversarial pass judges the change as code somebody else wrote. The sync writes these to .claude/agents/boost/sandermuller__boost-skills/. Other agent targets receive nothing. See Subagents.

SubagentWhat it doesTags
accessibility-reviewerReview interactive markup against WCAG 2.2 AA, and cite the exact success criterion for every findingfrontend
comment-analyzerCheck every comment a change added, changed, or made false against the code, then judge whether it earns its place—
database-specialistJudge what a MySQL schema change does in production: the algorithm, the lock, the timeout, and where it must runlaravel database
db-inspectorReport the real schema, indexes, and data through the Laravel Boost database toolslaravel database
github-researcherMine git and GitHub history for the change, pull request, and review behind a line of codegithub
performance-reviewerFind N+1 queries, unbounded queries, over-fetching, and slow request-path work, and measure the cost where it canlaravel database
security-reviewerReview authorization, injection, and data exposure. Every rated finding names the attacker, source, sink, and missing controllaravel
sentry-researcherPull the error signal from Sentry for a bug or a release: stack trace, trend, and releasesentry
silent-failure-hunterFind swallowed exceptions, fallbacks that hide a failure, and failures that nobody seeslaravel
simplification-auditorAudit a change for code that does not need to exist, and return a ledger that accounts for every unit it added—
tech-lead-reviewerReview the approach one level above the line: design size, value types, placement, one-way doors—
test-coverage-auditorFind the untested failure paths and the assertions that pass whatever the code does—

Every subagent is read-only: it reports and never edits the repository.

Tags ​

TagMeaningShipped by
boost-extensionOpt-in: extending the engine with custom skills and file emitterspackage-boost-php
databaseThe project has a databaseboost-skills
frontendThe project has a user-facing UI: templates, styles, JS, or any mix. The JS checks skip what the project lacksboost-skills
githubHosted on GitHubboost-skills
github-issuesIssue tracking in GitHub Issuesboost-skills
hostingThe project deploys to a hosted platform. Parent of the platform-specific tagsboost-skills
jiraIssue tracking in Jiraboost-skills
laravelThe project uses the Laravel frameworkboost-skills
laravel-cloudThe application deploys to Laravel Cloud. Pair with hostingboost-skills
phpA PHP toolchain: Pint, PHPStan, Rectorboost-skills
release-automationOpt-in: release-flow content — README authoring, release notes, UPGRADING.md, CI changelog automationboost-skills, package-boost-php
sentryThe project tracks errors in Sentry and can reach them through a Sentry MCP serverboost-skills
single-issue-scopeOpt-in: enforce single-issue PR, branch, and session disciplineboost-skills
voiceOpt-in: route every writing surface to one voice ruleboost-skills

github and github-issues are independent. github covers any GitHub-hosted repository and is what the PR and release skills use. github-issues is the narrower tag for projects that track issues in GitHub Issues. A repository hosted on GitHub but tracking issues in Jira declares github and not github-issues.

The engine ships a broader Tag enum with cases no skill in this catalog targets yet: Tag::Filament, Tag::Livewire, Tag::Volt, Tag::Inertia, Tag::Flux, Tag::Pest, Tag::Tailwind, and others. Declaring one is harmless, and it survives a re-run of the boost install picker.

Hand-offs ​

Several skills call others, and declare it with metadata.boost-requires:

  • interview and promptimize both build on clarify;
  • interview then hands off to write-spec;
  • evaluate runs code-review and codex-review;
  • pre-release drafts documents through readme, release-notes, and upgrading;
  • pull-requests, pr-review-feedback, and jira-rework each run their base-sync merge through resolve-conflicts.

Whenever one of these skills ships, everything it requires ships too, including a skill your withTags() would otherwise have filtered out. See Tags and dependencies.

Project Conventions ​

Several skills reference project-specific values: a Jira project key, the GitHub owner and repository, branch patterns, the PR title format, the test framework. The catalog ships a JSONSchema vocabulary at resources/boost/conventions-schema.json that names those slots, and you fill them in boost.php:

php
->withConventions([
    'schema-version' => 1,
    'jira' => ['project_key' => 'HPB'],
    'github' => ['owner' => 'my-org', 'repo' => 'my-app'],
])

The twelve slot groups are jira, github, branches, pr, testing, quality, codex, spec, mcp, translations, fixtures, and review. All are optional; only schema-version: 1 is required at the root. A group you do declare must carry its own required leaves, such as jira.project_key.

The mechanism, the token syntax, and the tooling are covered in Project Conventions.