orange-opensource/ouds-ios/ouds-ios-components-navigations
Claude Code and agent skill by orange-opensource/ouds-ios
- community
Checking that the SKILL.md file is still in the repository.
Usage and code examples for OUDS iOS Navigations components — OUDSLink (text, indicator, icon, size), OUDSTabBar (iOS 15–25 and iOS 26+ APIs) and Toolbars (toolBarTop / toolBarBottom + OUDSToolBarItem with back / close / icon / label / badge / prominent style). Load the ouds-ios-framework-usage skill first for imports, themes and image rules.
Install
npx vskill@latest install orange-opensource/ouds-ios/ouds-ios-components-navigationsSKILL.md
OUDS Navigations components
Prerequisite: loadouds-ios-framework-usagefirst for imports, themes and image rules(OUDSImage,// swiftlint:disable:next accessibility_label_for_image).
Link
Tab Bar
Never combine withOUDSToolBarBottomon the same screen.
Tab bar images: 26×26 pt.OUDSTabBar(selected:count:content:)(plainInt) is deprecated — useselectedTab: Binding<Int>.
Toolbars
Availability: iOS 15+, visionOS 1+. Not available on watchOS, tvOS, macOS.
Setup (top toolbar):
- Must be inside
NavigationStack. - Call
.oudsNavigationBarAppearance()once on the rootNavigationStack. - On iOS ≤ 18: add
.accentColor(theme.colors.contentDefault)on root view for the back chevron. subtitlerendered on iOS 26+ only; ignored whenhasLargeTitle: true.principalItem(at most one item, center position): when set,subtitleis never displayed (whateverhasLargeTitleis —
.principal only replaces the inline bar title, not .navigationSubtitle() on iOS 26+); title is displayed only if hasLargeTitle: true (shown below the bar, large mode — never inside the bar next to principalItem).
Setup (bottom toolbar):
- Never combine with
OUDSTabBaron the same screen. groupedItemslayout meaningful on iOS 26+ only.
`OUDSToolBarItem` reference:
Badge rendering: iOS ≤ 25 →OUDSBadgeStandard/OUDSBadgeCount; iOS 26+ top → native system badge; iOS 26+ bottom →OUDSBadgeStandard/OUDSBadgeCountforced.
List Items
Common Patterns
Shared types:
| Type | Purpose | |
|---|---|---|
OUDSListItemData | Textual data: label, description, overline, extraLabel, helperText, textSlot, bottomSlot | |
OUDSListItemData.Label | Label content: .textual(OUDSTextualContent, isBold:), .custom(AnyView, accessibilityLabel:) (.text is deprecated); string-literal convertible | |
OUDSTextualContent | Shared text payload for description / overline / extraLabel / helperText: .raw(String), .localized(LocalizedStringKey, tableName:, bundle:) or .rich(AttributedString); string-literal convertible | |
OUDSListItemLeading | Leading element: icon, image, flag, avatar, custom view | |
OUDSListItemTrailing | Trailing element: text, badge, tag, icon, image, flag, avatar, custom view |
.custom { ... }accepts any@ViewBuildercontent (e.g.OUDSCircularProgressIndicator, custom control). Unlike.flag/.avatar,it is not auto-hidden from accessibility — the custom view must carry its own accessibility label/value.
Rich text: every textual field (label, description, overline, extraLabel, helperText) acceptsa rawString, a localized string or a styledAttributedString. Pass string literals directly(label: "Label", description: "Desc"), or use.textual(.rich(...))for the label and.rich(...)/.localized(...)for the other fields. Never use the deprecatedLabel.text.Literal pitfall: a bare literal label with no textual field (OUDSListItemData(label: "Label"), or with onlytextSlot/bottomSlot)may select a deprecated initializer (warning): writelabel: .textual("Label"). Same for a custom view label with a literaloverline: writeoverline: .raw("…").
Shared view modifiers:
Static List Item
Navigation List Item
This is the start of the file. Read the full SKILL.md on GitHub.
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/ouds-ios-components-navigations/SKILL.md
Popularity
- Repository stars
- 34
- Repository forks
- 9
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
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/orange-opensource/ouds-ios/ouds-ios-components-navigations)