AddThisFeature

Tabs

Split a crowded page into sections without another route.

simple Navigation

What it adds

Accessible tabbed sections, with the active tab reflected in the URL.

What your agent is told to do

4
  1. 1

    Use tabs for alternative views of the SAME thing. If the content is unrelated, it wants a separate page.

  2. 2

    Put the active tab in the URL so a tab can be linked, bookmarked, and survives a refresh.

  3. 3

    Implement the WAI-ARIA tabs pattern: arrow keys move between tabs, Tab moves into the panel.

  4. 4

    Lazy-load expensive panels, but don't refetch every time the user switches back.

Edge cases it handles

5
  • A refresh or a shared link must open on the right tab.
  • The browser back button should move between tabs if they change the URL.
  • Too many tabs to fit must scroll or overflow into a menu, never wrap into a broken row.
  • Unsaved changes in one tab must not be silently lost when switching.
  • On mobile, tabs often work better as a select or a scrollable row.

Definition of done

7
  • The active tab is in the URL and survives refresh and sharing.
  • The ARIA tabs pattern is implemented, with arrow-key navigation.
  • Overflowing tabs degrade gracefully.
  • Switching tabs doesn't silently discard unsaved input.
  • Panels are lazy-loaded but not refetched needlessly.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.