configuring-horizon
Skill184 starsChanged 2 months agoApache-2.0View on GitHub
Use this skill whenever the user mentions Horizon by name in a Laravel context. Covers the full Horizon lifecycle: installing Horizon (horizon:install, Sail setup), configuring config/horizon.php (supervisor blocks, queue assignments, balancing strategies, minProcesses/maxProcesses), fixing the dashboard (authorization via Gate::define viewHorizon, blank metrics, horizon:snapshot scheduling), and troubleshooting production issues (worker crashes, timeout chain ordering, LongWaitDetected notifications, waits config). Also covers job tagging and silencing. Do not use for generic Laravel queues without Horizon, SQS or database drivers, standalone Redis setup, Linux supervisord, Telescope, or job batching.
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Use search-docs for detailed Horizon patterns and documentation covering configuration, supervisors, balancing, dashboard authorization, …
- Very specific: line 73
Run php artisan horizon and visit /horizon
- Very specific: line 75
Check that metrics populate after scheduling horizon:snapshot
- Very specific: line 81
Always check config/horizon.php before making changes to understand the current supervisor and environment configuration.
- Very specific: line 85
Always use search-docs for the latest Horizon documentation rather than relying on this skill alone.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Horizon Configuration
Documentation
Use search-docs for detailed Horizon patterns and documentation covering configuration, supervisors, balancing, dashboard authorization, tags, notifications, metrics, and deployment.
For deeper guidance on specific topics, read the relevant reference file before implementing:
references/supervisors.mdcovers supervisor blocks, balancing strategies, multi-queue setups, and auto-scalingreferences/notifications.mdcovers LongWaitDetected alerts, notification routing, and thewaitsconfigreferences/tags.mdcovers job tagging, dashboard filtering, and silencing noisy jobsreferences/metrics.mdcovers the blank metrics dashboard, snapshot scheduling, and retention config
Basic Usage
Installation
php artisan horizon:installSupervisor Configuration
Define supervisors in config/horizon.php. The environments array merges into defaults and does not replace the whole supervisor block:
<!-- Supervisor Config -->'defaults' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default'],
'balance' => 'auto',
'minProcesses' => 1,
'maxProcesses' => 10,
'tries' => 3,
],
],
'environments' => [
'production' => [
'supervisor-1' => ['maxProcesses' => 20, 'balanceCooldown' => 3],
],
'local' => [
'supervisor-1' => ['maxProcesses' => 2],
],
],Dashboard Authorization
Restrict access in App\Providers\HorizonServiceProvider:
<!-- Dashboard Gate -->protected function gate(): void
{
Gate::define('viewHorizon', function (User $user) {
return $user->is_admin;
});
}Verification
- Run
php artisan horizonand visit/horizon - Confirm dashboard access is restricted as expected
- Check that metrics populate after scheduling
horizon:snapshot
Common Pitfalls
- Horizon only works with the Redis queue driver. Other drivers such as database and SQS are not supported.
- Redis Cluster is not supported. Horizon requires a standalone Redis connection.
- Always check
config/horizon.phpbefore making changes to understand the current supervisor and environment configuration. - The
environmentsarray overrides only the keys you specify. It merges intodefaultsand does not replace it. - The timeout chain must be ordered: job
timeoutless than supervisortimeoutless thanretry_after. The wrong order can cause jobs to be retried before Horizon finishes timing them out. - The metrics dashboard stays blank until
horizon:snapshotis scheduled. Runningphp artisan horizonalone does not populate metrics. - Always use
search-docsfor the latest Horizon documentation rather than relying on this skill alone.
Trending
Steady: 1 new project took it in the last 4 weeks, 1× the 4 weeks before.thin data
Other versions9 projects use a version of this.
Word for word · 7
- coollabsio/coolify★ 65k100% same
- relaticle/relaticle★ 1.8k100% same
- Relaticle/relaticle★ 1.8k100% same
- m3ue/m3u-editor★ 870100% same
- sparkison/m3u-editor★ 870100% same
- trypostit/trypost★ 792100% same
- Dricle/eveil★ 10100% same
Edited · 2
- yaojingang/GEOFlow★ 3.8k100% same
- datashaman/growth★ 1100% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use ai-sdk-development, cashier-stripe-development and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
m3ueSkillai-sdk-development
TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK. Activate when building, editing AI agents, chatbots, text generation, image generation, audio/TTS, transcription/STT, embeddings, RAG, vector stores, reranking, structured output, streaming, conversation memory, tools, queueing, broadcasting, and provider failover across OpenAI, Anthropic, Gemini, Azure, Groq, xAI, DeepSeek, Mistral, Ollama, ElevenLabs, Cohere, Jina, and VoyageAI. Invoke when the user references ai-sdk, the `Laravel\Ai\` namespace, or this project's AI features — not for Prism PHP or other AI packages used directly.
Also in 7 projects that use this
whisper-moneySkillcashier-stripe-development
Handles Laravel Cashier Stripe integration including subscriptions, webhooks, Stripe Checkout, invoices, charges, refunds, trials, coupons, metered billing, and payment failure handling. Triggered when a user mentions Cashier, Billable, IncompletePayment, stripe_id, newSubscription, Stripe subscriptions, or billing. Also applies when setting up webhooks, handling SCA/3DS payment failures, testing with Stripe test cards, or troubleshooting incomplete subscriptions, CSRF webhook errors, or migration publish issues.
Also in 4 projects that use this
gdarkoSkillmedialibrary-development
Build and work with spatie/laravel-medialibrary features including associating files with Eloquent models, defining media collections and conversions, generating responsive images, and retrieving media URLs and paths.
Also in 3 projects that use this
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/laravel-boost.mdcCursor rule
- configure-nightwatchSkill
- configuring-horizonSkill
- inertia-vue-developmentSkill
- infer-conventionsSkill
- laravel-best-practicesSkill
- pulse-developmentSkill
- socialite-developmentSkill
- tailwindcss-developmentSkill
- testing-best-practicesSkill
- wayfinder-developmentSkill
- configure-nightwatchSkill
- configuring-horizonSkill
- inertia-vue-developmentSkill
- infer-conventionsSkill
- laravel-best-practicesSkill
- pulse-developmentSkill
- socialite-developmentSkill
- tailwindcss-developmentSkill
- testing-best-practicesSkill
- wayfinder-developmentSkill
- configure-nightwatchSkill
- inertia-vue-developmentSkill
- infer-conventionsSkill
- laravel-best-practicesSkill
- pulse-developmentSkill
- socialite-developmentSkill
- tailwindcss-developmentSkill
- testing-best-practicesSkill
- wayfinder-developmentSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

