Back to corpus
research noteexperiment writeup candidatescore 32

Omi Desktop App — Flows & Exploration

This skill teaches you the Omi desktop macOS app's navigation structure, screen architecture, and SwiftUI patterns. Use it when developing features (to understand how the app works), fixing bugs (to navigate to the affected screen), or verifying changes (to confirm your code works in the live app).

Full HTML reader

Read the full artifact

Open in new tab

Extracted abstract or opening context

--- name: desktop-app-flows description: "Understand and explore the Omi desktop macOS app's UI flows, navigation patterns, and SwiftUI architecture. Use when developing features, fixing bugs, or verifying changes in desktop/ Swift files. Provides agent-swift commands to explore the live app, understand how screens connect, and verify your work." allowed-tools: Bash, Read, Glob, Grep --- This skill teaches you the Omi desktop macOS app's navigation structure, screen architecture, and SwiftUI patterns. Use it when developing features (to understand how the app works), fixing bugs (to navigate to the affected screen), or verifying changes (to confirm your code works in the live app). You can interact with the running app via `agent-swift` — a CLI that clicks elements, reads the accessibility tree, and captures screenshots through the macOS Accessibility API. Works with any macOS app, no app-side instrumentation needed. | Command | Purpose | Example | |---------|---------|---------| | `snapshot -i --json` | See all interactive elements with refs, types, labels | `agent-swift snapshot -i --json` | | `click @ref` | CGEvent click — SwiftUI elements (NavigationLink, gestures) | `agent-swift click @e3` | | `press @ref` | AXPress — AppKit buttons, Settings sidebar items | `agent-swift press @e5` | | `find role/text/key VALUE` | Find element and chain action | `agent-swift find text "Settings" click` | | `fill @ref "text"` | Type into text field | `agent-swift fill @e7 "search"` | | `scroll down/up` | Scroll current view | `agent-swift scroll down` | | `wait text "X"` | Wait for element to appear | `agent-swift wait text "Loading" --timeout 5000` | | `is exists @ref` | Assert element exists (exit 0/1) | `agent-swift is exists @e3` | | `get PROP @ref` | Read property value | `agent-swift get value @e5 --json` | | `screenshot PATH` | Capture app window | `agent-swift screenshot /tmp/screen.png` | **Key rules:** - `click` = CGEvent mouse click (SwiftUI). Use for main sidebar icons, NavigationLink. - `press` = AXPress action (AppKit). Use for Settings sidebar sections. - Refs go stale after any mutation — always re-snapshot before the next interaction. - `find` with chained action is more stable than hardcoded `@ref` numbers. - `--json` flag on any command gives structured output for parsing.

Promotion decision

What has to happen next

Attach run IDs, datasets, metrics, and reproduction commands.

Why this is not always a full paper yet

Corpus pages are public-safe readers for discovered workspace artifacts. They are not automatically final papers. A corpus item becomes a polished paper only after the editable source, evidence checkpoints, references, figures, render path, and release status are attached through the paper schema.