cap-go/capgo-skills/konsta-ui
Claude Code and agent skill by cap-go/capgo-skills
- community
Checking that the SKILL.md file is still in the repository.
Builds Capacitor app UI with Konsta UI v5 (Tailwind CSS v4-based iOS and Material components for React 19, Vue 3, Svelte 5) - CSS-first setup (`@import 'tailwindcss'; @import 'konsta/react/theme.css';`), `--color-brand-*` colors in `@theme`, `<App theme="ios|material|parent" safeAreas dark>`, `KonstaProvider` when mixing with Ionic, `ios:`/`material:` variants, `pt-safe`/`no-safe-areas` utilities, `k-md-vibrant`/`k-md-monochrome`, and migrating from Konsta v3/v4 `konstaConfig` in `tailwind.conf…
Install
npx vskill@latest install cap-go/capgo-skills/konsta-uiSKILL.md
Konsta UI for Capacitor
When to Use
TRIGGER when:
- Adding Konsta UI to a Capacitor app or choosing it over Ionic
- Upgrading Konsta v3/v4 (Tailwind v3
konstaConfig) to v5 (Tailwind v4) - Components unstyled, colors ignored,
ios:/material:classes do nothing - Navbar / Tabbar under the status bar or gesture bar
- Theme should follow platform (
ioson iPhone,materialon Android)
Do not use:
- Ionic Framework components or theming:
ionic-design - Tailwind install/config without Konsta:
tailwind-capacitor - Android SystemBars / edge-to-edge native config:
safe-area-handling - Keyboard overlap in forms:
capacitor-keyboard
Versions (October 2026)
| Konsta | Tailwind | Frameworks | Config style | |
|---|---|---|---|---|
5.x (latest, 5.5.0) | v4 | React 19 (ref as prop), Vue 3, Svelte 5 (runes, snippets) | CSS: @import 'konsta/<fw>/theme.css' + @theme | |
| 4.x | v3 | adds Svelte 5 types | JS: konstaConfig() in tailwind.config.js | |
| 3.x and below | v3 | JS konstaConfig() |
Check first: npm ls konsta tailwindcss react vue svelte. Never mix v5 CSS setup with a tailwind.config.js konstaConfig wrapper.
Workflow
- Inspect versions, main CSS file,
tailwind.config.*,postcss.config.*,vite.config.*,index.htmlviewport meta, whether Ionic is also present. - Install / upgrade (below). For an existing Tailwind v3 project, migrate Tailwind first (
tailwind-capacitor). - Wrap the app in
App(orKonstaProviderwith Ionic/Framework7). - Build screens with components: references/components.md.
- Verify (below).
Only load a reference when its topic is in play.
Setup (v5, React shown; Vue/Svelte use konsta/vue/theme.css / konsta/svelte/theme.css)
App props: theme ('ios' | 'material' | 'parent', default material), safeAreas (default true), dark, iosHoverHighlight, materialTouchRipple (global switches added in v5). Only one App per app.
Material Roboto font: add it yourself (Google Fonts link or self-hosted for offline). iOS uses the system font.
Migrating v4 -> v5
| v4 | v5 | |
|---|---|---|
tailwind.config.js: module.exports = konstaConfig({...}) | Delete wrapper; @import 'konsta/react/theme.css' in CSS | |
konstaConfig.colors.primary | @theme { --color-brand-primary: ... } | |
| Per-component ripple config | Prefer the global App materialTouchRipple; check component types in your installed version | |
SegmentedButton strong rounded | Removed; use Segmented theme-specific style props | |
Link navbar/toolbar/tabbar props | Removed; context-driven | |
React forwardRef usage / innerRef patterns | ref prop (React 19) | |
| Svelte slots | {#snippet ...} |
Then run the Tailwind v4 upgrade (npx @tailwindcss/upgrade) if Tailwind itself is still v3; see tailwind-capacitor.
Traps
- With Ionic in the same app, use
KonstaProvider(notApp) and pick one owner for safe areas (Ionic's--ion-safe-area-*or Konsta'ssafe-areas), not both. - Dark mode in Konsta v5 is class-based (
@custom-variant dark (&:where(.dark, .dark *))in its CSS): toggledarkon<html>, setApp dark, and match native bars withSystemBars.setStyle. - Konsta's own docs show
user-scalable=no, maximum-scale=1; prefer allowing zoom for accessibility and fix iOS input zoom with 16px inputs instead. - Modals/side panels that are not full-screen need
no-safe-areas(orno-safe-areas-topetc.) to avoid extra padding. - Konsta is UI only: no router, no page transitions. Pair with React Router / Vue Router / SvelteKit and handle Android back button with
@capacitor/appbackButton.
Verification
npm run build && npx cap sync, run on iOS and Android.- Inspect
<html>/root:.k-iosor.k-materialclass present;ios:/material:utilities apply. - Navbar clears the Dynamic Island; Tabbar clears the home indicator and Android gesture bar (Android 15+ edge-to-edge).
- Toggle dark mode; components and status bar icons switch together.
- Leftover check:
grep -rn "konstaConfig\|konsta/config" .returns nothing on v5.
Error Handling
| Error / symptom | Cause | Fix | |
|---|---|---|---|
Cannot find module 'konsta/config' | v5 removed JS config | Use CSS @import 'konsta/react/theme.css' | |
| Components render unstyled | Theme CSS not imported, or Tailwind not scanning (no @tailwindcss/vite / @tailwindcss/postcss) | Import theme after @import 'tailwindcss'; add the Tailwind plugin | |
[postcss] It looks like you're trying to use tailwindcss directly as a PostCSS plugin | Tailwind v4 PostCSS plugin moved | Use @tailwindcss/postcss or @tailwindcss/vite | |
| Brand color ignored | Variable not named --color-brand-*, or defined outside @theme | Rename inside @theme | |
ios: classes have no effect | App/KonstaProvider missing, so no .k-ios ancestor | Wrap app | |
React warning about ref / forwardRef after upgrade | React 18 with Konsta 5 | Upgrade to React 19 or stay on Konsta 4 | |
| Double top padding | Konsta safeAreas + Ionic or custom env() padding | Keep one owner |
Resources
- Konsta UI: https://konstaui.com
- React installation: https://konstaui.com/react/installation
- Safe areas: https://konstaui.com/react/safe-areas
- Colors: https://konstaui.com/react/colors
- Changelog: https://github.com/konstaui/konsta/blob/master/CHANGELOG.md
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/konsta-ui/SKILL.md
Popularity
- Repository stars
- 28
- Repository forks
- 5
- Repository npm downloads, 7 days
- 2
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 20 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/cap-go/capgo-skills/konsta-ui)