@mmerterden/multi-agent-pipeline 13.5.0 → 14.0.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +243 -0
  2. package/README.md +3 -3
  3. package/docs/features.md +1 -1
  4. package/install/_common.mjs +73 -0
  5. package/install/_mcp-register.mjs +70 -31
  6. package/install/_plugin-skills.mjs +73 -14
  7. package/install/claude.mjs +28 -4
  8. package/install/codex.mjs +33 -2
  9. package/install/copilot.mjs +145 -9
  10. package/install/index.mjs +10 -6
  11. package/install/templates/copilot-instructions.md +1 -1
  12. package/package.json +1 -1
  13. package/pipeline/agents/code-reviewer.md +58 -1
  14. package/pipeline/commands/multi-agent/SKILL.md +7 -5
  15. package/pipeline/commands/multi-agent/analysis/SKILL.md +7 -7
  16. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +1 -1
  17. package/pipeline/commands/multi-agent/build-optimize/SKILL.md +7 -7
  18. package/pipeline/commands/multi-agent/channels/SKILL.md +5 -5
  19. package/pipeline/commands/multi-agent/dev/SKILL.md +23 -18
  20. package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +19 -13
  21. package/pipeline/commands/multi-agent/dev-local/SKILL.md +14 -12
  22. package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +17 -12
  23. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
  24. package/pipeline/commands/multi-agent/help/SKILL.md +4 -4
  25. package/pipeline/commands/multi-agent/ios-coding-standard/SKILL.md +2 -2
  26. package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +4 -4
  27. package/pipeline/commands/multi-agent/resume/SKILL.md +1 -1
  28. package/pipeline/commands/multi-agent/review/SKILL.md +5 -5
  29. package/pipeline/commands/multi-agent/scan/SKILL.md +1 -1
  30. package/pipeline/commands/multi-agent/search/SKILL.md +1 -1
  31. package/pipeline/commands/multi-agent/setup/SKILL.md +6 -6
  32. package/pipeline/commands/multi-agent/{finish → ship}/SKILL.md +12 -12
  33. package/pipeline/commands/multi-agent/testflight-validation/SKILL.md +1 -1
  34. package/pipeline/commands/multi-agent/update/SKILL.md +5 -2
  35. package/pipeline/commands/sim-test.md +2 -2
  36. package/pipeline/lib/credential-store-resolver.sh +16 -0
  37. package/pipeline/lib/credential-store.sh +47 -4
  38. package/pipeline/lib/fetch-figma-annotations.sh +26 -28
  39. package/pipeline/lib/figma-screenshot.sh +28 -39
  40. package/pipeline/lib/figma-token.sh +63 -0
  41. package/pipeline/multi-agent-refs/analysis-template.md +1 -1
  42. package/pipeline/multi-agent-refs/android-guide.md +1 -1
  43. package/pipeline/multi-agent-refs/channels/issue-comment.md +1 -1
  44. package/pipeline/multi-agent-refs/component-dispatch.md +2 -2
  45. package/pipeline/multi-agent-refs/cross-cli-contract.md +4 -4
  46. package/pipeline/multi-agent-refs/features/dev-critic.md +2 -2
  47. package/pipeline/multi-agent-refs/features/model-fallback.md +35 -2
  48. package/pipeline/multi-agent-refs/features/plan-todos.md +1 -1
  49. package/pipeline/multi-agent-refs/features/repo-map.md +1 -1
  50. package/pipeline/multi-agent-refs/features/review-multi-repo.md +3 -3
  51. package/pipeline/multi-agent-refs/features/shadow-git.md +1 -1
  52. package/pipeline/multi-agent-refs/features/skill-conformance.md +116 -0
  53. package/pipeline/multi-agent-refs/features/verify-by-test.md +1 -1
  54. package/pipeline/multi-agent-refs/generate-issue.md +1 -1
  55. package/pipeline/multi-agent-refs/multi-repo-integration-build.md +1 -1
  56. package/pipeline/multi-agent-refs/phases/log-format.md +4 -4
  57. package/pipeline/multi-agent-refs/phases/modes.md +7 -7
  58. package/pipeline/multi-agent-refs/phases/phase-0-init.md +13 -11
  59. package/pipeline/multi-agent-refs/phases/phase-1-analysis.md +17 -15
  60. package/pipeline/multi-agent-refs/phases/phase-2-planning.md +7 -7
  61. package/pipeline/multi-agent-refs/phases/phase-3-dev.md +28 -13
  62. package/pipeline/multi-agent-refs/phases/phase-4-review.md +90 -58
  63. package/pipeline/multi-agent-refs/phases/phase-5-test.md +7 -7
  64. package/pipeline/multi-agent-refs/phases/phase-6-commit.md +8 -8
  65. package/pipeline/multi-agent-refs/phases/phase-7-report.md +8 -8
  66. package/pipeline/multi-agent-refs/phases.md +13 -13
  67. package/pipeline/multi-agent-refs/progress-contract.md +2 -2
  68. package/pipeline/multi-agent-refs/rules.md +7 -5
  69. package/pipeline/multi-agent-refs/swiftui-guide.md +1 -1
  70. package/pipeline/multi-agent-refs/tracker-contract.md +16 -15
  71. package/pipeline/preferences-template.json +7 -1
  72. package/pipeline/rules/figma-pipeline.md +2 -2
  73. package/pipeline/schemas/agent-state.schema.json +333 -79
  74. package/pipeline/schemas/criteria-manifest.schema.json +228 -0
  75. package/pipeline/schemas/migrations/prefs-2.4.0-to-2.5.0.mjs +64 -0
  76. package/pipeline/schemas/prefs.schema.json +118 -262
  77. package/pipeline/schemas/reviewer-output.schema.json +48 -3
  78. package/pipeline/schemas/token-budget.json +34 -10
  79. package/pipeline/schemas/triage-output.schema.json +112 -27
  80. package/pipeline/scripts/cost-table.json +7 -4
  81. package/pipeline/scripts/gc-worktrees.sh +1 -1
  82. package/pipeline/scripts/gen-mode-dispatch.mjs +6 -6
  83. package/pipeline/scripts/match-skills.mjs +37 -4
  84. package/pipeline/scripts/migrate-prefs.mjs +88 -17
  85. package/pipeline/scripts/phase-tracker.sh +14 -3
  86. package/pipeline/scripts/pre-commit-check.sh +49 -2
  87. package/pipeline/scripts/skill-conformance.mjs +960 -0
  88. package/pipeline/scripts/smoke-schema-validation.sh +17 -4
  89. package/pipeline/scripts/uninstall.mjs +35 -9
  90. package/pipeline/scripts/validate-reviewer.mjs +108 -1
  91. package/pipeline/skills/.skill-manifest.json +1 -1
  92. package/pipeline/skills/.skills-index.json +36 -9
  93. package/pipeline/skills/shared/README.md +15 -12
  94. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +1 -0
  95. package/pipeline/skills/shared/core/apple-archive-compliance/references/rules.yml +167 -0
  96. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +1 -0
  97. package/pipeline/skills/shared/core/google-play-compliance/references/rules.yml +184 -0
  98. package/pipeline/skills/shared/core/multi-agent/SKILL.md +10 -10
  99. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +4 -4
  100. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  101. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +2 -2
  102. package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
  103. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +6 -5
  104. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +7 -6
  105. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +4 -3
  106. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +2 -1
  107. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +2 -2
  108. package/pipeline/skills/shared/core/multi-agent-ios-coding-standard/SKILL.md +1 -1
  109. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +4 -4
  110. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +5 -5
  111. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +1 -1
  112. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +1 -1
  113. package/pipeline/skills/shared/core/{multi-agent-finish → multi-agent-ship}/SKILL.md +8 -8
  114. package/pipeline/skills/shared/external/ios-coding-standard/SKILL.md +44 -5
  115. package/pipeline/skills/shared/external/ios-coding-standard/modules/_TEMPLATE.yml +82 -0
  116. package/pipeline/skills/shared/external/ios-coding-standard/references/STANDARD.md +169 -10
  117. package/pipeline/skills/shared/external/ios-coding-standard/references/lint-local.sh +13 -1
  118. package/pipeline/skills/shared/external/ios-coding-standard/references/rules.yml +335 -16
  119. package/pipeline/skills/skills-index.md +11 -8
@@ -0,0 +1,167 @@
1
+ version: 1.0.0
2
+ updated: 2026-07-29
3
+ owner: iOS platform
4
+ description: >
5
+ App Store review + ITMS upload rules, as a machine-readable registry. IDs are the
6
+ source-of-truth IDs the underlying scanner uses and are stable across versions - a
7
+ finding cites the ID so the author can look the rule up and disagree with it.
8
+
9
+ # What these rules may be applied to. Every rule here is measured against a BUILT
10
+ # archive, not against source, so path scoping names the release-relevant inputs a
11
+ # diff can touch. A consumer resolves this before selecting rules and records what
12
+ # it dropped: applying an archive rule to a source-only diff produces a finding
13
+ # nobody can act on.
14
+ scope:
15
+ languages: [swift, objective-c]
16
+ paths:
17
+ - "**/Info.plist"
18
+ - "**/PrivacyInfo.xcprivacy"
19
+ - "**/*.entitlements"
20
+ - "**/*App.swift"
21
+ - "**/AppDelegate*.swift"
22
+ - "**/SceneDelegate*.swift"
23
+ - "**/project.pbxproj"
24
+ - "**/*.xcarchive/**"
25
+ notCovered:
26
+ android: Play policy is a separate registry - see google-play-compliance
27
+ source-quality: readability, naming and architecture live in ios-coding-standard
28
+
29
+ severity_levels: [blocking, important, suggestion]
30
+ enforcement_kinds:
31
+ scan: a tool measures it against the built artefact
32
+ judgement: requires a person or an audit run
33
+
34
+ # No rule here carries a regex mechanism. These are measured by the archive scanner
35
+ # against a built artefact, so a consumer either runs that scanner and maps its
36
+ # output onto these IDs, or reports the rule as unverified. Pattern-matching source
37
+ # text for them produces confident wrong answers: a purpose string can be present
38
+ # in the plist and absent from the archive.
39
+
40
+ rules:
41
+ - id: privacy-manifest
42
+ title: >
43
+ `PrivacyInfo.xcprivacy` exists + well-formed + declares all required `NSPrivacyCollectedDataTypes`
44
+ severity: blocking
45
+ enforcement: scan
46
+ policy_ref: Guideline 5.1.1
47
+ rationale: app-store-compliance
48
+ - id: required-reason-api
49
+ title: >
50
+ Binary-scanned API usage (UserDefaults, stat, Disk, URL schemes, etc.) cross-referenced with privacy manifest reasons
51
+ severity: blocking
52
+ enforcement: scan
53
+ policy_ref: 5.1.1 + ITMS-91065
54
+ rationale: app-store-compliance
55
+ - id: info-plist
56
+ title: >
57
+ Purpose strings (`NS*UsageDescription`) for every declared permission, ATS configured, CFBundleDisplayName ≤ 30 chars
58
+ severity: blocking
59
+ severity_varies: error/warning
60
+ enforcement: scan
61
+ policy_ref: none
62
+ rationale: app-store-compliance
63
+ - id: code-signing
64
+ title: >
65
+ Debug entitlements absent in release, correct APS environment (`aps-environment=production`), signature present
66
+ severity: blocking
67
+ enforcement: scan
68
+ policy_ref: ITMS-90035 / 90034 / 90046 / 90717
69
+ rationale: app-store-compliance
70
+ - id: embedded-sdk
71
+ title: >
72
+ Third-party SDKs on [Apple's 86 SDK list](https://developer.apple.com/support/third-party-SDK-requirements/) signed + have PrivacyInfo
73
+ severity: blocking
74
+ enforcement: scan
75
+ policy_ref: none
76
+ rationale: app-store-compliance
77
+ - id: entitlement
78
+ title: >
79
+ Entitlement ↔ Info.plist mappings (background modes, associated domains, app groups) consistent
80
+ severity: important
81
+ enforcement: scan
82
+ policy_ref: none
83
+ rationale: app-store-compliance
84
+ - id: asset-validation
85
+ title: >
86
+ App icon set present + all required sizes, launch storyboard configured
87
+ severity: blocking
88
+ enforcement: scan
89
+ policy_ref: none
90
+ rationale: app-store-compliance
91
+ - id: binary-size
92
+ title: >
93
+ `.app` bundle size + estimated post-thinning download size (warns if > 200MB)
94
+ severity: suggestion
95
+ enforcement: scan
96
+ policy_ref: none
97
+ rationale: app-store-compliance
98
+ - id: team-id-consistency
99
+ title: >
100
+ App + extensions + widgets share same Team ID
101
+ severity: blocking
102
+ enforcement: scan
103
+ policy_ref: none
104
+ rationale: app-store-compliance
105
+ - id: provisioning-profile
106
+ title: >
107
+ Profile expiry date in future, distribution type = App Store, profile classification sane
108
+ severity: important
109
+ enforcement: scan
110
+ policy_ref: none
111
+ rationale: app-store-compliance
112
+ - id: swift-abi
113
+ title: >
114
+ No unnecessary embedded Swift runtime on iOS 12.2+ targets
115
+ severity: important
116
+ enforcement: scan
117
+ policy_ref: ITMS-90426
118
+ rationale: app-store-compliance
119
+ - id: extension-signing
120
+ title: >
121
+ Extension bundle IDs follow `<app-bundle-id>.<ext-name>`, signed, App Groups match host
122
+ severity: blocking
123
+ enforcement: scan
124
+ policy_ref: ITMS-90283
125
+ rationale: app-store-compliance
126
+ - id: ipv6-compliance
127
+ title: >
128
+ No hardcoded IPv4 literals in binary, no legacy `gethostbyname` / `inet_addr` usage
129
+ severity: important
130
+ enforcement: scan
131
+ policy_ref: Guideline 2.5.5
132
+ rationale: app-store-compliance
133
+ - id: debug-tool-leak
134
+ title: >
135
+ 40+ debug tools (Netfox, FLEX, CocoaDebug, Wormholy, HeliosTrace, DoraemonKit, Lookin, Reveal, etc.) + generic `_debug_` / `_profiler_` symbol scan
136
+ severity: blocking
137
+ enforcement: scan
138
+ policy_ref: none
139
+ rationale: app-store-compliance
140
+ - id: production-hygiene
141
+ title: >
142
+ `print()` / `NSLog()` / `debugPrint()` symbol presence + mock/test JSON files shipped in bundle
143
+ severity: important
144
+ enforcement: scan
145
+ policy_ref: none
146
+ rationale: app-store-compliance
147
+ - id: duplicate-resource
148
+ title: >
149
+ Same asset under multiple paths (bloats bundle)
150
+ severity: suggestion
151
+ enforcement: scan
152
+ policy_ref: none
153
+ rationale: app-store-compliance
154
+ - id: dead-reference
155
+ title: >
156
+ Files referenced in Xcode proj but absent from archive
157
+ severity: important
158
+ enforcement: scan
159
+ policy_ref: none
160
+ rationale: app-store-compliance
161
+ - id: sdk-floor
162
+ title: >
163
+ `DTSDKName` / `DTPlatformVersion` major ≥ 26 and `DTXcode` ≥ 2600 (iOS 26 / Xcode 26 floor, in force since 2026-04-28)
164
+ severity: blocking
165
+ enforcement: scan
166
+ policy_ref: ITMS-90725
167
+ rationale: app-store-compliance
@@ -4,6 +4,7 @@ language: en
4
4
  description: "Google Play Store publication compliance - bundletool + aapt2 + apksigner orchestration + 21-rule policy catalog with Play Console error codes + humanizer templates. Consumed by: /multi-agent:test 'store-ready' (primary dispatch), Phase 4 Security Auditor (catalog cross-ref on AndroidManifest / build.gradle / proguard / signing diffs), /multi-agent:review (PR citation), /multi-agent:channels (PR body auto-augmentation). Wiring enforced by smoke-compliance-skills.sh. Use when an .aab or .apk needs a Play policy check before upload, or a Play rejection has to be diagnosed."
5
5
  user-invocable: true
6
6
  argument-hint: '[bundle-path] [--threshold=error|warning|info] [--format=markdown|json] [--lang=en|tr] - no-arg: picks most recent .aab from app/build/outputs/bundle/release/'
7
+ standards-registry: references/rules.yml
7
8
  ---
8
9
 
9
10
  # google-play-compliance - Google Play Store Publication Compliance Skill
@@ -0,0 +1,184 @@
1
+ version: 1.0.0
2
+ updated: 2026-07-29
3
+ owner: Android platform
4
+ description: >
5
+ Google Play policy + platform requirements, as a machine-readable registry. IDs
6
+ are the source-of-truth IDs the underlying scanner uses and are stable across
7
+ versions - a finding cites the ID so the author can look it up and disagree.
8
+
9
+ # What these rules may be applied to. Every rule here is measured against a BUILT
10
+ # bundle or APK, not against source, so path scoping names the release-relevant
11
+ # inputs a diff can touch. A consumer resolves this before selecting rules and
12
+ # records what it dropped rather than applying a bundle rule to a source-only diff.
13
+ scope:
14
+ languages: [kotlin, java]
15
+ paths:
16
+ - "**/AndroidManifest.xml"
17
+ - "**/build.gradle"
18
+ - "**/build.gradle.kts"
19
+ - "**/proguard-rules.pro"
20
+ - "**/network_security_config.xml"
21
+ - "**/gradle.properties"
22
+ notCovered:
23
+ ios: App Store policy is a separate registry - see apple-archive-compliance
24
+ source-quality: Kotlin naming, Compose and MVVM live in the android stack skills
25
+
26
+ severity_levels: [blocking, important, suggestion]
27
+ enforcement_kinds:
28
+ scan: a tool measures it against the built artefact
29
+ judgement: requires a person or an audit run
30
+
31
+ # No rule here carries a regex mechanism. These are measured by the bundle scanner
32
+ # against a built artefact, so a consumer either runs that scanner and maps its
33
+ # output onto these IDs, or reports the rule as unverified. Grepping source for
34
+ # them produces confident wrong answers: minifyEnabled can read true in one build
35
+ # type and false in the one that ships.
36
+
37
+ rules:
38
+ - id: target-api-level
39
+ title: >
40
+ `android:targetSdkVersion` ≥ 34 for new apps (Aug 2024+), ≥ 34 for updates (Nov 2024+). Lower → rejected.
41
+ severity: blocking
42
+ enforcement: scan
43
+ policy_ref: Policy - Target API
44
+ rationale: play-store-compliance
45
+ - id: native-64bit
46
+ title: >
47
+ Every native `.so` has an `arm64-v8a` counterpart. `armeabi-v7a`-only rejected since Aug 2019.
48
+ severity: blocking
49
+ enforcement: scan
50
+ policy_ref: Policy - 64-bit
51
+ rationale: play-store-compliance
52
+ - id: app-bundle-format
53
+ title: >
54
+ New apps must ship `.aab`. `.apk` uploads rejected on new apps since Aug 2021.
55
+ severity: blocking
56
+ enforcement: scan
57
+ policy_ref: Policy - AAB
58
+ rationale: play-store-compliance
59
+ - id: base-module-size
60
+ title: >
61
+ Base APK from bundle ≤ 150 MB (bundletool `--mode=universal` size). Beyond → rejected.
62
+ severity: blocking
63
+ enforcement: scan
64
+ policy_ref: Platform limit
65
+ rationale: play-store-compliance
66
+ - id: package-visibility
67
+ title: >
68
+ If `targetSdkVersion ≥ 30` and code queries other packages, `<queries>` must be declared in manifest.
69
+ severity: important
70
+ enforcement: scan
71
+ policy_ref: Android 11+
72
+ rationale: play-store-compliance
73
+ - id: foreground-service-types
74
+ title: >
75
+ Every `<service android:foregroundServiceType="..."/>` type must match runtime usage. Missing = policy violation.
76
+ severity: blocking
77
+ enforcement: scan
78
+ policy_ref: Android 14
79
+ rationale: play-store-compliance
80
+ - id: app-signing
81
+ title: >
82
+ Signed with at least v2 scheme (apksigner verify --min-sdk-version). Enrollment in Play App Signing recommended.
83
+ severity: blocking
84
+ enforcement: scan
85
+ policy_ref: Play App Signing
86
+ rationale: play-store-compliance
87
+ - id: cleartext-traffic
88
+ title: >
89
+ `android:usesCleartextTraffic="false"` OR Network Security Config explicitly lists cleartext domains.
90
+ severity: important
91
+ enforcement: scan
92
+ policy_ref: Policy - Security
93
+ rationale: play-store-compliance
94
+ - id: exported-components
95
+ title: >
96
+ Every `<activity>` / `<service>` / `<receiver>` with `<intent-filter>` must explicitly declare `android:exported="true"`. Missing → build fail on API 31+.
97
+ severity: blocking
98
+ enforcement: scan
99
+ policy_ref: Android 12+
100
+ rationale: play-store-compliance
101
+ - id: proguard-mapping
102
+ title: >
103
+ Release build has `mapping.txt` (upload to Play Console for deobfuscation). `minifyEnabled = false` on release = warning.
104
+ severity: important
105
+ enforcement: scan
106
+ policy_ref: none
107
+ rationale: play-store-compliance
108
+ - id: dangerous-permissions
109
+ title: >
110
+ Every dangerous permission (`MANAGE_EXTERNAL_STORAGE`, `SYSTEM_ALERT_WINDOW`, `REQUEST_INSTALL_PACKAGES`, `PACKAGE_USAGE_STATS`, `QUERY_ALL_PACKAGES`) has justification in Play Console.
111
+ severity: blocking
112
+ enforcement: scan
113
+ policy_ref: Policy - Permissions
114
+ rationale: play-store-compliance
115
+ - id: advertising-id
116
+ title: >
117
+ If AdMob / advertising ID used (manifest `com.google.android.gms.permission.AD_ID`), must be declared in Data Safety form. Targeting API 33+ requires `AD_ID` permission.
118
+ severity: important
119
+ enforcement: scan
120
+ policy_ref: Policy - Ad ID
121
+ rationale: play-store-compliance
122
+ - id: background-location
123
+ title: >
124
+ `ACCESS_BACKGROUND_LOCATION` declared → Play Console background location justification required (policy revoke risk).
125
+ severity: blocking
126
+ enforcement: scan
127
+ policy_ref: Policy - Location
128
+ rationale: play-store-compliance
129
+ - id: data-safety-consistency
130
+ title: >
131
+ Manifest-declared permissions match Data Safety form (drift audit - manual; this rule flags permissions likely to trigger form updates).
132
+ severity: important
133
+ enforcement: scan
134
+ policy_ref: Policy - Data safety
135
+ rationale: play-store-compliance
136
+ - id: sensitive-permission-special-access
137
+ title: >
138
+ `READ_SMS`, `RECEIVE_SMS`, `READ_CALL_LOG`, `WRITE_CALL_LOG`, `READ_CONTACTS`, `PROCESS_OUTGOING_CALLS` require special access from Play Console (Default handler use case).
139
+ severity: blocking
140
+ enforcement: scan
141
+ policy_ref: Policy - Sensitive
142
+ rationale: play-store-compliance
143
+ - id: debug-tool-leak
144
+ title: >
145
+ Release APK contains `com.squareup.leakcanary`, `com.facebook.stetho`, `com.github.chuckerteam.chucker`, `com.jakewharton.pidcat`, `com.github.anrwatchdog` (and variants) in DEX/META-INF.
146
+ severity: blocking
147
+ enforcement: scan
148
+ policy_ref: none
149
+ rationale: play-store-compliance
150
+ - id: log-statements
151
+ title: >
152
+ Release APK has `Log.d` / `Log.v` / `Timber.d` call sites in bytecode. Should be stripped via ProGuard rules or build-type conditional.
153
+ severity: important
154
+ enforcement: scan
155
+ policy_ref: none
156
+ rationale: play-store-compliance
157
+ - id: mock-endpoints
158
+ title: >
159
+ Release APK manifest / resources contain dev/staging URL literals or test API key patterns (`dev.`, `staging.`, `test-api-key`, `Bearer test_`).
160
+ severity: important
161
+ enforcement: scan
162
+ policy_ref: none
163
+ rationale: play-store-compliance
164
+ - id: minify-enabled
165
+ title: >
166
+ Release build-type has `minifyEnabled = true` and `shrinkResources = true`. Both off = warning (size + deobfuscation impact).
167
+ severity: important
168
+ enforcement: scan
169
+ policy_ref: Build config
170
+ rationale: play-store-compliance
171
+ - id: version-code-progression
172
+ title: >
173
+ `versionCode` in this bundle > last published versionCode on Play (requires Play Console API lookup or user-provided last version).
174
+ severity: important
175
+ enforcement: scan
176
+ policy_ref: Platform req
177
+ rationale: play-store-compliance
178
+ - id: app-links-verification
179
+ title: >
180
+ `<intent-filter android:autoVerify="true">` domains have reachable `/.well-known/assetlinks.json`.
181
+ severity: suggestion
182
+ enforcement: scan
183
+ policy_ref: Digital Asset Links
184
+ rationale: play-store-compliance
@@ -206,7 +206,7 @@ This works across sessions because:
206
206
 
207
207
  ## Agent dispatch - per-persona model routing
208
208
 
209
- Every agent persona under `pipeline/agents/*.md` declares a `preferredModel` frontmatter field. The orchestrator MUST honor it on every dispatch, on both Claude Code and Copilot CLI - cross-CLI parity is enforced by `smoke-cross-cli-behavior.sh`.
209
+ Every agent persona under `$HOME/.claude/agents/*.md` declares a `preferredModel` frontmatter field. The orchestrator MUST honor it on every dispatch, on both Claude Code and Copilot CLI - cross-CLI parity is enforced by `smoke-cross-cli-behavior.sh`.
210
210
 
211
211
  | Persona | `preferredModel` | Rationale (condensed) |
212
212
  |---|---|---|
@@ -252,7 +252,7 @@ task_text="$(jq -r '.summary' analysis.json)"
252
252
  touched=$(jq -r '.touchedAreas | map(.path) | join(",")' analysis.json)
253
253
  stack=$(jq -r '.stack.primary' analysis.json)
254
254
 
255
- matched_skills=$(node pipeline/scripts/match-skills.mjs \
255
+ matched_skills=$(node "$HOME/.claude/scripts/match-skills.mjs" \
256
256
  "$task_text" \
257
257
  --touched-files "$touched" \
258
258
  --stack "$stack" \
@@ -264,7 +264,7 @@ matched_skills=$(node pipeline/scripts/match-skills.mjs \
264
264
  # per subagent dispatch on small tasks.
265
265
  ```
266
266
 
267
- **Fallback:** if `.skills-index.json` is missing (e.g. fresh checkout before `build-skills-index.mjs` runs), the orchestrator falls back to eager-load exactly as pre-v7.0 - dynamic loading never blocks the happy path.
267
+ **Fallback:** every install ships `.skills-index.json` beside the skills. If it is absent anyway (a checkout before `build-skills-index.mjs` runs), the orchestrator eager-loads as pre-v7.0 - dynamic loading never blocks the happy path.
268
268
 
269
269
  **--index-only installs:** `node install.js --index-only` writes only the index, not the 206 SKILL.md payloads. Intended for:
270
270
  - CI pipelines that fetch skill bodies on demand
@@ -328,7 +328,7 @@ Full contract: `refs/tracker-contract.md` section "TaskCreate ordering (strict)"
328
328
  >
329
329
  > The condensed walkthrough below covers Step 1 (parse) + Step 2 (worktree), but DOES NOT replace the full contract. Read `refs/phases/phase-0-init.md` before every Phase 0 run and execute ALL 8 steps:
330
330
  >
331
- > 1. **Bootstrap tracker** - `pipeline/scripts/phase-tracker.sh init <task-id>` + 8 phase tiles (Step −1)
331
+ > 1. **Bootstrap tracker** - `$HOME/.claude/scripts/phase-tracker.sh init <task-id>` + 8 phase tiles (Step −1)
332
332
  > 2. **Load prefs** - read `prefs.global` + `prefs.projects[{name}]`; halt with `/multi-agent:setup` prompt if no keychain mapping (Step 0)
333
333
  > 3. **Parse input** - classify + fetch Jira/GitHub issue + extract Figma URL if present (Step 1)
334
334
  > 4. **Select project(s) - single OR multi-repo** - present numbered list of repos from `$HOME`. Picker accepts space-separated numbers (`1 3 4`) for multi-select. Component/refactor tasks often span repos (e.g. component repo + consumer app). Surface saved `global.recentGroups` at the top of the list. **Never auto-pick a single repo when the task could touch more than one** - ask the user to confirm single vs multi. (Step 2)
@@ -445,7 +445,7 @@ Full contract: `refs/tracker-contract.md` section "TaskCreate ordering (strict)"
445
445
  - **5b - Approval loop**: render plan → user: `onayla`/`iptal`/free-text. A free-text edit request → the planning model (Fable) revises the plan → show it again. No iteration cap; user controls exit via `onayla` or `iptal`.
446
446
  - Persist `clarificationRounds`, `clarificationQuestions`, `clarificationAnswers`, `planIterations`, `planApprovedAt`, `planEditRequests` to `state.phases["2"]`.
447
447
 
448
- ### Phase 3: Dev (claude-sonnet-4-6)
448
+ ### Phase 3: Dev (claude-sonnet-5)
449
449
  For each todo (respecting dependency order):
450
450
  1. Update todo status: `in_progress`
451
451
  2. **TDD cycle**:
@@ -458,11 +458,11 @@ For each todo (respecting dependency order):
458
458
  6. Log: `⚡ Phase 3: {todo-id} - Test ✅ Build ✅`
459
459
 
460
460
  ### Phase 4: Review (parallel + triage)
461
- 0. **Diff Risk Scoring (advisory, v8.3+)** - before reviewer dispatch run `node pipeline/scripts/diff-risk-score.mjs --base "$BASE_BRANCH" --top 5` and inject the top-N risk-ranked files as a `${PRIORITY_FILES}` block into each reviewer's prompt. Heuristic, deterministic, sub-second, never gates the pipeline. Disabled when `prefs.global.diffRiskAdvisory = false`. Signals: security paths (×3), schema migrations (×4), public API surfaces (×2), no-test-change (×2.5), complexity delta (×1.5), UI-critical paths (×1.5), loc changed (×1).
461
+ 0. **Diff Risk Scoring (advisory, v8.3+)** - before reviewer dispatch run `node $HOME/.claude/scripts/diff-risk-score.mjs --base "$BASE_BRANCH" --top 5` and inject the top-N risk-ranked files as a `${PRIORITY_FILES}` block into each reviewer's prompt. Heuristic, deterministic, sub-second, never gates the pipeline. Disabled when `prefs.global.diffRiskAdvisory = false`. Signals: security paths (×3), schema migrations (×4), public API surfaces (×2), no-test-change (×2.5), complexity delta (×1.5), UI-critical paths (×1.5), loc changed (×1).
462
462
  1. Launch **code-reviewer** agents in parallel. Reviewer set depends on which CLI is hosting the pipeline:
463
- - **Claude Code** (2 reviewers): `claude-fable-5` (deep security + architecture) + `claude-sonnet-4-6` (quality + correctness)
464
- - **Copilot CLI** (3 reviewers): `gpt-5.4` (edge cases, different perspective) + `claude-opus-4-8` + `claude-sonnet-4-6` (Fable 5 is not offered on Copilot CLI)
465
- - Triage: single top-tier pass over merged findings (`claude-fable-5` on Claude Code, `claude-opus-4-8` on Copilot CLI)
463
+ - **Claude Code** (2 reviewers): `claude-fable-5` (deep security + architecture) + `claude-sonnet-5` (quality + correctness)
464
+ - **Copilot CLI** (3 reviewers): `gpt-5.4` (edge cases, different perspective) + `claude-opus-5` + `claude-sonnet-5` (Fable 5 is not offered on Copilot CLI)
465
+ - Triage: single top-tier pass over merged findings (`claude-fable-5` on Claude Code, `claude-opus-5` on Copilot CLI)
466
466
  2. Collect findings, classify:
467
467
  - 🔴 **Blocking** → must fix → back to Phase 3 (max 3 iterations)
468
468
  - 🟡 **Important** → fix and re-review
@@ -472,7 +472,7 @@ For each todo (respecting dependency order):
472
472
  ### Phase 5: Test
473
473
  Lets the user physically test the code before opening a PR. The prompt MUST make it explicit that saying yes **removes the worktree and checks the branch out locally** - otherwise the user is hit with an implicit side effect.
474
474
 
475
- 0. **Test Gap Report (advisory, v8.3+)** - before the local-checkout prompt run `node pipeline/scripts/test-gap-scan.mjs --base "$BASE_BRANCH" --stack <ios|android|python|node>` to surface public symbols added in this branch that have no paired test. Heuristic, deterministic, sub-second, never gates by default. iOS `*View.swift` / Android `@Composable` symbols default to `important` severity; other public API additions to `suggestion`. Optional gating via `prefs.testGap.blockingThreshold` (loops back to Phase 4 rework when the important+blocking count exceeds the threshold). Disabled when `prefs.testGap.enabled = false`.
475
+ 0. **Test Gap Report (advisory, v8.3+)** - before the local-checkout prompt run `node $HOME/.claude/scripts/test-gap-scan.mjs --base "$BASE_BRANCH" --stack <ios|android|python|node>` to surface public symbols added in this branch that have no paired test. Heuristic, deterministic, sub-second, never gates by default. iOS `*View.swift` / Android `@Composable` symbols default to `important` severity; other public API additions to `suggestion`. Optional gating via `prefs.testGap.blockingThreshold` (loops back to Phase 4 rework when the important+blocking count exceeds the threshold). Disabled when `prefs.testGap.enabled = false`.
476
476
  1. **Ask** with a native `AskUserQuestion` picker (never a typed y/N prompt). The options MUST make the local-checkout side effect explicit - testing removes the worktree and checks the branch out into the main repo:
477
477
  - `question`: "Check out locally to test now?" (rendered in `outputLanguage`)
478
478
  - `header`: "Test" (English, <=12 chars)
@@ -43,10 +43,10 @@ When the rendered Section 20 (Risks and Open Questions) has open rows, the repor
43
43
 
44
44
  ## Detailed implementation
45
45
 
46
- Full steps: `pipeline/commands/multi-agent/analysis/SKILL.md`.
47
- Template master copy: `pipeline/multi-agent-refs/analysis-template.md`.
48
- Schema: `pipeline/schemas/analysis-spec.schema.json`.
49
- Convention extractor: `pipeline/lib/extract-conventions.sh` (output contract: `pipeline/schemas/conventions-output.schema.json`).
46
+ Full steps: `$HOME/.claude/commands/multi-agent/analysis/SKILL.md`.
47
+ Template master copy: `$HOME/.claude/multi-agent-refs/analysis-template.md`.
48
+ Schema: `$HOME/.claude/schemas/analysis-spec.schema.json`.
49
+ Convention extractor: `$HOME/.claude/lib/extract-conventions.sh` (output contract: `$HOME/.claude/schemas/conventions-output.schema.json`).
50
50
 
51
51
  ## Notes
52
52
 
@@ -36,9 +36,9 @@ Companion to `multi-agent-analysis`. Walks the open rows of Section 20 (Risks an
36
36
 
37
37
  ## Detailed implementation
38
38
 
39
- Full steps: `pipeline/commands/multi-agent/analysis-resolve/SKILL.md`.
40
- Section 20 / changelog contracts: `pipeline/multi-agent-refs/analysis-template.md`.
41
- Convention defaults: `pipeline/multi-agent-refs/conventions-defaults.md`.
39
+ Full steps: `$HOME/.claude/commands/multi-agent/analysis-resolve/SKILL.md`.
40
+ Section 20 / changelog contracts: `$HOME/.claude/multi-agent-refs/analysis-template.md`.
41
+ Convention defaults: `$HOME/.claude/multi-agent-refs/conventions-defaults.md`.
42
42
 
43
43
  ## Notes
44
44
 
@@ -38,8 +38,8 @@ Thin wrapper around the vendored `xcode-build-orchestrator` skill so iOS users d
38
38
 
39
39
  ## Detailed implementation
40
40
 
41
- Full steps: `pipeline/commands/multi-agent/build-optimize/SKILL.md`.
42
- Upstream attribution: `pipeline/skills/shared/external/NOTICE-xcode-build-skills.md`.
41
+ Full steps: `$HOME/.claude/commands/multi-agent/build-optimize/SKILL.md`.
42
+ Upstream attribution: `$HOME/.claude/skills/NOTICE-xcode-build-skills.md`.
43
43
 
44
44
  ## Notes
45
45
 
@@ -37,7 +37,7 @@ A `C` section fires on: Design Reference → Figma URL; Screenshots → pasted i
37
37
  - `GET /rest/api/2/issue/createmeta?projectKeys={KEY}&issuetypeNames={TYPE}&expand=projects.issuetypes.fields` (404/empty → paged DC endpoint fallback). Required custom fields → step 7 questions with allowedValues options. Detect Sprint/Epic/Team fields generically via `schema.custom` ids.
38
38
  - `GET /rest/agile/1.0/board?projectKeyOrId={KEY}` → (ask when multiple) → `GET /rest/agile/1.0/board/{id}/sprint?state=active`. No board/Agile 404 → sprint option silently omitted.
39
39
  6. **External context** (only for provided sources, each failure-isolated, never blocks create):
40
- - **Figma** (`FIGMA_URL` set) - 3-tier chain (MCP → REST figma_pat → user screenshot); standalone command, MCP allowed here.
40
+ - **Figma** (`FIGMA_URL` set) - 3-tier chain (MCP → REST `figma` PAT → user screenshot); standalone command, MCP allowed here.
41
41
  - **Swagger** (`SWAGGER_URL` set or contract pasted) - fetch the spec, extract ONLY the referenced endpoints (paths/operationIds/tags named in `FREE_TEXT`, else the pointed-at group): method + path + one-line summary + key request/response fields. Never crawl the whole spec. Fetch failure → link-only or omit.
42
42
  - **Screenshots** - staged for the step 8 attachment opt-in, referenced inline with `!file|thumbnail!`.
43
43
  7. **Draft + clarifying questions** - compose summary (`{minedPrefix} {title}`, 255 trunc) + description from the type's **standard template** in Jira wiki markup (`h3.`), auto-sizing conditional sections, humanizer pass, in `outputLanguage`; body to a file for `jq -n --rawfile` (UTF-8 verbatim, `--data-binary @file`, no re-encode). Ask ONLY genuinely unknown fields: component, epic (when usage rate is high), priority (when norm ambiguous), labels, assignee, sprint vs backlog, required customs, and any always-present section still empty (Bug Steps/Environment, or a Task/Story with no derivable Scope/AC). Never invent content the user did not supply.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: multi-agent-dev
3
3
  language: en
4
- description: "Fast development mode: Init → Dev (Opus) → Test → Commit → Report. Analysis, planning, and review phases are skipped. Use when the work is already scoped and only development, test and commit are needed."
4
+ description: "Fast development mode: Init → Dev (Opus) → Review → Test → Commit → Report. Analysis and planning are skipped, review is not. Use when the work is already scoped but the result still has to be checked."
5
5
  user-invocable: true
6
6
  argument-hint: '"task" [autopilot] - issue URL, Jira ID, or free-text + optional autopilot'
7
7
  ---
@@ -22,12 +22,13 @@ A 5-phase fast pipeline: Init → Dev → Test → Commit → Report. Developmen
22
22
  ```
23
23
  Phase 0: Init → Project detection, worktree, branch, identity (full picker)
24
24
  Phase 3: Dev → Direct development with Opus (TDD optional)
25
+ Phase 4: Review → Deterministic gates + parallel review + triage
25
26
  Phase 5: Test → User Test (interactive simulator)
26
27
  Phase 6: Commit → Commit + push + PR
27
28
  Phase 7: Report → Channels (Jira / Confluence / PR / Wiki)
28
29
  ```
29
30
 
30
- `--dev` skips Phase 1 (Analysis), Phase 2 (Planning + Approval Gate), and Phase 4 (Review). The Phase 3 Dev model is **Opus**. The Phase 0 picker, Phase 5 test, Phase 6 commit, and Phase 7 channels are identical to the full pipeline.
31
+ `--dev` skips Phase 1 (Analysis) and Phase 2 (Planning + Approval Gate). The Phase 3 Dev model is **Opus**. The Phase 0 picker, Phase 4 review, Phase 5 test, Phase 6 commit, and Phase 7 channels are identical to the full pipeline. Review is not a fast-mode casualty: skipping analysis means less context going in, not less scrutiny coming out.
31
32
 
32
33
  > `--dev` contract: no plan discussion, development starts directly. If you want to discuss the plan, use normal mode.
33
34
 
@@ -53,15 +54,15 @@ Phase 7: Report → Channels (Jira / Confluence / PR / Wiki)
53
54
 
54
55
  | Feature | Full (`/multi-agent`) | Dev (`/multi-agent:dev`) |
55
56
  |---------|---------------------|------------------------|
56
- | Phases | 8 (0-7) | 5 (0, 3, 5, 6, 7) - 1, 2, 4 skipped |
57
+ | Phases | 8 (0-7) | 6 (0, 3, 4, 5, 6, 7) - 1, 2 skipped |
57
58
  | Phase 3 Dev model | Sonnet | **Opus** |
58
59
  | Phase 1 Analysis (explore agents) | ✅ | ❌ |
59
60
  | Phase 2 Planning + Approval Gate | ✅ | ❌ |
60
- | Phase 4 Review (parallel + triage) | ✅ | ❌ |
61
+ | Phase 4 Review (parallel + triage) | ✅ | ✅ (same) |
61
62
  | Phase 0 picker (account, repos, branch, ...) | ✅ | ✅ (same) |
62
63
  | Phase 5 User Test | ✅ | ✅ (same) |
63
64
  | Phase 7 channels (Jira / Confluence / PR / Wiki) | ✅ | ✅ (same) |
64
- | Duration | ~10-15 min | ~5-7 min |
65
+ | Duration | ~10-15 min | ~7-10 min |
65
66
 
66
67
  ## Analysis doc supplied to a fast mode (warn before starting)
67
68
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: multi-agent-dev-autopilot
3
3
  language: en
4
- description: "Fastest mode: Dev (Opus) plus Autopilot. Init → Dev → Commit → Report with zero confirmations. Use when a change is well understood and should go from start to commit with no questions asked."
4
+ description: "Fastest mode: Dev (Opus) plus Autopilot. Init → Dev → Review → Commit → Report with zero confirmations. Review still runs and auto-fixes blocking findings. Use when a change is well understood and should go from start to commit with no questions asked."
5
5
  user-invocable: true
6
6
  argument-hint: '"task" - issue URL, Jira ID, or free-text'
7
7
  ---
@@ -22,11 +22,12 @@ Dev mode + Autopilot combined: a 4-phase pipeline with no confirmations, end-to-
22
22
  ```
23
23
  Phase 0: Init → Project detection, worktree, branch, identity
24
24
  Phase 3: Dev → Direct development with Opus
25
+ Phase 4: Review → Gates + parallel review + triage, auto-fix
25
26
  Phase 6: Commit → Automatic commit + push + PR (no approval)
26
27
  Phase 7: Report → Short terminal summary
27
28
  ```
28
29
 
29
- **Skipped phases**: Analysis (1), Planning (2), Review (4), User Test (5)
30
+ **Skipped phases**: Analysis (1), Planning (2), User Test (5)
30
31
  **Skipped confirmations**: Plan Approval Gate (clarification + approval loop), test prompt, commit prompt, PR prompt
31
32
 
32
33
  > If you want to discuss the plan, do not use this mode - normal mode runs the clarification + approval loop. The Dev+Autopilot contract is: "ask no questions".
@@ -35,7 +36,7 @@ Phase 7: Report → Short terminal summary
35
36
 
36
37
  1. **Parse the input** - Normal multi-agent formats (Issue URL, Jira ID, free-text)
37
38
  2. **Phase 0: Init** - `"mode": "dev", "autopilot": true` in `agent-state.json`
38
- 3. **Phase 3: Dev** - Write code + build directly with `claude-opus-4-8`
39
+ 3. **Phase 3: Dev** - Write code + build directly with `claude-opus-5`
39
40
  4. **Phase 6: Commit** - Create automatic commit + push + PR
40
41
  5. **Phase 7: Report** - Terminal summary
41
42
 
@@ -48,9 +49,9 @@ Phase 7: Report → Short terminal summary
48
49
 
49
50
  | | Full | Dev | Autopilot | **Dev+Autopilot** |
50
51
  |--|------|-----|-----------|-------------------|
51
- | Phases | 9 | 4 | 9 | **4** |
52
+ | Phases | 8 | 6 | 8 | **5** |
52
53
  | Model | Sonnet | Opus | Sonnet | **Opus** |
53
54
  | Plan Approval Gate | ✅ (clarification + approval) | ❌ | ❌ | **❌** |
54
55
  | Confirmation (test/commit/PR) | Yes | Yes | No | **No** |
55
- | Review | Parallel+triage (CLI-aware) | None | Parallel+triage (CLI-aware) | **None** |
56
- | Estimated duration | ~12 min | ~5 min | ~10 min | **~3 min** |
56
+ | Review | Parallel+triage (CLI-aware) | Parallel+triage (CLI-aware) | Parallel+triage (CLI-aware) | **Parallel+triage, auto-fix** |
57
+ | Estimated duration | ~12 min | ~7 min | ~10 min | **~5 min** |
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: multi-agent-dev-local
3
3
  language: en
4
- description: "Fast mode + local - Init → Dev(Opus) → Commit → Report, no worktree. Use when a change should be developed on the current branch without creating a worktree."
4
+ description: "Fast mode + local - Init → Dev(Opus) → Review → Commit → Report, no worktree. Use when a change should be developed and reviewed on the current branch without creating a worktree."
5
5
  user-invocable: true
6
6
  ---
7
7
 
@@ -13,7 +13,8 @@ Dedicated form of the `--dev` + `--local` combination. A 4-phase fast pipeline w
13
13
 
14
14
  ```
15
15
  Phase 0: Init → Project detection, branch check, state (NO worktree)
16
- Phase 3: Dev → Direct development with Opus (Analysis + Planning + Review skipped)
16
+ Phase 3: Dev → Direct development with Opus (Analysis + Planning skipped)
17
+ Phase 4: Review → Deterministic gates + parallel review + triage
17
18
  Phase 6: Commit → Pre-commit checkout prompt, commit + push + PR
18
19
  Phase 7: Report → Jira/Wiki + log + knowledge/memory
19
20
  ```
@@ -22,7 +23,7 @@ Phase 7: Report → Jira/Wiki + log + knowledge/memory
22
23
 
23
24
  - Quick bug fix or small feature - review overhead is unnecessary
24
25
  - You're working on the current branch and don't want to switch worktrees
25
- - Routine change you trust that needs no review
26
+ - Quick bug fix or small feature - analysis and planning buy nothing here
26
27
 
27
28
  ## Delegation
28
29
 
@@ -14,13 +14,14 @@ The triple `--dev` + `--local` + `autopilot` - the fastest form available. Zer
14
14
  ```
15
15
  Phase 0: Init → Project detection, branch check, state (NO worktree, NO approval)
16
16
  Phase 3: Dev → Direct development with Opus (automatic)
17
+ Phase 4: Review → Gates + parallel review + triage, auto-fix
17
18
  Phase 6: Commit → Automatic commit + push + PR (NO local checkout prompt)
18
19
  Phase 7: Report → Jira/Wiki + log + knowledge/memory
19
20
  ```
20
21
 
21
22
  ## When to use it
22
23
 
23
- - Routine change you trust that needs no review
24
+ - Routine change you trust - you want it reviewed, not discussed
24
25
  - A CI / batch environment running the pipeline automatically - no user interaction
25
26
  - Prototype / spike - you care about speed
26
27
 
@@ -76,7 +76,7 @@ Pipeline (after Phase 0):
76
76
  Modes:
77
77
 
78
78
  (normal) Full 8 phases, parallel review + Fable triage
79
- --dev Fast: Init -> Dev(Opus) -> Commit -> Report (no plan gate)
79
+ --dev Fast: Init -> Dev(Opus) -> Review -> Test -> Commit -> Report
80
80
  --local No worktree - works directly on local branch
81
81
  autopilot Skip all confirmations (EXCEPT Phase 7 channels menu)
82
82
  --dev autopilot Fastest path
@@ -225,7 +225,7 @@ Pipeline (Phase 0'dan sonra):
225
225
  Modlar:
226
226
 
227
227
  (normal) Tam 8 faz, paralel review + Fable triage
228
- --dev Hızlı: Init -> Dev(Opus) -> Commit -> Report (plan gate yok)
228
+ --dev Hızlı: Init -> Dev(Opus) -> Review -> Test -> Commit -> Report
229
229
  --local Worktree yok - doğrudan local branch'te çalışır
230
230
  autopilot Tüm onayları atla (İSTİSNA: Phase 7 channels menüsü)
231
231
  --dev autopilot En hızlı yol
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: multi-agent-ios-coding-standard
3
3
  language: en
4
- description: "Audit an iOS module against the shared coding-standard registry (95 stable-ID rules), produce a remediation plan, then hand off to dev/dev-local. Use for a standards pass on a module, or when a review needs rule IDs rather than opinions."
4
+ description: "Audit an iOS module against the shared coding-standard registry (99 stable-ID rules), produce a remediation plan, then hand off to dev/dev-local. Use for a standards pass on a module, or when a review needs rule IDs rather than opinions."
5
5
  user-invocable: true
6
6
  argument-hint: "[module name or path]"
7
7
  ---