ouds-ios-framework-usage
Setup and general usage of the OUDS iOS framework — imports, themes, token namespaces, view modifiers, image rules, shared control patterns and custom font…
Skill by Orange-OpenSource
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/orange-opensource-ouds-ios-framework-usage
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ouds-ios-framework-usage
What's inside
- Skill name
ouds-ios-framework-usage- Description
- Setup and general usage of the OUDS iOS framework — imports, themes, token namespaces, view modifiers, image rules, shared control patterns and custom font registration. Load this first; then load the matching `ouds-ios-components-*` skill for a specific component family (actions, content-display, controls, dialogs, foundations, indicators, layouts, navigations).
- License
- MIT
- Instructions
- 448 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# OUDS Framework Usage
## 1. Basic setup
```swift
import OUDSSwiftUI // Always use the umbrella import
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
OUDSThemeableView(theme: OrangeTheme()) {
ContentView()
}
}
}
}
struct ContentView: View {
@Environment(\.theme) private var theme
var body: some View {
VStack(spacing: theme.spaces.fixedMedium) {
OUDSButton(text: "Action", appearance: .default) {}
}
.padding(theme.spaces.fixedLarge)
}
}
```
---
## 2. Imports
Can import internal modules, but for developer experience there are umbrella products:
| Product | Themes | When |
|---|---|---|
| `OUDSSwiftUI` | All | Default |
| `OUDSSwiftUIOrange` | Orange + OrangeCompact | Orange apps only |
| `OUDSSwiftUIOrangeSosh` | Orange + Sosh | Multi-brand |
| `OUDSSwiftUIWireframe` | Wireframe | Prototyping |
| `OUDSSwiftUIWhiteLabel` | WhiteLabel | White label or gray label branded apps |
Internal modules: `OUDSComponents`, `OUDSTokensRaw`, `OUDSTokensSemantic`, `OUDSTokensComponent`, `OUDSThemesOrange`, `OUDSThemesSosh`, `OUDSFoundations`, etc.
---
## 3. Themes
```swift
OUDSThemeableView(theme: OrangeTheme()) { … } // inject at root
@Environment(\.theme) private var theme // consume anywhere
```
Available: `OrangeTheme`, `OrangeCompact`, `SoshTheme`, `WireframeTheme`, `WhiteLabel`.
---
## 4. Token namespaces
| Namespace | Content |
|---|---|
| `theme.colors` | Color semantic tokens |
| `theme.colorModes` | Color-mode tokens (for `OUDSColoredSurface`) |
| `theme.borders` | Border style / width / radius |
| `theme.fonts` | Typography |
| `theme.sizes` | Sizes |
| `theme.spaces` | Spacing |
| `theme.dimensions` | Dimensions |
| `theme.elevations` | Shadows / elevation |
| `theme.grids` | Grid |
| `theme.opacities` | Opacity |
| `theme.effects` | Visual effects |
---
## 5. View modifiers
```swift
Text("Hello")
.font(theme.fonts.bodyDefaultMedium) // typography — use view modifier with token
.foregroundColor(theme.colors.contentDefault)
.background(theme.colors.bgPrimary)
.border(style: theme.borders.styleDefault,
width: theme.borders.widthThin,
radius: theme.borders.radiusMedium,
color: theme.colors.actionEnabled)
.shadow(theme.elevations.emphasized)
```
For `Shape` types, use `fill(_:style:)` with a color token — the light/dark variant is resolved automatically:
```swift
Circle()
.fill(theme.colors.actionEnabled) // shape fill with token
RoundedRectangle(cornerRadius: 8)
.fill(theme.colors.bgPrimary, style: FillStyle(eoFill: true)) // with custom fill style
```
---
## 6. Images in OUDS components
**Never call SwiftUI modifiers on an `Image` that is wrapped in an `OUDSImage` and passed to an OUDS component.**
OUDS components accept an `OUDSImage` (which wraps the bare SwiftUI `Image` with its flip flag, accessibility label and rendering mode), through parameters named `image:`.
Calling any modifier on the `Image` (including `.accessibilityHidden(true)`) changes its type to `some View` and produces a compile error.
> The component handles the accessibility of its own images internally. You must not alter them from the call site.
**Never do this:**
```swift
OUDSButton(
text: "Add",
image: OUDSImage(asset: Image(systemName: "plus").accessibilityHidden(true)), // ❌ compile error: Image modifier → some View
appearance: .default) {}
OUDSLink(
text: "Back",From Orange-OpenSource/ouds-ios, MIT.
More from Orange-OpenSource/ouds-ios
- 0.654score
ouds-ios-components-controls
Orange-OpenSource
Usage and code examples for OUDS iOS Controls components — OUDSCheckbox / OUDSCheckboxItem / OUDSCheckboxPicker / OUDSCheckboxIndeterminate, OUDSRadio /…
SkillAFreshness: A★ 36Claude Code +9 - 0.654score
ouds-ios-components-indicators
Orange-OpenSource
Usage and code examples for OUDS iOS Indicators components — OUDSBadgeStandard / OUDSBadgeCount / OUDSBadgeIcon (statuses, sizes, UInt8 count), OUDSTag…
SkillAFreshness: A★ 36Claude Code +9 - 0.654score
ouds-ios-components-navigations
Orange-OpenSource
Usage and code examples for OUDS iOS Navigations components — OUDSLink (text, indicator, icon, size), OUDSTabBar (iOS 15–25 and iOS 26+ APIs) and Toolbars…
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-layouts
Orange-OpenSource
Usage and code examples for OUDS iOS Layouts components — OUDSColoredSurface (color-mode tokens container) and OUDSHorizontalDivider / OUDSVerticalDivider.
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-dialogs
Orange-OpenSource
Usage and code examples for OUDS iOS Dialogs components — OUDSAlertMessage (statuses, bullet list, link, dismiss) and OUDSInlineAlert (statuses, icon).
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-content-display
Orange-OpenSource
Usage and code examples for OUDS iOS Content Display components — OUDSBulletList (unordered, ordered, nested items, raw / localized / rich…
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-foundations
Orange-OpenSource
Usage and code examples for OUDS iOS Foundations components — Typography (OUDSDisplay, OUDSHeading, OUDSBody, OUDSLabel, OUDSCode).
SkillAFreshness: A★ 36Claude Code +9 - 0.648score
ouds-ios-guide-figma-to-swift
Orange-OpenSource
How to derive a Swift token name from a Figma token path in the OUDS iOS project (raw, semantic and component tokens)
SkillAFreshness: A★ 36Claude Code +9 - 0.646score
ouds-ios-components-actions
Orange-OpenSource
Usage and code examples for OUDS iOS Action components — OUDSButton (text, icon, loading state, text+icon, icon-only with accessibility label).
SkillAFreshness: A★ 36Claude Code +9 - 0.629score
ouds-ios-guide-vocabulary
Orange-OpenSource
Use when the user asks about OUDS-specific terms such as tokenator, token, raw token, semantic token, component token, theme, tuning, token provider, or…
SkillAFreshness: A★ 36Claude Code +9 - 0.620score
ouds-ios-guide-create-theme
Orange-OpenSource
Use when the user wants to create a custom OUDS theme or brand theme for an iOS app — covers subclassing OrangeTheme, building a theme from scratch on…
SkillAFreshness: A★ 36Claude Code +9 - 0.620score
ouds-ios-guide-migration
Orange-OpenSource
Use when the user wants to migrate OUDS iOS code from an older version (1.0.0 or later) to the current version (3.2.0 or higher), or when deprecated or…
SkillAFreshness: A★ 36Claude Code +9
Signals
- Stars
- 36
- Forks
- 12
- Open issues
- 163
- Last commit (this folder)
- Oct 21, 2026 (7 days ago)
- Last release
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Orange-OpenSource/ouds-ios
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Orange-OpenSource
- 0.654score
ouds-ios-components-controls
Orange-OpenSource
Usage and code examples for OUDS iOS Controls components — OUDSCheckbox / OUDSCheckboxItem / OUDSCheckboxPicker / OUDSCheckboxIndeterminate, OUDSRadio /…
SkillAFreshness: A★ 36Claude Code +9 - 0.654score
ouds-ios-components-indicators
Orange-OpenSource
Usage and code examples for OUDS iOS Indicators components — OUDSBadgeStandard / OUDSBadgeCount / OUDSBadgeIcon (statuses, sizes, UInt8 count), OUDSTag…
SkillAFreshness: A★ 36Claude Code +9 - 0.654score
ouds-ios-components-navigations
Orange-OpenSource
Usage and code examples for OUDS iOS Navigations components — OUDSLink (text, indicator, icon, size), OUDSTabBar (iOS 15–25 and iOS 26+ APIs) and Toolbars…
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-layouts
Orange-OpenSource
Usage and code examples for OUDS iOS Layouts components — OUDSColoredSurface (color-mode tokens container) and OUDSHorizontalDivider / OUDSVerticalDivider.
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-dialogs
Orange-OpenSource
Usage and code examples for OUDS iOS Dialogs components — OUDSAlertMessage (statuses, bullet list, link, dismiss) and OUDSInlineAlert (statuses, icon).
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
ouds-ios-components-content-display
Orange-OpenSource
Usage and code examples for OUDS iOS Content Display components — OUDSBulletList (unordered, ordered, nested items, raw / localized / rich…
SkillAFreshness: A★ 36Claude Code +9
Cite this page
ouds-ios-framework-usage skill. Agent Mart. https://agentmart.dev/skills/orange-opensource-ouds-ios-framework-usage (last updated 2026-10-24)