@mmerterden/multi-agent-pipeline 20.15.0 → 20.16.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 +22 -0
- package/docs/facts.json +5 -4
- package/install/catalog-history.json +1 -1
- package/install/claude.mjs +5 -1
- package/install/codex.mjs +4 -3
- package/manifest.json +36 -30
- package/package.json +1 -1
- package/pipeline/commands/multi-agent/review/SKILL.md +42 -1
- package/pipeline/multi-agent-refs/features/review-decision.md +2 -1
- package/pipeline/multi-agent-refs/features/valven.md +83 -0
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +1 -0
- package/pipeline/multi-agent-refs/phases/phase-1-plan.md +2 -0
- package/pipeline/multi-agent-refs/phases/phase-2-dev.md +2 -4
- package/pipeline/multi-agent-refs/phases/phase-3-review.md +5 -5
- package/pipeline/multi-agent-refs/phases/phase-4-commit.md +1 -0
- package/pipeline/schemas/agent-state.schema.json +16 -0
- package/pipeline/schemas/prefs.schema.json +21 -0
- package/pipeline/scripts/gen-skills-index.mjs +2 -1
- package/pipeline/scripts/phase-tracker.sh +8 -0
- package/pipeline/scripts/pre-push-check.sh +3 -1
- package/pipeline/scripts/review-decision-gate.mjs +1 -1
- package/pipeline/scripts/uninstall.mjs +5 -1
- package/pipeline/scripts/valven-gate.mjs +788 -0
- package/pipeline/scripts/valven-port.mjs +169 -0
- package/pipeline/scripts/valven-split.mjs +341 -0
- package/pipeline/scripts/verify-citations.mjs +14 -1
- package/pipeline/skills/.skill-manifest.json +7 -3
- package/pipeline/skills/.skills-index.json +104 -71
- package/pipeline/skills/shared/README.md +4 -3
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +2 -0
- package/pipeline/skills/shared/core/valven-rules/SKILL.md +62 -0
- package/pipeline/skills/shared/core/valven-rules/references/rules.yml +140 -0
- package/pipeline/skills/skills-index.md +74 -71
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Single source of truth for skills delivered to both Claude Code (`~/.claude/skills/`) and Copilot CLI (`~/.copilot/skills/`) by the installer.
|
|
4
4
|
|
|
5
|
-
**Total:**
|
|
5
|
+
**Total:** 221 skills (67 core + 154 external). Auto-generated by `scripts/gen-skills-index.mjs` - do not edit by hand.
|
|
6
6
|
|
|
7
7
|
## Directory layout
|
|
8
8
|
|
|
9
|
-
- **`core/`** -
|
|
9
|
+
- **`core/`** - 67 `multi-agent*` orchestration skills that are pipeline-critical. Edits here are core-code changes.
|
|
10
10
|
- **`external/`** - 154 iOS / Android / generic skills that ship into the stack plugins. Each names its origin in `metadata.source`: `multi-agent-pipeline` when written here, or the upstream and license a `NOTICE-*.md` in this directory covers.
|
|
11
11
|
- Install destinations (ADR-0009): Claude Code gets NO local copy of `external/` - it loads those skills from the `multi-agent-plugins` marketplace, namespaced (`ai-<stack>-toolkit:<name>`); only the two compliance catalogs from `core/` land in `~/.claude/skills/`. Copilot CLI and Codex CLI receive a flat copy filtered to the enabled stacks. `external/` remains the single authoring source that `build-stack-plugins.mjs` publishes from.
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
14
14
|
|
|
15
15
|
## Categories
|
|
16
16
|
|
|
17
|
-
- [Pipeline Orchestration](#pipeline-orchestration) -
|
|
17
|
+
- [Pipeline Orchestration](#pipeline-orchestration) - 67
|
|
18
18
|
- [iOS / Apple Ecosystem](#ios-apple-ecosystem) - 89
|
|
19
19
|
- [Android / Kotlin](#android-kotlin) - 16
|
|
20
20
|
- [Web](#web) - 10
|
|
@@ -91,6 +91,7 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
91
91
|
| [`multi-agent-testflight-validation`](./core/multi-agent-testflight-validation/) | `core` | iOS-pinned alias of store-ready: same three gates on an iOS build, one implementation. Validates a TestFlight / App Store package, never upl |
|
|
92
92
|
| [`multi-agent-uninstall`](./core/multi-agent-uninstall/) | `core` | Uninstall the pipeline from Claude Code + Copilot CLI. Keychain access tokens are always left untouched; --all-data also clears pipeline set |
|
|
93
93
|
| [`multi-agent-update`](./core/multi-agent-update/) | `core` | Update the pipeline to the latest version: git pull, install, migrate. Use when the installed pipeline is behind and should be brought to th |
|
|
94
|
+
| [`valven-rules`](./core/valven-rules/) | `core` | Delivery-flow rules from the metrics Valven reports: PR size, one concern per PR, tests with source, issue keys, no WIP commits, rework, PR |
|
|
94
95
|
|
|
95
96
|
## iOS / Apple Ecosystem
|
|
96
97
|
|
|
@@ -37,6 +37,8 @@ Skip Phase 0-3 and review a diff only. Input shapes: a PR (`#N`, `repo#N`, GitHu
|
|
|
37
37
|
# bitbucket PR: curl -u "$BB_USER:$BB_TOKEN" .../pull-requests/$N/diff?contextLines=10
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
2c. **Valven delivery rules** - required on every input. Run `node "$HOME/.claude/scripts/valven-gate.mjs" --mode review --out "$VG_FILE"` plus the input's sources: a branch adds `--repo . --base origin/develop --head <ref>`; a PR adds `--branch <headRef> --pr-body-file <body> --commits-file <one subject per line>` (GitHub `gh pr view --json headRefName,body,commits`, Bitbucket `fromRef.displayId`, `description`, `/commits`) and either `--repo . --base origin/<baseRef> --head FETCH_HEAD` after `git fetch origin <headRef>` when the cwd is that repo, or `--diff-file <patch>` (rework then reports `not-measured`). Exit 0 clean, 1 findings, 2 could not run: print `Valven: not measured (<reason>)`, never "passed". `findings[]` (`tag: valven`) join the reviewer findings at step 5 and are accepted unless the task is exempt, so an `important` one makes step 7 NEEDS WORK. Old-work findings (`VLV-AGE-01`, `VLV-BEHIND-01`, `VLV-TRACE-03`; commit lines are `<ISO author date>\t<subject>`) get the `valven-port.mjs` plan in their fix: new branch, dropped commits, then "open the new PR, close this one". When `splitRequired`, run `valven-split.mjs` with the same base and head (no `--apply`) and add its slice table to the `VLV-SIZE-01` fix. The registry's judgement rules (`VLV-SCOPE-02`, `VLV-PRDESC-02`, from `$HOME/.claude/skills/valven-rules/references/rules.yml`) go into every reviewer prompt in step 3. Contract: `$HOME/.claude/skills/valven-rules/SKILL.md`.
|
|
41
|
+
|
|
40
42
|
3. **Start parallel reviewers** - three on every host; only the second slot differs, because GPT-5.4 exists on Copilot and Codex but not on Claude Code, where Opus fills it:
|
|
41
43
|
|
|
42
44
|
**Claude Code (3 in parallel while the fable rung is on, 2 while it is off).** Resolve the fable slots first; this command has no Phase 0:
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: valven-rules
|
|
3
|
+
description: "Delivery-flow rules from the metrics Valven reports: PR size, one concern per PR, tests with source, issue keys, no WIP commits, rework, PR body, small hotfixes. Use when developing, committing or reviewing a change held to these rules, or splitting a branch into stacked PRs."
|
|
4
|
+
user-invocable: false
|
|
5
|
+
metadata:
|
|
6
|
+
language: en
|
|
7
|
+
standards-registry: references/rules.yml
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# valven-rules
|
|
11
|
+
|
|
12
|
+
The registry is `references/rules.yml`. It holds two blocks:
|
|
13
|
+
|
|
14
|
+
| Block | Who checks it | Read by |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `gate_rules` | `scripts/valven-gate.mjs`, from the diff, the commit subjects, the branch name and the PR body | the gate only |
|
|
17
|
+
| `rules` | the reviewers, as judgement | `skill-conformance.mjs`, which puts them in `${CRITERIA}` |
|
|
18
|
+
|
|
19
|
+
Measured rules stay out of `rules` on purpose: a reviewer asked for a verdict on a line count
|
|
20
|
+
either recounts it or guesses, and both are worse than the number the script already has.
|
|
21
|
+
|
|
22
|
+
## Where it runs
|
|
23
|
+
|
|
24
|
+
| Point | Command | A violation |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| Phase 1 Step 6 | plan estimates lines per task against `VLV-SIZE-01` | the plan proposes stacked slices before any code exists |
|
|
27
|
+
| Phase 2 exit, Gate 6 | `valven-gate.mjs --mode dev` | blocks the handoff to Review; size findings set `state.valven.splitRequired` |
|
|
28
|
+
| Phase 4, before push | `valven-gate.mjs --mode commit`, then `valven-split.mjs` when a split is required | the branch ships as stacked pull requests, one per slice |
|
|
29
|
+
| Phase 3 Step 3.0 and `/multi-agent:review` | `valven-gate.mjs --mode review` | findings merge into triage with `tag: valven`; an accepted one sets NEEDS WORK |
|
|
30
|
+
|
|
31
|
+
## Build on one branch, ship as small pull requests
|
|
32
|
+
|
|
33
|
+
Work happens on one branch. When the gate reports `VLV-SIZE-01`, `VLV-SIZE-02` or
|
|
34
|
+
`VLV-SCOPE-01`, `valven-split.mjs` plans slices of at most the size budget:
|
|
35
|
+
|
|
36
|
+
1. Pure renames and moves go first, as their own slice.
|
|
37
|
+
2. Each test file travels with the source file it pairs with.
|
|
38
|
+
3. Slices follow layer order: models and services, then view models and use cases, then views,
|
|
39
|
+
then everything else.
|
|
40
|
+
4. A single file larger than the budget becomes its own slice and is reported, never cut.
|
|
41
|
+
|
|
42
|
+
`--apply` materialises the plan as stacked branches `<branch>-p1` .. `<branch>-pN`: `-p1` from the
|
|
43
|
+
base, each next one from the previous. The top of the stack has the same tree as the original
|
|
44
|
+
branch, which the script verifies before it reports success. Each slice is built before its
|
|
45
|
+
pull request opens; a slice that does not build is merged into its neighbour and the plan is
|
|
46
|
+
re-run.
|
|
47
|
+
|
|
48
|
+
## Old work moves, it is not rebased
|
|
49
|
+
|
|
50
|
+
`VLV-AGE-01`, `VLV-BEHIND-01` and `VLV-TRACE-03` mean the branch carries old or foreign work.
|
|
51
|
+
`valven-port.mjs --apply` cuts `<branch>-v2` from the current base tip and applies the net change
|
|
52
|
+
with `git apply --3way` as one commit; a conflict rolls back and names the paths. Port first, then
|
|
53
|
+
split. Contract: `multi-agent-refs/features/valven.md`, "Old work".
|
|
54
|
+
|
|
55
|
+
## Thresholds
|
|
56
|
+
|
|
57
|
+
Defaults live in `gate_rules`. `prefs.global.valven.thresholds` overrides them per rule ID, for
|
|
58
|
+
example `{"VLV-SIZE-01": {"important_over": 300}}`. `prefs.global.valven.enabled: false` turns the
|
|
59
|
+
gate off; the run then logs `valven: disabled by prefs` so a skipped check never reads as a pass.
|
|
60
|
+
|
|
61
|
+
A rule the gate cannot measure (no checkout for the rework blame, no PR body in branch mode) is
|
|
62
|
+
reported as `not-measured` with the reason.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
version: 1.0.0
|
|
2
|
+
updated: 2026-10-02
|
|
3
|
+
owner: delivery flow
|
|
4
|
+
description: >
|
|
5
|
+
Delivery-flow rules derived from the metrics Valven reports per team and per
|
|
6
|
+
developer: cycle time, rework rate, review responsiveness, PR complexity,
|
|
7
|
+
commit risk, lead time for changes and change failure rate. Valven publishes no
|
|
8
|
+
formulas or thresholds, so every threshold below is a stated default that
|
|
9
|
+
prefs.global.valven.thresholds overrides.
|
|
10
|
+
|
|
11
|
+
# The whole change set is in scope: these rules judge the shape of a pull
|
|
12
|
+
# request, not the language inside it. Generated output, lockfiles and recorded
|
|
13
|
+
# snapshots are removed first by schemas/review-file-exclusions.json, so a
|
|
14
|
+
# regenerated client never counts toward a size budget.
|
|
15
|
+
scope:
|
|
16
|
+
paths: ["**"]
|
|
17
|
+
notCovered:
|
|
18
|
+
code-quality: language rules live in the stack registries (ios-coding-standard and the like)
|
|
19
|
+
|
|
20
|
+
severity_levels: [blocking, important, suggestion]
|
|
21
|
+
enforcement_kinds:
|
|
22
|
+
gate: measured by scripts/valven-gate.mjs from the diff, the commits, the branch name and the PR body
|
|
23
|
+
judgement: requires a reviewer
|
|
24
|
+
|
|
25
|
+
# Measured rules. valven-gate.mjs reads this block; skill-conformance.mjs does
|
|
26
|
+
# not, so reviewers are never asked for a verdict on something a script counts.
|
|
27
|
+
# `modes` names the pipeline points the rule runs at: dev (Phase 2 exit), commit
|
|
28
|
+
# (Phase 4 before push) and review (Phase 3 and /multi-agent:review).
|
|
29
|
+
gate_rules:
|
|
30
|
+
- id: VLV-SIZE-01
|
|
31
|
+
title: A pull request changes at most 250 human-authored lines; past 600 it cannot merge as one
|
|
32
|
+
metric: PR Complexity, Cycle Time, Review Responsiveness
|
|
33
|
+
severity: important
|
|
34
|
+
important_over: 250
|
|
35
|
+
blocking_over: 600
|
|
36
|
+
modes: [dev, commit, review]
|
|
37
|
+
fix: split the branch into stacked pull requests with scripts/valven-split.mjs
|
|
38
|
+
- id: VLV-SIZE-02
|
|
39
|
+
title: A pull request touches at most 25 human-authored files
|
|
40
|
+
metric: PR Complexity, Commit Risk Score
|
|
41
|
+
severity: important
|
|
42
|
+
important_over: 25
|
|
43
|
+
modes: [dev, commit, review]
|
|
44
|
+
fix: split the branch into stacked pull requests with scripts/valven-split.mjs
|
|
45
|
+
- id: VLV-SCOPE-01
|
|
46
|
+
title: Renames and moves do not share a pull request with content changes
|
|
47
|
+
metric: PR Complexity, Rework Rate
|
|
48
|
+
severity: important
|
|
49
|
+
renames_at_least: 3
|
|
50
|
+
content_lines_over: 50
|
|
51
|
+
modes: [dev, commit, review]
|
|
52
|
+
fix: ship the renames as their own pull request first; valven-split.mjs puts them in slice 1
|
|
53
|
+
- id: VLV-TEST-01
|
|
54
|
+
title: A change to source code carries a change to its tests
|
|
55
|
+
metric: Change Failure Rate, Rework Rate
|
|
56
|
+
severity: important
|
|
57
|
+
modes: [dev, commit, review]
|
|
58
|
+
fix: add or update the test that exercises the changed behaviour
|
|
59
|
+
- id: VLV-TRACE-01
|
|
60
|
+
title: The branch name carries the issue key
|
|
61
|
+
metric: Cycle Time, Lead Time for Changes
|
|
62
|
+
severity: important
|
|
63
|
+
key_pattern: "[A-Z][A-Z0-9]+-[0-9]+"
|
|
64
|
+
modes: [dev, commit, review]
|
|
65
|
+
fix: rename the branch to feature/<KEY>-<id> or bugfix/<KEY>-<id>
|
|
66
|
+
- id: VLV-TRACE-02
|
|
67
|
+
title: Every commit subject carries the issue key
|
|
68
|
+
metric: Cycle Time, Lead Time for Changes
|
|
69
|
+
severity: important
|
|
70
|
+
key_pattern: "[A-Z][A-Z0-9]+-[0-9]+"
|
|
71
|
+
modes: [commit, review]
|
|
72
|
+
fix: reword the commits so each subject ends with [<KEY>-<id>]
|
|
73
|
+
- id: VLV-COMMIT-01
|
|
74
|
+
title: No WIP, fixup, squash or temp commits reach the pull request
|
|
75
|
+
metric: Commit Risk Score, Rework Rate
|
|
76
|
+
severity: important
|
|
77
|
+
subject_pattern: "^(wip\\b|fixup!|squash!|amend!|temp\\b|tmp\\b)"
|
|
78
|
+
modes: [commit, review]
|
|
79
|
+
fix: squash them into the commit they amend before pushing
|
|
80
|
+
- id: VLV-REWORK-01
|
|
81
|
+
title: At most 30% of the removed lines were written in the last 21 days
|
|
82
|
+
metric: Rework Rate
|
|
83
|
+
severity: important
|
|
84
|
+
ratio_over: 0.30
|
|
85
|
+
window_days: 21
|
|
86
|
+
min_removed_lines: 20
|
|
87
|
+
modes: [dev, commit, review]
|
|
88
|
+
fix: settle the requirement before rewriting; if the earlier code was wrong, say so in the PR body
|
|
89
|
+
- id: VLV-PRDESC-01
|
|
90
|
+
title: The PR body exists, is at least 80 characters and says how the change was tested
|
|
91
|
+
metric: Review Responsiveness, Cycle Time
|
|
92
|
+
severity: important
|
|
93
|
+
min_chars: 80
|
|
94
|
+
test_pattern: "(test|verified|how to verify|nasıl test)"
|
|
95
|
+
modes: [review]
|
|
96
|
+
fix: add what changed, why, and how it was tested; attach a screenshot for UI changes
|
|
97
|
+
- id: VLV-HOTFIX-01
|
|
98
|
+
title: A hotfix branch changes at most 150 human-authored lines
|
|
99
|
+
metric: Mean Time To Recover, Change Failure Rate
|
|
100
|
+
severity: important
|
|
101
|
+
important_over: 150
|
|
102
|
+
branch_pattern: "^hotfix/"
|
|
103
|
+
modes: [dev, commit, review]
|
|
104
|
+
fix: keep the fix to the incident; move everything else to a follow-up pull request
|
|
105
|
+
- id: VLV-AGE-01
|
|
106
|
+
title: No commit in the pull request is older than 14 days
|
|
107
|
+
metric: Lead Time for Changes, Cycle Time
|
|
108
|
+
severity: important
|
|
109
|
+
days_over: 14
|
|
110
|
+
modes: [dev, commit, review]
|
|
111
|
+
fix: start a fresh branch from the current base, carry the change with scripts/valven-port.mjs, open a new PR and close this one
|
|
112
|
+
- id: VLV-BEHIND-01
|
|
113
|
+
title: The branch is at most 50 commits behind its base and its merge-base is at most 14 days old
|
|
114
|
+
metric: Lead Time for Changes, Change Failure Rate
|
|
115
|
+
severity: important
|
|
116
|
+
behind_over: 50
|
|
117
|
+
base_days_over: 14
|
|
118
|
+
modes: [dev, commit, review]
|
|
119
|
+
fix: carry the change onto a fresh branch from the current base with scripts/valven-port.mjs
|
|
120
|
+
- id: VLV-TRACE-03
|
|
121
|
+
title: Every commit carries the same issue key as the branch
|
|
122
|
+
metric: PR Complexity, Lead Time for Changes
|
|
123
|
+
severity: important
|
|
124
|
+
key_pattern: "[A-Z][A-Z0-9]+-[0-9]+"
|
|
125
|
+
modes: [commit, review]
|
|
126
|
+
fix: move the commits of the other issue to their own branch and PR
|
|
127
|
+
|
|
128
|
+
# Judgement rules. skill-conformance.mjs selects these for every diff, so each
|
|
129
|
+
# reviewer returns a verdict per ID.
|
|
130
|
+
rules:
|
|
131
|
+
- id: VLV-SCOPE-02
|
|
132
|
+
title: The pull request does one thing; a feature, a refactor and a fix are separate pull requests
|
|
133
|
+
severity: important
|
|
134
|
+
enforcement: judgement
|
|
135
|
+
rationale: mixed pull requests are the main input to PR Complexity and Rework Rate
|
|
136
|
+
- id: VLV-PRDESC-02
|
|
137
|
+
title: The PR body explains why the change exists and how a reviewer verifies it
|
|
138
|
+
severity: important
|
|
139
|
+
enforcement: judgement
|
|
140
|
+
rationale: review waiting time drops when the reviewer does not have to reconstruct the intent
|
|
@@ -3,13 +3,13 @@
|
|
|
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
|
+
**221 skills** across 2 groups.
|
|
7
7
|
|
|
8
8
|
| Group | Name | Platform | Description |
|
|
9
9
|
|-------|------|----------|-------------|
|
|
10
10
|
| external | `accessibility-compliance-accessibility-audit` | - | WCAG 2.2 AA audit process for web, iOS and Android: scope, automated scans, screen-reader and keyboard checks, severity, report, retest. Use |
|
|
11
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, co |
|
|
12
|
-
| external | `alarmkit` | - |
|
|
12
|
+
| external | `alarmkit` | - | AlarmKit alarms and countdown timers on iOS and iPadOS 26: AlarmManager scheduling and authorization, AlarmAttributes, AlarmPresentation, Al |
|
|
13
13
|
| external | `android-architecture` | - | Design and implement Clean Architecture with multi-module structure on Android. Covers domain/data/presentation layers, Hilt dependency inje |
|
|
14
14
|
| external | `android-build-quality-gates` | - | Encode Android module and quality rules as build-failing Gradle tasks: layer-dependency checks, coverage floors, a Compose-stability gate, l |
|
|
15
15
|
| external | `android-datastore` | - | Typed Jetpack DataStore as the modern SharedPreferences replacement: Preferences and typed stores, serializer-layer encryption, and migratio |
|
|
@@ -20,42 +20,42 @@
|
|
|
20
20
|
| external | `android-security` | - | Secure Android apps with ProGuard/R8 obfuscation, OkHttp certificate pinning, BiometricPrompt authentication, EncryptedSharedPreferences, Pl |
|
|
21
21
|
| external | `api-patterns` | - | Choosing an API style (REST, GraphQL, gRPC, webhooks, events) and the contracts every style needs: versioning, cursor pagination, idempotenc |
|
|
22
22
|
| external | `api-security-best-practices` | - | API security against the OWASP API Top 10: object-level authorization, token handling, input validation, rate limits, secrets. Use when buil |
|
|
23
|
-
| external | `app-clips` | - |
|
|
24
|
-
| external | `app-intents` | - |
|
|
23
|
+
| external | `app-clips` | - | iOS App Clips: target setup, invocation from NFC, App Clip Codes, QR, Messages, Maps and Safari banners, App Store Connect experiences, size |
|
|
24
|
+
| external | `app-intents` | - | App Intents for Siri, Shortcuts, Spotlight, widgets, Control Center and Apple Intelligence: AppIntent actions, AppEntity and EntityQuery, Ap |
|
|
25
25
|
| external | `app-store-changelog` | - | Generate user-facing App Store release notes from git history since the last tag. Use when release notes have to be written from the commits |
|
|
26
|
-
| external | `app-store-optimization` | - |
|
|
27
|
-
| external | `app-store-review` | - |
|
|
26
|
+
| external | `app-store-optimization` | - | App Store Optimization (ASO) for ranking and conversion: keyword research; app name, subtitle and 100-byte keyword field; description and pr |
|
|
27
|
+
| external | `app-store-review` | - | App Store submission readiness and rejection prevention: Review Guidelines 2.1, 2.3, 2.5.1, 3.1.1, 4.2 and 5.1.2, PrivacyInfo.xcprivacy mani |
|
|
28
28
|
| core | `apple-archive-compliance` | - | Apple App Store Review compliance - wraps the multi-agent-toolkit-mcp `ios_app_store_audit` tool (18-rule deep scan) with ITMS error code |
|
|
29
|
-
| external | `apple-on-device-ai` | - |
|
|
29
|
+
| external | `apple-on-device-ai` | - | On-device AI on Apple hardware: Foundation Models (SystemLanguageModel, LanguageModelSession, @Generable and @Guide structured output, tool |
|
|
30
30
|
| external | `architecture` | - | Stack-neutral architecture decisions: quality drivers, options with a trade-off matrix, reversibility, ADRs, fitness checks. Use when making |
|
|
31
|
-
| external | `authentication` | - |
|
|
32
|
-
| external | `avkit` | - |
|
|
33
|
-
| external | `background-processing` | - |
|
|
34
|
-
| external | `backlog` | - |
|
|
35
|
-
| external | `callkit-voip` | - |
|
|
31
|
+
| external | `authentication` | - | iOS sign-in with AuthenticationServices and LocalAuthentication: Sign in with Apple, passkey (WebAuthn) sign-up and login via ASAuthorizatio |
|
|
32
|
+
| external | `avkit` | - | AVKit playback UI: AVPlayerViewController, SwiftUI VideoPlayer, Picture-in-Picture, AirPlay routing, transport controls, subtitles and close |
|
|
33
|
+
| external | `background-processing` | - | iOS background work with BGTaskScheduler: BGAppRefreshTask short fetches, BGProcessingTask long maintenance, BGContinuedProcessingTask (iOS |
|
|
34
|
+
| external | `backlog` | - | Registry and routine for approved but postponed engineering work: each item keeps its full spec, origin and unblock condition, and moves thr |
|
|
35
|
+
| external | `callkit-voip` | - | CallKit and PushKit VoIP calling: CXProvider and CXCallController, incoming and outgoing call flows, call actions, VoIP push registration an |
|
|
36
36
|
| external | `ci-cd-pipelines` | - | CI/CD pipelines: GitHub Actions workflows, Docker multi-stage builds, environment management, secret management, deployment strategies. Use |
|
|
37
37
|
| external | `clean-code` | - | Readability checks for code in any language: names, function focus, control flow, side effects, errors, comments, duplication. Use when writ |
|
|
38
|
-
| external | `cloudkit-sync` | - |
|
|
38
|
+
| external | `cloudkit-sync` | - | CloudKit and iCloud sync on iOS and macOS: CKContainer public, private and shared databases, CKRecord, CKQuery, CKSubscription, CKSyncEngine |
|
|
39
39
|
| external | `compose-components` | - | Build Material 3 UI components and custom composables with Jetpack Compose. Covers TopAppBar, Scaffold, BottomSheet, SnackbarHost, slot-base |
|
|
40
40
|
| external | `compose-navigation` | - | Implement type-safe navigation in Jetpack Compose using Navigation 2.8+ with @Serializable routes, NavHost, typed composable routes, nested |
|
|
41
41
|
| external | `compose-testing` | - | Test Jetpack Compose UI with createComposeRule, semantic matchers (onNodeWithText, onNodeWithTag, onNodeWithContentDescription), actions (pe |
|
|
42
|
-
| external | `contacts-framework` | - |
|
|
42
|
+
| external | `contacts-framework` | - | Contacts and ContactsUI: CNContactStore authorization and limited access, fetch and save requests, creating, updating and deleting contacts, |
|
|
43
43
|
| external | `context-compression` | - | Keeping long LLM agent sessions on track: what a summary must preserve, incremental structured summaries, state in files, compact versus res |
|
|
44
|
-
| external | `core-bluetooth` | - |
|
|
45
|
-
| external | `core-data` | - |
|
|
46
|
-
| external | `core-motion` | - |
|
|
47
|
-
| external | `core-nfc` | - |
|
|
48
|
-
| external | `coreml` | - |
|
|
44
|
+
| external | `core-bluetooth` | - | Direct BLE with Core Bluetooth: central and peripheral GATT communication, CBCentralManager scanning and connecting, service and characteris |
|
|
45
|
+
| external | `core-data` | - | Create, audit or refine Core Data persistence for apps still on Core Data rather than SwiftData: stack setup, NSManagedObject subclasses, NS |
|
|
46
|
+
| external | `core-motion` | - | Core Motion on iOS and watchOS: accelerometer, gyroscope, magnetometer, fused device motion and reference frames, CMPedometer steps, distanc |
|
|
47
|
+
| external | `core-nfc` | - | Core NFC on iPhone: reading and writing NDEF tags, ISO7816, ISO15693, FeliCa and MIFARE access, reader session lifecycle, NFC entitlement an |
|
|
48
|
+
| external | `coreml` | - | Swift-side Core ML: loading .mlmodel, .mlpackage and .mlmodelc, predictions via generated classes and MLFeatureProvider, compute units, asyn |
|
|
49
49
|
| 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 |
|
|
50
|
-
| external | `cryptokit` | - |
|
|
50
|
+
| external | `cryptokit` | - | CryptoKit in Swift: SHA-2, SHA-3, HMAC, AES-GCM, ChaChaPoly, P256, P384, P521, Curve25519 and ML-DSA signatures, ECDH with HKDF, HPKE, ML-KE |
|
|
51
51
|
| external | `css-modern` | - | Modern CSS: container queries, nesting, @layer, Grid/Flexbox patterns, custom properties, animations, and transitions. Use when writing or r |
|
|
52
52
|
| external | `database-patterns` | - | Database patterns: SQL best practices (PostgreSQL), indexing, query optimization, migrations, schema design, ORMs (SQLAlchemy, Prisma, Drizz |
|
|
53
|
-
| external | `debugging-instruments` | - |
|
|
53
|
+
| external | `debugging-instruments` | - | Xcode debugging and profiling: LLDB, Memory Graph Debugger, Instruments, crashes, leaks and retain cycles, main-thread hangs, slow rendering |
|
|
54
54
|
| external | `debugging-strategies` | - | Language-neutral debugging method: reproduce, minimise, falsifiable hypotheses, git bisect, instrumentation, production traces, concurrency |
|
|
55
|
-
| external | `device-integrity` | - |
|
|
55
|
+
| external | `device-integrity` | - | DeviceCheck and App Attest: DCDevice tokens and per-device bits, DCAppAttestService key generation, attestation and assertions. Use when add |
|
|
56
56
|
| external | `docker-expert` | - | Dockerfiles and images: multi-stage builds, BuildKit cache and secret mounts, slim or distroless bases, non-root, healthchecks, scanning, mu |
|
|
57
|
-
| external | `energykit` | - |
|
|
58
|
-
| external | `eventkit-calendar` | - |
|
|
57
|
+
| external | `energykit` | - | EnergyKit on iOS 26: grid electricity forecasts via ElectricityGuidance, EnergyVenue, EV and HVAC load events, ElectricityInsightService his |
|
|
58
|
+
| external | `eventkit-calendar` | - | EventKit and EventKitUI: adding events to the user's calendar, creating reminders, recurrence rules, calendar or reminders access, event edi |
|
|
59
59
|
| external | `evidence-github` | - | Search GitHub for facts an analysis can cite - a known issue in a dependency, the PR that fixed it, what a release actually changed, prior a |
|
|
60
60
|
| external | `evidence-registry` | - | Check a package's real version, deprecation status and release notes on npm, PyPI, Maven Central or Swift Package Index. Use when a spec or |
|
|
61
61
|
| external | `fastapi-pro` | - | FastAPI with Pydantic v2: lifespan, settings, Annotated dependencies, async SQLAlchemy 2.0 sessions, error handlers, background work, httpx |
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
| external | `github-actions-templates` | - | Authoring GitHub Actions workflows: triggers, matrices, caching, concurrency, least-privilege permissions, SHA pinning, OIDC, reusable workf |
|
|
64
64
|
| core | `google-play-compliance` | - | Google Play Store publication compliance - bundletool + aapt2 + apksigner orchestration + 21-rule policy catalog with Play Console error c |
|
|
65
65
|
| external | `gradle-kotlin-dsl` | - | Configure Android builds with Gradle Kotlin DSL, version catalogs (libs.versions.toml), convention plugins (build-logic module), common conf |
|
|
66
|
-
| external | `healthkit` | - |
|
|
66
|
+
| external | `healthkit` | - | HealthKit on iOS, iPadOS, watchOS and visionOS: HKHealthStore authorization, sample, statistics and chart-ready collection queries, saving H |
|
|
67
67
|
| 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 |
|
|
68
68
|
| external | `hig-components-layout` | - | Apple HIG for app structure mapped to SwiftUI: tab bars, split views, navigation stacks, toolbars, sheets, popovers, alerts, windows, iOS 26 |
|
|
69
69
|
| 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 |
|
|
@@ -73,24 +73,24 @@
|
|
|
73
73
|
| external | `hig-patterns` | - | Apple HIG interaction patterns mapped to SwiftUI: modality, loading, empty and error states, feedback, undo, search, data entry, settings, s |
|
|
74
74
|
| external | `hig-platforms` | - | Apple HIG per platform: iPhone, iPad, Mac, Watch, TV and Vision Pro conventions, and adapting one SwiftUI codebase across them. Use when a d |
|
|
75
75
|
| external | `hig-technologies` | - | Apple HIG for system technologies: Sign in with Apple, passkeys, Apple Pay, Wallet, Siri and App Intents, HealthKit, HomeKit, iCloud, Maps, |
|
|
76
|
-
| external | `homekit-matter` | - |
|
|
76
|
+
| external | `homekit-matter` | - | HomeKit and MatterSupport: managing homes, rooms, zones and accessories, reading characteristics, action sets and triggers, Matter commissio |
|
|
77
77
|
| external | `html-semantic` | - | Semantic HTML5: elements, forms with validation and accessibility, SEO best practices, structured data, Open Graph, Twitter Cards. Use when |
|
|
78
78
|
| external | `humanizer` | - | Remove AI-generated writing patterns from text. Makes output sound natural and human-written. Detects inflated language, filler phrases, AI |
|
|
79
|
-
| external | `ios-accessibility` | - |
|
|
79
|
+
| external | `ios-accessibility` | - | VoiceOver, Voice Control, Switch Control and Full Keyboard Access in SwiftUI, UIKit and AppKit on iOS, iPadOS and macOS: labels, hints, valu |
|
|
80
80
|
| external | `ios-coding-standard` | - | The iOS coding-standard rule registry: 99 stable-ID rules across readability, security, service layer, business rules, concurrency, testing, |
|
|
81
81
|
| 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 |
|
|
82
|
-
| external | `ios-localization` | - |
|
|
82
|
+
| external | `ios-localization` | - | i18n and l10n for iOS and macOS: String Catalogs (.xcstrings), generated localizable symbols with compile-time-checked keys, stable key nami |
|
|
83
83
|
| 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 |
|
|
84
|
-
| external | `ios-networking` | - |
|
|
84
|
+
| external | `ios-networking` | - | URLSession with async/await and structured concurrency on iOS and macOS: HTTP requests, REST API clients, response validation, error handlin |
|
|
85
85
|
| external | `ios-security` | - | Secure iOS apps with Keychain Services, CryptoKit encryption, biometric authentication (Face ID, Touch ID), Secure Enclave key storage, LACo |
|
|
86
|
-
| external | `ios-simulator` | - |
|
|
86
|
+
| 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 |
|
|
87
87
|
| external | `kotlin-coroutines-expert` | - | Kotlin coroutines and Flow: scopes, structured concurrency, cancellation, exception handling, dispatcher injection, StateFlow versus SharedF |
|
|
88
|
-
| external | `live-activities` | - |
|
|
89
|
-
| external | `localization-reuse-map` | - |
|
|
88
|
+
| external | `live-activities` | - | ActivityKit Live Activities on the Lock Screen and Dynamic Island: ActivityAttributes and ContentState, request/update/end lifecycle, compac |
|
|
89
|
+
| external | `localization-reuse-map` | - | Localization reuse map for one redesigned screen on iOS, Android and web: new keys set against each platform's legacy key, legacy values and |
|
|
90
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 |
|
|
91
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 |
|
|
92
|
-
| external | `mapkit-location` | - |
|
|
93
|
-
| external | `metrickit-diagnostics` | - |
|
|
92
|
+
| external | `mapkit-location` | - | MapKit and CoreLocation on iOS and macOS: SwiftUI Map, markers, annotations, polylines and overlays, camera control, user location tracking, |
|
|
93
|
+
| external | `metrickit-diagnostics` | - | MetricKit field telemetry from shipping apps: MXMetricManager subscribers, MXMetricPayload and MXDiagnosticPayload, crash, hang and disk-wri |
|
|
94
94
|
| external | `monorepo-architect` | - | Monorepo structure: pnpm workspaces, Turborepo or Nx task graphs, affected-only CI, remote cache, package boundaries, Changesets, CODEOWNERS |
|
|
95
95
|
| core | `multi-agent` | - | Task orchestrator: runs the full pipeline from a Jira ID or GitHub Issue URL - analysis → plan → TDD development → parallel review (Fable |
|
|
96
96
|
| core | `multi-agent-analysis` | - | Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff, evidence-trimmed) or corporate (IG/ |
|
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
| core | `multi-agent-design-check` | - | Mock-mode vs Figma design audit (iOS / Android, local-only). Pick repo + module, gate on mock support, enumerate every state driver into a c |
|
|
108
108
|
| core | `multi-agent-diff-explain` | - | Map Phase 3 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which |
|
|
109
109
|
| core | `multi-agent-doctor` | - | Health check for the installed pipeline: layout, preferences, credentials, hooks and host capabilities, each with one actionable step. Exit |
|
|
110
|
+
| core | `multi-agent-estimate` | - | Estimate new work from similar closed Jira work: a P25-P75 range per role from logged time, with the tickets behind it and the modules touch |
|
|
110
111
|
| core | `multi-agent-feedback` | - | Send one message to the maintainer: a bug, an idea or a question. Only the text you type is sent - no logs, no repo names, no paths. Shows t |
|
|
111
112
|
| core | `multi-agent-forget` | - | Remove a saved /multi-agent routine (created by /multi-agent:save): deletes its local-only command and its registry entry. Asks which one an |
|
|
112
113
|
| core | `multi-agent-garbage-collect` | - | Sweep leftover /tmp scratch (picker state, review diffs, channel payloads, analysis drafts) from past runs. Dry-run first; confirms before d |
|
|
@@ -137,6 +138,7 @@
|
|
|
137
138
|
| core | `multi-agent-save` | - | Save a recurring job as a reusable /multi-agent:{name} command. Reviews the conversation + your CLAUDE.md for candidate routines, you pick o |
|
|
138
139
|
| core | `multi-agent-scaffold` | - | Create a project skeleton with the enabled toolkit's scaffold skill and prove it builds, tests and lints before the first commit; no remote |
|
|
139
140
|
| core | `multi-agent-scan` | - | Skill security scan: walks local skill directories against a tiered pattern catalog. Use when local skill directories need checking for unsa |
|
|
141
|
+
| core | `multi-agent-scenario-audit` | - | Audit test scenarios from a CSV against the code: mark each PRESENT, PARTIAL, ABSENT or UNCLEAR, every PRESENT backed by a file:line that re |
|
|
140
142
|
| core | `multi-agent-search` | - | Log search across every agent-log.md with smart ranking and filters. Optional --semantic flag queries the per-repo triage corpus. Use when s |
|
|
141
143
|
| core | `multi-agent-security-review` | - | Run a standalone defensive, static security review of a diff, branch or repo: run-scoped threat model, reviewer-shaped findings joined to OW |
|
|
142
144
|
| core | `multi-agent-serve` | - | Start the local contract server a client (the macOS toolbox, a web page) reads runs, commands, questions, issues and worktrees from, on 127. |
|
|
@@ -154,72 +156,73 @@
|
|
|
154
156
|
| core | `multi-agent-testflight-validation` | - | iOS-pinned alias of store-ready: same three gates on an iOS build, one implementation. Validates a TestFlight / App Store package, never upl |
|
|
155
157
|
| core | `multi-agent-uninstall` | - | Uninstall the pipeline from Claude Code + Copilot CLI. Keychain access tokens are always left untouched; --all-data also clears pipeline set |
|
|
156
158
|
| core | `multi-agent-update` | - | Update the pipeline to the latest version: git pull, install, migrate. Use when the installed pipeline is behind and should be brought to th |
|
|
157
|
-
| external | `musickit-audio` | - |
|
|
158
|
-
| external | `natural-language` | - |
|
|
159
|
+
| external | `musickit-audio` | - | MusicKit and MediaPlayer on iOS: Apple Music authorization, catalog search, subscription checks and offers, ApplicationMusicPlayer playback |
|
|
160
|
+
| external | `natural-language` | - | NaturalLanguage and Translation frameworks: tokenizing, language identification, part-of-speech tagging, named entities, sentiment, word and |
|
|
159
161
|
| external | `nextjs-app-router` | - | Next.js 15+ App Router: Server/Client Components, Server Actions, data fetching, layouts, middleware, ISR/SSG/SSR, and routing patterns. Use |
|
|
160
162
|
| external | `nodejs-backend-patterns` | - | Node.js 22/24 services in ESM: structure, validated config, error mapping, graceful shutdown, AsyncLocalStorage, streams, queues, node:test. |
|
|
161
163
|
| external | `observability-engineer` | - | Observability with OpenTelemetry: traces, metrics and logs, semantic conventions, structured logging, RED and USE, SLOs and burn-rate alerts |
|
|
162
|
-
| external | `passkit-wallet` | - |
|
|
163
|
-
| external | `pdfkit` | - |
|
|
164
|
-
| external | `pencilkit-drawing` | - |
|
|
165
|
-
| external | `permissionkit` | - |
|
|
166
|
-
| external | `photos-camera-media` | - |
|
|
164
|
+
| external | `passkit-wallet` | - | Apple Pay and Wallet passes with PassKit: Apple Pay buttons, payment requests, authorization flow, merchant capabilities, shipping and conta |
|
|
165
|
+
| external | `pdfkit` | - | PDFKit on iOS: PDFView display and SwiftUI wrapping, creating and editing PDFDocument and PDFPage, highlight, note, signature and form annot |
|
|
166
|
+
| external | `pencilkit-drawing` | - | PencilKit drawing with Apple Pencil or finger: PKCanvasView, PKToolPicker and custom items, PKDrawing persistence and export, stroke inspect |
|
|
167
|
+
| external | `permissionkit` | - | PermissionKit parental approval for minors: CommunicationLimits handle checks, PermissionQuestion, AskCenter requests and responses, Permiss |
|
|
168
|
+
| external | `photos-camera-media` | - | PhotoKit and AVFoundation media on iOS: PhotosPicker and PHPickerViewController, Transferable loading of images, movies and Live Photos, pho |
|
|
167
169
|
| external | `play-store-review` | - | Prepare Android apps for Google Play Store review and compliance. Covers Google Play policy requirements, content rating questionnaire, targ |
|
|
168
|
-
| external | `push-notifications` | - |
|
|
170
|
+
| external | `push-notifications` | - | UserNotifications and APNs on iOS and macOS, local and remote: permission (standard, provisional, critical), device-token registration, trig |
|
|
169
171
|
| external | `python-patterns` | - | Modern Python 3.12+: type hints, dataclasses, Pydantic v2, async/await, context managers, generators, pattern matching. Use when writing or |
|
|
170
172
|
| external | `react-best-practices` | - | React 19+ best practices: Server Components, use() hook, Actions, hooks patterns, state management, and performance optimization. Use when b |
|
|
171
|
-
| external | `realitykit-ar` | - |
|
|
173
|
+
| external | `realitykit-ar` | - | RealityKit and ARKit on iOS: RealityView camera content, AR camera availability and permission, entities and components, USDZ loading, plane |
|
|
172
174
|
| external | `rest-api-design` | - | REST API design: HTTP methods, status codes, pagination, versioning, rate limiting, caching headers, OpenAPI documentation. Use when a REST |
|
|
173
175
|
| external | `retrofit-networking` | - | Build networking layers on Android with Retrofit, OkHttp, and Kotlin Coroutines. Covers suspend functions in API interfaces, OkHttp intercep |
|
|
174
176
|
| external | `room-database` | - | Implement Room database persistence on Android with @Entity, @Dao, @Database, Flow-based reactive queries, TypeConverters for complex types, |
|
|
175
177
|
| external | `search-first` | - | Research-before-coding workflow. Before writing a custom implementation, check what already exists (repo utilities, installed libraries, pac |
|
|
176
178
|
| external | `security-review` | - | Run a defensive, static security review of a diff or a repo: build a run-scoped threat model, find vulnerabilities joined to OWASP + CWE wit |
|
|
177
|
-
| external | `shareplay-activities` | - |
|
|
179
|
+
| external | `shareplay-activities` | - | GroupActivities and SharePlay on iOS, macOS, tvOS and visionOS: GroupActivity, GroupSession lifecycle, messengers, playback sync, file trans |
|
|
178
180
|
| 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 |
|
|
179
|
-
| external | `skill-creator` | - |
|
|
180
|
-
| external | `speech-recognition` | - |
|
|
181
|
+
| external | `skill-creator` | - | House guide for authoring plugin skills: creating a new skill, trimming or splitting a bloated one, writing or sharpening a description, and |
|
|
182
|
+
| external | `speech-recognition` | - | Speech framework speech-to-text: live microphone transcription with AVAudioEngine, recorded audio files, speech and microphone permission, o |
|
|
181
183
|
| external | `spm-build-analysis` | - | Analyze Swift Package Manager dependencies, package plugins, module variants, and CI-oriented build overhead that slow Xcode builds. Use whe |
|
|
182
|
-
| external | `storekit` | - |
|
|
183
|
-
| external | `swift-api-design-guidelines` | - | Swift API Design Guidelines: clarity
|
|
184
|
-
| external | `swift-architecture` | - |
|
|
185
|
-
| external | `swift-charts` | - |
|
|
186
|
-
| external | `swift-codable` | - |
|
|
187
|
-
| external | `swift-concurrency` | - | Swift concurrency
|
|
184
|
+
| external | `storekit` | - | StoreKit 2 in-app purchases and subscriptions: SubscriptionStoreView, StoreView and ProductView paywalls, consumable, non-consumable and aut |
|
|
185
|
+
| external | `swift-api-design-guidelines` | - | Swift API Design Guidelines: call-site clarity over brevity, argument labels and prepositions, method versus property, side-effect naming, m |
|
|
186
|
+
| external | `swift-architecture` | - | App architecture on Apple platforms (Swift 6.3, SwiftUI, UIKit): MV with @Observable, MVVM, MVI, TCA, Clean Architecture, VIPER, Coordinator |
|
|
187
|
+
| external | `swift-charts` | - | Swift Charts: bar, line, area, point, pie, donut, iOS 26 3D charts (Chart3D, SurfacePlot), axes, scales, legends, annotations, scrolling, se |
|
|
188
|
+
| external | `swift-codable` | - | Codable JSON and property-list models: JSONDecoder, JSONEncoder, CodingKeys, custom init(from:)/encode(to:), nested containers, date, data a |
|
|
189
|
+
| external | `swift-concurrency` | - | Swift 6.2+ concurrency: actor isolation, Sendable, sending, approachable concurrency (SE-0466 default MainActor, @concurrent, nonisolated(no |
|
|
188
190
|
| external | `swift-concurrency-expert` | - | Review and fix Swift concurrency issues such as actor isolation and Sendable violations. Use when a Swift concurrency problem needs diagnosi |
|
|
189
191
|
| external | `swift-concurrency-pro` | - | Reviews Swift code for concurrency correctness, modern API usage, and common async/await pitfalls. Use when reading, writing, or reviewing S |
|
|
190
|
-
| external | `swift-formatstyle` | - |
|
|
191
|
-
| external | `swift-language` | - |
|
|
192
|
-
| external | `swift-security` | - |
|
|
193
|
-
| external | `swift-testing` | - |
|
|
192
|
+
| external | `swift-formatstyle` | - | Display formatting with FormatStyle (iOS 15+): integers, floating point, decimals, currency, percentages, dates, date ranges, relative and a |
|
|
193
|
+
| external | `swift-language` | - | Core Swift 6.3 outside concurrency and SwiftUI: if and switch expressions, typed throws, result builders, property wrappers, some vs any, gu |
|
|
194
|
+
| external | `swift-security` | - | Apple client security: Keychain (SecItem, kSecClass, OSStatus, iOS, macOS), Face ID/Touch ID keychain items, CryptoKit (AES-GCM, ChaChaPoly, |
|
|
195
|
+
| external | `swift-testing` | - | Writing, migrating and reviewing Swift Testing tests: @Test, @Suite, #expect, #require, confirmation, traits, withKnownIssue, Attachment.rec |
|
|
194
196
|
| external | `swift-testing-pro` | - | Writes, reviews, and improves Swift Testing code using modern APIs and best practices. Use when reading, writing, or reviewing projects that |
|
|
195
|
-
| external | `swiftdata` | - |
|
|
197
|
+
| external | `swiftdata` | - | SwiftData persistence for Apple apps: @Model classes with @Attribute, @Relationship, @Transient, #Unique and #Index; @Query, #Predicate, Fet |
|
|
196
198
|
| external | `swiftdata-pro` | - | Writes, reviews, and improves SwiftData code using modern APIs and best practices. Use when reading, writing, or reviewing projects that use |
|
|
197
|
-
| external | `swiftlint` | - |
|
|
198
|
-
| external | `swiftui-animation` | - |
|
|
199
|
+
| external | `swiftlint` | - | SwiftLint setup and enforcement: build tool and command plugins, Xcode run scripts, CI, .swiftlint.yml rule sets (default, opt-in, analyzer) |
|
|
200
|
+
| external | `swiftui-animation` | - | SwiftUI motion: withAnimation, scoped implicit .animation(_:body:) and .animation(_:value:), timing curves and springs (.smooth, .snappy, .b |
|
|
199
201
|
| external | `swiftui-expert-skill` | - | Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, macOS-specific APIs, an |
|
|
200
|
-
| external | `swiftui-gestures` | - |
|
|
201
|
-
| external | `swiftui-layout-components` | - |
|
|
202
|
-
| external | `swiftui-liquid-glass` | - |
|
|
203
|
-
| external | `swiftui-navigation` | - |
|
|
204
|
-
| external | `swiftui-patterns` | - |
|
|
205
|
-
| external | `swiftui-performance` | - |
|
|
202
|
+
| external | `swiftui-gestures` | - | SwiftUI gestures: tap, spatial tap, long press, drag, magnify, rotate, composition (simultaneously, sequenced, exclusively), @GestureState, |
|
|
203
|
+
| external | `swiftui-layout-components` | - | SwiftUI layouts: stacks, lazy stacks, LazyVGrid/LazyHGrid, List sections, swipe actions, ScrollView with ScrollPosition, validated Form, Tog |
|
|
204
|
+
| external | `swiftui-liquid-glass` | - | Liquid Glass in SwiftUI (iOS 26+): glassEffect, Glass tint/interactive variants, GlassEffectContainer, glassEffectID morphing, glassEffectUn |
|
|
205
|
+
| external | `swiftui-navigation` | - | SwiftUI navigation: NavigationStack typed paths, routers, NavigationSplitView, sheets, TabView and Tab API, universal links, URL schemes, Ha |
|
|
206
|
+
| external | `swiftui-patterns` | - | SwiftUI Model-View structure: @Observable ownership, @State, @Bindable, @Environment, view decomposition, custom ViewModifiers, .task loadin |
|
|
207
|
+
| external | `swiftui-performance` | - | SwiftUI performance: slow rendering, janky scrolling, high CPU/memory, excess updates, layout thrash, costly body, identity churn, lazy load |
|
|
206
208
|
| 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 |
|
|
207
209
|
| external | `swiftui-pro` | - | Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance. Use when reading, writing, or revi |
|
|
208
210
|
| external | `swiftui-ui-patterns` | - | Apply proven SwiftUI UI patterns for navigation, sheets, async state, and reusable screens. Use when a SwiftUI screen needs a proven pattern |
|
|
209
|
-
| external | `swiftui-uikit-interop` | - |
|
|
211
|
+
| external | `swiftui-uikit-interop` | - | UIKit and SwiftUI interop: UIViewRepresentable, UIViewControllerRepresentable, UIHostingController, UIHostingConfiguration, Coordinator dele |
|
|
210
212
|
| external | `swiftui-view-refactor` | - | Refactor SwiftUI views into smaller components with stable, explicit data flow. Use when a SwiftUI view has grown too large and needs splitt |
|
|
211
|
-
| external | `swiftui-webkit` | - |
|
|
213
|
+
| external | `swiftui-webkit` | - | Web content in SwiftUI with WebKit for SwiftUI: WebView, WebPage, observable page state, navigation policies, link interception, JavaScript |
|
|
212
214
|
| external | `tailwind-css` | - | Tailwind CSS v4: utility-first styling, responsive design, dark mode, custom themes, component patterns, and cn() utility. Use when styling |
|
|
213
215
|
| external | `testing-backend` | - | Backend testing: pytest patterns (Python), Jest patterns (Node.js), integration testing, database fixtures/factories, API contract testing. |
|
|
214
|
-
| external | `tipkit` | - |
|
|
216
|
+
| external | `tipkit` | - | TipKit in-app tips (iOS 17+): Tip protocol, TipView, popoverTip, rules, events, TipGroup, styles, CloudKit sync. Use when building or review |
|
|
215
217
|
| external | `typescript-patterns` | - | Modern TypeScript patterns: strict mode, utility types, generics, conditional types, type guards, discriminated unions, Zod validation. Use |
|
|
216
|
-
|
|
|
218
|
+
| core | `valven-rules` | - | Delivery-flow rules from the metrics Valven reports: PR size, one concern per PR, tests with source, issue keys, no WIP commits, rework, PR |
|
|
219
|
+
| external | `vision-framework` | - | On-device computer vision with Vision and VisionKit: OCR, face detection and landmarks, barcode and QR scanning, person and instance segment |
|
|
217
220
|
| external | `vue-composition` | - | Vue 3 Composition API: ref, reactive, computed, watch, composables, Pinia state management, Vue Router 4, script setup. Use when building or |
|
|
218
|
-
| external | `weatherkit` | - |
|
|
221
|
+
| external | `weatherkit` | - | WeatherKit on iOS: current, hourly, daily and minute forecasts, alerts, historical statistics, dataset selection, caching. Use when integrat |
|
|
219
222
|
| external | `web-accessibility` | - | WCAG 2.2 AA web accessibility: ARIA roles/states, keyboard navigation, screen readers, color contrast, focus management, axe-core testing. U |
|
|
220
223
|
| external | `web-performance` | - | Web performance: Core Web Vitals (LCP, INP, CLS), image optimization, code splitting, caching strategies, bundle analysis, Lighthouse. Use w |
|
|
221
224
|
| external | `web-testing` | - | Web testing: Vitest unit tests, React Testing Library, Playwright E2E, MSW API mocking, testing hooks and async operations. Use when writing |
|
|
222
|
-
| external | `widgetkit` | - |
|
|
225
|
+
| external | `widgetkit` | - | WidgetKit surfaces on iOS 26+: timeline-driven widgets for the Home Screen, the Lock Screen and StandBy, interactive widgets using Button or |
|
|
223
226
|
| external | `xcode-build-benchmark` | - | Benchmark Xcode clean and incremental builds with repeatable inputs, timing summaries, and timestamped `.build-benchmark/` artifacts. Use wh |
|
|
224
227
|
| external | `xcode-build-fixer` | - | Apply approved Xcode build optimization changes following best practices, then re-benchmark to verify improvement. Use when a developer has |
|
|
225
228
|
| external | `xcode-build-orchestrator` | - | Orchestrate Xcode build optimization by benchmarking first, running the specialist analysis skills, prioritizing findings, requesting explic |
|