smithery.ai

windows15-app-development

Build and modify apps in the Windows 15 desktop environment. Use when creating new apps, modifying existing apps in apps/, working with window management, persistence, hotkeys, notifications, or UI components.

First seen Apr 2, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,401 B
  • docs SUMMARY.md 242 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Windows 15 App Development

Use this skill when building or modifying apps under apps/ in the Windows 15 desktop environment.

Quick Navigation

Task Documentation
Create a new app [guides/creating-simple-app.md](guides/creating-simple-app.md)
Register an app / app config [core/app-architecture.md](core/app-architecture.md)
Open/focus/minimize windows [core/window-lifecycle.md](core/window-lifecycle.md)
Persist app state [guides/adding-persistence.md](guides/adding-persistence.md)
Keyboard shortcuts [guides/hotkeys.md](guides/hotkeys.md)
Toast notifications [guides/notifications.md](guides/notifications.md)
UI components & styling [guides/styling-patterns.md](guides/styling-patterns.md), [reference/ui-components.md](reference/ui-components.md)
Full API lookup [reference/contexts.md](reference/contexts.md), [reference/hooks.md](reference/hooks.md)
Learn by example [examples/calculator-walkthrough.md](examples/calculator-walkthrough.md), [examples/notepad-walkthrough.md](examples/notepad-walkthrough.md)

Codebase Landmarks

  • App registration: apps/registry.ts (authoritative app registry)
  • Window lifecycle: context/WindowContext.tsx and components/Window.tsx
  • OS wrapper hook: context/OSContext.tsx (useOS())
  • Common hooks: hooks/index.ts
  • UI primitives: components/ui/

Essential Patterns

Creating a New App

  1. Create component in apps/MyApp.tsx:
import { AppContainer } from '../components/ui/AppContainer';

export function MyApp() {
    return (
        <AppContainer padding>
            <h1>My App</h1>
        </AppContainer>
    );
}
  1. Register in apps/registry.ts:
{
  id: 'myapp',
  title: 'My App',
  icon: 'apps',
  color: 'bg-slate-400',
  component: React.lazy(() => import('./MyApp').then(m => ({ default: m.MyApp }))),
  defaultWidth: 520,
  defaultHeight: 420,
}

Persisting State

Use usePersistedState() (Dexie/IndexedDB-backed):

const { value, setValue, isLoading } = usePersistedState<Settings>('myapp.settings', defaultSettings);

Window Instance Control

Apps receive windowId as a prop to control their window:

const MyApp: React.FC<{ windowId: string }> = ({ windowId }) => {
    const { setTitle, setBadge } = useWindowInstance(windowId);
    // ...
};

Toast Notifications

const notify = useNotification();
notify.success('Saved!');
notify.error('Failed');

Keyboard Shortcuts

useStandardHotkeys({
    onSave: () => handleSave(),
    onFind: () => handleFind(),
});

Constraints

  • Prefer existing UI primitives in components/ui/
  • Prefer usePersistedState() over useLocalStorage() for persistence
  • Don't invent new global patterns when existing hooks/contexts solve it
  • Keep id in registry stable (used for session restore)

Documentation Index

Core Architecture

  • [core/app-architecture.md](core/app-architecture.md) - App registration and lazy loading
  • [core/window-lifecycle.md](core/window-lifecycle.md) - Window creation, focus, persistence
  • [core/state-management.md](core/state-management.md) - Where state lives
  • [core/data-flow.md](core/data-flow.md) - Data flow diagrams

Guides

  • [guides/creating-simple-app.md](guides/creating-simple-app.md) - Step-by-step new app
  • [guides/adding-persistence.md](guides/adding-persistence.md) - Persist app state
  • [guides/state-persistence.md](guides/state-persistence.md) - Detailed persistence patterns
  • [guides/hotkeys.md](guides/hotkeys.md) - Keyboard shortcuts
  • [guides/notifications.md](guides/notifications.md) - Toast notifications
  • [guides/styling-patterns.md](guides/styling-patterns.md) - UI patterns
  • [guides/building-apps.md](guides/building-apps.md) - Full integration guide
  • [guides/localization.md](guides/localization.md) - Multi-language support
  • [guides/db-migration.md](guides/db-migration.md) - Migrate to IndexedDB

Reference

  • [reference/hooks.md](reference/hooks.md) - All available hooks
  • [reference/contexts.md](reference/contexts.md) - OS contexts and hooks
  • [reference/ui-components.md](reference/ui-components.md) - UI component library
  • [reference/types.md](reference/types.md) - Shared types
  • [reference/os-services.md](reference/os-services.md) - OS service reference
  • [reference/system-sounds.md](reference/system-sounds.md) - Sound effects
  • [reference/keyboard-shortcuts.md](reference/keyboard-shortcuts.md) - Global keyboard shortcuts

Examples

  • [examples/calculator-walkthrough.md](examples/calculator-walkthrough.md) - Simple self-contained app
  • [examples/notepad-walkthrough.md](examples/notepad-walkthrough.md) - Multi-view app with file props

API Documentation

  • [api/hooks/useAppState.md](api/hooks/useAppState.md) - Persistent state
  • [api/hooks/useSound.md](api/hooks/useSound.md) - System sounds
  • [api/hooks/useWindow.md](api/hooks/useWindow.md) - Window instance control
  • [api/hooks/useTranslation.md](api/hooks/useTranslation.md) - Localization
  • [api/hooks/useFilePicker.md](api/hooks/useFilePicker.md) - File dialogs