Token导航 LogoToken导航

Agent Skill · 开发规范

tvos-design-guidelines(TVOS 设计指南)

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

tvos-design-guidelines 是开发规范类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证信息还不明确,第三方扫描已通过,按安装量在开发规范类的 1,265 个 Skill 里排第 167。

总安装 9,567周安装 387GitHub Stars 350下载 3,003核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tvos-design-guidelines(TVOS 设计指南)
来源仓库:https://github.com/ehmo/platform-design-skills
仓库路径:skills/tvos-design-guidelines
安装命令:
npx skills add https://github.com/ehmo/platform-design-skills --skill tvos-design-guidelines
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/ehmo/platform-design-skills --skill tvos-design-guidelines

这个 Skill 是做什么的

开发规范类 Skill 用来统一代码风格、目录结构和评审口径,产出多为检查清单或改写建议。

tvos-design-guidelines 用于辅助界面设计、视觉规范和交互体验优化。适合生成 UI 方案、检查视觉一致性和改进组件层级。使用时需结合品牌和设计系统,避免仅堆砌装饰元素。涉及页面改动时应通过截图或预览检查文本溢出和对齐表现。

适用于 Codex、Claude、Cursor、Gemini CLI 中的设计支持场景。

来源仓库内路径:skills/tvos-design-guidelines

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/ehmo/platform-design-skills --skill tvos-desig…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

tvos-design-guidelines 怎么安装?

在终端执行 npx skills add https://github.com/ehmo/platform-design-skills --skill tvos-design-guidelin…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

tvos-design-guidelines 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

tvos-design-guidelines 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

tvos-design-guidelines 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

tvos-design-guidelines 用的人多吗?

公开数据是累计安装 9,567 次,近一周安装 387 次,下载 3,003 次,GitHub 350 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

tvos-design-guidelines 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发规范类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发规范类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
vercel-react-best-practices

Vercel React 最佳实践 · Codex、Claude

8,490,72025,918操作浏览器MIT通过
web-design-guidelines

网页设计指南 · Codex、Claude

6,686,01625,885需要联网MIT有提醒
remotion-best-practices

Remotion 最佳实践 · Codex、Claude

6,505,6323,027操作浏览器MIT有提醒
supabase-postgres-best-practices

Supabase Postgres 最佳实践 · Codex、Claude

3,175,5232,030需要联网MIT通过
next-best-practices

Next.js 最佳实践 · Codex、Claude

1,848,240841操作浏览器MIT通过
tvos-design-guidelines

TVOS 设计指南 · 本页

9,567350只读未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

tvOS Design Guidelines

Apple TV is a living room device driven entirely by focus-based navigation and the Siri Remote. There is no pointer, no touch screen, and no mouse. Every design decision must account for the 10-foot viewing distance, the simplicity of the remote, and the lean-back nature of TV consumption.


1. Focus-Based Navigation (CRITICAL)

The focus system is the foundation of all tvOS interaction. There is no cursor -- users move focus between elements using the Siri Remote touch surface.

Rules

FOCUS-01: Every interactive element must have a clearly visible focus state. The focused item must be unmistakably distinguished from unfocused items. Use scaling (typically 1.05x-1.1x), elevation via shadow, brightness changes, or border highlights. Never rely on color alone.

FOCUS-02: Focus movement must be predictable and follow a logical spatial layout. When a user swipes right, focus must move to the element visually to the right. Avoid layouts where focus jumps unexpectedly across the screen. Grid and linear layouts are safest.

FOCUS-03: Use focus guides (UIFocusGuide) to bridge gaps in layouts. When visual gaps exist between focusable elements, add invisible focus guides so the user does not get stuck. Every swipe should move focus somewhere meaningful.

FOCUS-04: Apply the parallax effect to focused items. Focused cards, posters, and icons should exhibit a subtle parallax tilt responding to touch surface movement. Use layered images (LSR format) with foreground, midground, and background layers. This communicates depth and confirms focus.

Correct:

// SwiftUI — custom focus engine with explicit focus state
struct ContentView: View {
    @FocusState private var focusedItem: String?

    var body: some View {
        HStack(spacing: 40) {
            ForEach(items) { item in
                CardView(item: item)
                    .focusable()
                    .focused($focusedItem, equals: item.id)
                    .scaleEffect(focusedItem == item.id ? 1.1 : 1.0)
                    .shadow(radius: focusedItem == item.id ? 20 : 0)
                    .animation(.easeInOut(duration: 0.15), value: focusedItem)
            }
        }
    }
}

Incorrect:

// SwiftUI — no focus state: unfocused and focused items look identical
struct ContentView: View {
    var body: some View {
        HStack(spacing: 40) {
            ForEach(items) { item in
                CardView(item: item)
                    .focusable()
                // No scale, shadow, or visual change on focus
                // User cannot tell which item is selected
            }
        }
    }
}

FOCUS-05: Make focus targets large enough for comfortable navigation. Minimum recommended touch target is 250x150pt for cards. Smaller elements are difficult to land on with swipe-based navigation. Group small actions under a focused parent when possible.

FOCUS-06: Provide a default focused element on every screen. When a view appears, one element must already hold focus. Choose the most likely user intent -- typically the primary content item or the first item in a collection.

FOCUS-07: Preserve focus memory when returning to a screen. If a user navigates away and returns, focus should restore to the last focused item on that screen, not reset to the default.

FOCUS-08: Never trap focus. Users must always be able to move focus away from any element. If focus cannot leave a region, the app feels broken.

FOCUS-09: Reduce re-orientation cost. Keep row order stable, restore prior focus when returning, and prefer nearby focus destinations so users do not have to rescan the entire screen after each navigation step.

Parallax Layer Reference

LayerPurposeMovement Amount
BackgroundStatic backdrop, blurred imageryMinimal (1-2pt)
MidgroundPrimary artwork or content imageModerate (3-5pt)
ForegroundTitle text, logos, badgesMaximum (5-8pt)

Use Xcode's LSR (Layered Static Image) format for static layered images in the asset catalog — the system animates them automatically on focus. For custom programmatic parallax, stack UIImageView instances and use the focus engine callbacks (didUpdateFocus(in:with:) and UIFocusAnimationCoordinator) to drive layer movement during focus transitions. (UIMotionEffect responds only to subtle Siri Remote gyroscope micromotion and is not the mechanism for focus-driven parallax.)


2. Siri Remote (CRITICAL)

The Siri Remote is the primary (and often only) input device. It has a touch surface, Menu button, Play/Pause button, Siri/microphone button, volume buttons, and a power button.

Rules

REMOTE-01: Touch surface swipes control focus movement. Swiping moves focus in the corresponding direction. Clicking the touch surface selects the focused item. These are the two fundamental interactions -- design everything around them.

REMOTE-02: Menu button must always navigate back. Pressing Menu should dismiss the current screen, close an overlay, or navigate up the hierarchy. At the top level, it returns to the Apple TV home screen. Never override this expectation.

REMOTE-03: Play/Pause button must control media playback. If media is playing, Play/Pause should toggle playback regardless of what screen is visible. Do not repurpose this button for non-media actions.

REMOTE-04: Never require complex or multi-finger gestures. The Siri Remote touch surface is small. Do not require pinch, rotate, multi-tap, or long-press gestures. Stick to single-finger swipe and click.

REMOTE-05: Swipe directions must be intuitive and consistent. Horizontal swipes scroll horizontally; vertical swipes scroll vertically. Never invert axes. Diagonal content movement should follow the dominant swipe axis.

REMOTE-06: Support Siri voice input for search and text entry. Text input via the on-screen keyboard is tedious on tvOS. Always support dictation and Siri search as alternatives to keyboard entry.

REMOTE-07: Provide click feedback. When the user clicks the touch surface to select an item, provide immediate visual feedback (animation, highlight change, or haptic-style visual pulse) so the click feels responsive.

REMOTE-08: Never make the on-screen keyboard the only practical text path. For search, sign-in, and setup, prefer dictation, recent queries, autofill, or short code-based flows over long remote-typed text. Remote text entry carries high motor and cognitive cost.


3. 10-Foot UI (HIGH)

Apple TV content is viewed from across a room, typically 8-12 feet (2.5-3.5 meters) from the screen. All visual design must account for this distance.

Rules

DISTANCE-01: Minimum body text size is 29pt. Text below 29pt becomes difficult to read at living room distances. Titles should be 48pt or larger. Use San Francisco Display or comparable high-legibility typeface.

DISTANCE-02: Maintain high contrast between text and backgrounds. Use light text on dark backgrounds as the default. tvOS uses a dark theme. Contrast ratio should meet WCAG AA or higher (4.5:1 for body text, 3:1 for large text).

DISTANCE-03: Limit text per screen. TV is a visual medium. Show headlines, short descriptions, and metadata -- not paragraphs. If extended text is necessary, use scrollable text overlays that the user explicitly opens.

DISTANCE-04: Use bold, clear imagery at high resolution. Full-screen background images should be 1920x1080 or 3840x2160 (4K). Content artwork should be sharp and visually engaging. Avoid small, detailed illustrations that lose clarity at distance.

DISTANCE-05: Keep layouts simple and spacious. Generous margins and padding. Do not crowd the screen with many small elements. A single row of 5-7 cards is preferable to a dense grid of 20+ thumbnails.

DISTANCE-06: Use the TV-safe area. Keep all critical content within the safe area (60pt inset from edges). Content near screen edges may be cropped on some TV sets due to overscan.

DISTANCE-07: Avoid thin fonts and hairline borders. Thin strokes disappear on TV displays, especially with motion blur and compression artifacts. Use medium or semibold weights minimum.

Text Size Reference

ElementMinimum SizeRecommended Size
Body text29pt31-35pt
Secondary labels25pt29pt
Titles48pt52-76pt
Large headers64pt76-96pt
Buttons29pt35-38pt

4. Top Shelf (HIGH)

The Top Shelf is a prominent content area displayed when the user focuses on your app icon on the Apple TV home screen. It is prime real estate for showcasing content.

Rules

SHELF-01: Provide a Top Shelf extension. Apps should include a TVTopShelfContentProvider (tvOS 14+) that returns dynamic content. TVTopShelfProvider is deprecated since tvOS 14 — do not use it. A static Top Shelf is a missed opportunity for engagement.

SHELF-02: Use the correct layout style for your content.

  • Inset banner: 1 large focused item with smaller items on either side. Best for featured or editorial content.
  • Sectioned content: Multiple scrollable rows of items grouped by category. Best for media libraries.

SHELF-03: Top Shelf items must deep-link into the app. Each item must open the corresponding content when selected. Never link all items to the same generic landing page.

SHELF-04: Use high-quality, engaging imagery. Top Shelf images are displayed large on the home screen. Blurry, low-resolution, or text-heavy images look unprofessional. Recommended image sizes:

  • Inset banner: 1940x624pt (@1x) or 3880x1248pt (@2x)
  • Sectioned items: 404x608pt (@1x)

SHELF-05: Keep Top Shelf content fresh. Update Top Shelf content regularly -- ideally reflecting recently added, trending, or personalized content. Stale Top Shelf content signals an abandoned app.


5. Media & Playback (MEDIUM)

Apple TV is primarily a media consumption device. Playback interfaces must follow established TV conventions.

Rules

MEDIA-01: Use standard transport controls. Provide play, pause, skip forward (10s), skip back (10s), and a scrubber timeline. Use AVPlayerViewController to get these for free with consistent behavior.

MEDIA-02: Show an info overlay on swipe-down during playback. Swiping down during playback should reveal an info panel showing title, description, and metadata. Swiping down again or pressing Menu dismisses it.

MEDIA-03: Support scrubbing via the touch surface. Swiping left/right on the touch surface during playback should scrub through the timeline. Show thumbnail previews during scrubbing when possible.

MEDIA-04: Support subtitles and alternative audio tracks. Provide access to subtitle selection and audio track switching via the info overlay or the standard player controls.

MEDIA-05: Support Picture in Picture where appropriate. For video content, allow PiP so users can browse other content while watching. Implement AVPictureInPictureController integration.

MEDIA-06: Remember playback position. When a user returns to previously watched content, resume from where they left off. Display a progress indicator on content thumbnails.

MEDIA-07: Handle interruptions gracefully. If the user presses the TV button or switches apps during playback, save position and pause cleanly. Resume without re-buffering when the user returns.


6. Tab Bar (MEDIUM)

The tvOS tab bar sits at the top of the screen, unlike iOS where it sits at the bottom. It provides primary navigation between app sections.

Rules

TAB-01: Place the tab bar at the top of the screen. This is the standard tvOS convention. Bottom tab bars are an iOS pattern and feel wrong on TV.

TAB-02: Tab bar should be translucent and overlay content. The tab bar floats over content with a blur effect. When the user focuses on the tab bar, content shifts down to make room.

TAB-03: Use 3-7 tabs. Fewer than 3 tabs suggests the app is too simple for tab navigation. More than 7 tabs becomes difficult to navigate with horizontal swiping.

TAB-04: Every tab must have a text label. Icon-only tabs are insufficient at TV viewing distances. Text labels are required for clarity. Icons may accompany text but are not required.

TAB-05: Focus on the tab bar should feel lightweight. When focus moves to the tab bar, it should appear smoothly. Content preview should be visible beneath the translucent bar. Switching tabs should update the content below immediately or show a loading state.

TAB-06: Remember the selected tab across app launches. If the user was on the "Search" tab when they left the app, return to "Search" when they re-open it.


7. Accessibility (CRITICAL)

Apple TV supports VoiceOver. Sighted users use focus navigation; VoiceOver users additionally hear spoken descriptions. Both must work.

Rules

ACCESS-01: Every interactive element must have a meaningful accessibility label. Icon-only buttons and image cards must have labels. The focused item's name is announced by VoiceOver when focus arrives.

ACCESS-02: Provide accessibility hints for non-obvious interactions. If tapping a card does something other than opening the content (e.g., launching a trailer rather than full playback), describe this with an accessibility hint.

ACCESS-03: Ensure VoiceOver focus order matches visual focus order. VoiceOver must traverse elements in the same order that focus engine navigation produces. Custom focus ordering via UIFocusGuide must not create discontinuities in the VoiceOver reading order.

ACCESS-04: Respect Reduce Motion. Parallax effects and other animations must be reduced or disabled when the user enables Reduce Motion in Accessibility settings.

ACCESS-05: Respond to Bold Text. When the user enables Bold Text, custom-rendered text must adapt. SwiftUI dynamic type styles handle this automatically; custom text rendering must check UIAccessibility.isBoldTextEnabled or use @Environment(\.legibilityWeight).

ACCESS-06: Respond to Increase Contrast. When the user enables Increase Contrast (Darker System Colors), custom colors must provide higher-contrast variants. Use @Environment(\.colorSchemeContrast) in SwiftUI or UIAccessibility.isDarkerSystemColorsEnabled in UIKit to detect and apply appropriate values.

ACCESS-07: Respect Dynamic Type / Larger Text. tvOS supports the "Larger Text" accessibility setting via UIContentSizeCategory. Use SwiftUI semantic text styles (Font.TextStyle) so text scales automatically. For UIKit, scale custom fonts with UIFontMetrics relative to a base UIFont.TextStyle.

Correct:

// SwiftUI — semantic text styles scale with Larger Text automatically
Text("Now Playing")
    .font(.title2)        // Scales with UIContentSizeCategory
Text("Episode description")
    .font(.body)          // Scales with UIContentSizeCategory

// UIKit — scale custom font with UIFontMetrics
let baseFont = UIFont(name: "CustomFont-Regular", size: 29)!
let scaledFont = UIFontMetrics(forTextStyle: .body).scaledFont(for: baseFont)
label.font = scaledFont
label.adjustsFontForContentSizeCategory = true

Incorrect:

// SwiftUI — hardcoded size ignores Larger Text preference
Text("Now Playing")
    .font(.system(size: 29)) // Does not scale

// UIKit — hardcoded font ignores UIContentSizeCategory
label.font = UIFont(name: "CustomFont-Regular", size: 29)
// Missing adjustsFontForContentSizeCategory = true

Evaluation Checklist

Use this checklist when reviewing a tvOS app design or implementation.

Focus System

  • Every interactive element has a visible, distinct focus state
  • Focus movement is predictable in all directions
  • No focus traps exist anywhere in the app
  • Focus guides bridge layout gaps
  • Parallax effect is applied to content cards and icons
  • Default focus is set on every screen
  • Focus memory is preserved when navigating back

Siri Remote

  • Menu button navigates back on every screen
  • Play/Pause controls media playback globally
  • No complex gestures are required
  • Click feedback is immediate and visible
  • Siri/dictation supported for text input

10-Foot UI

  • Body text is 29pt or larger
  • High contrast ratios on all text
  • Text content is concise, not paragraph-heavy
  • Imagery is high resolution and visually clear
  • Layout uses generous spacing with TV-safe margins
  • No thin fonts or hairline strokes

Top Shelf

  • Top Shelf extension provides dynamic content
  • All Top Shelf items deep-link correctly
  • Images are high quality and correctly sized
  • Content updates regularly

Media & Playback

  • Standard transport controls are available
  • Scrubbing works via touch surface
  • Subtitles and audio tracks are accessible
  • Playback position is remembered
  • Interruptions are handled gracefully

Tab Bar

  • Tab bar is at the top of the screen
  • Tabs have text labels
  • 3-7 tabs are used
  • Selected tab persists across launches

Accessibility

  • Every interactive element and content card has a meaningful accessibility label
  • Non-obvious interactions have accessibility hints
  • VoiceOver focus order matches the visual focus engine order
  • Parallax effects and decorative animations are disabled when Reduce Motion is enabled
  • Bold Text preference is respected (SwiftUI handles automatically; custom text checks isBoldTextEnabled)
  • Increase Contrast preference is respected (custom colors provide higher-contrast variants)
  • Larger Text (Dynamic Type) preference is respected (use Font.TextStyle in SwiftUI or UIFontMetrics in UIKit)

Anti-Patterns for TV

Do not bring mobile patterns directly to tvOS. The following are common mistakes:

Anti-PatternWhy It FailsCorrect Approach
Bottom tab bariOS convention; feels wrong on TVUse top tab bar
Small touch targetsCannot precisely target with swipe navigationMinimum 250x150pt cards
Dense text screensUnreadable at 10-foot distanceHeadlines + short descriptions only
Hamburger menusNo tap-to-reveal interaction on TVUse tab bar or focus-driven menus
Pull-to-refreshNo pull gesture on Siri RemoteAuto-refresh or explicit refresh button
Toast notificationsEasy to miss on a large TV screenUse modal alerts or persistent banners
Scroll indicatorsThin scrollbars invisible at distanceUse content peek (partially visible next item)
Pinch-to-zoomMulti-finger gestures impossible on Siri RemoteProvide explicit zoom controls
Long formsKeyboard input is painful on tvOSPre-fill, use profiles, or offload to iPhone
Thin/light typographyDisappears on TV displaysMedium weight minimum

平台分布

Codex

38.18%
按下载量换算1,147

Claude

27.61%
按下载量换算829

Cursor

21.4%
按下载量换算643

Gemini CLI

9.7%
按下载量换算291

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills