use-topbar
cognitedata/builder-skills
Wire Aura Topbar into Flows/Fusion apps as the compliant single top navigation bar with breadcrumbs, theme switching, and utility strip.
What is use-topbar?
Aura Topbar is the standardized top navigation component for authenticated Flows/Fusion applications. Use it when building or scaffolding a new Flows/Fusion app, adding a header, breadcrumbs, or theme switcher. It provides breadcrumb navigation, optional center tabs or segmented controls, and a right utility strip (Share, notifications, theme menu, Atlas, user Avatar).
- Installs @aura/topbar as a shadcn registry component via the shadcn CLI
- Provides breadcrumb navigation with interactive links for app and object hierarchy
- Supports optional center Tabs or Segmented control for secondary navigation
- Includes right utility strip with Share, Notifications, Theme switcher, Atlas, and user Avatar
- Wires light/dark theme switching to document.documentElement with sun/moon icons
- Enforces single Topbar per page and composition from @aura/topbar primitives only
How to install use-topbar
npx skills add https://github.com/cognitedata/builder-skills --skill use-topbar- Flows or Fusion application project
- pnpm package manager
- shadcn CLI installed and configured
- Existing dark-mode hook or context (optional; can be created during setup)
How to use use-topbar
- 1.Set up the Cursor hooks by creating or merging .cursor/hooks.json with the topbar sessionStart prompt
- 2.Read package.json, src/App.tsx (or main layout), and app config to infer defaults
- 3.Run the full Q1–Q9 configuration interview from INTERVIEW.md, asking one question at a time
- 4.Install @aura/topbar via shadcn CLI: pnpm dlx shadcn@latest add @aura/topbar
- 5.Wire the useThemeMode hook for light/dark theme switching to document.documentElement
- 6.Compose the Topbar component with breadcrumbs, optional center Tabs/Segmented control, and right utility strip in the correct order (Share → Notifications → Theme → Atlas → Avatar)
- 7.Verify compliance: exactly one Topbar per page, breadcrumbs are interactive links, primary actions live below the Topbar, theme menu shows sun/moon with Light/Dark rows and checkmark
Use cases
- Adding a compliant header and navigation bar to a new Flows/Fusion application
- Implementing breadcrumb navigation that reflects app structure and open objects
- Adding theme switching (light/dark mode) to an authenticated Flows/Fusion app
- Scaffolding a Flows/Fusion app with standard top navigation and utility controls
- Replacing a custom header with the standardized Aura Topbar component
- Flows/Fusion application developers
- Frontend engineers building authenticated Cognite applications
- Teams scaffolding new Flows/Fusion projects
- Developers implementing app headers and navigation bars
use-topbar FAQ
No. If installation fails, surface the blocker to the user — never build a custom header fallback. See RULES.md §1, §11, §12.
No. Exactly one Topbar per page is non-negotiable. The Topbar must be composed only from @aura/topbar primitives.
Primary and app-specific actions must live in the content area below the Topbar, not in the Topbar itself.
Share → Notifications → Theme → Atlas → user Avatar. Share, Notifications, and Theme are ghost small buttons; Atlas is secondary small with a leading icon.
Wire the useThemeMode hook to toggle light/dark mode on document.documentElement. The theme button shows a sun icon in light mode and moon icon in dark mode, with a menu offering Light/Dark options and a checkmark on the active mode.
Full instructions (SKILL.md)
Source of truth, from cognitedata/builder-skills.
name: use-topbar description: >- Wires the Aura Topbar (@aura/topbar) into Flows/Fusion apps as the single top navigation bar — breadcrumbs, optional center Tabs or Segmented control, right utility strip (Share, notifications, theme menu, Atlas, user Avatar), and light/dark theme switching. Use when adding a topbar, app header, navigation bar, breadcrumbs, or theme switcher to a Flows or Fusion app, or when scaffolding a new Flows/Fusion application. allowed-tools: Read, Glob, Grep, Write, Edit, Bash
Topbar
@aura/topbar is the single, compliant top navigation bar for every authenticated Flows/Fusion app. It is a shadcn registry component (installed via pnpm dlx shadcn@latest add @aura/topbar), not an npm package.
- Storybook: https://cognitedata.github.io/aura/storybook/?path=/docs/primitives-topbar--docs
- Full rules: RULES.md · Interview: INTERVIEW.md · Install + code: IMPLEMENTATION.md
Non-negotiables: Exactly one Topbar per page, composed only from
@aura/topbarprimitives, installed via the shadcn CLI only. If installation fails, surface the blocker — never build a custom header fallback. See RULES.md §1, §11, §12.
Step 0 — Auto-prompt hook setup
Ensure the topbar interview is triggered at the start of every future Cursor session in this project.
- Check whether
.cursor/hooks.jsonexists in the project root. - If it does not exist, create it:
{
"version": 1,
"hooks": {
"sessionStart": [
{
"type": "prompt",
"prompt": "This is a Flows/Fusion application. Before implementing any UI or navigation work, read and follow the topbar skill and run the topbar configuration interview with the user."
}
]
}
}
- If
.cursor/hooks.jsonalready exists without a topbarsessionStartentry, merge the entry above — do not overwrite unrelated hooks. - Confirm to the user, then continue.
Step 1 — Pre-flight: read the app
Before asking any questions, read:
package.json— package manager, existing UI deps, existing@aura/topbarsrc/App.tsx(or main layout file) — routing, existing dark-mode hook/context- Flows/Fusion app config (
app.config.ts,fusion.config.ts, manifest) —displayName,name, app mark / branding
Apply any found defaults and skip the corresponding interview questions. State what was inferred.
Step 2 — Configuration interview (mandatory)
Run the full Q1–Q9 interview in INTERVIEW.md before writing any implementation code. Ask one question at a time; skip only questions that Step 1 already answered definitively.
Steps 3–5 — Install, theme hook, implement
See IMPLEMENTATION.md for:
- Installing
@aura/topbarvia the shadcn CLI (mandatory, no workarounds) useThemeModehook wiring for light/dark switching- Topbar component composition example and layout wrapper
Step 6 — Compliance checklist
Verify before finishing (see RULES.md §12 for the full enforcement checklist):
- Exactly one Topbar per page
- Left:
Avatarapplication mark (small, fjord) → app name breadcrumb → object name breadcrumb (only when an object is open) - Breadcrumb segments are interactive links — not static text
- Object dropdown (if present) only on the object name segment; actions are object-scoped only
- Inline metadata (if present) is a plain string, left-aligned after the breadcrumb — not centered
- Middle: Tabs or Segmented control at small if present; no sidebar; no primary CTA in the Topbar
- Primary / app-specific actions live in the content area below the Topbar
- Right strip order when used: Share → Notifications → Theme → Atlas → user Avatar; Share/Notifications/Theme as ghost small, Atlas as secondary small with leading icon + "Atlas"
- Theme: sun in light mode, moon in dark mode; Menu with Light/Dark rows + checkmark on active; wired to
document.documentElement -
tailwind.confighasdarkMode: 'class'
Related skills
More from cognitedata/builder-skills and the wider catalog.

code-quality
Automated code quality review for Flows apps—linting, type safety, component size, and maintainability checks.

correctness-and-error-handling
Find and fix bugs, error handling, and edge cases in Flows apps automatically.

create-client-tool
Scaffold and wire AtlasTool client-side tools for Atlas agents with TypeBox schema validation.

dependencies-audit
Find and fix dependency vulnerabilities, outdated packages, deprecated dependencies, and license issues in Flows apps.

agentic-wallet
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.

authenticate-wallet
Sign in to your wallet via email OTP before sending, trading, or funding.