Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
state-ux-flow-builder - Skill - OpenSmartRoute
Skillv1.0.0
state-ux-flow-builder
Standardizes UX states for data fetching flows (loading, error, empty, success) and complex multi-view UI patterns. Provides state machine approach recommendations, loading skeletons, error boundaries
Imported from lichunboa/Ob-Al-brooks-PA (.agent/skills/state-ux-flow-builder/SKILL.md). Install upstream with npx skills add lichunboa/Ob-Al-brooks-PA --skill state-ux-flow-builder. Copyright stays with the author.
State & UX Flow Builder
Create consistent UX flows for all application states: loading, error, empty, and success.
Output Components
Every implementation includes: (1) Loading skeletons, (2) Error state with retry, (3) Empty state with action, (4) Success view, (5) Error boundary, (6) State management pattern (useState/XState/server).
Key Patterns
Data Fetching Flow: Check loading → Handle error → Show empty → Display data
State Machine: XState for complex flows with multiple states and transitions
Optimistic Updates: Instant UI feedback with rollback on error
Progressive Loading: Show content incrementally as it loads
Best Practices
Always handle all states, prefer skeletons over spinners, provide retry mechanisms, use consistent error/empty UI, add ARIA live regions, implement error boundaries.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slot
curl -s -X POST https://api.opensmartroute.ai/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.