Skill catalogue
22 ready skills cover the day-to-day operator workflow — bookings, customers, cash, fleet, auto-repair. Each maps one user intent to the right tool subset with explicit confirmation gates before any write.
Every skill is fetchable as a portable SKILL.md from /api/skills/<name> and listed in /api/skills/manifest. The same set is also injected directly into the in-app backoffice assistant via applySkillsToMode — chat and MCP never drift.
Reservations (5)
- quote-rental — confirm vehicle + dates, return total with breakdown. No writes.
- book-reservation — full booking flow: quote → identify/onboard customer → explicit confirmation →
create_reservation. - modify-reservation — change dates / extras / notes on an existing booking. Re-prices and surfaces the delta before writing.
- cancel-reservation — set status=cancelled with explicit confirmation; surfaces deposit-refund implications (refund itself is a separate flow).
- swap-vehicle — replace the vehicle on an existing reservation keeping dates+customer, re-quote against the new vehicle.
Customers (3)
- customer-onboarding — lookup-first to avoid duplicates →
ai_fill_customerfrom text or ID photo → confirm →create_customer. - customer-search — find by email, phone, or partial name; surfaces open reservations summary.
- deposit-return — return a deposit after rental close/cancel; books an expense with a
deposit_returndescription tag.
Finance (4)
- record-income — book a payment with explicit cash register + category. Refuses to guess currency.
- record-expense — book a vehicle-specific or admin expense; binds to vehicle when applicable.
- cash-summary — read-only daily/weekly summary per register with net + category breakdown.
- investor-payout — book an investor payout; uses the description tag
Investor payout:so the CashTransaction router maps it to the investor_payout system category.
Fleet (3)
- fleet-add-vehicle —
ai_fill_vehiclefrom short description → confirm →add_vehicle. Never skips the AI-fill step. - maintenance-log — record an oil change / tires / repair / inspection event; surfaces recent maintenance for context to avoid double-logging.
- investor-share-update — change an investor's ownership share in a vehicle; surfaces existing shares first so the per-category total stays 100%.
Cross-cutting (7)
- yolo — universal auto-repair pipeline.
pnpm yoloscans all enabled verticals (types/lint/format/unit/i18n/migration/security/incident) and applies deterministic fixes. - auth-client-provisioning — register / inspect / rotate OAuth clients on the INITE identity provider.
- auth-incident-response — investigate and respond to auth incidents (compromised account, lost device, leaked password).
- auth-debug-token — mint a debug service token via
client_credentials. - auth-profile — view and edit your INITE profile.
- auth-sessions — list and revoke active refresh tokens.
- auth-passkeys — register and manage passkeys for passwordless sign-in.
Architecture promise
Skills are defined once with defineSkill({...}) in @inite/incidents, @inite/auth-admin, or src/lib/domain/assistant/skills/. The same Skill object reaches three surfaces:
pnpm skills:exportwrites a SKILL.md file per skill to.claude/skills/for local Claude Code use.- In-app backoffice assistant loads active skills via
applySkillsToModebased on the user's turn (on-mention patterns). - MCP
prompts/listexposes every registered skill to external clients (Claude Desktop, Cursor, Goose, …) via the lazyskills: () => getRegisteredSkills()callback increateMcpRoute.
Tools are similarly single-sourced via registerToolModule and reach both surfaces through getToolsForMode + bridgeTools. There is no path that lets a skill or tool drift between the embedded assistant and external MCP clients.