360 Secure SkillHub
360 安全技能中心

tipkit

该 Skill 将 TipKit 实现任务路由到四类 Knowledge Contract,覆盖提示声明、显示规则与事件、配置与选项、展示与分组;声明仅支持 iOS 17+ 应用内提示,且包内未包含所引用的契约文件。

caglarbaranbora
热度 0.00
最近更新 2026-10-18 16:48:10
分类:开发依赖:读写文件应用场景:代码生成 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add caglarbaranbora/apple-agent-kit/tipkit
Metadata
name
tipkit
description
Route TipKit implementation tasks to the correct Knowledge Contracts -- tip declaration and content, display rules and event triggers, tip options and app configuration, and presenting tips/tip groups. Use when conforming a struct to Tip, setting title/message/image/actions, writing
id
skill.tipkit.foundations
title
TipKit — Foundations
version
1.0.0
status
Approved
artifact_type
skill
domain
TipKit
routes
["knowledge.tipkit.tip-declaration-and-content","knowledge.tipkit.display-rules-and-event-triggers","knowledge.tipkit.tip-options-and-app-configuration","knowledge.tipkit.presenting-tips-and-tip-groups"]
related
[]
last_updated
"2026-08-08T00:00:00.000Z"

TipKit — Foundations Skill

Purpose

Route TipKit implementation tasks to the minimum required TipKit Knowledge Contracts. v1 scope is in-app feature tips and onboarding hints on iOS 17+ -- declaring tip content, gating display with rules and donated events, one-time app configuration plus per-tip options, and presenting/grouping/dismissing tips -- not custom TipViewStyle authoring, not watchOS-specific presentation differences, and not CloudKit sync of the tip datastore.

Routing

Load only the contracts relevant to the task. All paths relative to knowledge/tipkit/.

  • Conforming a struct to Tip; implementing title/message/image; adding buttons via actions/Tip.Action -> tip-declaration-and-content.md
  • Writing the rules property with the #Rule(_:) macro over a Tips.Parameter-wrapped variable or a Tips.Event; donating with sendDonation(_:)/donate(); combining multiple rules -> display-rules-and-event-triggers.md
  • Calling Tips.configure(_:) at app launch; datastoreLocation(_:)/displayFrequency(_:); per-tip options (MaxDisplayCount, MaxDisplayDuration, IgnoresDisplayFrequency) -> tip-options-and-app-configuration.md
  • Presenting with TipView/popoverTip(_:arrowEdge:action:)/TipUIView/TipUIPopoverViewController; grouping with TipGroup; dismissing with invalidate(reason:)/Tip.InvalidationReason -> presenting-tips-and-tip-groups.md

Never load more than the contracts relevant to the specific question.

Stop Conditions

Stop and report if the requested topic has no matching Knowledge Contract in knowledge/tipkit/ — do not guess or fall back to general knowledge. Custom TipViewStyle/TipViewStyleConfiguration authoring beyond the system default style is out of scope entirely -- not yet built. watchOS-specific TipKit presentation differences are out of scope entirely. Tips.ConfigurationOption.cloudKitContainer(_:) and any cross-device sync of the tip datastore are out of scope entirely -- this is a real, documented TipKit capability (TipKit's datastore does not sync by default, but can be configured to), not a fabricated exclusion; report that boundary explicitly rather than routing to a contract here.