Token导航 LogoToken导航

Agent Skill · 前端设计

swift-accessibility-skill(Swift 无障碍技能)

用于辅助无障碍访问检查、页面可用性审计和前端可访问性改进。它适合让 Agent 检查语义标签、键盘操作、颜色对比、ARIA 属性和自动化检测结果。使用时需要结合真实页面和浏览器验证,不应只依赖静态文本判断;涉及修复建议时,应兼顾设计系统、组件复用和 WCAG 等通用无障碍规范。

swift-accessibility-skill 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在前端设计类的 10,216 个 Skill 里排第 2,262。

总安装 2,521周安装 103GitHub Stars 60下载 808核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:swift-accessibility-skill(Swift 无障碍技能)
来源仓库:https://github.com/pasqualevittoriosi/swift-accessibility-skill
仓库路径:skills/swift-accessibility-skill
安装命令:
npx skills add https://github.com/pasqualevittoriosi/swift-accessibility-skill --skill swift-accessibility-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/pasqualevittoriosi/swift-accessibility-skill --skill swift-accessibility-skill

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

swift-accessibility-skill 用于辅助无障碍访问检查和页面可用性审计。可检查语义标签、键盘操作、颜色对比、ARIA 属性和自动化检测结果。需结合真实页面和浏览器验证,不应仅依赖静态文本判断。涉及修复建议时应兼顾设计系统、组件复用和 WCAG 规范。适合前端可访问性改进和合规性检查任务。

来源仓库内路径:skills/swift-accessibility-skill

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

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

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

swift-accessibility-skill 怎么安装?

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

swift-accessibility-skill 支持哪些 AI 工具?

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

swift-accessibility-skill 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

swift-accessibility-skill 是免费的吗?

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

swift-accessibility-skill 用的人多吗?

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

swift-accessibility-skill 安全吗?

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

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

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

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

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

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

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
swift-accessibility-skill

Swift 无障碍技能 · 本页

2,52160需要联网未明确通过

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

SKILL.md 原文

Platform Accessibility

Overview

Apply accessibility for SwiftUI, UIKit, and AppKit across all supported platforms. Covers all 9 App Store Accessibility Nutrition Label categories — VoiceOver, Voice Control, Larger Text, Dark Interface, Differentiate Without Color, Sufficient Contrast, Reduced Motion, Captions, and Audio Descriptions.

This skill prioritizes native platform APIs (which provide free automatic support) and fact-based guidance without architecture opinions.

First-Draft Rules

Include accessibility in the first draft — never write a bare element and patch it later. Retrofitting accessibility is harder, gets skipped, and produces worse results than building it in from the start.

No inline commentary unless a pattern is non-obvious. Mark inferred labels with // [VERIFY] because SF Symbol names don't always match the intended user-facing meaning.

SituationRequired on first write
Button / NavigationLink — icon-only.accessibilityLabel("…") with // [VERIFY]
Button / NavigationLink — visible textNothing extra — text is the label automatically
Image — meaningful.accessibilityLabel("…")
Image — decorative.accessibilityHidden(true)
withAnimation / .transition / .animation@Environment(\.accessibilityReduceMotion) + gate animation
.font(.system(size:))Replace with .font(.body) or @ScaledMetric
Color conveys state/statusAdd shape, icon, or text alongside color
onTapGesture on non-Button.accessibilityElement(children:.ignore) + .accessibilityAddTraits(.isButton) + .accessibilityLabel
Custom slider / toggle / stepper.accessibilityRepresentation {…} or .accessibilityValue + .accessibilityAdjustableAction
Async content changePost announcement with availability guards (AccessibilityNotification.Announcement on iOS 17+, fallback to UIAccessibility.post)
System .sheet / .fullScreenCoverNothing extra — SwiftUI traps focus automatically (custom overlays still need focus management)
AVPlayer / videoUse AVPlayerViewController — captions and Audio Descriptions for free
Custom tappable view.frame(minWidth: 44, minHeight: 44)
Any new SwiftUI viewVerify with Xcode Canvas Variants (see Accessibility Summary)
NSButton — icon-only (AppKit)setAccessibilityLabel("…") with // [VERIFY]
Custom NSView interactive element (AppKit)setAccessibilityElement(true) + role (setAccessibilityRole(.button)) + label
AppKit modal/popup UITrap focus and ensure dismiss action is keyboard + VoiceOver reachable
Any new AppKit view/controllerVerify with Accessibility Inspector and full keyboard navigation

Prefer native controls (Button, Toggle, Stepper, Slider, Picker, TextField) — they get full accessibility automatically. Custom interactive views require explicit work. For AppKit, prefer native controls (NSButton, NSPopUpButton, NSSlider, NSSegmentedControl, NSTextField) before custom NSView interaction.

Example — icon-only button:

Button {
    shareAction()
} label: {
    Image(systemName: "square.and.arrow.up")
}
.accessibilityLabel("Share") // [VERIFY] confirm label matches intent

Example — gating animation on Reduce Motion:

@Environment(\.accessibilityReduceMotion) private var reduceMotion

withAnimation(reduceMotion ? nil : .spring()) {
    isExpanded.toggle()
}

Full testing and verification procedures → references/testing-auditing.md

Workflow

Reference Routing Rule

Before answering, select one primary reference file that best matches the user's intent and load it first. Load additional reference files only when the request explicitly spans multiple domains (for example, VoiceOver + Dynamic Type + WCAG mapping) or when the primary file does not cover a required criterion.

1) Implement new code

Apply First-Draft Rules — accessibility in the first draft, no commentary. For APIs introduced after iOS 15, always add #available guards and provide older-OS fallback behavior. After writing, verify against the First-Draft Rules table — fix any gaps before outputting. After the code, append an Accessibility Summary (see below).

2) Improve or fix existing code

Apply fixes silently, no commentary. For APIs introduced after iOS 15, always add #available guards and provide older-OS fallback behavior. After fixing, verify against the First-Draft Rules table — fix any gaps before outputting. After the code, append an Accessibility Summary.

  • For transformation patterns → examples/before-after-swiftui.md, examples/before-after-uikit.md, or examples/before-after-appkit.md
  • For platform issues → references/platform-specifics.md

3) Audit existing code

Only when user explicitly asks ("audit", "how accessible is this?", "review accessibility").

Quick fix mode — when the user asks for blocker-only/critical-only scope (for example: "just fix the blockers", "quick fix", "critical only"): address only Blocks Assistive Tech and Degrades Experience issues. Skip Incomplete Support.

Comprehensive mode (default) — address all severity levels including Incomplete Support and Nutrition Label gaps.

  • Identify issues by category → Triage Playbook below
  • Format with Audit Output Format below
  • For WCAG compliance mapping → references/wcag-mapping.md
  • Hand off to QA → resources/qa-checklist.md

4) Prepare Nutrition Label recommendation

→ references/nutrition-labels.md — all 9 categories with official pass/fail criteria

When the user asks to prepare or draft an App Store Accessibility Nutrition Label recommendation, output this format:

**Accessibility Nutrition Label recommendation**

**App version evaluated:** [version or "Current build"]
**Scope reviewed:** [common tasks / screens evaluated]

**You could claim:**
- [labels where every common task is ✅ or —]

**Why you could claim them:**
- [label]: [brief reason tied to completed common-task coverage]

**You should not claim:**
- [labels blocked by any ❌]
- [labels that are not applicable]

**Why you should not claim them:**
- [label]: [blocked task or why the label is not applicable]

**Common-task verification**
| Common Task | VoiceOver | Voice Control | Larger Text | Dark Mode | No Color | Contrast | Motion | Captions | Audio Desc |
|---|---|---|---|---|---|---|---|---|---|
| [task] | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — | ✅ / ❌ / — |

**Recommendation summary**
- You could claim: [labels]
- You should not claim: [labels]

Do not say "claim" without qualification. Phrase the output as a recommendation based on the reviewed scope. Do not suggest a label if any common task in that column is ❌. Use — only when the label is genuinely not applicable to that app or flow.

Accessibility Summary

Append after all code generation and fix tasks (modes 1, 2), unless the user explicitly requests code-only output. No preamble.

**Accessibility applied:**
- [one bullet per pattern added — e.g. "`.accessibilityLabel` on icon-only Share button"]

**Verify in Xcode:**
- Use Canvas **Dynamic Type Variants** (grid icon → Dynamic Type Variants) to check layout at all text sizes
- Use Canvas **Color Scheme Variants** to check light and dark mode
- Use **Accessibility Inspector** (Xcode → Open Developer Tool) Settings tab to simulate Increase Contrast, Reduce Motion, Bold Text on the Simulator

**If Xcode is unavailable:**
- Run equivalent checks with platform accessibility inspector tools and manual setting toggles (Dynamic Type, Contrast, Reduce Motion, VoiceOver/Voice Control)

**Test on device:**
- [relevant items from Must Test on Device checklist]

Omit "Accessibility applied" entirely if nothing was added (all native controls). Omit "Nutrition Label readiness" unless the user asked about it.

Audit Output Format

Only when user explicitly requests an audit. Never during code generation or fixes.

🔴 Blocks Assistive Tech — completely unreachable, fix immediately 🟡 Degrades Experience — reachable but significant friction 🟠 Incomplete Support — gaps preventing Nutrition Label claims ✅ Verified in code — confirmed correct by static analysis

Close with:

Must test on device: relevant items from the Review Checklist. Nutrition Label readiness: Achievable / Blocked by [issue] / Not applicable.

Core Guidelines

Principles

  • Identify framework and platform first. SwiftUI and UIKit have different APIs; using the wrong one causes silent failures.
  • Every modifier needs a semantic reason. Adding .accessibilityLabel to a Button with visible text actually *hurts* — it overrides the text VoiceOver would read automatically.
  • Gate iOS 17+ APIs with #available. Version-specific APIs crash on older OS without availability checks.
  • Mark inferred labels with [VERIFY]. SF Symbol names (e.g. square.and.arrow.up) rarely match what users expect to hear ("Share"). Inferred labels need human review.
  • Don't change core UI semantics or layout based on UIAccessibility.isVoiceOverRunning. Adapt to the actual user need by checking the relevant accessibility setting directly. Narrow coordination exceptions are fine, such as avoiding overlapping speech or extending transient timeouts while assistive tech is active.
  • Nutrition Labels require complete flow coverage. Claiming "VoiceOver supported" means *every* user flow works — login, onboarding, purchase, settings — not just the main screen.
  • Test contrast in both light and dark mode. A color pair that passes WCAG 4.5:1 in light mode often fails in dark mode due to different background values.

VoiceOver

  • Every non-decorative element needs a concise, context-independent label
  • Icon-only buttons need .accessibilityLabel — blank is never acceptable
  • Decorative images: .accessibilityHidden(true)
  • State is a trait, not a label: .accessibilityAddTraits(.isSelected) not "Selected photo"
  • Group related elements: .accessibilityElement(children:.combine)
  • Announce dynamic changes: iOS 17+ AccessibilityNotification.Announcement("Upload complete").post(), fallback UIAccessibility.post(notification:.announcement, argument: "Upload complete")
  • Deep reference → references/voiceover-swiftui.md or references/voiceover-uikit.md

Voice Control

  • Labels must exactly match visible text — mismatches silently break "Tap [name]"
  • .accessibilityInputLabels(["Compose", "New Message"]) for icon-only elements
  • Every interactive element must appear in "Show numbers" and "Show names" overlays
  • Hidden-on-swipe UI needs a voice-accessible alternative (.accessibilityAction)
  • Deep reference → references/voice-control.md

Dynamic Type

  • Text styles only: .font(.body) not .font(.system(size: 16))
  • Scale custom values: @ScaledMetric(relativeTo:.body) var spacing: CGFloat = 8
  • Fixed-size UI chrome: .accessibilityShowsLargeContentViewer()
  • Adaptive layout: prefer ViewThatFits (iOS 16+) over manual dynamicTypeSize checks — it automatically picks the layout that fits
  • Deep reference → references/dynamic-type.md

Display Settings

  • Reduce Motion: replace meaningful animations with dissolve/fade; remove decorative ones
  • Contrast: semantic colors (Color(.label)); WCAG 4.5:1 text, 3:1 non-text
  • Differentiate Without Color: add shape/icon/text alongside color
  • Reduce Transparency: replace .ultraThinMaterial with opaque when enabled
  • Deep reference → references/display-settings.md

Semantic Structure

  • Reading order: .accessibilitySortPriority(_:) (higher = read first)
  • Focus on new screen: post .screenChanged notification
  • Modal focus: accessibilityViewIsModal = true
  • Custom navigation: accessibilityRotor(_:entries:)
  • Deep reference → references/semantic-structure.md

Motor / Input

  • Touch targets: minimum 44×44pt
  • Keyboard: every element via Tab, every modal via Escape
  • Switch Control: UIAccessibilityCustomAction for swipe-only gestures
  • Deep reference → references/motor-input.md

Quick Reference

SwiftUI Modifiers

ModifierPurpose
.accessibilityLabel(_:)VoiceOver text for non-text elements
.accessibilityHint(_:)Brief result description
.accessibilityValue(_:)Current value (sliders, progress)
.accessibilityHidden(true)Hide decorative elements
.accessibilityAddTraits(_:)Semantic role or state
.accessibilityRemoveTraits(_:)Remove inherited trait
.accessibilityElement(children:).combine / .contain / .ignore
.accessibilitySortPriority(_:)Reading order (higher = earlier)
.accessibilityAction(_:_:)Named custom action
.accessibilityAdjustableAction(_:)Increment/decrement
.accessibilityInputLabels(_:)Voice Control alternate names
.accessibilityFocused(_:)Programmatic focus
.accessibilityRotor(_:entries:)Custom VoiceOver rotor
.accessibilityRepresentation(_:)Replace AX tree for custom controls
.accessibilityIgnoresInvertColors(true)Protect images in Smart Invert
.accessibilityShowsLargeContentViewer()Large Content Viewer for fixed-size UI

@Environment Values

ValuePurpose
\.accessibilityReduceMotionGate animations
\.accessibilityReduceTransparencyReplace blur effects
\.accessibilityDifferentiateWithoutColorAdd non-color indicators
\.colorSchemeContrast.standard / .increased
\.dynamicTypeSizeCurrent text size

Nutrition Labels → APIs

LabelKey APIsReference
VoiceOveraccessibilityLabel, traits, actions, rotorsvoiceover-swiftui.md, voiceover-uikit.md
Voice ControlaccessibilityInputLabels, visible text matchvoice-control.md
Larger Text@ScaledMetric, text styles, Large Content Viewerdynamic-type.md
Dark InterfacecolorScheme, semantic colorsdisplay-settings.md
Differentiate Without Colorshapes + colordisplay-settings.md
Sufficient ContrastWCAG 4.5:1 text / 3:1 non-textdisplay-settings.md
Reduced MotionaccessibilityReduceMotion, animation gatedisplay-settings.md
CaptionsAVPlayerViewControllermedia-accessibility.md
Audio DescriptionsAVMediaCharacteristic.describesVideoForAccessibilitymedia-accessibility.md

Review Checklist

Verifiable in Code

  • Icon-only buttons have .accessibilityLabel
  • Decorative images have .accessibilityHidden(true)
  • State expressed as traits, not labels
  • No hardcoded font sizes — text styles or @ScaledMetric
  • Animations gated on accessibilityReduceMotion
  • Semantic colors (not hardcoded hex)
  • .accessibilityInputLabels on icon-only elements
  • Touch targets ≥ 44×44pt
  • Modals use .sheet() or accessibilityViewIsModal
  • Swipe-only actions have .accessibilityAction alternatives
  • AVPlayerViewController for video
  • Photos/maps/video have .accessibilityIgnoresInvertColors()
  • XCUITest includes performAccessibilityAudit() with #available guards (iOS 17+ / macOS 14+), plus fallback assertions on older OS versions

Must Test on Device

  • VoiceOver: navigation order, reading flow, focus after push/modal
  • Voice Control: "Show numbers" coverage, "Tap [name]" activation
  • Switch Control: scanning path, custom actions reachable
  • Full Keyboard Access: Tab order, Escape dismissal
  • Dynamic Type: layout at max size — no clipping or overlap
  • Reduce Motion: all animations verified
  • Grayscale filter: information comprehensible without color
  • Dark + Increase Contrast: contrast in both modes
  • Captions and Audio Descriptions: auto-enable

Full testing procedures → references/testing-auditing.md

Triage Playbook

Blocks Assistive Tech — fix immediately

  • Icon-only button has no label → references/voiceover-swiftui.md
  • Image missing alt text → references/voiceover-swiftui.md
  • Custom view not in accessibility tree → references/voiceover-uikit.md
  • VoiceOver loops or can't exit element → references/semantic-structure.md

Degrades Experience — significant friction

  • Voice Control misses an element → references/voice-control.md
  • Voice label doesn't match visible text → references/voice-control.md
  • Touch target < 44×44pt → references/motor-input.md
  • Color is the only differentiator → references/display-settings.md
  • Wrong reading order → references/semantic-structure.md
  • Modal doesn't trap focus → references/semantic-structure.md

Incomplete Support — blocks Nutrition Label claims

  • Text doesn't scale with Dynamic Type → references/dynamic-type.md
  • Animations ignore Reduce Motion → references/display-settings.md
  • Low contrast in dark mode → references/display-settings.md
  • No captions or audio descriptions → references/media-accessibility.md
  • Platform not accessible → references/platform-specifics.md
  • Nutrition Label preparation → references/nutrition-labels.md

Troubleshooting

Wrong framework APIs applied

Symptom: SwiftUI modifiers used in UIKit/AppKit code, or platform APIs mixed across frameworks. Fix: Identify framework from imports (import SwiftUI, import UIKit, import AppKit) before applying APIs. SwiftUI uses modifiers, UIKit uses UIAccessibility properties, and AppKit uses NSAccessibility APIs.

Over-labeling native controls

Symptom: .accessibilityLabel added to a Button("Save") or Toggle("Dark Mode") that already has visible text. Fix: Do not add .accessibilityLabel when the control has visible text — it overrides the automatic label and can desync with what's on screen. Only add labels to icon-only or non-text elements.

API requires newer OS than project target

Symptom: Code uses platform-versioned APIs (iOS/macOS/tvOS/watchOS/visionOS) without availability checks. Fix: Gate with #available for every target OS you support and use older equivalents when needed. Common substitutions:

  • AccessibilityNotification.Announcement("…").post() → UIAccessibility.post(notification:.announcement, argument: "…")
  • performAccessibilityAudit() → manual XCTest assertions
  • ViewThatFits (iOS 16+) → @Environment(\.dynamicTypeSize) with manual layout switching
  • Prefer multi-platform guards when code is shared: if #available(iOS 17, macOS 14, tvOS 17, watchOS 10, visionOS 1, *) {...}

Accessibility Summary missing

Symptom: Code generated without the "Accessibility applied" / "Test on device" summary block. Fix: Always append the Accessibility Summary after code generation and fix tasks (workflow modes 1 and 2). Omit only when no accessibility patterns were added (all native controls with visible text).

[VERIFY] comments missing on inferred labels

Symptom: .accessibilityLabel derived from SF Symbol names or method names without a // [VERIFY] comment. Fix: Any label that was inferred (not provided by the user) must include // [VERIFY] confirm label matches intent. SF Symbol names like square.and.arrow.up rarely match what users expect to hear.

References

  • references/voiceover-swiftui.md — SwiftUI accessibility modifiers, traits, actions, rotors, announcements
  • references/voiceover-uikit.md — UIAccessibility protocol, custom elements, containers, notifications
  • references/voice-control.md — Input labels, "Show numbers/names", voice-accessible alternatives
  • references/motor-input.md — Switch Control, Full Keyboard Access, AssistiveTouch, tvOS focus
  • references/dynamic-type.md — Dynamic Type, @ScaledMetric, Large Content Viewer, adaptive layouts
  • references/display-settings.md — Reduce Motion, Contrast, Dark Mode, Color, Transparency, Invert
  • references/semantic-structure.md — Grouping, reading order, focus management, rotors, modal focus
  • references/media-accessibility.md — Captions, Audio Descriptions, Speech synthesis, Charts
  • references/testing-auditing.md — Accessibility Inspector, Xcode Canvas Variants, XCTest, performAccessibilityAudit(), manual testing
  • references/nutrition-labels.md — All 9 Nutrition Labels with pass/fail criteria
  • references/wcag-mapping.md — WCAG 2.2 Level A/AA success criteria mapped to SwiftUI/UIKit/AppKit APIs
  • references/assistive-access.md — Assistive Access (iOS 17+), design principles, testing
  • references/platform-specifics.md — macOS, watchOS, tvOS, visionOS specifics
  • examples/before-after-swiftui.md — SwiftUI before/after transformations
  • examples/before-after-uikit.md — UIKit before/after transformations
  • examples/before-after-appkit.md — AppKit (macOS) before/after transformations
  • resources/audit-template.swift — Drop-in XCUITest file for automated accessibility auditing (iOS 17+)
  • resources/qa-checklist.md — Standalone QA checklist for manual testing (hand to testers)

平台分布

Codex

37.62%
按下载量换算304

Claude

31.85%
按下载量换算257

Cursor

18.46%
按下载量换算149

Gemini CLI

9.25%
按下载量换算75

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

继续浏览同类 Skills