app-shell

Enforces a shared AppShell navigation component across all platform apps and prototypes.

Updated Aug 21, 2026
One-click install
npx skills add https://github.com/dohcivil-ui/naichangmoo.com --skill app-shell-dohcivil-ui
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: app-shell
Source: https://github.com/dohcivil-ui/naichangmoo.com/tree/main/.agents/skills/app-shell
Command: npx skills add https://github.com/dohcivil-ui/naichangmoo.com --skill app-shell-dohcivil-ui

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Apps built by different sessions drift apart visually: some lack a way back home, some hand-roll their own navigation bars that diverge from the shared standard, and prototypes end up outside the shell entirely. This Skill enforces one shared app shell so every app and prototype in the platform has identical navigation, context bar, app title, and footer. ## Core Features & Use Cases - Shared AppShell component: All apps must render src/components/platform/app-shell.tsx (SiteHeader, context bar, app title block, PlatformFooter) instead of writing custom navigation. - Prototype mode: Prototypes at /prototype/<name> use <AppShell app={app} mode="prototype"> to get the shell without entitlement badges or registry claims (per ADR 0014/0015). - Three-level wayfinding: Every app must provide exit-to-platform, app-home, and back-one-level navigation, with labels sourced from landingActionContract and platformApps, never hardcoded. - Use Case: When creating a new app or adding a page, wrap the layout in AppShell, pull the app name and description from the platform registry, and run the completion checklist (no custom nav bars, no emoji, Edge browser width checks, reduced-motion states). ## Quick Start Use the app-shell skill to scaffold a new app page wrapped in the shared AppShell component with standard navigation and footer.

Frequently Asked Questions about app-shell

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add consistent navigation to a new Next.js app page?

Wrap the app layout in the shared AppShell component from src/components/platform/app-shell.tsx and pass the app entry from the platformApps registry. Never write a custom navigation bar inside the app's own files.

How do prototypes get the app shell without claiming to be published?

Prototypes live at /prototype/<name> and use AppShell with mode="prototype". This mode skips the registry lookup, hides entitlement badges, shows a prototype badge instead, and omits the app title block.

Why does my fixed background layer hide the navigation context bar?

A position:fixed opaque background painted later in the DOM draws over the shell's context bar. The .app-shell__context element needs position: relative and z-index: 1 to stay visible above ambient background layers.

Can I write a custom header for one app if AppShell lacks a feature?

No. Custom per-app navigation bars diverge from the shared standard the moment AppShell changes. Extend AppShell itself so every app receives the improvement together.

What navigation levels must every app provide?

Three levels: an always-visible exit to the platform home, a link to the app's own home when not on it, and a back-one-level control when deeper than one level. Labels come from landingActionContract, not hardcoded text.