mobile-ai-agents 1.0.23

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 (194) hide show
  1. package/AGENTS.md +228 -0
  2. package/CLAUDE.md +236 -0
  3. package/LICENSE +21 -0
  4. package/README.md +652 -0
  5. package/agents/android/android-crash-analyzer/README.md +134 -0
  6. package/agents/android/android-crash-analyzer/agent.md +206 -0
  7. package/agents/android/android-crash-analyzer/example-input.md +138 -0
  8. package/agents/android/android-crash-analyzer/example-output.md +225 -0
  9. package/agents/android/anr-investigation/README.md +78 -0
  10. package/agents/android/anr-investigation/agent.md +117 -0
  11. package/agents/android/anr-investigation/example-input.md +62 -0
  12. package/agents/android/anr-investigation/example-output.md +103 -0
  13. package/agents/android/axiom/agent.md +197 -0
  14. package/agents/android/code-reviewer/README.md +108 -0
  15. package/agents/android/code-reviewer/agent.md +210 -0
  16. package/agents/android/code-reviewer/example-input.md +116 -0
  17. package/agents/android/code-reviewer/example-output.md +115 -0
  18. package/agents/android/compose-navigation/README.md +76 -0
  19. package/agents/android/compose-navigation/agent.md +121 -0
  20. package/agents/android/compose-navigation/example-input.md +49 -0
  21. package/agents/android/compose-navigation/example-output.md +325 -0
  22. package/agents/android/compose-screen-builder/README.md +95 -0
  23. package/agents/android/compose-screen-builder/agent.md +170 -0
  24. package/agents/android/compose-screen-builder/example-input.md +40 -0
  25. package/agents/android/compose-screen-builder/example-output.md +568 -0
  26. package/agents/android/compose-ui-reviewer/README.md +73 -0
  27. package/agents/android/compose-ui-reviewer/agent.md +253 -0
  28. package/agents/android/compose-ui-reviewer/example-input.md +84 -0
  29. package/agents/android/compose-ui-reviewer/example-output.md +102 -0
  30. package/agents/android/crash-analyzer/README.md +53 -0
  31. package/agents/android/crash-analyzer/agent.md +295 -0
  32. package/agents/android/memory-leak-analyzer/README.md +79 -0
  33. package/agents/android/memory-leak-analyzer/agent.md +116 -0
  34. package/agents/android/memory-leak-analyzer/example-input.md +78 -0
  35. package/agents/android/memory-leak-analyzer/example-output.md +128 -0
  36. package/agents/cross-platform/accessibility-auditor/README.md +47 -0
  37. package/agents/cross-platform/accessibility-auditor/agent.md +268 -0
  38. package/agents/cross-platform/accessibility-auditor/example-input.md +84 -0
  39. package/agents/cross-platform/accessibility-auditor/example-output.md +132 -0
  40. package/agents/cross-platform/appforge/agent.md +303 -0
  41. package/agents/cross-platform/ci-cd-generator/README.md +65 -0
  42. package/agents/cross-platform/ci-cd-generator/agent.md +422 -0
  43. package/agents/cross-platform/ci-cd-generator/example-input.md +69 -0
  44. package/agents/cross-platform/ci-cd-generator/example-output.md +261 -0
  45. package/agents/cross-platform/crasher/agent.md +221 -0
  46. package/agents/cross-platform/figma/agent.md +247 -0
  47. package/agents/cross-platform/launchpad/agent.md +330 -0
  48. package/agents/cross-platform/mobile-harness/agent.md +422 -0
  49. package/agents/cross-platform/mobile-memory/agent.md +429 -0
  50. package/agents/cross-platform/perf/agent.md +261 -0
  51. package/agents/cross-platform/pipeline/agent.md +288 -0
  52. package/agents/cross-platform/release-notes-generator/README.md +63 -0
  53. package/agents/cross-platform/release-notes-generator/agent.md +218 -0
  54. package/agents/cross-platform/release-notes-generator/example-input.md +71 -0
  55. package/agents/cross-platform/release-notes-generator/example-output.md +96 -0
  56. package/agents/cross-platform/scribe/agent.md +180 -0
  57. package/agents/cross-platform/security-scanner/README.md +61 -0
  58. package/agents/cross-platform/security-scanner/agent.md +287 -0
  59. package/agents/cross-platform/security-scanner/example-input.md +77 -0
  60. package/agents/cross-platform/security-scanner/example-output.md +141 -0
  61. package/agents/cross-platform/sentinel/agent.md +217 -0
  62. package/agents/cross-platform/store-listing-writer/README.md +58 -0
  63. package/agents/cross-platform/store-listing-writer/agent.md +380 -0
  64. package/agents/cross-platform/store-listing-writer/example-input.md +67 -0
  65. package/agents/cross-platform/store-listing-writer/example-output.md +131 -0
  66. package/agents/flutter/bloc-feature-builder/README.md +101 -0
  67. package/agents/flutter/bloc-feature-builder/agent.md +225 -0
  68. package/agents/flutter/bloc-feature-builder/example-input.md +47 -0
  69. package/agents/flutter/bloc-feature-builder/example-output.md +838 -0
  70. package/agents/flutter/dart/agent.md +223 -0
  71. package/agents/flutter/widget-generator/README.md +66 -0
  72. package/agents/flutter/widget-generator/agent.md +264 -0
  73. package/agents/flutter/widget-generator/example-input.md +71 -0
  74. package/agents/flutter/widget-generator/example-output.md +163 -0
  75. package/agents/gaming/forge/agent.md +197 -0
  76. package/agents/gaming/unreal/agent.md +200 -0
  77. package/agents/ios/crash-analyzer/README.md +69 -0
  78. package/agents/ios/crash-analyzer/agent.md +300 -0
  79. package/agents/ios/crash-analyzer/example-input.md +83 -0
  80. package/agents/ios/crash-analyzer/example-output.md +126 -0
  81. package/agents/ios/swift/agent.md +206 -0
  82. package/agents/ios/swift-reviewer/README.md +68 -0
  83. package/agents/ios/swift-reviewer/agent.md +231 -0
  84. package/agents/ios/swift-reviewer/example-input.md +100 -0
  85. package/agents/ios/swift-reviewer/example-output.md +127 -0
  86. package/agents/react-native/bridge/agent.md +212 -0
  87. package/agents/react-native/performance-optimizer/README.md +81 -0
  88. package/agents/react-native/performance-optimizer/agent.md +284 -0
  89. package/agents/react-native/performance-optimizer/example-input.md +104 -0
  90. package/agents/react-native/performance-optimizer/example-output.md +132 -0
  91. package/agents/unity/shader-generator/README.md +77 -0
  92. package/agents/unity/shader-generator/agent.md +270 -0
  93. package/agents/unity/shader-generator/example-input.md +70 -0
  94. package/agents/unity/shader-generator/example-output.md +160 -0
  95. package/agents/unreal/blueprint-advisor/README.md +71 -0
  96. package/agents/unreal/blueprint-advisor/agent.md +311 -0
  97. package/agents/unreal/blueprint-advisor/example-input.md +73 -0
  98. package/agents/unreal/blueprint-advisor/example-output.md +217 -0
  99. package/cli/index.js +1091 -0
  100. package/docs/agent-guide.md +138 -0
  101. package/docs/chatgpt-integration.md +219 -0
  102. package/docs/core-loops.md +143 -0
  103. package/docs/cursor-integration.md +143 -0
  104. package/docs/getting-started.md +132 -0
  105. package/docs/index.html +711 -0
  106. package/docs/installation.md +271 -0
  107. package/docs/mobile-harness.md +160 -0
  108. package/docs/mobile-mcp.md +172 -0
  109. package/docs/mobile-memory.md +349 -0
  110. package/docs/release-process.md +85 -0
  111. package/docs/releases/release-v1.0.0.md +165 -0
  112. package/docs/roadmap/github-issues.md +239 -0
  113. package/docs/skill-categories.md +125 -0
  114. package/docs/vscode-copilot-integration.md +104 -0
  115. package/docs/wiki.md +615 -0
  116. package/install.sh +507 -0
  117. package/mobile-karpathy.md +79 -0
  118. package/package.json +57 -0
  119. package/skills/android/README.md +31 -0
  120. package/skills/android/android-tdd.md +89 -0
  121. package/skills/android/anr-investigation.md +251 -0
  122. package/skills/android/code-review.md +98 -0
  123. package/skills/android/compose-migration.md +48 -0
  124. package/skills/android/compose-review.md +78 -0
  125. package/skills/android/kotlin-modernize.md +51 -0
  126. package/skills/android/memory-leak-investigation.md +256 -0
  127. package/skills/android/proguard-rules.md +48 -0
  128. package/skills/cross-platform/accessibility-audit.md +63 -0
  129. package/skills/cross-platform/api-versioning.md +59 -0
  130. package/skills/cross-platform/clean-code-audit.md +239 -0
  131. package/skills/cross-platform/crash-triage.md +53 -0
  132. package/skills/cross-platform/deeplink-debug.md +57 -0
  133. package/skills/cross-platform/feature-slice.md +48 -0
  134. package/skills/cross-platform/grill-mobile.md +64 -0
  135. package/skills/cross-platform/mobile-mcp-qa.md +193 -0
  136. package/skills/cross-platform/mobile-memory-graph.md +179 -0
  137. package/skills/cross-platform/mobile-memory-save.md +210 -0
  138. package/skills/cross-platform/mobile-memory-search.md +154 -0
  139. package/skills/cross-platform/perf-audit.md +61 -0
  140. package/skills/cross-platform/prd-verification.md +324 -0
  141. package/skills/cross-platform/release-prep.md +64 -0
  142. package/skills/cross-platform/security-audit.md +281 -0
  143. package/skills/cross-platform/store-listing.md +75 -0
  144. package/skills/flutter/README.md +32 -0
  145. package/skills/flutter/dart-modernize.md +47 -0
  146. package/skills/flutter/flutter-review.md +59 -0
  147. package/skills/flutter/flutter-tdd.md +73 -0
  148. package/skills/flutter/widget-extract.md +41 -0
  149. package/skills/flutter/widget-gen.md +131 -0
  150. package/skills/gaming/blueprint-to-cpp.md +51 -0
  151. package/skills/gaming/game-perf.md +54 -0
  152. package/skills/gaming/shader-gen.md +44 -0
  153. package/skills/gaming/unity-tdd.md +85 -0
  154. package/skills/ios/README.md +45 -0
  155. package/skills/ios/data-persistence.md +151 -0
  156. package/skills/ios/ios-tdd.md +90 -0
  157. package/skills/ios/networking.md +139 -0
  158. package/skills/ios/performance.md +122 -0
  159. package/skills/ios/swift-concurrency.md +57 -0
  160. package/skills/ios/swift-review.md +124 -0
  161. package/skills/ios/swiftui-review.md +49 -0
  162. package/skills/ios/swiftui-state.md +122 -0
  163. package/skills/ios/unit-testing.md +144 -0
  164. package/skills/ios/xcode-warnings.md +37 -0
  165. package/skills/react-native/README.md +42 -0
  166. package/skills/react-native/bridge-audit.md +104 -0
  167. package/skills/react-native/expo-optimize.md +55 -0
  168. package/skills/react-native/new-arch-migrate.md +53 -0
  169. package/skills/react-native/performance.md +124 -0
  170. package/skills/react-native/rn-review.md +53 -0
  171. package/skills/react-native/rn-tdd.md +76 -0
  172. package/skills/shared/README.md +46 -0
  173. package/skills/shared/accessibility-audit.md +132 -0
  174. package/skills/shared/crash-analysis.md +110 -0
  175. package/skills/shared/security-scan.md +149 -0
  176. package/skills/unity/README.md +31 -0
  177. package/skills/unity/shader-review.md +110 -0
  178. package/templates/agent-template.md +88 -0
  179. package/templates/prompt-template.md +50 -0
  180. package/templates/skill-template.md +64 -0
  181. package/templates/workflow-template.md +48 -0
  182. package/workflows/app-launch.md +66 -0
  183. package/workflows/appforge-workflow.md +232 -0
  184. package/workflows/ci-setup.md +77 -0
  185. package/workflows/crash-to-fix.md +71 -0
  186. package/workflows/feature-ship.md +61 -0
  187. package/workflows/game-level.md +72 -0
  188. package/workflows/mobile-harness.md +319 -0
  189. package/workflows/mobile-mcp-qa.md +228 -0
  190. package/workflows/mobile-memory-workflow.md +243 -0
  191. package/workflows/new-project-setup.md +93 -0
  192. package/workflows/new-screen.md +68 -0
  193. package/workflows/perf-sprint.md +78 -0
  194. package/workflows/release-cycle.md +71 -0
@@ -0,0 +1,324 @@
1
+ # Skill — /prd-verification
2
+
3
+ **Platform:** Android / iOS / Flutter / React Native / Kotlin Multiplatform / Unity / Unreal
4
+ **Slash Command:** `/prd-verification`
5
+ **Composable With:** MOBILE-HARNESS, APPFORGE, Mobile Memory, `/mobile-mcp-qa`, `/clean-code-audit`, `/security-audit`, `/accessibility-audit`
6
+
7
+ ---
8
+
9
+ ## Purpose
10
+
11
+ Verify that an implemented app or feature matches the approved PRD, design plan, task acceptance criteria, tests, screenshots, and project memory.
12
+
13
+ Use this after implementation and before marking a task complete. This skill is evidence-based: it verifies against documents and artifacts, not conversation memory.
14
+
15
+ ---
16
+
17
+ ## Input Format
18
+
19
+ ```text
20
+ COMMAND: /prd-verification
21
+ PLATFORM: <Android | iOS | Flutter | React Native | KMP | Unity | Unreal>
22
+ FEATURE_OR_SCOPE:
23
+ <feature name, task id, release scope, or app area>
24
+ DOCUMENTS:
25
+ <PRD.md, DESIGN.md, TASKS.md, DEPENDENCIES.md, ROADMAP.md, MOBILE_MEMORY.md excerpts or paths>
26
+ IMPLEMENTATION:
27
+ <changed files, relevant source code, repo tree, or diff>
28
+ EVIDENCE:
29
+ <test output, build output, screenshots, Mobile MCP QA report, logs, accessibility report, security report>
30
+ KNOWN_LIMITATIONS:
31
+ <optional explicit constraints, skipped checks, unavailable device, unavailable backend>
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Skill Prompt
37
+
38
+ ```text
39
+ Run PRD verification for the provided mobile app or feature scope.
40
+
41
+ Your job is to decide whether the implementation matches the approved product documents and available evidence.
42
+
43
+ Read these inputs in order:
44
+
45
+ 1. PRD.md or product requirements
46
+ 2. TASKS.md acceptance criteria
47
+ 3. DESIGN.md or design plan
48
+ 4. DEPENDENCIES.md and ROADMAP.md when provided
49
+ 5. MOBILE_MEMORY.md or project context when provided
50
+ 6. Relevant source code, diff, and file tree
51
+ 7. Test/build output
52
+ 8. Screenshots, videos, accessibility reports, security reports, or Mobile MCP QA reports
53
+
54
+ Verification rules:
55
+
56
+ - Verify against written artifacts, not memory.
57
+ - Every PASS or FAIL must cite a source and evidence.
58
+ - If a requirement exists in the PRD but no implementation evidence is provided, mark it UNKNOWN, not PASS.
59
+ - If implementation contradicts the PRD, mark FAIL.
60
+ - If behavior is inferred from code but not tested, mark PARTIAL and explain the missing proof.
61
+ - Separate confirmed gaps from assumptions.
62
+ - Do not expand scope beyond the approved PRD unless it creates release risk.
63
+ - Do not mark release-ready if critical requirements, security blockers, crash risks, or required tests are missing.
64
+
65
+ Check these areas:
66
+
67
+ 1. FEATURE COVERAGE
68
+ - Core features listed in PRD.
69
+ - MVP vs future feature boundaries.
70
+ - Required user flows and edge cases.
71
+ - Offline, restart, error, loading, and empty states when specified.
72
+
73
+ 2. ACCEPTANCE CRITERIA
74
+ - Every task acceptance criterion.
75
+ - QA checklist items.
76
+ - Functional requirements and non-functional requirements.
77
+ - Analytics, permissions, notifications, subscriptions, ads, or API behavior when specified.
78
+
79
+ 3. DESIGN AND UI MATCH
80
+ - Screen list and navigation match the design plan.
81
+ - Layout, hierarchy, content, states, responsiveness, and accessibility evidence.
82
+ - Screenshot or Mobile MCP evidence when available.
83
+
84
+ 4. TEST AND DEVICE EVIDENCE
85
+ - Unit, integration, UI, golden/snapshot, E2E, and manual QA evidence.
86
+ - Build/install/launch proof.
87
+ - Device, emulator, simulator, or Mobile MCP proof when available.
88
+
89
+ 5. SECURITY AND RELEASE BLOCKERS
90
+ - Security audit findings that affect release.
91
+ - Sensitive data, auth, storage, network, permissions, deep links, WebViews, logging, and payment/subscription behavior when relevant.
92
+ - Performance blockers that affect launch readiness.
93
+
94
+ 6. CONTEXT CONTINUITY
95
+ - MOBILE_MEMORY.md or project context reflects the current state.
96
+ - Remaining gaps and next action are captured for future sessions.
97
+
98
+ Output exactly:
99
+
100
+ Table formatting rules:
101
+ - Output normal Markdown. Do not wrap the final report in a fenced code block.
102
+ - Keep every table cell short, ideally under 8 words.
103
+ - Do not put full paragraphs, logs, code blocks, screenshots, or multi-sentence explanations inside table cells.
104
+ - Put long evidence and reasoning in `Verification Details`.
105
+ - Use stable IDs (`PRD-001`, `PRD-002`) to connect summary rows to detail sections.
106
+
107
+ PRD MATCH REPORT
108
+ ================
109
+ Platform:
110
+ Feature/Scope:
111
+ Result: PASS | FAIL | PARTIAL | BLOCKED
112
+ Documents Read:
113
+ Evidence Reviewed:
114
+
115
+ Executive Summary:
116
+ - <short status summary>
117
+
118
+ Feature Coverage:
119
+ | ID | Requirement | Source | Status | Evidence |
120
+ |---|---|---|---|---|
121
+
122
+ Acceptance Criteria Status:
123
+ | ID | Criteria | Source | Status | Evidence |
124
+ |---|---|---|---|---|
125
+
126
+ UI Match:
127
+ | Screen/State | Source | Status | Evidence |
128
+ |---|---|---|---|
129
+
130
+ Test And Device Evidence:
131
+ | Check | Status | Evidence |
132
+ |---|---|---|
133
+
134
+ Security And Release Blockers:
135
+ | ID | Blocker | Source | Status | Action |
136
+ |---|---|---|---|---|
137
+
138
+ Verification Details:
139
+ ### PRD-001 — <short title>
140
+ - Source:
141
+ - Evidence:
142
+ - Status:
143
+ - Confirmed gap:
144
+ - Assumption:
145
+ - Required fix:
146
+
147
+ Missing Requirements:
148
+ - <requirement or "None">
149
+
150
+ Confirmed Gaps:
151
+ - <gap or "None">
152
+
153
+ Assumptions:
154
+ - <assumption or "None">
155
+
156
+ Test Gaps:
157
+ - <gap or "None">
158
+
159
+ Release Readiness:
160
+ PASS only if all required PRD items and acceptance criteria are PASS, no critical UI/security/test gaps remain, and unknowns are documented or risk-accepted.
161
+
162
+ Next Action:
163
+ 1. <single highest priority action>
164
+ ```
165
+
166
+ ---
167
+
168
+ ## Example
169
+
170
+ ### Input
171
+
172
+ ```text
173
+ COMMAND: /prd-verification
174
+ PLATFORM: Android
175
+ FEATURE_OR_SCOPE: Habit Pulse MVP
176
+ DOCUMENTS:
177
+ PRD.md:
178
+ - Users can view today's habits.
179
+ - Users can add a habit with a name.
180
+ - Users can mark a habit complete.
181
+ - Habits persist after app restart.
182
+ - MVP includes Home, Add Habit, History, and Settings screens.
183
+
184
+ TASKS.md:
185
+ - T1 Home list: default seeded habits visible.
186
+ - T2 Add habit: Save disabled until name is non-empty.
187
+ - T3 Persistence: saved habits survive restart.
188
+
189
+ DESIGN.md:
190
+ - Polished consumer direction.
191
+ - Four screens required: Home, Add Habit, History, Settings.
192
+ - Empty, populated, and validation states required.
193
+
194
+ IMPLEMENTATION:
195
+ - MainActivity.kt renders HomeScreen with two seeded habits.
196
+ - AddHabitDialog validates empty name and appends to in-memory list.
197
+ - No datastore, database, or preferences files.
198
+ - No HistoryScreen or SettingsScreen files.
199
+
200
+ EVIDENCE:
201
+ - Build PASS.
202
+ - Screenshot shows Home with two habits.
203
+ - Screenshot shows Add Habit dialog.
204
+ - No restart test output.
205
+ - No Mobile MCP report.
206
+ ```
207
+
208
+ ### Output
209
+
210
+ ```text
211
+ PRD MATCH REPORT
212
+ ================
213
+ Platform: Android
214
+ Feature/Scope: Habit Pulse MVP
215
+ Result: FAIL
216
+ Documents Read: PRD.md, TASKS.md, DESIGN.md
217
+ Evidence Reviewed: build output, screenshots, source notes
218
+
219
+ Executive Summary:
220
+ - MVP is not PRD-complete because persistence, History, Settings, and device proof are missing.
221
+
222
+ Feature Coverage:
223
+ | ID | Requirement | Source | Status | Evidence |
224
+ |---|---|---|---|---|
225
+ | PRD-001 | View today's habits | PRD.md | PASS | Home screenshot |
226
+ | PRD-002 | Add habit | PRD.md | PARTIAL | Dialog screenshot |
227
+ | PRD-003 | Mark complete | PRD.md | UNKNOWN | No interaction proof |
228
+ | PRD-004 | Persist after restart | PRD.md | FAIL | In-memory state |
229
+ | PRD-005 | Four MVP screens | DESIGN.md | FAIL | Two screens only |
230
+
231
+ Acceptance Criteria Status:
232
+ | ID | Criteria | Source | Status | Evidence |
233
+ |---|---|---|---|---|
234
+ | AC-001 | Seeded habits visible | TASKS.md T1 | PASS | Home screenshot |
235
+ | AC-002 | Save disabled empty | TASKS.md T2 | PARTIAL | Code notes |
236
+ | AC-003 | Survives restart | TASKS.md T3 | FAIL | No storage layer |
237
+
238
+ UI Match:
239
+ | Screen/State | Source | Status | Evidence |
240
+ |---|---|---|---|
241
+ | Home populated | DESIGN.md | PASS | Screenshot |
242
+ | Add validation | DESIGN.md | PARTIAL | Dialog screenshot |
243
+ | History screen | DESIGN.md | FAIL | Missing file |
244
+ | Settings screen | DESIGN.md | FAIL | Missing file |
245
+
246
+ Test And Device Evidence:
247
+ | Check | Status | Evidence |
248
+ |---|---|---|
249
+ | Build | PASS | Build output |
250
+ | Restart test | FAIL | No test |
251
+ | Device QA | UNKNOWN | No Mobile MCP report |
252
+
253
+ Security And Release Blockers:
254
+ | ID | Blocker | Source | Status | Action |
255
+ |---|---|---|---|---|
256
+ | REL-001 | Persistence missing | PRD.md | FAIL | Add storage |
257
+
258
+ Verification Details:
259
+ ### PRD-004 — Habits do not persist after restart
260
+ - Source: PRD.md persistence requirement and TASKS.md T3.
261
+ - Evidence: Implementation uses in-memory list and no datastore, database, or preferences files are present.
262
+ - Status: FAIL.
263
+ - Confirmed gap: Saved habits are lost on app restart.
264
+ - Assumption: None.
265
+ - Required fix: Add local persistence and restart verification.
266
+
267
+ ### PRD-005 — Required MVP screens are missing
268
+ - Source: DESIGN.md screen list.
269
+ - Evidence: No HistoryScreen or SettingsScreen implementation was provided.
270
+ - Status: FAIL.
271
+ - Confirmed gap: The delivered app has fewer screens than the approved MVP design.
272
+ - Assumption: None.
273
+ - Required fix: Implement History and Settings or update approved scope.
274
+
275
+ Missing Requirements:
276
+ - Habit persistence after restart.
277
+ - History screen.
278
+ - Settings screen.
279
+ - Device QA evidence.
280
+
281
+ Confirmed Gaps:
282
+ - Storage layer is missing.
283
+ - Two approved screens are missing.
284
+
285
+ Assumptions:
286
+ - Mark-complete behavior may exist, but no interaction evidence was provided.
287
+
288
+ Test Gaps:
289
+ - Restart persistence test.
290
+ - UI test for add habit validation.
291
+ - Mobile MCP device flow.
292
+
293
+ Release Readiness:
294
+ PASS only if all required PRD items and acceptance criteria are PASS, no critical UI/security/test gaps remain, and unknowns are documented or risk-accepted.
295
+
296
+ Next Action:
297
+ 1. Implement persistence and restart verification before adding new scope.
298
+ ```
299
+
300
+ ---
301
+
302
+ ## Composition Example
303
+
304
+ ```text
305
+ Inside MOBILE-HARNESS:
306
+ 1. Implement the current task.
307
+ 2. Run tests and collect screenshots or Mobile MCP QA.
308
+ 3. Run /prd-verification with PRD.md, DESIGN.md, TASKS.md, MOBILE_MEMORY.md, code diff, and evidence.
309
+ 4. Mark the task complete only if /prd-verification returns PASS or accepted PARTIAL with documented exceptions.
310
+ 5. Save the report summary into MOBILE_MEMORY.md.
311
+ ```
312
+
313
+ ```text
314
+ Inside APPFORGE:
315
+ Use /prd-verification during Stage 5 and Stage 7 to compare implementation output against the approved PRD, design plan, and task acceptance criteria before Play Store preparation.
316
+ ```
317
+
318
+ ---
319
+
320
+ ## Notes
321
+
322
+ - This skill does not replace tests or device QA. It checks whether the available evidence proves the product requirements.
323
+ - UNKNOWN is safer than PASS when evidence is missing.
324
+ - PARTIAL is allowed only when implementation evidence exists but proof is incomplete.
@@ -0,0 +1,64 @@
1
+ # Skill — /release-prep
2
+
3
+ **Platform:** Cross-Platform
4
+ **Slash Command:** `/release-prep`
5
+ **Composable With:** agents/cross-platform/scribe/agent.md, agents/cross-platform/pipeline/agent.md
6
+
7
+ ---
8
+
9
+ ## Purpose
10
+
11
+ Full release checklist from feature freeze to store submission. Replaces 20 Confluence pages. Adapts to Android, iOS, Flutter, or React Native.
12
+
13
+ ---
14
+
15
+ ## Skill Prompt
16
+
17
+ ```
18
+ Run the mobile release checklist for the provided platform and version:
19
+
20
+ PRE-RELEASE (Feature Freeze → Branch Cut)
21
+ [ ] Version code / build number incremented
22
+ [ ] Version name updated (semantic versioning: MAJOR.MINOR.PATCH)
23
+ [ ] Release branch cut from main/develop
24
+ [ ] All feature flags for this release enabled/disabled correctly
25
+ [ ] CHANGELOG updated with this version's changes
26
+ [ ] Third-party SDK versions audited for known CVEs
27
+
28
+ BUILD QUALITY
29
+ [ ] All CI checks passing on release branch (lint, tests, build)
30
+ [ ] No CRITICAL or HIGH severity issues from security scan (SENTINEL)
31
+ [ ] Performance baseline measured and no regressions > 5% from previous release
32
+ [ ] Crash-free rate from previous version noted (baseline for this release)
33
+ [ ] ProGuard/R8 mapping file backed up (Android)
34
+ [ ] Debug symbols uploaded (dSYM for iOS, mapping.txt for Android → Firebase/Sentry)
35
+
36
+ STORE PREPARATION
37
+ [ ] Store listing updated if features changed (screenshots, description)
38
+ [ ] Release notes written for both stores (SCRIBE)
39
+ [ ] App Store review notes prepared (if new permissions or flows)
40
+ [ ] Age rating correct for new content (if applicable)
41
+ [ ] Privacy policy updated if new data collection added
42
+
43
+ ANDROID SPECIFIC
44
+ [ ] targetSdkVersion up to date (Google requires current year's target SDK by August)
45
+ [ ] Adaptive icon tested on Android 8+ devices
46
+ [ ] 64-bit APK / AAB includes both ARM64 and x86_64
47
+ [ ] Play App Signing enrolled
48
+ [ ] Internal testing → Closed testing → Open testing → Production rollout plan set
49
+
50
+ iOS SPECIFIC
51
+ [ ] All required privacy usage description strings in Info.plist
52
+ [ ] App Transport Security exceptions justified
53
+ [ ] In-app purchase products reviewed if applicable
54
+ [ ] TestFlight beta distributed to testers, feedback collected
55
+ [ ] Notarization complete (macOS if applicable)
56
+
57
+ ROLLOUT STRATEGY
58
+ [ ] Staged rollout planned: 1% → 5% → 20% → 100%
59
+ [ ] Monitoring dashboard ready (Firebase, Crashlytics, Sentry)
60
+ [ ] Rollback plan documented: which version to roll back to and how
61
+ [ ] On-call engineer assigned for first 48 hours post-launch
62
+
63
+ Flag any unchecked items as blockers before submission.
64
+ ```
@@ -0,0 +1,281 @@
1
+ # Skill — /security-audit
2
+
3
+ **Platform:** Android / iOS / Flutter / React Native
4
+ **Slash Command:** `/security-audit`
5
+ **Composable With:** SENTINEL, agents/cross-platform/security-scanner/agent.md, MOBILE-HARNESS, APPFORGE
6
+
7
+ ---
8
+
9
+ ## Purpose
10
+
11
+ Run a complete mobile app security audit across code, configuration, storage, networking, authentication, permissions, build settings, logging, WebViews, deep links, dependencies, and release readiness.
12
+
13
+ Use this when the user wants more than a quick code scan. This skill is intended for app-wide pre-release review and should be paired with SENTINEL or `security-scanner` for detailed exploit analysis.
14
+
15
+ ---
16
+
17
+ ## Input Format
18
+
19
+ ```text
20
+ COMMAND: /security-audit
21
+ PLATFORM: <Android | iOS | Flutter | React Native>
22
+ APP_TYPE: <consumer | fintech | health | enterprise | game | other>
23
+ SCOPE:
24
+ <repo tree, changed files, manifests, config files, auth/storage/network files>
25
+ DATA_HANDLED:
26
+ <tokens, PII, payments, health, location, files, messages, analytics>
27
+ CODE_OR_FINDINGS:
28
+ <paste code, config, dependency list, or previous scan output>
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Skill Prompt
34
+
35
+ ```text
36
+ Run a complete app security audit for the provided mobile app scope.
37
+
38
+ Use OWASP Mobile Top 10 as the baseline, but also check platform release risks.
39
+
40
+ Audit these areas:
41
+
42
+ 1. DATA CLASSIFICATION AND THREAT MODEL
43
+ - Identify sensitive data: credentials, tokens, PII, payment data, health data, precise location, contacts, messages, photos, files, analytics identifiers.
44
+ - Identify trust boundaries: app, backend, third-party SDKs, WebViews, deep links, push notifications, local storage, clipboard, logs.
45
+ - If data classification is missing, infer it from the code and mark assumptions.
46
+
47
+ 2. SECRETS AND CREDENTIALS
48
+ - No API keys, tokens, passwords, client secrets, private keys, signing configs, keystore passwords, or service account JSON in source.
49
+ - Check Android Gradle files, BuildConfig, string resources, google-services files, local.properties misuse, CI files.
50
+ - Check iOS Info.plist, .xcconfig, entitlements, project files, Swift constants.
51
+ - Check Flutter .env assets, Dart constants, Android/iOS folders.
52
+ - Check React Native JS bundles, env files, native config, Metro output risk.
53
+
54
+ 3. STORAGE SECURITY
55
+ - Tokens and credentials must use Keychain, EncryptedSharedPreferences, Android Keystore, Secure Enclave where appropriate, expo-secure-store, or react-native-keychain.
56
+ - AsyncStorage, SharedPreferences, UserDefaults, plain SQLite, files, cache, logs, and clipboard must not hold secrets.
57
+ - Sensitive databases need encryption or documented risk acceptance.
58
+ - Backup behavior must be safe: Android allowBackup/dataExtractionRules and iOS backup exclusions for sensitive files.
59
+
60
+ 4. NETWORK AND TRANSPORT
61
+ - HTTPS required for production APIs.
62
+ - No cleartext traffic unless explicitly justified for local/dev and blocked in release.
63
+ - TLS validation must not be disabled.
64
+ - Certificate pinning required for high-risk auth, payment, health, or enterprise apps.
65
+ - No permissive TrustManager, HostnameVerifier, URLSession delegate, ATS exception, or debug proxy config in release.
66
+ - API errors must not leak secrets.
67
+
68
+ 5. AUTHENTICATION AND SESSION MANAGEMENT
69
+ - Tokens expire and refresh safely.
70
+ - Logout clears local sensitive data.
71
+ - Biometric/PIN gates protect highly sensitive local data when required.
72
+ - No credentials in URLs.
73
+ - No weak password reset, magic link, or OTP handling in app code.
74
+ - Session state is not stored in globally mutable objects without lifecycle handling.
75
+
76
+ 6. AUTHORIZATION AND BUSINESS LOGIC
77
+ - Client does not enforce critical authorization alone.
78
+ - Feature flags, premium/subscription checks, admin flags, and role checks must be validated server-side.
79
+ - Local tampering must not unlock paid or privileged behavior.
80
+
81
+ 7. INPUT VALIDATION, DEEP LINKS, AND IPC
82
+ - Deep links validate scheme, host, path, parameters, and auth state before navigation.
83
+ - Android exported activities/services/receivers are minimal and protected.
84
+ - iOS URL schemes/universal links validate allowed hosts and paths.
85
+ - Push notification payloads are validated before navigation or data mutation.
86
+ - File imports, intents, document pickers, and share extensions validate size, type, and path.
87
+
88
+ 8. WEBVIEW AND JAVASCRIPT BRIDGES
89
+ - WebViews load only trusted origins.
90
+ - JavaScript bridges are disabled unless strictly required and origin-gated.
91
+ - File access, universal file URL access, mixed content, and arbitrary navigation are blocked.
92
+ - User-controlled input is never passed directly into evaluateJavaScript/loadUrl.
93
+
94
+ 9. LOGGING, ANALYTICS, AND PRIVACY
95
+ - No tokens, passwords, OTPs, PII, payment data, or health data in logs, crashes, analytics, breadcrumbs, or screenshots.
96
+ - Debug logging disabled in release.
97
+ - Privacy policy and app store data safety declarations match actual SDK/data behavior.
98
+ - Third-party SDKs are reviewed for data collection.
99
+
100
+ 10. DEPENDENCIES AND SUPPLY CHAIN
101
+ - Identify outdated, vulnerable, abandoned, or risky dependencies.
102
+ - Check dependency pinning, lockfiles, Gradle plugins, CocoaPods/SPM, npm packages, Flutter packages.
103
+ - Flag dynamic code loading, remote config executing logic, reflection/plugin loading risk.
104
+
105
+ 11. PLATFORM HARDENING
106
+ - Android: release debuggable false, minify/shrink where appropriate, signing config protected, exported components explicit, backup rules safe, network security config release-safe.
107
+ - iOS: ATS enabled, Keychain access groups correct, entitlements minimal, jailbreak-sensitive apps document protections, release builds do not enable debug menus.
108
+ - Flutter: native Android/iOS configs audited too, not only Dart.
109
+ - React Native: JS bundle secrets checked, dev menu disabled in release, native configs audited too.
110
+
111
+ 12. RELEASE GATE
112
+ - Map findings to OWASP Mobile Top 10 where possible.
113
+ - Assign severity: CRITICAL, HIGH, MEDIUM, LOW, INFO.
114
+ - Include exploit scenario and concrete fix.
115
+ - State what could not be verified from provided files.
116
+
117
+ Output exactly:
118
+
119
+ Table formatting rules:
120
+ - Output normal Markdown. Do not wrap the final report in a fenced code block.
121
+ - Keep every table cell short, ideally under 8 words.
122
+ - Do not put full paragraphs, logs, stack traces, secrets, or multi-sentence fixes inside table cells.
123
+ - Put long evidence, exploit scenarios, and fixes in `Finding Details`.
124
+ - Use stable IDs (`SEC-001`, `SEC-002`) to connect summary rows to detail sections.
125
+
126
+ MOBILE SECURITY AUDIT REPORT
127
+ ============================
128
+ Platform:
129
+ App Type:
130
+ Data Handled:
131
+ Result: PASS | FAIL | BLOCKED
132
+
133
+ Executive Summary:
134
+ - <short risk summary>
135
+
136
+ Findings Summary:
137
+ | ID | Severity | OWASP | Area | Evidence | Fix Summary |
138
+ |---|---|---|---|---|---|
139
+
140
+ Finding Details:
141
+ ### SEC-001 — <short title>
142
+ - Severity:
143
+ - OWASP:
144
+ - Area:
145
+ - Evidence:
146
+ - Exploit Scenario:
147
+ - Fix:
148
+ - Verification:
149
+
150
+ Security Checklist:
151
+ | Area | Status | Notes |
152
+ |---|---|---|
153
+ | Secrets | PASS/FAIL/UNKNOWN | |
154
+ | Storage | PASS/FAIL/UNKNOWN | |
155
+ | Network/TLS | PASS/FAIL/UNKNOWN | |
156
+ | Auth/Session | PASS/FAIL/UNKNOWN | |
157
+ | Authorization | PASS/FAIL/UNKNOWN | |
158
+ | Deep Links/IPC | PASS/FAIL/UNKNOWN | |
159
+ | WebView | PASS/FAIL/UNKNOWN | |
160
+ | Logging/Analytics | PASS/FAIL/UNKNOWN | |
161
+ | Dependencies | PASS/FAIL/UNKNOWN | |
162
+ | Platform Hardening | PASS/FAIL/UNKNOWN | |
163
+ | Privacy/Store Data Safety | PASS/FAIL/UNKNOWN | |
164
+
165
+ Files Needed For Complete Audit:
166
+ - <file or "None">
167
+
168
+ Release Gate:
169
+ PASS only if no CRITICAL or HIGH findings remain, and UNKNOWN items are either verified or explicitly risk-accepted.
170
+
171
+ Next Actions:
172
+ 1. <highest priority fix>
173
+ 2. <next fix>
174
+ 3. <next fix>
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Example
180
+
181
+ ### Input
182
+
183
+ ```text
184
+ COMMAND: /security-audit
185
+ PLATFORM: Android
186
+ APP_TYPE: consumer finance
187
+ DATA_HANDLED: auth tokens, payment history, email, phone
188
+ CODE_OR_FINDINGS:
189
+ - AndroidManifest has android:debuggable="true"
190
+ - network_security_config permits cleartextTrafficPermitted="true"
191
+ - TokenRepository stores auth_token in SharedPreferences
192
+ ```
193
+
194
+ ### Output
195
+
196
+ ```text
197
+ MOBILE SECURITY AUDIT REPORT
198
+ ============================
199
+ Platform: Android
200
+ App Type: consumer finance
201
+ Data Handled: auth tokens, payment history, email, phone
202
+ Result: FAIL
203
+
204
+ Executive Summary:
205
+ - Release is blocked by plaintext token storage, release debugging, and cleartext network policy.
206
+
207
+ Findings Summary:
208
+ | ID | Severity | OWASP | Area | Evidence | Fix Summary |
209
+ |---|---|---|---|---|---|
210
+ | SEC-001 | CRITICAL | M2 | Storage | Token in SharedPreferences | Use encrypted token storage |
211
+ | SEC-002 | CRITICAL | M8 | Platform Hardening | Release debuggable true | Disable release debugging |
212
+ | SEC-003 | HIGH | M3 | Network/TLS | Cleartext allowed | Disable cleartext in release |
213
+
214
+ Finding Details:
215
+ ### SEC-001 — Auth token stored in plaintext preferences
216
+ - Severity: CRITICAL
217
+ - OWASP: M2 Insecure Data Storage
218
+ - Area: Storage
219
+ - Evidence: `auth_token` is stored in `SharedPreferences`.
220
+ - Exploit Scenario: Device compromise, root access, or debug backup can expose session tokens.
221
+ - Fix: Store tokens in `EncryptedSharedPreferences` backed by Android Keystore.
222
+ - Verification: Confirm token writes use encrypted storage and logout clears the encrypted value.
223
+
224
+ ### SEC-002 — Release build is debuggable
225
+ - Severity: CRITICAL
226
+ - OWASP: M8 Security Misconfiguration
227
+ - Area: Platform Hardening
228
+ - Evidence: `android:debuggable="true"`.
229
+ - Exploit Scenario: Attackers can attach a debugger to the release app and inspect runtime state.
230
+ - Fix: Ensure release builds set `debuggable false` and remove debug-only menus.
231
+ - Verification: Inspect merged release manifest and release APK flags.
232
+
233
+ ### SEC-003 — Cleartext traffic allowed
234
+ - Severity: HIGH
235
+ - OWASP: M3 Insecure Communication
236
+ - Area: Network/TLS
237
+ - Evidence: `cleartextTrafficPermitted="true"`.
238
+ - Exploit Scenario: Traffic can be intercepted or modified on hostile networks.
239
+ - Fix: Disable cleartext in release network security config.
240
+ - Verification: Confirm release config blocks HTTP endpoints and test API calls over HTTPS only.
241
+
242
+ Security Checklist:
243
+ | Area | Status | Notes |
244
+ |---|---|---|
245
+ | Secrets | UNKNOWN | Gradle and CI files not provided |
246
+ | Storage | FAIL | Token stored in plaintext |
247
+ | Network/TLS | FAIL | Cleartext enabled |
248
+ | Auth/Session | UNKNOWN | Refresh/logout code not provided |
249
+ | Authorization | UNKNOWN | Server-side checks not provided |
250
+ | Deep Links/IPC | UNKNOWN | Manifest intent filters not fully provided |
251
+ | WebView | UNKNOWN | No WebView files provided |
252
+ | Logging/Analytics | UNKNOWN | Logging files not provided |
253
+ | Dependencies | UNKNOWN | Dependency lockfiles not provided |
254
+ | Platform Hardening | FAIL | Debuggable release |
255
+ | Privacy/Store Data Safety | UNKNOWN | Store declarations not provided |
256
+
257
+ Files Needed For Complete Audit:
258
+ - app/build.gradle
259
+ - AndroidManifest.xml
260
+ - network_security_config.xml
261
+ - TokenRepository
262
+ - dependency lockfile
263
+ - logging and analytics wrappers
264
+
265
+ Release Gate:
266
+ PASS only if no CRITICAL or HIGH findings remain, and UNKNOWN items are either verified or explicitly risk-accepted.
267
+
268
+ Next Actions:
269
+ 1. Move auth token storage to EncryptedSharedPreferences.
270
+ 2. Disable release debugging and cleartext traffic.
271
+ 3. Provide Gradle, manifest, dependency, auth, and logging files for full verification.
272
+ ```
273
+
274
+ ---
275
+
276
+ ## Usage Notes
277
+
278
+ - Use `/security-scan` for quick inline code review.
279
+ - Use `/security-audit` for app-wide release gates.
280
+ - Pair with SENTINEL or `agents/cross-platform/security-scanner/agent.md` when exploitability analysis and OWASP evidence need to be deeper.
281
+ - Inside MOBILE-HARNESS, run this before launch prep and whenever auth, payments, storage, deep links, or WebViews change.