К основному содержанию
скилл CX Codex

ionic-design — скилл для Claude Code: что делает и как установить

Проверяет и создаёт интерфейсы на Ionic Framework для приложений на Capacitor. Помогает настраивать темы, режимы iOS и MD, а также обновлять компоненты с Ionic 8 до Ionic 9.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Cap-go/capgo-skills --skill ionic-design -a claude-code
Открыть на GitHub

Что делает ionic-design

Скилл помогает собирать и проверять интерфейсы на Ionic Framework внутри приложений Capacitor. Он знает правила структуры экранов: связку IonPage, IonHeader, IonContent и IonFooter. Скилл следит, чтобы скролл оставался внутри ion-content, проверяет разметку списков и следит за современным синтаксисом форм с атрибутами label и labelPlacement вместо устаревших обёрток IonLabel.

Внутри заложены инструкции по стилизации через CSS-переменные, подключению тёмных палитр palettes/dark.system.css и проверке стилей под режимами iOS и Material Design. Также скилл ведёт миграцию с Ionic 8 на Ionic 9 через npx @ionic/migrate. Он отслеживает удаление ion-picker-legacy, переход на React Router 6 или Vue Router 5 и работу Angular в режиме zoneless.

Инструмент строго сфокусирован на Ionic. Для конфигурации Tailwind v4, разметки Konsta UI или системных отступов без компонентов Ionic этот скилл не подойдёт, так как для них требуются другие инструменты.

Какие задачи решает

  • настроить тёмную тему и CSS-переменные палитры
  • обновить компоненты и маршрутизацию с Ionic 8 до Ionic 9
  • исправить отображение компонентов в режимах iOS и Material Design
  • разместить поля ввода с современными атрибутами label и labelPlacement

Примеры запросов агенту

  • Проверь форму входа на IonInput и переведи лейблы на современный синтаксис Ionic 9.
  • Настрой поддержку системной тёмной палитры через palettes/dark.system.css.
  • Подготовь миграцию проекта с Ionic 8 на Ionic 9 через npx @ionic/migrate.

Как установить ionic-design

1Через Skills CLI (Vercel)

npx skills add Cap-go/capgo-skills --skill ionic-design -a claude-code

2Вручную: положить файлы

~/.claude/skills/ionic-design/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ionic-design/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о ionic-design

Как установить ionic-design в Claude Code?

Выполните команду npx skills add Cap-go/capgo-skills --skill ionic-design -a claude-code.

Что делает скилл ionic-design?

Он проверяет и генерирует код компонентов Ionic Framework для Capacitor. Скилл помогает собирать экраны, оформлять формы, настраивать тёмную палитру и переносить проекты на Ionic 9.

Подходит ли скилл для Tailwind или Konsta UI?

Нет, скилл рассчитан только на компоненты Ionic. Для работы с Konsta UI или установки Tailwind v4 автор рекомендует применять отдельные скиллы konsta-ui и tailwind-capacitor.

Исходный текст

SKILL.md · MIT
---
name: ionic-design
description: Builds and reviews Ionic Framework UI in Capacitor apps (Ionic 9 current, Ionic 8 still common) - page structure (`ion-header`/`ion-content`/`ion-footer`), lists, modern form syntax (`label`/`labelPlacement` on `ion-input`/`ion-select`), sheet modals, tabs + `ion-router-outlet`, CSS variable theming, dark palettes (`palettes/dark.system.css`, `.ion-palette-dark`), iOS vs MD mode, and Ionic 8 -> 9 breaking changes (React Router 6, Vue Router 5, Angular 18-22 zoneless, removed `ion-picker-legacy`, boolean `autocorrect`, `npx @ionic/migrate`). Use when writing Ionic components, theming an Ionic app, fixing platform-mode styling, or upgrading @ionic/react, @ionic/vue, @ionic/angular. Do not use for Konsta UI (konsta-ui), Tailwind setup (tailwind-capacitor), raw safe-area CSS (safe-area-handling), keyboard resize (capacitor-keyboard), or Ionic Appflow/Enterprise migrations (ionic-appflow-migration, ionic-enterprise-sdk-migration).
---

# Ionic Framework Design

## When to Use

TRIGGER when:
- Writing or reviewing `Ion*` / `ion-*` components in a Capacitor app
- Theming: `--ion-color-*`, dark mode, high contrast, per-platform styles
- iOS vs Material Design mode looks wrong, or `mode` overrides misbehave
- Upgrading Ionic 7/8 -> 9, or errors after `npm i @ionic/*@latest`
- Choosing Ionic vs another UI kit for a new Capacitor app

Do not use:
- Konsta UI components: `konsta-ui`
- Tailwind v4 install / config: `tailwind-capacitor`
- Notch / system bar padding outside Ionic: `safe-area-handling`
- Keyboard covering inputs: `capacitor-keyboard` (Ionic apps use `resize: 'ionic'`)
- Leaving Appflow / Ionic Enterprise plugins: `ionic-appflow-migration`, `ionic-enterprise-sdk-migration`

## Versions (October 2026)

| Package | Current | Notes |
|---------|---------|-------|
| `@ionic/core`, `@ionic/react`, `@ionic/vue`, `@ionic/angular` | 9.x (`latest`) | 8.x on `v8-lts` tag |
| `ionicons` | 8.x | |
| Ionic 9 minimums | Capacitor 7+, iOS 16+, Android Chromium 89+, Angular 18-22, React 18/19 + React Router 6.4+, Vue 3.5 + vue-router 5, TypeScript 5.4+ | |

Check installed versions first: `npm ls @ionic/core @ionic/react @ionic/vue @ionic/angular`. Write code for the installed major; do not mix v8 and v9 APIs.

## Workflow

1. **Inspect** framework, Ionic major, router version, global CSS imports, `setupIonicReact` / `IonicVue` / `provideIonicAngular` config, `capacitor.config` `Keyboard.resize`.
2. **Upgrading?** Load [references/ionic-9-migration.md](references/ionic-9-migration.md); run `npx @ionic/migrate` in preview first, report findings, then apply.
3. **Components**: [references/components.md](references/components.md) for page shell, lists, forms, overlays, tabs.
4. **Theming**: [references/theming.md](references/theming.md) for colors, dark/high-contrast palettes, mode-specific CSS, shadow parts.
5. **Verify** in both modes and on devices (below).

Only load a reference when its topic is in play.

## Rules that prevent most Ionic bugs

- Every routed page = `IonPage` > `IonHeader` + `IonContent` (+ optional `IonFooter`). Missing `IonPage` breaks transitions and lifecycle hooks.
- Scroll lives in `ion-content`. Do not make `body` or a wrapper `div` scroll; use `IonContent` `scrollToTop()`/`getScrollElement()`.
- Use `ion-router-outlet` (`IonRouterOutlet`, `IonTabs`) for URL routing. In Ionic 9 `ion-nav` no longer integrates with `ion-router`; keep it for local URL-less stacks inside a page.
- Safe areas are handled through `--ion-safe-area-top|right|bottom|left` (default `env()`); do not add body padding on top. Requires `viewport-fit=cover`.
- Forms: put `label` + `labelPlacement` on the control itself (`<IonInput label="Email" labelPlacement="floating" />`). Legacy `<IonItem><IonLabel/><IonInput/></IonItem>` labeling was removed in Ionic 8.
- Overlays: prefer inline `<IonModal isOpen>` / `trigger` or hooks (`useIonModal`, `modalController`) consistently; always handle `didDismiss` to reset state.
- Platform: style via `.ios` / `.md` classes on `html` or `mode` CSS selectors; use `isPlatform('ios')` only for behavior, never `navigator.userAgent`.
- Icons: import only used icons (`import { heart } from 'ionicons/icons'`) and pass `icon={heart}`; string names need `addIcons` registration in standalone/bundled builds.

## Verification

1. Build and sync: `npm run build && npx cap sync`.
2. Run both modes in the browser: append `?ionic:mode=ios` and `?ionic:mode=md` to the dev URL; check headers, toolbars, lists, buttons.
3. Toggle OS dark mode (or add `ion-palette-dark` to `<html>` if using the class palette); check contrast of custom colors.
4. Device check: iPhone with Dynamic Island + Android 15/16 gesture nav for header/tab bar insets; open keyboard on a form page.
5. After upgrade: `grep -rn "ion-picker-legacy\|pickerController\|useIonPicker\|@ionic/angular/standalone\|autocorrect=\"off\"" src/` returns nothing; `npx tsc --noEmit` passes.

## Error Handling

| Error / symptom | Cause | Fix |
|-----------------|-------|-----|
| `Package path ./dist/... is not exported from package` (webpack) / `ERR_PACKAGE_PATH_NOT_EXPORTED` (Node) for `@ionic/core` | Ionic 9 `exports` map; deep import | Import from `@ionic/core`, `@ionic/core/components`, `@ionic/core/components/ion-*.js`, `@ionic/core/loader`, `@ionic/core/css/*.css` |
| Import errors or migrate warnings for `@ionic/angular/standalone` (Ionic 9) | Standalone imports moved | Import from `@ionic/angular`; lazy APIs from `@ionic/angular/lazy` |
| React: `Property 'component' does not exist` on `Route` / `IonRoute` | Ionic 9 requires React Router 6 | `element={<Page />}`, `Navigate` instead of `Redirect`, `useNavigate` instead of `useHistory` |
| Autocorrect turned ON after upgrade | `autocorrect="off"` string is truthy in Ionic 9 | Remove the attribute or bind `false` |
| `ionChange` no longer fires on re-selecting same option | Ionic 9 fires only on value change | Use `ionDismiss` for dismissal |
| Sheet modal handle now focusable / cycles breakpoints | Ionic 9 `handleBehavior` default `cycle` | `handle-behavior="none"` to restore |
| Styles missing, components unstyled | Core CSS not imported | Import `@ionic/<fw>/css/core.css` (+ structure/typography) once at entry |
| Dark mode never activates | No palette imported | Import `css/palettes/dark.system.css` (or `.class.css` + `ion-palette-dark` class) |
| Angular 21 view not updating after async work | Zoneless default in Ionic 9 + Angular 21 | Use signals / `markForCheck()`, or add `provideZoneChangeDetection()` |

## Resources

- Ionic docs: https://ionicframework.com/docs
- Ionic 9 breaking changes: https://github.com/ionic-team/ionic-framework/blob/main/BREAKING.md
- Theming: https://ionicframework.com/docs/theming/basics
- Dark mode: https://ionicframework.com/docs/theming/dark-mode

© Cap-go · MIT · Cap-go/capgo-skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
ionic-expert capawesome-team Скилл даёт агенту справочник по Ionic Framework: компоненты, CLI, темы, навигация и паттерны Angular, React и Vue. CX Codex +1 1 200установок ionic-app-upgrades capawesome-team Ведёт агента через мажорный апгрейд Ionic: пошаговые миграции для Angular, React и Vue, ломающие изменения компонентов и CSS-переменных. CX Codex +1 740установок ionic Mindrally Задаёт агенту правила разработки на Ionic: структура проекта, компоненты, стили, ленивая загрузка и работа с Firebase. CX Codex +1 797установок stitch::code-to-design официальный google-labs-code Переносит существующий фронтенд в Stitch: извлекает HTML и дизайн-систему, затем загружает их в проект. Пригодится для работы с уже готовыми страницами и компонентами. CX Codex +1 10 200установок mapbox-web-integration-patterns mapbox Официальные паттерны встраивания Mapbox GL JS в React, Vue, Svelte, Angular и на чистом JavaScript. Пригодится, когда карта течёт по памяти или не инициализируется в нужном хуке. CX Codex +1 2 600установок frontend-developer VoltAgent Community Субагент для разработки полных фронтенд-приложений на React 18+, Vue 3+ и Angular 15+. Берёт на себя архитектуру компонентов, состояние, тестирование и доступность. 40 905установок

Из того же набора29

capacitor-best-practices Проверяет Capacitor-проект на ошибки, из-за которых ломаются сборки и утекают dev-настройки в релиз. Полезен перед выкладкой в стор. CX Codex +1 2 700установок capacitor-plugins Помогает выбрать плагин Capacitor под нативную функцию, поставить его и проверить, что он реально слинкован в iOS и Android. CX Codex +1 1 600установок ios-android-logs Скилл показывает, откуда брать логи и краш-отчёты Capacitor-приложения на iOS и Android, и как отфильтровать их до своего процесса. CX Codex +1 1 300установок capacitor-testing Скилл разбирает, каким слоем тестировать Capacitor-приложение: Vitest с моками плагинов, Playwright, Appium и нативные тесты. CX Codex +1 1 300установок safe-area-handling Чинит вёрстку в Capacitor-приложениях: контент под вырезом, Dynamic Island, домашним индикатором и панелью жестов Android. CX Codex +1 1 300установок capacitor-app-store Ведёт сборку Capacitor от «работает на моём устройстве» до публикации в App Store и Google Play: версии, подпись, загрузка IPA/AAB, TestFlight и треки Play. CX Codex +1 1 200установок capacitor-accessibility Скилл для ИИ-агента, который разбирает доступность Capacitor-приложений: VoiceOver, TalkBack, Dynamic Type, Switch Control и масштаб шрифта Android. CX Codex +1 1 200установок capacitor-security Проверяет приложение на Capacitor на утечки секретов, слабую защиту хранилища и транспорта, а потом помогает всё это починить. CX Codex +1 1 200установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой