Skip to content
Agentmart
Submit a tool

swiftui-build

Implement a change in a tvOS SwiftUI app, proving it compiles against the tvOS SDK and is reachable with a D-pad, avoiding the availability, focus-engine…

Skill by MagmaMoose

IndexedApache-2.0
Write a review

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/magmamoose-swiftui-build

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.

We use your email only for this newsletter. Privacy

About

Implement a change in a tvOS SwiftUI app, proving it compiles against the tvOS SDK and is reachable with a D-pad, avoiding the availability, focus-engine, concurrency and project-wiring traps that have no iOS or web analogue.

No 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. 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/swiftui-build

What's inside

Skill name
swiftui-build
Description
Implement a change in a tvOS SwiftUI app, proving it compiles against the tvOS SDK and is reachable with a D-pad, avoiding the availability, focus-engine, concurrency and project-wiring traps that have no iOS or web analogue.
License
Apache-2.0
Instructions
77 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

Use the shared MagmaMoose tvOS SwiftUI workflow.

Read and follow:
- `shared/swiftui-build.md`
- The target repository's `CLAUDE.md`
- The target repository's `AGENTS.md`
- The target repository's `CONTRIBUTING.md`
- Relevant `README.md` files
- The project file (`project.yml`, `Package.swift`, or the `.xcodeproj`) — the source of truth for
  targets, build settings, deployment target and file membership
- The files neighbouring the one you are editing

Treat target-repository hard rules as blockers. Where this skill contradicts your iOS or web
instincts, this skill wins.

Expected input:
- An issue number, issue URL, or a description of the change, scoped to the tvOS target.

## CRITICAL: prove it compiles for tvOS, never assert it (READ BEFORE ANY OTHER SECTION)

**The end goal is a change that compiles against the tvOS SDK and is reachable with a D-pad.**
About a quarter of SwiftUI is `@available(tvOS, unavailable)`, and a model that has mostly seen
iOS code will reach for those APIs with total confidence. A confident availability claim written
into a code comment is how an uncompilable API reaches a main branch: the comment asserts tvOS
support, review reads the comment instead of the compiler, and the target stops building.

Run this before you write code and again before you finish. No simulator, no installed tvOS
platform, a couple of seconds on a whole app tree:

```sh
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
xcrun --sdk appletvsimulator swiftc -typecheck \
  -target arm64-apple-tvos<DEPLOYMENT_TARGET>-simulator \
  -sdk "$(xcrun --sdk appletvsimulator --show-sdk-path)" \
  $(find <SOURCE_ROOT> -name '*.swift' -not -path '*/Tests/*' -not -path '*Tests.swift')
```

Read `<DEPLOYMENT_TARGET>` out of the project file rather than guessing — the version in `-target`
is what makes the gate real. At `tvos17.0` the sweep correctly rejects
`ToolbarItemPlacement.bottomBar`; at `tvos18.0` it does not.

`DEVELOPER_DIR` must be exported in the *same* command as every `xcrun` / `xcodebuild` call, and
the whole tree goes into one invocation. Details, and the reason a single-file typecheck invents
phantom errors, are in `shared/swiftui-build.md`.

## The second failure tier

A green typecheck is the minimum bar for opening a PR, not proof of a working app. tvOS is a focus
engine: plenty of SwiftUI compiles and then has no gesture behind it. `.refreshable` can never
fire. `.onTapGesture` on a `Text` never runs, because a `Text` is not focusable — a dead control
with no error and no warning. Anything the user must reach has to be a `Button` or a
`NavigationLink`, and `.disabled()` removes focusability entirely.

## Expected behavior

1. **Read the issue, then read the neighbours** — the file you are editing and the two nearest
   files beside it. Idiom-matching beats idiom-importing here.
2. **Typecheck the tree before you edit**, so you know whether you inherited a broken branch.
3. **Check availability before writing any control or modifier** — and when it does compile, ask
   separately whether a D-pad can trigger it. Never assert availability from memory.
4. **Trace the D-pad path end to end** — what is focusable, what has focus on first render, what
   has focus after an async reload, and how Menu gets the user out.
5. **Match the established idioms** — the repo's view-model system, phase enum, theme layer and
   networking client. No new dependency, no second networking path, no invented colours or
   spacing.
6. **Regenerate the project and stage it** whenever the file set changed. If the project uses
   XcodeGen, a new file on disk passes the filesystem-globbing sweep and is still absent from the
   target until `xcodegen generate` runs. Never hand-edit a `pbxproj`.
7. **Typecheck the whole tree and paste the real result** — zero errors, or the exact error text.
8. **State plainly what you could not verify** — no simulator run, no test execution, no deep-link
   check, no asset-catalog or `Info.plist` validation. Don't let a green typecheck imply more.
9. **Never bump the Swift language mode, raise the deployment target, or migrate the observation
   system** as a side effect of another change. Keep credentials and session ids in the Keychain.
10. **Commit in the target repo's format**, branch `<type>/<description>`, and no attribution
    trailer of any kind. Never commit or push unless asked.

From MagmaMoose/agent-skills, Apache-2.0.

More from MagmaMoose/agent-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Aug 17, 2026 (2 months ago)
Last release
Oct 23, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MagmaMoose

Cite this page

swiftui-build skill. Agent Mart. https://agentmart.dev/skills/magmamoose-swiftui-build (last updated 2026-10-24)