@mmerterden/multi-agent-pipeline 16.18.0 → 16.19.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 +45 -0
- package/README.md +5 -5
- package/README.tr.md +2 -2
- package/docs/FIGMA_PIPELINE.md +1 -1
- package/docs/adr/0001-three-model-triage.md +4 -2
- package/docs/architecture.md +2 -2
- package/docs/ecosystem.md +13 -11
- package/docs/features.md +2 -2
- package/index.js +1 -1
- package/install/_common.mjs +25 -1
- package/install/_dev-only-files.mjs +2 -2
- package/install/_mcp-register.mjs +4 -3
- package/install/_plugin-skills.mjs +1 -3
- package/install/copilot.mjs +18 -9
- package/install/index.mjs +2 -4
- package/install/templates/copilot-instructions.md +7 -7
- package/package.json +1 -1
- package/pipeline/claude-md-template.md +2 -2
- package/pipeline/commands/multi-agent/SKILL.md +5 -5
- package/pipeline/commands/multi-agent/complaint-analysis/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/design-check/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/help/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/review/SKILL.md +27 -14
- package/pipeline/commands/multi-agent/review-analysis/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/store-ready/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/sync/SKILL.md +2 -2
- package/pipeline/commands/sim-test.md +54 -15
- package/pipeline/lib/credential-inventory.sh +15 -2
- package/pipeline/lib/credential-store-resolver.sh +14 -4
- package/pipeline/lib/credential-store.sh +8 -2
- package/pipeline/lib/extract-conventions.sh +1 -14
- package/pipeline/lib/fetch-confluence.sh +12 -4
- package/pipeline/lib/fetch-crashlytics.sh +11 -8
- package/pipeline/lib/fetch-document.sh +1 -1
- package/pipeline/lib/fetch-figma-annotations.sh +7 -5
- package/pipeline/lib/fetch-fortify.sh +5 -3
- package/pipeline/lib/fetch-graylog.sh +5 -3
- package/pipeline/lib/figma-mcp-refresh.sh +1 -1
- package/pipeline/lib/figma-screenshot.sh +27 -24
- package/pipeline/lib/figma-token.sh +8 -4
- package/pipeline/lib/issue-fetcher.sh +0 -1
- package/pipeline/lib/jira-publish.sh +7 -5
- package/pipeline/lib/md2confluence-v3.py +13 -7
- package/pipeline/lib/multi-repo-pipeline.sh +18 -8
- package/pipeline/lib/plan-todos.sh +11 -0
- package/pipeline/lib/post-pr-review.sh +9 -2
- package/pipeline/lib/repo-cache.sh +18 -10
- package/pipeline/lib/review-watch.sh +60 -14
- package/pipeline/lib/shadow-git.sh +8 -4
- package/pipeline/lib/vercel-deploy.sh +2 -2
- package/pipeline/multi-agent-refs/_dev-context.md +5 -2
- package/pipeline/multi-agent-refs/analysis/locked.md +4 -4
- package/pipeline/multi-agent-refs/analysis/render.md +1 -1
- package/pipeline/multi-agent-refs/cross-cli-contract.md +1 -1
- package/pipeline/multi-agent-refs/outside-the-pipeline.md +6 -6
- package/pipeline/multi-agent-refs/phases/log-format.md +1 -1
- package/pipeline/multi-agent-refs/phases/modes.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +4 -2
- package/pipeline/multi-agent-refs/phases/phase-1-analysis.md +3 -3
- package/pipeline/multi-agent-refs/phases/phase-2-planning.md +5 -5
- package/pipeline/multi-agent-refs/phases/phase-4-review.md +21 -16
- package/pipeline/multi-agent-refs/tracker-contract.md +1 -1
- package/pipeline/rules/figma-pipeline.md +18 -72
- package/pipeline/rules/outside-the-pipeline.md +4 -3
- package/pipeline/schemas/agent-state.schema.json +1 -1
- package/pipeline/schemas/token-budget.json +1 -1
- package/pipeline/scripts/_stack-routing.mjs +1 -1
- package/pipeline/scripts/agent-guard.py +102 -21
- package/pipeline/scripts/anonymize-findings.mjs +7 -6
- package/pipeline/scripts/build-skills-index.mjs +14 -3
- package/pipeline/scripts/cost-budget-check.mjs +5 -3
- package/pipeline/scripts/cost-lib.sh +0 -15
- package/pipeline/scripts/diff-explain.mjs +22 -12
- package/pipeline/scripts/gc-refs.sh +6 -2
- package/pipeline/scripts/gc-tmp.sh +1 -1
- package/pipeline/scripts/gc-worktrees.sh +1 -1
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/github-ssh-setup.sh +7 -2
- package/pipeline/scripts/graph-build.mjs +2 -2
- package/pipeline/scripts/jira-wiki-escape.mjs +2 -1
- package/pipeline/scripts/keychain.py +12 -11
- package/pipeline/scripts/learning-curve.mjs +1 -1
- package/pipeline/scripts/migrate-prefs.mjs +1 -1
- package/pipeline/scripts/output-quality-check.sh +3 -1
- package/pipeline/scripts/phase-tracker.sh +1 -1
- package/pipeline/scripts/phase0-exit-gate.mjs +2 -1
- package/pipeline/scripts/plan-coverage-gate.mjs +2 -1
- package/pipeline/scripts/pre-commit-check.sh +23 -13
- package/pipeline/scripts/prune-logs.sh +1 -1
- package/pipeline/scripts/render-agent-log-cost.sh +3 -1
- package/pipeline/scripts/render-cost-summary.sh +4 -2
- package/pipeline/scripts/render-work-summary.sh +5 -3
- package/pipeline/scripts/repo-map.mjs +3 -2
- package/pipeline/scripts/scan-skills.sh +6 -2
- package/pipeline/scripts/search-logs.sh +8 -6
- package/pipeline/scripts/sign-skills.sh +3 -1
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +1 -1
- package/pipeline/scripts/triage-memory.mjs +25 -4
- package/pipeline/scripts/uninstall.mjs +20 -12
- package/pipeline/scripts/update-check.sh +2 -2
- package/pipeline/scripts/update-issue-progress.sh +6 -5
- package/pipeline/scripts/validate-analysis-doc.mjs +6 -6
- package/pipeline/scripts/verify-skills.sh +3 -1
- package/pipeline/scripts/worktree-finalize.sh +22 -10
- package/pipeline/skills/.skill-manifest.json +81 -57
- package/pipeline/skills/.skills-index.json +19 -19
- package/pipeline/skills/shared/README.md +8 -8
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +7 -7
- package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +23 -14
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +2 -2
- package/pipeline/skills/shared/external/NOTICE-dimillian-skills.md +56 -0
- package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +0 -4
- package/pipeline/skills/shared/external/api-patterns/SKILL.md +12 -24
- package/pipeline/skills/shared/external/app-store-changelog/references/release-notes-guidelines.md +34 -0
- package/pipeline/skills/shared/external/app-store-changelog/scripts/collect_release_changes.sh +33 -0
- package/pipeline/skills/shared/external/architecture/SKILL.md +7 -9
- package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +0 -4
- package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +0 -1
- package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +0 -14
- package/pipeline/skills/shared/external/hig-components-content/SKILL.md +13 -13
- package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +16 -16
- package/pipeline/skills/shared/external/hig-components-status/SKILL.md +6 -6
- package/pipeline/skills/shared/external/hig-components-system/SKILL.md +13 -13
- package/pipeline/skills/shared/external/hig-foundations/SKILL.md +23 -23
- package/pipeline/skills/shared/external/hig-inputs/SKILL.md +18 -18
- package/pipeline/skills/shared/external/hig-patterns/SKILL.md +30 -30
- package/pipeline/skills/shared/external/hig-platforms/SKILL.md +11 -11
- package/pipeline/skills/shared/external/hig-technologies/SKILL.md +33 -33
- package/pipeline/skills/shared/external/ios-coding-standard/references/STANDARD.md +52 -52
- package/pipeline/skills/shared/external/ios-coding-standard/references/lint-local.sh +1 -1
- package/pipeline/skills/shared/external/ios-coding-standard/references/rules.yml +11 -11
- package/pipeline/skills/shared/external/ios-developer/SKILL.md +0 -1
- package/pipeline/skills/shared/external/ios-module-structure/SKILL.md +7 -3
- package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +9 -15
- package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +0 -5
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/bootstrap/Package.swift +17 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/bootstrap/Sources/MyApp/Resources/.keep +0 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/bootstrap/Sources/MyApp/main.swift +11 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/bootstrap/version.env +2 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/build_icon.sh +49 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/compile_and_run.sh +63 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/launch.sh +28 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/make_appcast.sh +82 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/package_app.sh +206 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/setup_dev_signing.sh +52 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/sign-and-notarize.sh +52 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/version.env +2 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/references/packaging.md +17 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/references/release.md +32 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/references/scaffold.md +79 -0
- package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +0 -1
- package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +0 -4
- package/pipeline/skills/shared/external/swift-concurrency-expert/references/approachable-concurrency.md +63 -0
- package/pipeline/skills/shared/external/swift-concurrency-expert/references/swift-6-2-concurrency.md +272 -0
- package/pipeline/skills/shared/external/swift-concurrency-expert/references/swiftui-concurrency-tour-wwdc.md +33 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/code-smells.md +150 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/demystify-swiftui-performance-wwdc23.md +46 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/optimizing-swiftui-performance-instruments.md +29 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/profiling-intake.md +44 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/report-template.md +47 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/understanding-hangs-in-your-app.md +33 -0
- package/pipeline/skills/shared/external/swiftui-performance-audit/references/understanding-improving-swiftui-performance.md +52 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/app-wiring.md +201 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/async-state.md +96 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/components-index.md +46 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/controls.md +57 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/deeplinks.md +66 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/focus.md +90 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/form.md +97 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/grids.md +71 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/haptics.md +71 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/input-toolbar.md +51 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/lightweight-clients.md +93 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/list.md +86 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/loading-placeholders.md +38 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/macos-settings.md +71 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/matched-transitions.md +59 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/media.md +73 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/menu-bar.md +101 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/navigationstack.md +159 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/overlay.md +45 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/performance.md +62 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/previews.md +48 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/scroll-reveal.md +133 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/scrollview.md +87 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/searchable.md +71 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/sheets.md +155 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/split-views.md +72 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/tabview.md +114 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/theming.md +71 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/title-menus.md +93 -0
- package/pipeline/skills/shared/external/swiftui-ui-patterns/references/top-bar.md +49 -0
- package/pipeline/skills/shared/external/swiftui-view-refactor/references/mv-patterns.md +161 -0
- package/pipeline/skills/skills-index.md +8 -8
- package/pipeline/skills/shared/external/help-skills/SKILL.md +0 -166
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# MV Patterns Reference
|
|
2
|
+
|
|
3
|
+
Distilled guidance for deciding whether a SwiftUI feature should stay as plain MV or introduce a view model.
|
|
4
|
+
|
|
5
|
+
Inspired by the user's provided source, "SwiftUI in 2025: Forget MVVM" (Thomas Ricouard), but rewritten here as a practical refactoring reference.
|
|
6
|
+
|
|
7
|
+
## Default stance
|
|
8
|
+
|
|
9
|
+
- Default to MV: views are lightweight state expressions and orchestration points.
|
|
10
|
+
- Prefer `@State`, `@Environment`, `@Query`, `.task`, `.task(id:)`, and `onChange` before reaching for a view model.
|
|
11
|
+
- Keep business logic in services, models, or domain types, not in the view body.
|
|
12
|
+
- Split large screens into smaller view types before inventing a view model layer.
|
|
13
|
+
- Avoid manual fetching or state plumbing that duplicates SwiftUI or SwiftData mechanisms.
|
|
14
|
+
- Test services, models, and transformations first; views should stay simple and declarative.
|
|
15
|
+
|
|
16
|
+
## When to avoid a view model
|
|
17
|
+
|
|
18
|
+
Do not introduce a view model when it would mostly:
|
|
19
|
+
- mirror local view state,
|
|
20
|
+
- wrap values already available through `@Environment`,
|
|
21
|
+
- duplicate `@Query`, `@State`, or `Binding`-based data flow,
|
|
22
|
+
- exist only because the view body is too long,
|
|
23
|
+
- hold one-off async loading logic that can live in `.task` plus local view state.
|
|
24
|
+
|
|
25
|
+
In these cases, simplify the view and data flow instead of adding indirection.
|
|
26
|
+
|
|
27
|
+
## When a view model may be justified
|
|
28
|
+
|
|
29
|
+
A view model can be reasonable when at least one of these is true:
|
|
30
|
+
- the user explicitly asks for one,
|
|
31
|
+
- the codebase already standardizes on a view model pattern for that feature,
|
|
32
|
+
- the screen needs a long-lived reference model with behavior that does not fit naturally in services alone,
|
|
33
|
+
- the feature is adapting a non-SwiftUI API that needs a dedicated bridge object,
|
|
34
|
+
- multiple views share the same presentation-specific state and that state is not better modeled as app-level environment data.
|
|
35
|
+
|
|
36
|
+
Even then, keep the view model small, explicit, and non-optional when possible.
|
|
37
|
+
|
|
38
|
+
## Preferred pattern: local state plus environment
|
|
39
|
+
|
|
40
|
+
```swift
|
|
41
|
+
struct FeedView: View {
|
|
42
|
+
@Environment(BlueSkyClient.self) private var client
|
|
43
|
+
|
|
44
|
+
enum ViewState {
|
|
45
|
+
case loading
|
|
46
|
+
case error(String)
|
|
47
|
+
case loaded([Post])
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@State private var viewState: ViewState = .loading
|
|
51
|
+
|
|
52
|
+
var body: some View {
|
|
53
|
+
List {
|
|
54
|
+
switch viewState {
|
|
55
|
+
case .loading:
|
|
56
|
+
ProgressView("Loading feed...")
|
|
57
|
+
case .error(let message):
|
|
58
|
+
ErrorStateView(message: message, retryAction: { await loadFeed() })
|
|
59
|
+
case .loaded(let posts):
|
|
60
|
+
ForEach(posts) { post in
|
|
61
|
+
PostRowView(post: post)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
.task { await loadFeed() }
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
private func loadFeed() async {
|
|
69
|
+
do {
|
|
70
|
+
let posts = try await client.getFeed()
|
|
71
|
+
viewState = .loaded(posts)
|
|
72
|
+
} catch {
|
|
73
|
+
viewState = .error(error.localizedDescription)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Why this is preferred:
|
|
80
|
+
- state stays close to the UI that renders it,
|
|
81
|
+
- dependencies come from the environment instead of a wrapper object,
|
|
82
|
+
- the view coordinates UI flow while the service owns the real work.
|
|
83
|
+
|
|
84
|
+
## Preferred pattern: use modifiers as lightweight orchestration
|
|
85
|
+
|
|
86
|
+
```swift
|
|
87
|
+
.task(id: searchText) {
|
|
88
|
+
guard !searchText.isEmpty else {
|
|
89
|
+
results = []
|
|
90
|
+
return
|
|
91
|
+
}
|
|
92
|
+
await searchFeed(query: searchText)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.onChange(of: isInSearch, initial: false) {
|
|
96
|
+
guard !isInSearch else { return }
|
|
97
|
+
Task { await fetchSuggestedFeed() }
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Use view lifecycle modifiers for simple, local orchestration. Do not convert these into a view model by default unless the behavior clearly outgrows the view.
|
|
102
|
+
|
|
103
|
+
## SwiftData note
|
|
104
|
+
|
|
105
|
+
SwiftData is a strong argument for keeping data flow inside the view when possible.
|
|
106
|
+
|
|
107
|
+
Prefer:
|
|
108
|
+
|
|
109
|
+
```swift
|
|
110
|
+
struct BookListView: View {
|
|
111
|
+
@Query private var books: [Book]
|
|
112
|
+
@Environment(\.modelContext) private var modelContext
|
|
113
|
+
|
|
114
|
+
var body: some View {
|
|
115
|
+
List {
|
|
116
|
+
ForEach(books) { book in
|
|
117
|
+
BookRowView(book: book)
|
|
118
|
+
.swipeActions {
|
|
119
|
+
Button("Delete", role: .destructive) {
|
|
120
|
+
modelContext.delete(book)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Avoid adding a view model that manually fetches and mirrors the same state unless the feature has an explicit reason to do so.
|
|
130
|
+
|
|
131
|
+
## Testing guidance
|
|
132
|
+
|
|
133
|
+
Prefer to test:
|
|
134
|
+
- services and business rules,
|
|
135
|
+
- models and state transformations,
|
|
136
|
+
- async workflows at the service layer,
|
|
137
|
+
- UI behavior with previews or higher-level UI tests.
|
|
138
|
+
|
|
139
|
+
Do not introduce a view model primarily to make a simple SwiftUI view "testable." That usually adds ceremony without improving the architecture.
|
|
140
|
+
|
|
141
|
+
## Refactor checklist
|
|
142
|
+
|
|
143
|
+
When refactoring toward MV:
|
|
144
|
+
- Remove view models that only wrap environment dependencies or local view state.
|
|
145
|
+
- Replace optional or delayed-initialized view models when plain view state is enough.
|
|
146
|
+
- Pull business logic out of the view body and into services/models.
|
|
147
|
+
- Keep the view as a thin coordinator of UI state, navigation, and user actions.
|
|
148
|
+
- Split large bodies into smaller view types before adding new layers of indirection.
|
|
149
|
+
|
|
150
|
+
## Bottom line
|
|
151
|
+
|
|
152
|
+
Treat view models as the exception, not the default.
|
|
153
|
+
|
|
154
|
+
In modern SwiftUI, the default stack is:
|
|
155
|
+
- `@State` for local state,
|
|
156
|
+
- `@Environment` for shared dependencies,
|
|
157
|
+
- `@Query` for SwiftData-backed collections,
|
|
158
|
+
- lifecycle modifiers for lightweight orchestration,
|
|
159
|
+
- services and models for business logic.
|
|
160
|
+
|
|
161
|
+
Reach for a view model only when the feature clearly needs one.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
| Group | Name | Platform | Description |
|
|
9
9
|
|-------|------|----------|-------------|
|
|
10
10
|
| external | `accessibility-compliance-accessibility-audit` | - | You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, i |
|
|
11
|
-
| external | `agent-introspection-debugging` | - |
|
|
11
|
+
| external | `agent-introspection-debugging` | - | Structured self-debugging for an agent that is stuck, looping, or failing repeatedly. Replaces blind re-prompting with capture -> diagnose - |
|
|
12
12
|
| external | `agentflow` | - | Orchestrate autonomous AI development pipelines through your Kanban board (Asana, GitHub Projects, Linear). Manages multi-worker Claude Code |
|
|
13
13
|
| external | `alarmkit` | - | Implement AlarmKit alarms and countdown timers for iOS and iPadOS with Lock Screen, Dynamic Island, StandBy, and paired Apple Watch system U |
|
|
14
14
|
| external | `android_ui_verification` | - | Automated end-to-end UI testing and verification on an Android Emulator using ADB. Use when an Android build needs driving on an emulator to |
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
| external | `core-motion` | - | Access Core Motion accelerometer, gyroscope, magnetometer, device-motion, pedometer, activity-recognition, altitude, headphone motion, batch |
|
|
46
46
|
| external | `core-nfc` | - | Read and write NFC tags using CoreNFC. Use when scanning NDEF tags, reading ISO7816/ISO15693/FeliCa/MIFARE tags, writing NDEF messages, hand |
|
|
47
47
|
| external | `coreml` | - | Integrate Core ML models in iOS apps for on-device machine learning inference. Covers model loading (.mlmodel, .mlpackage, .mlmodelc), predi |
|
|
48
|
-
| external | `council` | - |
|
|
48
|
+
| external | `council` | - | Convene a multi-voice council for ambiguous decisions, tradeoffs, and go/no-go calls. Use when several valid paths exist and you need struct |
|
|
49
49
|
| external | `cryptokit` | - | Use Apple CryptoKit for Swift cryptographic primitives. Use when hashing with SHA-2 or SHA-3, generating HMACs, encrypting with AES-GCM or C |
|
|
50
50
|
| external | `css-modern` | - | Modern CSS: container queries, nesting, @layer, Grid/Flexbox patterns, custom properties, animations, and transitions. Use when writing or r |
|
|
51
51
|
| external | `database-patterns` | - | Database patterns: SQL best practices (PostgreSQL), indexing, query optimization, migrations, schema design, ORMs (SQLAlchemy, Prisma, Drizz |
|
|
@@ -63,19 +63,18 @@
|
|
|
63
63
|
| core | `google-play-compliance` | - | Google Play Store publication compliance - bundletool + aapt2 + apksigner orchestration + 21-rule policy catalog with Play Console error c |
|
|
64
64
|
| external | `gradle-kotlin-dsl` | - | Configure Android builds with Gradle Kotlin DSL, version catalogs (libs.versions.toml), convention plugins (build-logic module), common conf |
|
|
65
65
|
| external | `healthkit` | - | Read, write, and query Apple Health data using HealthKit. Covers HKHealthStore authorization, sample queries, statistics queries, statistics |
|
|
66
|
-
| external | `help-skills` | - | Mevcut tum iOS/Swift skill'lerini listeler ve ne ise yaradiklarini aciklar. Use when asked which iOS or Swift skills are available and what |
|
|
67
66
|
| external | `hig-components-content` | - | Apple Human Interface Guidelines for content display components. Use when designing or reviewing how content is displayed on an Apple platfo |
|
|
68
67
|
| external | `hig-components-layout` | - | Apple Human Interface Guidelines for layout and navigation components. Use when designing or reviewing layout and navigation on an Apple pla |
|
|
69
68
|
| external | `hig-components-status` | - | Apple HIG guidance for status and progress UI components including progress indicators, status bars, and activity rings. Use when designing |
|
|
70
69
|
| external | `hig-components-system` | - | 'Apple HIG guidance for system experience components: widgets, live activities, notifications, complications, home screen quick actions, top |
|
|
71
70
|
| external | `hig-foundations` | - | Apple Human Interface Guidelines design foundations. Use when a design decision turns on Apple's foundations: layout, typography, colour, mo |
|
|
72
|
-
| external | `hig-inputs` | - |
|
|
71
|
+
| external | `hig-inputs` | - | Apple Human Interface Guidelines for input methods: touch gestures, keyboards, Apple Pencil, pointing devices, game controllers, Digital Cro |
|
|
73
72
|
| external | `hig-patterns` | - | Apple Human Interface Guidelines interaction and UX patterns. Use when an interaction or UX pattern on an Apple platform needs designing or |
|
|
74
73
|
| external | `hig-platforms` | - | Apple Human Interface Guidelines for platform-specific design. Use when a design has to fit a specific Apple platform's conventions. |
|
|
75
|
-
| external | `hig-technologies` | - |
|
|
74
|
+
| external | `hig-technologies` | - | Apple Human Interface Guidelines for Apple technologies: Siri, Apple Pay, Wallet, HealthKit, CarPlay, iCloud, Maps, in-app purchase and Sign |
|
|
76
75
|
| external | `homekit-matter` | - | Control smart-home accessories and commission Matter devices using HomeKit and MatterSupport. Use when managing homes/rooms/accessories, cre |
|
|
77
76
|
| external | `html-semantic` | - | Semantic HTML5: elements, forms with validation and accessibility, SEO best practices, structured data, Open Graph, Twitter Cards. Use when |
|
|
78
|
-
| external | `humanizer` | - |
|
|
77
|
+
| external | `humanizer` | - | Remove AI-generated writing patterns from text. Makes output sound natural and human-written. Detects inflated language, filler phrases, AI |
|
|
79
78
|
| external | `ios-accessibility` | - | Implements, reviews, or improves accessibility in iOS/macOS apps with SwiftUI, UIKit, and AppKit. Use when adding VoiceOver, Voice Control, |
|
|
80
79
|
| external | `ios-coding-standard` | - | The iOS coding-standard rule registry: 99 stable-ID rules across readability, security, service layer, business rules, concurrency, testing, |
|
|
81
80
|
| 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 |
|
|
@@ -87,7 +86,7 @@
|
|
|
87
86
|
| external | `ios-simulator` | - | Manages iOS Simulator devices and tests app behaviour with xcrun simctl: device lifecycle, app install and launch, push notification and loc |
|
|
88
87
|
| external | `kotlin-coroutines-expert` | - | Expert patterns for Kotlin Coroutines and Flow, covering structured concurrency, error handling, and testing. Use when writing or reviewing |
|
|
89
88
|
| external | `live-activities` | - | Implement, review, or improve Live Activities and Dynamic Island experiences in iOS apps using ActivityKit. Use when building real-time upda |
|
|
90
|
-
| external | `localization-reuse-map` | - |
|
|
89
|
+
| external | `localization-reuse-map` | - | Produce a per-screen localization-reuse map for one redesigned screen (iOS / Android / web): for each UI element it pairs the NEW localizati |
|
|
91
90
|
| external | `macos-menubar-tuist-app` | - | Build, refactor, or review SwiftUI macOS menubar apps that use Tuist. Use when building, refactoring or reviewing a SwiftUI macOS menubar ap |
|
|
92
91
|
| external | `macos-spm-app-packaging` | - | Scaffold, build, sign, and package SwiftPM macOS apps without Xcode projects. Use when a SwiftPM macOS app has to be built, signed or packag |
|
|
93
92
|
| external | `mapkit-location` | - | Implement, review, or improve maps and location features in iOS/macOS apps using MapKit and CoreLocation. Use when working with Map views, a |
|
|
@@ -138,6 +137,7 @@
|
|
|
138
137
|
| core | `multi-agent-setup` | - | First-run setup wizard: keychain token discovery, Git Identity onboarding, and pipeline preparation. Use when the pipeline is being set up f |
|
|
139
138
|
| core | `multi-agent-stack` | - | Select the active stack(s) for this repo by enabling the matching marketplace plugin(s) in .claude/settings.json. Multi-select: pass several |
|
|
140
139
|
| core | `multi-agent-status` | - | Show every multi-agent task's ID, phase, branch, and status. Use when asked what is running, or for an overview of every task. |
|
|
140
|
+
| core | `multi-agent-steer` | - | Queue an instruction for a task that is already running. It is applied at the next phase boundary, not mid-phase. Use when a run is going th |
|
|
141
141
|
| core | `multi-agent-store-ready` | - | Pre-submission store readiness for a built package, iOS and Android, local-only. Three symmetric gates per platform: a static package audit, |
|
|
142
142
|
| core | `multi-agent-sync` | - | One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, website, and the multi-agent-toolkit MCP server. |
|
|
143
143
|
| core | `multi-agent-test` | - | UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Auto-detects platform. Screenshot + tap + analyze on the booted device. T |
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
| external | `rest-api-design` | - | REST API design: HTTP methods, status codes, pagination, versioning, rate limiting, caching headers, OpenAPI documentation. Use when a REST |
|
|
167
167
|
| external | `retrofit-networking` | - | Build networking layers on Android with Retrofit, OkHttp, and Kotlin Coroutines. Covers suspend functions in API interfaces, OkHttp intercep |
|
|
168
168
|
| external | `room-database` | - | Implement Room database persistence on Android with @Entity, @Dao, @Database, Flow-based reactive queries, TypeConverters for complex types, |
|
|
169
|
-
| external | `search-first` | - |
|
|
169
|
+
| external | `search-first` | - | Research-before-coding workflow. Before writing a custom implementation, check what already exists (repo utilities, installed libraries, pac |
|
|
170
170
|
| external | `shareplay-activities` | - | Build shared real-time experiences using GroupActivities and SharePlay. Use when implementing shared media playback, collaborative app featu |
|
|
171
171
|
| external | `signal-community` | - | Check whether other people hit the same problem, via Stack Overflow and Hacker News (keyless) plus opt-in Reddit and X. Use when a bug repor |
|
|
172
172
|
| external | `skill-creator` | - | Author and refine skills for a plugin/toolkit efficiently. Use when creating a new skill, trimming or splitting an existing one, writing a s |
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: help-skills
|
|
3
|
-
description: "Mevcut tum iOS/Swift skill'lerini listeler ve ne ise yaradiklarini aciklar. Use when asked which iOS or Swift skills are available and what each one covers."
|
|
4
|
-
risk: safe
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Skill Rehberi
|
|
8
|
-
|
|
9
|
-
Kullaniciya mevcut skill'leri kategorize ederek goster. Asagidaki listeyi oku ve kullaniciya sun.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Paul Hudson & AvdLee (Detayli Paketler - reference dosyalari icerir)
|
|
14
|
-
|
|
15
|
-
| Skill | Konum | Aciklama |
|
|
16
|
-
|---|---|---|
|
|
17
|
-
| **swiftui-pro** | `~/.claude/skills/swiftui-pro/` | SwiftUI code review: deprecated API tespiti, erisilebilirlik, performans, modern API kullanimi. 9 reference dosyasi (accessibility, api, design, hygiene, navigation, performance, data, swift, views) |
|
|
18
|
-
| **swiftdata-pro** | `~/.claude/skills/swiftdata-pro/` | SwiftData best practices: @Model, predicates, CloudKit sync, indexing, class inheritance. 5 reference dosyasi |
|
|
19
|
-
| **swift-concurrency-pro** | `~/.claude/skills/swift-concurrency-pro/` | Swift concurrency review: async/await, actors, Sendable, bridging, diagnostics, bug patterns. 12 reference dosyasi |
|
|
20
|
-
| **swift-testing-pro** | `~/.claude/skills/swift-testing-pro/` | Swift Testing framework: test yazma, XCTest migration, async test patterns. 5 reference dosyasi |
|
|
21
|
-
| **swiftui-expert-skill** | `~/.claude/skills/swiftui-expert-skill/` | State management, Liquid Glass, macOS, animations, charts, accessibility. 19 reference dosyasi (AvdLee) |
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Antigravity Skills (Tek Dosya)
|
|
26
|
-
|
|
27
|
-
### SwiftUI & Swift
|
|
28
|
-
| Skill | Dosya | Aciklama |
|
|
29
|
-
|---|---|---|
|
|
30
|
-
| SwiftUI UI Patterns | `swiftui-ui-patterns.md` | State ownership, navigation, anti-patterns, 6-adim view workflow |
|
|
31
|
-
| SwiftUI View Refactor | `swiftui-view-refactor.md` | View ordering, MV vs MVVM, subview extraction, 300+ satir view bolme |
|
|
32
|
-
| SwiftUI Performance Audit | `swiftui-performance-audit.md` | Invalidation storms, unstable identity, heavy body, layout thrash teshisi |
|
|
33
|
-
| SwiftUI Liquid Glass | `swiftui-liquid-glass.md` | iOS 26+ glassEffect, GlassEffectContainer, fallback patterns |
|
|
34
|
-
| Swift Concurrency Expert | `swift-concurrency-expert.md` | Actor isolation, Sendable, @MainActor, Swift 6.2+ fix stratejileri |
|
|
35
|
-
|
|
36
|
-
### iOS Development
|
|
37
|
-
| Skill | Dosya | Aciklama |
|
|
38
|
-
|---|---|---|
|
|
39
|
-
| iOS Developer | `ios-developer.md` | Genel iOS: Swift 6, SwiftUI, Core Data, URLSession, XCTest, Fastlane |
|
|
40
|
-
| iOS Debugger Agent | `ios-debugger-agent.md` | XcodeBuildMCP ile simulator build/run/debug, UI interaction, log capture |
|
|
41
|
-
|
|
42
|
-
### Apple HIG (Human Interface Guidelines)
|
|
43
|
-
| Skill | Dosya | Aciklama |
|
|
44
|
-
|---|---|---|
|
|
45
|
-
| HIG Foundations | `hig-foundations.md` | Temel ilkeler: erisilebilirlik, renk, tipografi, motion, privacy |
|
|
46
|
-
| HIG Patterns | `hig-patterns.md` | Modality, feedback, onboarding, search, undo, progressive disclosure |
|
|
47
|
-
| HIG Components Layout | `hig-components-layout.md` | Tab bar, sidebar, navigation, multi-column, adaptive layout |
|
|
48
|
-
| HIG Components Content | `hig-components-content.md` | Charts, collections, image views, web views, activity views |
|
|
49
|
-
| HIG Components Status | `hig-components-status.md` | Progress indicator, status bar, activity rings |
|
|
50
|
-
| HIG Components System | `hig-components-system.md` | Widget, Live Activity, Dynamic Island, Notification, App Clip |
|
|
51
|
-
| HIG Inputs | `hig-inputs.md` | Touch, Apple Pencil, keyboard, game controller, Digital Crown |
|
|
52
|
-
| HIG Platforms | `hig-platforms.md` | iOS/iPadOS/macOS/tvOS/visionOS/watchOS platform farklari |
|
|
53
|
-
| HIG Technologies | `hig-technologies.md` | Siri, Apple Pay, HealthKit, ARKit, CarPlay, Sign in with Apple |
|
|
54
|
-
|
|
55
|
-
### App Store & Diger
|
|
56
|
-
| Skill | Dosya | Aciklama |
|
|
57
|
-
|---|---|---|
|
|
58
|
-
| App Store Optimization | `app-store-optimization.md` | ASO: keyword analizi, metadata, screenshot, rating yonetimi |
|
|
59
|
-
| App Store Changelog | `app-store-changelog.md` | Git history'den App Store release notes uretme |
|
|
60
|
-
| Firebase | `firebase.md` | Auth, Firestore, Cloud Functions, security rules, emulators |
|
|
61
|
-
| Accessibility Audit | `accessibility-compliance-accessibility-audit.md` | WCAG, VoiceOver, Dynamic Type, inkluzif tasarim denetimi |
|
|
62
|
-
| macOS Menubar Tuist | `macos-menubar-tuist-app.md` | macOS menubar app gelistirme (Tuist workflow) |
|
|
63
|
-
| macOS SPM Packaging | `macos-spm-app-packaging.md` | SwiftPM ile macOS app build/sign/notarize/package |
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## dpearson2699 iOS Skills (57 Skill)
|
|
68
|
-
|
|
69
|
-
Konum: `~/.claude/skills/ios-skills/<skill-adi>/SKILL.md`
|
|
70
|
-
|
|
71
|
-
### SwiftUI (9)
|
|
72
|
-
| Skill | Aciklama |
|
|
73
|
-
|---|---|
|
|
74
|
-
| `swiftui-animation` | Animasyonlar, transitions, symbol effects |
|
|
75
|
-
| `swiftui-gestures` | Tap, drag, magnify, rotate, gesture composition |
|
|
76
|
-
| `swiftui-layout-components` | Stacks, grids, lists, forms, search |
|
|
77
|
-
| `swiftui-liquid-glass` | Liquid Glass effects (iOS 26+) |
|
|
78
|
-
| `swiftui-navigation` | NavigationStack, sheets, tabs, deep links |
|
|
79
|
-
| `swiftui-patterns` | MV architecture, state management, composition |
|
|
80
|
-
| `swiftui-performance` | Performans audit ve optimizasyon |
|
|
81
|
-
| `swiftui-uikit-interop` | UIViewRepresentable, UIHostingController |
|
|
82
|
-
| `swiftui-webkit` | WebView ve WebPage (iOS 26+) |
|
|
83
|
-
|
|
84
|
-
### Core Swift (6)
|
|
85
|
-
| Skill | Aciklama |
|
|
86
|
-
|---|---|
|
|
87
|
-
| `swift-codable` | JSON encoding/decoding patterns |
|
|
88
|
-
| `swift-charts` | Swift Charts ile veri gorsellestirme |
|
|
89
|
-
| `swift-concurrency` | async/await, actors, Sendable, structured concurrency |
|
|
90
|
-
| `swift-language` | Modern Swift patterns (expressions, typed throws) |
|
|
91
|
-
| `swift-testing` | Swift Testing framework |
|
|
92
|
-
| `swiftdata` | SwiftData: @Model, @Query, persistence |
|
|
93
|
-
|
|
94
|
-
### App Experience (8)
|
|
95
|
-
| Skill | Aciklama |
|
|
96
|
-
|---|---|
|
|
97
|
-
| `alarmkit` | AlarmKit alarm ve countdown timer |
|
|
98
|
-
| `app-clips` | Lightweight instant app experiences |
|
|
99
|
-
| `app-intents` | Siri, Shortcuts, Spotlight, widgets, Apple Intelligence |
|
|
100
|
-
| `live-activities` | Lock Screen, Dynamic Island, push updates |
|
|
101
|
-
| `mapkit-location` | Maps, CoreLocation, geocoding, directions |
|
|
102
|
-
| `storekit` | StoreKit 2 in-app purchase ve subscriptions |
|
|
103
|
-
| `tipkit` | Feature discovery tips ve onboarding |
|
|
104
|
-
| `widgetkit` | Home screen widgets, Lock Screen, controls |
|
|
105
|
-
|
|
106
|
-
### AI/ML (5)
|
|
107
|
-
| Skill | Aciklama |
|
|
108
|
-
|---|---|
|
|
109
|
-
| `apple-on-device-ai` | Foundation Models, Core ML, MLX Swift, llama.cpp |
|
|
110
|
-
| `coreml` | Core ML model loading, prediction, MLTensor |
|
|
111
|
-
| `natural-language` | NLP, translation, embeddings |
|
|
112
|
-
| `speech-recognition` | Speech-to-text, SpeechAnalyzer |
|
|
113
|
-
| `vision-framework` | OCR, face detection, barcode, segmentation |
|
|
114
|
-
|
|
115
|
-
### iOS Engineering (10)
|
|
116
|
-
| Skill | Aciklama |
|
|
117
|
-
|---|---|
|
|
118
|
-
| `app-store-review` | App Store review hazirligi ve rejection onleme |
|
|
119
|
-
| `authentication` | Sign in with Apple, OAuth, biometrics |
|
|
120
|
-
| `background-processing` | BGTaskScheduler, background URLSession, push |
|
|
121
|
-
| `debugging-instruments` | LLDB, Memory Graph, Instruments, Time Profiler |
|
|
122
|
-
| `ios-accessibility` | VoiceOver, Dynamic Type, accessibility patterns |
|
|
123
|
-
| `ios-localization` | String Catalogs, FormatStyle, RTL |
|
|
124
|
-
| `ios-networking` | URLSession async/await, API clients |
|
|
125
|
-
| `ios-security` | Keychain, CryptoKit, certificate pinning |
|
|
126
|
-
| `metrickit-diagnostics` | Performance metrics ve crash diagnostics |
|
|
127
|
-
| `device-integrity` | DeviceCheck ve App Attest |
|
|
128
|
-
|
|
129
|
-
### Hardware (5)
|
|
130
|
-
| Skill | Aciklama |
|
|
131
|
-
|---|---|
|
|
132
|
-
| `core-bluetooth` | BLE central ve peripheral |
|
|
133
|
-
| `core-motion` | Accelerometer, gyroscope, pedometer |
|
|
134
|
-
| `core-nfc` | NFC tag reading ve writing |
|
|
135
|
-
| `pencilkit-drawing` | Apple Pencil, canvas, tool picker |
|
|
136
|
-
| `realitykit-ar` | RealityKit + ARKit augmented reality |
|
|
137
|
-
|
|
138
|
-
### Platform Entegrasyonlari (14)
|
|
139
|
-
| Skill | Aciklama |
|
|
140
|
-
|---|---|
|
|
141
|
-
| `callkit-voip` | CallKit + PushKit VoIP |
|
|
142
|
-
| `cloudkit-sync` | CloudKit, iCloud sync, CKSyncEngine |
|
|
143
|
-
| `contacts-framework` | Contacts read/write/pick |
|
|
144
|
-
| `energykit` | Grid electricity forecasts |
|
|
145
|
-
| `eventkit-calendar` | Calendar events ve reminders |
|
|
146
|
-
| `healthkit` | Apple Health data read/write/workouts |
|
|
147
|
-
| `homekit-matter` | Smart home accessories ve Matter |
|
|
148
|
-
| `musickit-audio` | Apple Music, MusicKit, MediaPlayer |
|
|
149
|
-
| `passkit-wallet` | Apple Pay ve Wallet passes |
|
|
150
|
-
| `permissionkit` | Child communication safety (iOS 26+) |
|
|
151
|
-
| `photos-camera-media` | PhotosPicker, AVCaptureSession |
|
|
152
|
-
| `push-notifications` | Local/remote notifications, APNs |
|
|
153
|
-
| `shareplay-activities` | GroupActivities / SharePlay |
|
|
154
|
-
| `weatherkit` | Weather forecasts ve attribution |
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## Nasil Calisir?
|
|
159
|
-
|
|
160
|
-
Claude bu skill'leri workflow icinde otomatik olarak okur ve uygular. Ornegin:
|
|
161
|
-
- SwiftUI view yazarken → `swiftui-pro/` + `swiftui-expert-skill/` reference'larini kontrol eder
|
|
162
|
-
- Concurrency hatasi varsa → `swift-concurrency-pro/` diagnostics ve bug-patterns'i okur
|
|
163
|
-
- App Store'a submit oncesi → `app-store-review` + `app-store-optimization` kontrol eder
|
|
164
|
-
- StoreKit entegrasyonu → `ios-skills/storekit/SKILL.md` okur
|
|
165
|
-
|
|
166
|
-
Skill'i manuel tetiklemek icin: "X skill'ini kullanarak review et" veya "StoreKit skill'ine gore implemente et" diyebilirsiniz.
|