How to use @owlmeans/client-route — marking a route model as client-side and extracting its :params. Auto-invoked when importing client route helpers.
Scanned 9/22/2026
Install to Claude Code
npx -y skills add owlmeans/common --skill client-route --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Client Route?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/owlmeans-client-route)More formats (shields.io, HTML) on the badges page.
---
name: client-route
description: How to use @owlmeans/client-route — marking a route model as client-side and extracting its :params. Auto-invoked when importing client route helpers.
user-invocable: false
---
# @owlmeans/client-route
**Layer:** Client
**Install:** `"@owlmeans/client-route": "^0.1.18-rc.31"` in `dependencies`
## Key Exports
| Export | Description |
|--------|-------------|
| `route(model, opts?)` | Mark a route model as a client one, filling in whatever the declaration left blank |
| `ClientRouteModel` | A `RouteModel` carrying the `_client: true` marker |
| `ClientRoute` | The declaration a client route wraps |
| `ClientRouteOptions` | `{ overrides }` — defaults applied to blank declaration fields |
| `isClientRouteModel(obj)` | The `_client` marker test |
| `extractParams(path)` | The `:param` names a path declares, in order |
## Usage
Most app code uses route declarations from `@owlmeans/route` and lets `@owlmeans/web-router` consume them. Import here only for custom routing.
```typescript
import { route, extractParams } from '@owlmeans/client-route'
const model = route(declaration, { overrides: { service: 'manager' } })
extractParams('/project/:id/task/:taskId') // ['id', 'taskId']
```
Marking is all this does: the declared `path` stays the **segment** the route contributes, and the
full path, mount and address are computed by the entrypoint against the context that asks. Nothing
here rewrites a declaration — `overrides` only fills fields the declaration left blank.
## Depends On
- `@owlmeans/route` — `RouteModel`, `overrideParams` (from `/utils`), `normalizePath`, `SEP`, `PARAM`
- `@owlmeans/client-context`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!