Build route, page, or screen files that compose existing components into a working screen, without turning them into large UI or business-logic files.
SkillScore82Maintained
Automatic
◆Frontend / UI pack
Last verified 8/3/2026
What it changes
Passed 18 of 22 test cases with the skill, and 14 of 22 without it.
Without skill64%
With skill82%
Checks it passed that the model alone missed
Navigation to the home tab uses Expo Router Link or router.push.
The page component focuses strictly on composing report components.
The screen component imports and renders ItemDetailsCard with the relevant ID prop.
and 2 more in the full report
4 fixed14 passed either way4 still failing0 broke
Pass-rate lift
+18 pp
Tokens
+19%
Agent turns
0%
Response time
-20%
Model gemini-3.6-flashMeasured 8/3/2026v118 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 4
Prompt
Assemble the `app/details/[id].tsx` screen file in Expo Router. Integrate `ItemDetailsCard` and configure the screen title to show 'Item Details' in the native navigation header.
What was checked, without and with the skill
Checked
Without skill
With skill
The screen file uses Stack.Screen or screenOptions to set the header title to 'Item Details'.
Passed
Passed
The screen component imports and renders ItemDetailsCard with the relevant ID prop.
Missed
Passed
case-16 · gemini-3.6-flash · 8/3/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md62 linessingle file
Assemble Page or Screen Skill
Purpose
Compose route/page/screen files that wire together existing components, layout, and data cleanly — keeping routing files thin and focused on composition, not implementation.
When to Use
Creating a new route/page/screen.
Editing an existing route/page/screen to add/rearrange sections, hook up new components, or adjust page-level layout.
Building the actual reusable UI components used on the page (see Create or Extend Component Skill).
Writing business logic, API clients, or database queries (see Connect Data and API / Database and Backend Logic Skills) — these are called from the page, not implemented in it.
Required Inputs
The plan/feature describing what the screen needs to show and do.
The components, services, and types already available (or being built alongside).
The framework's routing conventions (confirmed via Understand the Project Skill).
Assumptions
Route/page/screen files are composition layers: they assemble components, pass data/props, and handle page-level layout and framework-provided states.
Reusable UI, component styles, and business logic live elsewhere and are imported in.
Step-by-Step Workflow
Confirm the route/file location and naming per the framework's convention (e.g. Next.js App Router app/.../page.tsx, Expo Router file-based route, Vite route component).
Identify the components needed for this screen — reuse existing ones; flag any missing components for Create or Extend Component Skill.
Determine data needs: what data does this screen need, and how is it fetched per the project's convention (server component fetch, loader, hook, service call)? Wire to the data layer — don't fetch inline with ad-hoc logic if a service/hook pattern exists.
Compose the page:
Set up page-level layout (structure/sections) using layout primitives or simple layout markup.
Import and arrange components, passing data via props.
Add framework-level loading/error/empty handling (e.g. loading.tsx, error.tsx, suspense boundaries, or equivalent) where the framework supports it.
Keep the file thin: if a section of JSX is becoming a large, self-contained block of UI with its own logic, extract it into a component instead of growing the page file.
Wire navigation: links/buttons that navigate use the framework's navigation primitives (e.g. next/link, Expo Router Link/router), not ad-hoc anchor tags or window navigation unless required.
Verify metadata/config if relevant (page titles, SEO metadata for web, screen options for Expo Router) per existing conventions.
Rules and Best Practices
Route files should compose imported components — not contain reusable components, component CSS, database logic, or scattered business logic.
Keep page-level layout simple; push complex/reusable layout patterns into shared layout components if reused elsewhere.
Use the framework's built-in loading/error/empty mechanisms where available instead of inventing custom ones.
Pass data down via props/typed interfaces; don't pass loosely-typed blobs.