@mmerterden/multi-agent-pipeline 20.17.1 → 20.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/docs/facts.json +6 -6
- package/install/_mcp-register.mjs +1 -1
- package/install/_xcode-skills.mjs +263 -0
- package/install/catalog-history.json +1 -1
- package/install/claude.mjs +23 -0
- package/install/codex.mjs +11 -0
- package/install/copilot.mjs +9 -0
- package/manifest.json +85 -45
- package/package.json +1 -1
- package/pipeline/commands/multi-agent/stack/SKILL.md +2 -0
- package/pipeline/lib/xcode-plugin.mjs +131 -0
- package/pipeline/multi-agent-refs/features/doctor.md +10 -0
- package/pipeline/scripts/doctor.mjs +38 -0
- package/pipeline/scripts/uninstall.mjs +57 -1
- package/pipeline/skills/.skill-manifest.json +33 -13
- package/pipeline/skills/.skills-index.json +66 -11
- package/pipeline/skills/shared/README.md +18 -13
- package/pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md +3 -1
- package/pipeline/skills/shared/external/NOTICE-dimillian-skills.md +2 -1
- package/pipeline/skills/shared/external/hig-app-icons/SKILL.md +159 -0
- package/pipeline/skills/shared/external/hig-app-icons/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/hig-app-icons/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/hig-app-icons/references/icon-workflow.md +115 -0
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +32 -4
- package/pipeline/skills/shared/external/hig-components-layout/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/hig-components-layout/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/hig-components-layout/references/bars-and-tabs.md +231 -0
- package/pipeline/skills/shared/external/hig-components-layout/references/containers.md +5 -30
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +23 -4
- package/pipeline/skills/shared/external/hig-foundations/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/hig-foundations/evals/trigger-eval.json +21 -0
- package/pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md +34 -26
- package/pipeline/skills/shared/external/hig-foundations/references/type-color-spacing.md +219 -0
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +5 -4
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +19 -3
- package/pipeline/skills/shared/external/hig-patterns/references/onboarding-and-states.md +188 -0
- package/pipeline/skills/shared/external/hig-patterns/references/patterns.md +5 -11
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +17 -5
- package/pipeline/skills/shared/external/hig-platforms/references/ipad-layout.md +218 -0
- package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +4 -1
- package/pipeline/skills/shared/external/ios-accessibility/references/large-content-and-appearance.md +135 -0
- package/pipeline/skills/shared/external/ios-design-review/SKILL.md +146 -0
- package/pipeline/skills/shared/external/ios-design-review/evals/evals.json +48 -0
- package/pipeline/skills/shared/external/ios-design-review/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/ios-design-review/references/appearance-matrix.md +135 -0
- package/pipeline/skills/shared/external/ios-design-review/references/checklist.md +193 -0
- package/pipeline/skills/shared/external/ios-haptics/SKILL.md +191 -0
- package/pipeline/skills/shared/external/ios-haptics/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-haptics/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/ios-haptics/references/core-haptics.md +215 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/NOTICE.md +53 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/SKILL.md +179 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/evals/evals.json +65 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/references/api-map.md +212 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/references/fixed-assumptions.md +202 -0
- package/pipeline/skills/shared/external/ios-iphone-duo/references/poses-and-panes.md +122 -0
- package/pipeline/skills/shared/external/ios-sf-symbols/SKILL.md +177 -0
- package/pipeline/skills/shared/external/ios-sf-symbols/evals/evals.json +49 -0
- package/pipeline/skills/shared/external/ios-sf-symbols/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/ios-sf-symbols/references/effects-and-custom-symbols.md +135 -0
- package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +38 -50
- package/pipeline/skills/shared/external/swiftui-animation/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swiftui-animation/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +7 -73
- package/pipeline/skills/shared/external/swiftui-animation/references/scroll-effects.md +185 -0
- package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +6 -6
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +3 -253
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +4 -47
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +3 -111
- package/pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md +11 -381
- package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +184 -224
- package/pipeline/skills/shared/external/swiftui-liquid-glass/evals/evals.json +47 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/evals/trigger-eval.json +22 -0
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +246 -33
- package/pipeline/skills/shared/external/swiftui-liquid-glass/references/uikit-glass.md +227 -0
- package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +15 -18
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/components-index.md +1 -1
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/haptics.md +6 -68
- package/pipeline/skills/skills-index.md +16 -11
- package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +0 -786
|
@@ -1,71 +1,9 @@
|
|
|
1
1
|
# Haptics
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Local trim: haptics guidance is maintained in the `ios-haptics` skill, which
|
|
4
|
+
owns when to play feedback, `sensoryFeedback`, the UIKit feedback generators
|
|
5
|
+
and Core Haptics. Load that skill for haptic work.
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- Centralize haptic triggers in a `HapticManager` or similar utility.
|
|
10
|
-
- Gate haptics behind user preferences and hardware support.
|
|
11
|
-
- Use distinct types for different UX moments (selection vs. notification vs. refresh).
|
|
12
|
-
|
|
13
|
-
## Example: simple haptic manager
|
|
14
|
-
|
|
15
|
-
```swift
|
|
16
|
-
@MainActor
|
|
17
|
-
final class HapticManager {
|
|
18
|
-
static let shared = HapticManager()
|
|
19
|
-
|
|
20
|
-
enum HapticType {
|
|
21
|
-
case buttonPress
|
|
22
|
-
case tabSelection
|
|
23
|
-
case dataRefresh(intensity: CGFloat)
|
|
24
|
-
case notification(UINotificationFeedbackGenerator.FeedbackType)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
private let selectionGenerator = UISelectionFeedbackGenerator()
|
|
28
|
-
private let impactGenerator = UIImpactFeedbackGenerator(style: .heavy)
|
|
29
|
-
private let notificationGenerator = UINotificationFeedbackGenerator()
|
|
30
|
-
|
|
31
|
-
private init() { selectionGenerator.prepare() }
|
|
32
|
-
|
|
33
|
-
func fire(_ type: HapticType, isEnabled: Bool) {
|
|
34
|
-
guard isEnabled else { return }
|
|
35
|
-
switch type {
|
|
36
|
-
case .buttonPress:
|
|
37
|
-
impactGenerator.impactOccurred()
|
|
38
|
-
case .tabSelection:
|
|
39
|
-
selectionGenerator.selectionChanged()
|
|
40
|
-
case let .dataRefresh(intensity):
|
|
41
|
-
impactGenerator.impactOccurred(intensity: intensity)
|
|
42
|
-
case let .notification(style):
|
|
43
|
-
notificationGenerator.notificationOccurred(style)
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Example: usage
|
|
50
|
-
|
|
51
|
-
```swift
|
|
52
|
-
Button("Save") {
|
|
53
|
-
HapticManager.shared.fire(.notification(.success), isEnabled: preferences.hapticsEnabled)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
TabView(selection: $selectedTab) { /* tabs */ }
|
|
57
|
-
.onChange(of: selectedTab) { _, _ in
|
|
58
|
-
HapticManager.shared.fire(.tabSelection, isEnabled: preferences.hapticTabSelectionEnabled)
|
|
59
|
-
}
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Design choices to keep
|
|
63
|
-
|
|
64
|
-
- Haptics should be subtle and not fire on every tiny interaction.
|
|
65
|
-
- Respect user preferences (toggle to disable).
|
|
66
|
-
- Keep haptic triggers close to the user action, not deep in data layers.
|
|
67
|
-
|
|
68
|
-
## Pitfalls
|
|
69
|
-
|
|
70
|
-
- Avoid firing multiple haptics in quick succession.
|
|
71
|
-
- Do not assume haptics are available; check support.
|
|
7
|
+
Screen-level rules: keep haptics subtle, tie them to the user action rather
|
|
8
|
+
than the data layer, respect a user preference to turn them off, and avoid
|
|
9
|
+
firing several in quick succession.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> Auto-generated by `pipeline/scripts/build-skills-index.mjs` - do not hand-edit.
|
|
4
4
|
> Regenerate with `node pipeline/scripts/build-skills-index.mjs`.
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**228 skills** across 2 groups.
|
|
7
7
|
|
|
8
8
|
| Group | Name | Platform | Description |
|
|
9
9
|
|-------|------|----------|-------------|
|
|
@@ -65,25 +65,30 @@
|
|
|
65
65
|
| core | `google-play-compliance` | - | Google Play Store publication compliance - bundletool + aapt2 + apksigner orchestration + 21-rule policy catalog with Play Console error c |
|
|
66
66
|
| external | `gradle-kotlin-dsl` | - | Configure Android builds with Gradle Kotlin DSL, version catalogs (libs.versions.toml), convention plugins (build-logic module), common conf |
|
|
67
67
|
| external | `healthkit` | - | HealthKit on iOS, iPadOS, watchOS and visionOS: HKHealthStore authorization, sample, statistics and chart-ready collection queries, saving H |
|
|
68
|
+
| external | `hig-app-icons` | - | iOS app icons: Icon Composer layered icons, default, dark, clear and tinted appearances, asset catalogs, alternate icons and the archive che |
|
|
68
69
|
| external | `hig-components-content` | - | Apple HIG for content views mapped to SwiftUI: lists, tables, grids, charts, images, text, web views, empty states. Use when choosing or rev |
|
|
69
|
-
| external | `hig-components-layout` | - | Apple HIG
|
|
70
|
+
| external | `hig-components-layout` | - | Apple HIG app structure mapped to SwiftUI: tab bars, sidebars, split views, toolbars, sheets and popovers, including the iOS 26 and 27 tab a |
|
|
70
71
|
| external | `hig-components-status` | - | Apple HIG for status UI mapped to SwiftUI: progress views, gauges, placeholders, status bar, activity rings, success and failure feedback. U |
|
|
71
72
|
| external | `hig-components-system` | - | Apple HIG for system surfaces: widgets, controls, Live Activities, Dynamic Island, notifications, complications, quick actions, App Shortcut |
|
|
72
|
-
| external | `hig-foundations` | - | Apple HIG foundations mapped to SwiftUI: Dynamic Type, semantic color, contrast, safe areas,
|
|
73
|
-
| external | `hig-inputs` | - | Apple HIG for input mapped to SwiftUI:
|
|
74
|
-
| external | `hig-patterns` | - | Apple HIG interaction patterns mapped to SwiftUI:
|
|
75
|
-
| external | `hig-platforms` | - | Apple HIG per platform: iPhone, iPad, Mac, Watch, TV and Vision Pro
|
|
73
|
+
| external | `hig-foundations` | - | Apple HIG foundations mapped to SwiftUI: typography and Dynamic Type, semantic color, contrast, spacing, safe areas, touch targets, motion a |
|
|
74
|
+
| external | `hig-inputs` | - | Apple HIG for input mapped to SwiftUI: gestures, keyboards, pointer, Apple Pencil, focus, game controllers and Digital Crown. Use when desig |
|
|
75
|
+
| external | `hig-patterns` | - | Apple HIG interaction patterns mapped to SwiftUI: onboarding, permission requests, loading, empty and error states, modality, search, settin |
|
|
76
|
+
| external | `hig-platforms` | - | Apple HIG per platform: iPhone, iPad, Mac, Watch, TV and Vision Pro, iPad size classes and windowing. Use when a design has to fit a specifi |
|
|
76
77
|
| external | `hig-technologies` | - | Apple HIG for system technologies: Sign in with Apple, passkeys, Apple Pay, Wallet, Siri and App Intents, HealthKit, HomeKit, iCloud, Maps, |
|
|
77
78
|
| external | `homekit-matter` | - | HomeKit and MatterSupport: managing homes, rooms, zones and accessories, reading characteristics, action sets and triggers, Matter commissio |
|
|
78
79
|
| external | `html-semantic` | - | Semantic HTML5: elements, forms with validation and accessibility, SEO best practices, structured data, Open Graph, Twitter Cards. Use when |
|
|
79
80
|
| external | `humanizer` | - | Remove AI-generated writing patterns from text. Makes output sound natural and human-written. Detects inflated language, filler phrases, AI |
|
|
80
|
-
| external | `ios-accessibility` | - | VoiceOver, Voice Control, Switch Control and Full Keyboard Access in SwiftUI, UIKit and AppKit
|
|
81
|
+
| external | `ios-accessibility` | - | VoiceOver, Voice Control, Switch Control and Full Keyboard Access in SwiftUI, UIKit and AppKit: labels, traits, grouping, focus restore, Dyn |
|
|
81
82
|
| external | `ios-coding-standard` | - | The iOS coding-standard rule registry: 99 stable-ID rules across readability, security, service layer, business rules, concurrency, testing, |
|
|
82
83
|
| external | `ios-debugger-agent` | - | Debug the current iOS project on a booted simulator with XcodeBuildMCP. Use when an iOS bug has to be reproduced and diagnosed on a booted s |
|
|
84
|
+
| external | `ios-design-review` | - | Design critique and screenshot-based visual QA of iOS screens against the HIG, checked across light and dark, Dynamic Type, RTL, contrast an |
|
|
85
|
+
| external | `ios-haptics` | - | Haptic feedback on iPhone: when a haptic adds meaning, sensoryFeedback, the UIFeedbackGenerator family, Core Haptics and AHAP, settings and |
|
|
86
|
+
| external | `ios-iphone-duo` | - | Readiness for iPhone Duo, the foldable two-display iPhone on iOS 27.1: fixed-assumption hunting, asymmetric safe areas, reserved regions, Ar |
|
|
83
87
|
| external | `ios-localization` | - | i18n and l10n for iOS and macOS: String Catalogs (.xcstrings), generated localizable symbols with compile-time-checked keys, stable key nami |
|
|
84
88
|
| external | `ios-module-structure` | - | The ios-module-structure rule registry: stable-ID rules over where a declaration lives, what its file is called and what its folder must con |
|
|
85
89
|
| external | `ios-networking` | - | URLSession with async/await and structured concurrency on iOS and macOS: HTTP requests, REST API clients, response validation, error handlin |
|
|
86
90
|
| external | `ios-security` | - | Secure iOS apps with Keychain Services, CryptoKit encryption, biometric authentication (Face ID, Touch ID), Secure Enclave key storage, LACo |
|
|
91
|
+
| external | `ios-sf-symbols` | - | SF Symbols in SwiftUI and UIKit: rendering modes, variable values, symbol effects including Draw On and Off, matching weight and scale to te |
|
|
87
92
|
| external | `ios-simulator` | - | xcrun simctl from the command line: create, boot, erase and delete devices, install and launch apps, simulated pushes without APNs, GPS loca |
|
|
88
93
|
| external | `kotlin-coroutines-expert` | - | Kotlin coroutines and Flow: scopes, structured concurrency, cancellation, exception handling, dispatcher injection, StateFlow versus SharedF |
|
|
89
94
|
| external | `live-activities` | - | ActivityKit Live Activities on the Lock Screen and Dynamic Island: ActivityAttributes and ContentState, request/update/end lifecycle, compac |
|
|
@@ -199,13 +204,13 @@
|
|
|
199
204
|
| external | `swiftdata` | - | SwiftData persistence for Apple apps: @Model classes with @Attribute, @Relationship, @Transient, #Unique and #Index; @Query, #Predicate, Fet |
|
|
200
205
|
| external | `swiftdata-pro` | - | Writes, reviews, and improves SwiftData code using modern APIs and best practices. Use when reading, writing, or reviewing projects that use |
|
|
201
206
|
| external | `swiftlint` | - | SwiftLint setup and enforcement: build tool and command plugins, Xcode run scripts, CI, .swiftlint.yml rule sets (default, opt-in, analyzer) |
|
|
202
|
-
| external | `swiftui-animation` | - | SwiftUI motion: withAnimation,
|
|
203
|
-
| external | `swiftui-expert-skill` | - | Write, review, or improve SwiftUI code following best practices for state
|
|
207
|
+
| external | `swiftui-animation` | - | SwiftUI motion: withAnimation, springs, PhaseAnimator, KeyframeAnimator, matched geometry and zoom transitions, scrollTransition and visualE |
|
|
208
|
+
| external | `swiftui-expert-skill` | - | Write, review, or improve SwiftUI code following best practices for state, view composition, performance, macOS APIs, and iOS 26+ Liquid Gla |
|
|
204
209
|
| external | `swiftui-gestures` | - | SwiftUI gestures: tap, spatial tap, long press, drag, magnify, rotate, composition (simultaneously, sequenced, exclusively), @GestureState, |
|
|
205
210
|
| external | `swiftui-layout-components` | - | SwiftUI layouts: stacks, lazy stacks, LazyVGrid/LazyHGrid, List sections, swipe actions, ScrollView with ScrollPosition, validated Form, Tog |
|
|
206
|
-
| external | `swiftui-liquid-glass` | - | Liquid Glass in SwiftUI
|
|
211
|
+
| external | `swiftui-liquid-glass` | - | Liquid Glass in SwiftUI and UIKit: navigation-layer use, regular versus clear, glassEffect, GlassEffectContainer, morphing, glass buttons, C |
|
|
207
212
|
| external | `swiftui-navigation` | - | SwiftUI navigation: NavigationStack typed paths, routers, NavigationSplitView, sheets, TabView and Tab API, universal links, URL schemes, Ha |
|
|
208
|
-
| external | `swiftui-patterns` | - | SwiftUI
|
|
213
|
+
| external | `swiftui-patterns` | - | SwiftUI architecture, state: @Observable, @State, @Bindable, @Environment, view splitting, ViewModifiers, .task, API migration, Writing Tool |
|
|
209
214
|
| external | `swiftui-performance` | - | SwiftUI performance: slow rendering, janky scrolling, high CPU/memory, excess updates, layout thrash, costly body, identity churn, lazy load |
|
|
210
215
|
| external | `swiftui-performance-audit` | - | Audit SwiftUI performance issues from code review and profiling evidence. Use when a SwiftUI view is slow and the cause has to be found from |
|
|
211
216
|
| external | `swiftui-pro` | - | Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance. Use when reading, writing, or revi |
|