| name | frontend-native-surface-mapper |
| description | Use when changing or auditing the generated mapping between app routes, page files, Next.js API proxies, backend endpoint families, native transport, Capacitor plugins, and voice/action contracts. |
Hussh Frontend Native Surface Mapper Skill
Purpose and Trigger
- Primary scope:
frontend-native-surface-map
- Trigger on route-to-API/native/plugin/voice mapping, screen parity audits, Next.js server API dependency mapping, and generated surface-map contract changes.
- Avoid overlap with
frontend-architecture, mobile-parity-audit, backend-api-contracts, and one-voice-governance.
Coverage and Ownership
- Role:
spoke
- Owner family:
frontend
Owned repo surfaces:
hushh-webapp/frontend-native-surface-map.generated.json
hushh-webapp/scripts/architecture/generate-surface-map.mjs
docs/reference/architecture/frontend-native-surface-map.md
Non-owned surfaces:
frontend
mobile-native
backend-api-contracts
one-voice-governance
docs-governance
Do Use
- Before changing a route that depends on a Next.js proxy, backend endpoint family, native plugin, or voice/action contract.
- When mapping a screen's API calls to native transport and plugin behavior.
- When adding route-specific overrides to the generated surface map.
- When auditing whether a native iOS/Android screen still matches web route behavior.
Do Not Use
- Broad frontend structure work that belongs to
frontend-architecture.
- Native plugin implementation or registration work that belongs to
mobile-plugin-contracts.
- Backend route wire-shape changes that belong to
backend-api-contracts.
- Voice/action gateway authoring that belongs to
one-voice-governance.
Read First
docs/reference/architecture/frontend-native-surface-map.md
docs/reference/architecture/route-contracts.md
docs/reference/mobile/capacitor-parity-audit.md
hushh-webapp/frontend-native-surface-map.generated.json
Workflow
- Run
cd hushh-webapp && npm run verify:surface-map before trusting the map.
- Inspect the target route's page file, service imports,
page.voice-action-contract.json, and native inventory row.
- If the route uses a new service, proxy, backend family, plugin, loader, header, or back-button pattern, update
generate-surface-map.mjs.
- Regenerate the contract from
hushh-webapp with node ./scripts/architecture/generate-surface-map.mjs.
- Re-run
cd hushh-webapp && npm run verify:surface-map.
- Hand off to backend, mobile, or voice skills when the map reveals a contract change outside this skill's ownership.
- When a finite nested route family renders through one shared workspace, keep every route file represented in the generated surface map and native route inventory instead of relying on only the parent route.
Handoff Rules
- If the request is still broad or ambiguous, route it back to
frontend.
- If the work is broad route/package structure, route to
frontend-architecture.
- If native parity evidence or simulator proof is needed, route to
mobile-parity-audit.
- If a Next.js proxy or backend endpoint contract changes, route to
backend-api-contracts.
- If voice/action ids, reachability, or execution policy changes, route to
one-voice-governance.
- If documentation homes or stale links are the main problem, route to
docs-governance.
Required Checks
cd hushh-webapp && npm run verify:surface-map
cd hushh-webapp && npm run verify:capacitor:static
cd hushh-webapp && npm run verify:docs