Answer questions about this Laravel app's events, listeners, jobs, mailables, notifications, observers, routes and scheduled tasks using the Loom index. Use for impact analysis before changing or removing one of them, finding orphaned events and listeners, and tracing an HTTP route to the events it sets off.
php artisan boost:add-skill lucasp1337/laravel-loom
Save this content to: .claude/skills/loom/SKILL.md
# Loom
Loom exposes a read-only index of the app's event-driven wiring through MCP tools. Run `php artisan loom:scan` first if the code changed since the last scan.
## Impact analysis
Use before removing or renaming an event, listener, job, mailable or notification.
1. Call `impact-of-change` with `fqcn` and `change` (`remove` or `rename`).
2. Read `would_orphan_events` (listeners), `dispatchers` and `handlers` (events) or `dispatchers` (mailables and notifications).
3. For an event, call `events-following` with `event_fqcn` to see what else it sets off.
4. If `kind` is `unknown`, the class is not in the index. Say so; do not infer.
## Find orphans
1. Call `find-orphans` for `orphan_events` and `idle_listeners`.
2. Call `find-unresolved-dispatches`. An event fired only from an unresolved dispatch can look orphaned.
3. Open each remaining candidate at its `file` and `line` before proposing a removal.
## Trace a route to its events
1. Call `route-to-events` with `method`, `uri` and optionally `depth` (default 3, max 6).
2. Read `chain.dispatches` for direct dispatches, `chain.chains` for downstream handlers, and `chain.mailables_reached` and `chain.notifications_reached` for what ends up sent.
3. If `truncated` is `true`, call again with a larger `depth`. If `chain` is `null`, the route is a closure.
4. Use `get-entity` with `kind` and `fqcn` for the full record of any class in the chain.
Loom exposes a read-only index of the app's event-driven wiring through MCP tools. Run php artisan loom:scan first if the code changed since the last scan.
Use before removing or renaming an event, listener, job, mailable or notification.
impact-of-change with fqcn and change (remove or rename).would_orphan_events (listeners), dispatchers and handlers (events) or dispatchers (mailables and notifications).events-following with event_fqcn to see what else it sets off.kind is unknown, the class is not in the index. Say so; do not infer.find-orphans for orphan_events and idle_listeners.find-unresolved-dispatches. An event fired only from an unresolved dispatch can look orphaned.file and line before proposing a removal.route-to-events with method, uri and optionally depth (default 3, max 6).chain.dispatches for direct dispatches, chain.chains for downstream handlers, and chain.mailables_reached and chain.notifications_reached for what ends up sent.truncated is true, call again with a larger depth. If chain is null, the route is a closure.get-entity with kind and fqcn for the full record of any class in the chain.How can I help you explore Laravel packages today?