원클릭으로
huuma-ui-routing-and-data
Adding Huuma UI pages, layouts, routes, dynamic params, data loading with resolvers, metadata, and middleware.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Adding Huuma UI pages, layouts, routes, dynamic params, data loading with resolvers, metadata, and middleware.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Adding server-side mutations and form handling to a Huuma UI app with type-safe .remote.ts functions.
Diagnosing and fixing Huuma UI lint violations and runtime errors after they occur.
Editing root.tsx, entry points, dev/prod workflow, environment variables, and the Huuma UI build pipeline.
Building or navigating a Huuma UI app — file conventions, server/client boundary rules, dev workflow, and where to look for authoritative answers.
Adding translations and multilingual routing to a Huuma UI app with setupI18n, useI18n middleware, and the T component.
Adding client interactivity to a Huuma UI app with `.client.tsx` islands, on-* events, refs, and hydration boundaries.
| name | huuma-ui-routing-and-data |
| description | Adding Huuma UI pages, layouts, routes, dynamic params, data loading with resolvers, metadata, and middleware. |
Use this skill when the agent is adding or editing routes, pages, layouts, dynamic params, data loading, metadata, or middleware in a Huuma UI app.
Routes are files under app/:
app/page.tsx — route at /.app/[param]/page.tsx — dynamic route mapped to /:param.app/(group)/page.tsx — grouping directory, stripped from the URL.app/!404/page.tsx — catch-all 404 route, mapped to /* (path-mapping is handled internally by @huuma/ui/server/pack during the build).app/layout.tsx — applies to all nested pages under its directory.app/middleware.ts — middleware for nested routes.Layouts auto-apply by directory nesting. A page gets every layout whose directory is a prefix of the page's path.
Server page.tsx and layout.tsx components receive PageLikeProps:
params — route parameters.searchParams — query string.request — the raw Request.auth — auth context.data — resolved data.resolved — resolver outputs.See the PageLikeProps type exported from @huuma/ui/server (inspect with deno doc jsr:@huuma/ui/server).
resolver()page/layout) may be async and can await resolver(...).resolver() is exported from @huuma/ui/hooks/scope and used to load async data before rendering.data/resolved.metadata or a MetadataGenerator from page.tsx/layout.tsx.@huuma/ui/server (the Metadata types are re-exported there; inspect with deno doc jsr:@huuma/ui/server).<Meta> (from @huuma/ui/server) inside root.tsx to render metadata.default (an array of middleware) from app/middleware.ts.@huuma/route and receives ctx.Inside islands, $url and $route give access to URL/route state (exported from @huuma/ui/hooks/scope). The README "URL/Route Access in Components" section shows a $url() example.
async default exports in .client.tsx.$-hooks are only used in sync island scope.app/, not pages/.(group) does not appear in the URL; [param] becomes :param; !404 becomes /*.