Feature-folder layout, states/ convention, and data-flow rules for the Agenta mobile app (web/mobile). Use when creating or moving files under web/mobile, deciding where a component lives, adding a new feature or screen, or wiring data into mobile components.
77
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
The source of truth for how code is organized in web/mobile. Load it before
creating any file there.
web/mobile/
src/
pages/ # Pages Router route shells ONLY — no logic, no layout JSX
features/
<feature>/ # e.g. sessions/, chat/, auth/, project-drawer/
<Component>.tsx # one component per file, named export = file name
states/ # designed states for this feature
<X>Skeleton.tsx # mirrors the final layout geometry (no shift on swap)
<X>Empty.tsx # designed empty state with a call to action
<X>Error.tsx # error + retry affordance; preserves user input
components/ui/ # shadcn registry components (see mobile-shadcn-conventions)
lib/ # cn util, motion presets, api glue, context resolution
styles/ # globals.css, theme.generated.css (generated)
scripts/ # generate-shadcn-tokens.ts (token bridge)features/.states/ siblings (skeleton, empty, error). A screen
is not done if any of its states is a browser default or an unstyled string.@agenta/* packages
(@agenta/entities, @agenta/shared, later @agenta/chat) or thin fetchers
in lib/. NEVER import @/oss/*, @agenta/oss, @agenta/ee — the mobile
app has zero app-layer imports (lint enforces this)._app.tsx stays minimal; add a provider only when a
concrete feature needs it, scoped as narrowly as possible.src/features/<feature>/ with the screen component.states/ siblings for every data-bearing component.src/pages/ that renders the screen.useMotionPresets() for any transitions (see mobile-motion-patterns).pnpm --filter @agenta/mobile lint && pnpm --filter @agenta/mobile types:check.e4008fa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.