mobile-ai-agents 1.0.25 → 1.0.27
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/README.md +23 -5
- package/cli/index.js +1 -0
- package/docs/core-loops.md +3 -2
- package/docs/index.html +6 -2
- package/docs/mobile-mcp.md +2 -0
- package/docs/performance-loop.md +194 -0
- package/docs/wiki.md +103 -9
- package/package.json +1 -1
- package/workflows/device-proof-report.md +223 -0
- package/workflows/mobile-harness.md +3 -2
- package/workflows/mobile-mcp-qa.md +2 -0
- package/workflows/perf-sprint.md +2 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**The complete AI dev team for mobile engineers.**
|
|
4
4
|
|
|
5
|
-
19 personality-driven agents · 52 composable skills ·
|
|
5
|
+
19 personality-driven agents · 52 composable skills · 15 end-to-end workflows
|
|
6
6
|
Android · iOS · Flutter · React Native · Kotlin Multiplatform · Unity · Unreal
|
|
7
7
|
|
|
8
8
|
[](https://www.npmjs.com/package/mobile-ai-agents)
|
|
@@ -126,7 +126,7 @@ Platform Plugins: Android · iOS · Flutter · React Native · Kotlin Multiplatf
|
|
|
126
126
|
| Planning | Idea discovery, PRD, roadmap, task breakdown | `@APPFORGE`, `/grill-mobile`, `/feature-slice` |
|
|
127
127
|
| Architecture | System design, clean code, module boundaries, model separation | `@AXIOM`, `/clean-code-audit`, platform reviewers |
|
|
128
128
|
| Development | Feature implementation, UI build, refactor, code review | `@MOBILE-HARNESS`, `@FIGMA`, platform builders |
|
|
129
|
-
| Performance | Startup, ANR, memory leaks, frame drops, battery, network, app size | `@PERF`, `@FREEZE`, `@RETAINER`, `/perf-audit
|
|
129
|
+
| Performance | Startup, ANR, memory leaks, frame drops, battery, network, app size | `@PERF`, `@FREEZE`, `@RETAINER`, `/perf-audit`, [Performance Loop](docs/performance-loop.md) |
|
|
130
130
|
| Security | OWASP, secrets, auth, storage, deep links, WebView, permissions | `@SENTINEL`, `/security-audit`, `/security-scan` |
|
|
131
131
|
| Testing | Unit tests, UI tests, accessibility, PRD checks, device QA | `/mobile-mcp-qa`, TDD skills, accessibility audit |
|
|
132
132
|
| Release | CI/CD, signing, release notes, rollout, store checklist | `@PIPELINE`, `@SCRIBE`, `/release-prep` |
|
|
@@ -137,13 +137,15 @@ Security and performance are built into the loop before release. They are not op
|
|
|
137
137
|
|
|
138
138
|
Full guide: [docs/core-loops.md](docs/core-loops.md)
|
|
139
139
|
|
|
140
|
+
Performance guide: [docs/performance-loop.md](docs/performance-loop.md)
|
|
141
|
+
|
|
140
142
|
---
|
|
141
143
|
|
|
142
144
|
## See It In Action
|
|
143
145
|
|
|
144
146
|
`/mobile-harness` running Loop Engineering — one flow for planning, building, testing, UI verification, and release checks:
|
|
145
147
|
|
|
146
|
-
https://github.com/user-attachments/assets/
|
|
148
|
+
https://github.com/user-attachments/assets/c98d4468-d56d-41ce-b545-7d9fdc43e9d2
|
|
147
149
|
|
|
148
150
|
`/flutter-review` on a real Flutter project — prioritized findings, zero setup:
|
|
149
151
|
|
|
@@ -213,7 +215,7 @@ Not sure where to begin? Pick your situation:
|
|
|
213
215
|
|---|---|---|
|
|
214
216
|
| Platform knowledge | Generic | Android · iOS · Flutter · React Native · Unity · Unreal |
|
|
215
217
|
| Agent personalities | None | 19 named specialists with opinions |
|
|
216
|
-
| Real workflows | No |
|
|
218
|
+
| Real workflows | No | 15 end-to-end processes |
|
|
217
219
|
| Real examples | Toy pseudocode | Production code input/output pairs |
|
|
218
220
|
| Installable | Copy-paste | `npx mobile-ai-agents install` |
|
|
219
221
|
| Severity levels | None | CRITICAL · WARNING · INFO |
|
|
@@ -325,7 +327,7 @@ Not sure where to begin? Pick your situation:
|
|
|
325
327
|
|
|
326
328
|
## Workflows
|
|
327
329
|
|
|
328
|
-
|
|
330
|
+
15 end-to-end processes that chain agents and skills together.
|
|
329
331
|
|
|
330
332
|
| Workflow | What It Covers |
|
|
331
333
|
|---|---|
|
|
@@ -340,6 +342,7 @@ Not sure where to begin? Pick your situation:
|
|
|
340
342
|
| `new-project-setup` | /grill-mobile → architecture → CI → security baseline → test infrastructure |
|
|
341
343
|
| `mobile-memory-workflow` | Mobile Memory: restore context → capture decisions → generate `MOBILE_MEMORY.md` → hand off across AI tools |
|
|
342
344
|
| `issue-to-agent` | GitHub issue → classify → route to agents/skills → implementation and verification plan |
|
|
345
|
+
| `device-proof-report` | Mobile MCP evidence → screenshots, assertions, bugs, and pass/fail proof |
|
|
343
346
|
| `appforge-workflow` | App idea → PRD → design plan → tasks → implementation gates → QA → Play Store |
|
|
344
347
|
| `mobile-mcp-qa` | Install/launch app → inspect UI → run flows → capture screenshots → QA report |
|
|
345
348
|
| `mobile-harness` | Approved task → implementation → tests → UI match → Mobile MCP QA → report |
|
|
@@ -403,6 +406,21 @@ Mobile MCP gives Mobile AI Agents a device automation layer for iOS and Android
|
|
|
403
406
|
|
|
404
407
|
Use it inside APPFORGE Stage 7 Full QA, UI match review, launch readiness checks, and screenshot validation. Full guide: [docs/mobile-mcp.md](docs/mobile-mcp.md)
|
|
405
408
|
|
|
409
|
+
### Device Proof Reports
|
|
410
|
+
|
|
411
|
+
Use `device-proof-report` after `/mobile-mcp-qa` when you need evidence that survives beyond the chat. It turns Mobile MCP actions, screenshots, element snapshots, crashes/logs, accessibility notes, and assertions into `DEVICE_QA_REPORT.md`.
|
|
412
|
+
|
|
413
|
+
This helps teams prove that a build was installed, launched, tested on a named device, and checked against expected behavior. Use it for PR handoff, release gates, Mobile Harness reports, screenshot validation, and any bug fix where "works on my machine" is not enough.
|
|
414
|
+
|
|
415
|
+
```text
|
|
416
|
+
device-proof-report
|
|
417
|
+
1. Read Mobile MCP screenshots and actions
|
|
418
|
+
2. Record device, OS, app id, build, commit, and orientation
|
|
419
|
+
3. Map each PASS/FAIL/BLOCKED result to evidence
|
|
420
|
+
4. List crashes, accessibility notes, performance notes, and bugs
|
|
421
|
+
5. Produce DEVICE_QA_REPORT.md with next fixes
|
|
422
|
+
```
|
|
423
|
+
|
|
406
424
|
---
|
|
407
425
|
|
|
408
426
|
## Mobile Harness — Top-Level Orchestrator
|
package/cli/index.js
CHANGED
|
@@ -136,6 +136,7 @@ const WORKFLOWS = {
|
|
|
136
136
|
'perf-sprint': { file: 'workflows/perf-sprint.md' },
|
|
137
137
|
'mobile-memory-workflow': { file: 'workflows/mobile-memory-workflow.md' },
|
|
138
138
|
'issue-to-agent': { file: 'workflows/issue-to-agent.md' },
|
|
139
|
+
'device-proof-report': { file: 'workflows/device-proof-report.md' },
|
|
139
140
|
'appforge-workflow': { file: 'workflows/appforge-workflow.md' },
|
|
140
141
|
'mobile-mcp-qa': { file: 'workflows/mobile-mcp-qa.md' },
|
|
141
142
|
'mobile-harness': { file: 'workflows/mobile-harness.md' },
|
package/docs/core-loops.md
CHANGED
|
@@ -69,7 +69,7 @@ The user should not have to manually prompt every stage. The system should stop
|
|
|
69
69
|
| Planning | Turn rough ideas into PRDs, roadmaps, and task slices. | `@APPFORGE`, `/grill-mobile`, `/feature-slice` |
|
|
70
70
|
| Architecture | Review system design, module boundaries, model separation, and clean code. | `@AXIOM`, `/clean-code-audit`, platform reviewers |
|
|
71
71
|
| Development | Implement one feature slice at a time and keep code scoped. | `@MOBILE-HARNESS`, `@FIGMA`, screen builders, code reviewers |
|
|
72
|
-
| Performance | Find and fix startup, ANR, memory, frame, battery, network, and size issues. | `@PERF`, `@FREEZE`, `@RETAINER`, `/perf-audit`, `/anr-investigation
|
|
72
|
+
| Performance | Find and fix startup, ANR, memory, frame, battery, network, and size issues. | `@PERF`, `@FREEZE`, `@RETAINER`, `/perf-audit`, `/anr-investigation`, [Performance Loop](performance-loop.md) |
|
|
73
73
|
| Security | Audit OWASP risks, secrets, auth, storage, deep links, WebViews, permissions, logs, and release hardening. | `@SENTINEL`, `security-scanner`, `/security-audit`, `/security-scan` |
|
|
74
74
|
| Testing | Add unit/UI tests, run device QA, check accessibility, and verify PRD/design match. | TDD skills, `/prd-verification`, `/mobile-mcp-qa`, `/accessibility-audit` |
|
|
75
75
|
| Release | Prepare CI/CD, signing, release notes, rollout, and store submission. | `@PIPELINE`, `@SCRIBE`, `/release-prep` |
|
|
@@ -117,6 +117,8 @@ Evidence: Play Console ANR trace, startup code, device reproduction
|
|
|
117
117
|
Output: root cause, fix, verification plan, regression check
|
|
118
118
|
```
|
|
119
119
|
|
|
120
|
+
Full Performance Loop guide: [performance-loop.md](performance-loop.md)
|
|
121
|
+
|
|
120
122
|
## Marketing Position
|
|
121
123
|
|
|
122
124
|
Use this sentence when explaining the repo:
|
|
@@ -138,6 +140,5 @@ The model is intentionally ahead of the full implementation. The strongest next
|
|
|
138
140
|
- `/prd-verification` rollout into Mobile Harness and APPFORGE evidence gates
|
|
139
141
|
- Mobile Flight Recorder
|
|
140
142
|
- Device Proof Reports
|
|
141
|
-
- dedicated Performance Loop reports
|
|
142
143
|
- dedicated Security Audit Loop reports
|
|
143
144
|
- Kotlin Multiplatform plugin assets
|
package/docs/index.html
CHANGED
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
<div class="stats">
|
|
338
338
|
<div class="stat"><div class="stat-num">19</div><div class="stat-label">Agents</div></div>
|
|
339
339
|
<div class="stat"><div class="stat-num">35</div><div class="stat-label">Skills</div></div>
|
|
340
|
-
<div class="stat"><div class="stat-num">
|
|
340
|
+
<div class="stat"><div class="stat-num">15</div><div class="stat-label">Workflows</div></div>
|
|
341
341
|
<div class="stat"><div class="stat-num">7</div><div class="stat-label">Plugin Tracks</div></div>
|
|
342
342
|
</div>
|
|
343
343
|
</div>
|
|
@@ -549,7 +549,7 @@
|
|
|
549
549
|
<section id="workflows">
|
|
550
550
|
<div class="container">
|
|
551
551
|
<div class="section-label">Workflows</div>
|
|
552
|
-
<h2>
|
|
552
|
+
<h2>15 end-to-end processes.</h2>
|
|
553
553
|
<p class="section-sub">The differentiator. No other mobile AI toolkit has these — full sequences that chain agents and skills from ticket to store.</p>
|
|
554
554
|
|
|
555
555
|
<div class="workflow-list">
|
|
@@ -593,6 +593,10 @@
|
|
|
593
593
|
<div class="workflow-name">issue-to-agent</div>
|
|
594
594
|
<div class="workflow-desc">GitHub issue → classify → route to agents/skills → implementation and verification plan</div>
|
|
595
595
|
</div>
|
|
596
|
+
<div class="workflow-item">
|
|
597
|
+
<div class="workflow-name">device-proof-report</div>
|
|
598
|
+
<div class="workflow-desc">Mobile MCP evidence → screenshots, assertions, bugs, and pass/fail proof</div>
|
|
599
|
+
</div>
|
|
596
600
|
</div>
|
|
597
601
|
</div>
|
|
598
602
|
</section>
|
package/docs/mobile-mcp.md
CHANGED
|
@@ -155,6 +155,8 @@ For every important flow, save:
|
|
|
155
155
|
- Accessibility element list
|
|
156
156
|
- Bugs with exact repro steps
|
|
157
157
|
|
|
158
|
+
For auditable handoff, run the `device-proof-report` workflow after `/mobile-mcp-qa`. It produces `DEVICE_QA_REPORT.md` with build/install proof, screenshots, actions, assertions, crashes/logs, accessibility notes, pass/fail summary, and next fixes.
|
|
159
|
+
|
|
158
160
|
---
|
|
159
161
|
|
|
160
162
|
## Safety Rules
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Performance Loop
|
|
2
|
+
|
|
3
|
+
Performance is a first-class Mobile AI Agents loop. Use it when a mobile app is slow, janky, freezing, leaking memory, draining battery, using too much network, or growing too large.
|
|
4
|
+
|
|
5
|
+
The loop is evidence-first: measure the symptom, choose the right agent or skill, apply the smallest fix, re-measure, save the baseline, and monitor for regressions.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What It Covers
|
|
10
|
+
|
|
11
|
+
| Area | Symptoms | Best Starting Point |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Startup | Cold start, hot start, slow splash, app open delay | `@PERF`, `/perf-audit` |
|
|
14
|
+
| ANR | Frozen UI, input timeout, Play Console ANR | `@FREEZE`, `/anr-investigation` |
|
|
15
|
+
| Memory leaks | Retained Fragment/View/Activity, growing heap, OOM | `@RETAINER`, `/memory-leak-investigation` |
|
|
16
|
+
| Frame drops / jank | Slow scroll, dropped frames, animation stutter | `@PERF`, `/perf-audit`, platform reviewer |
|
|
17
|
+
| Battery | High CPU wakeups, background work, location abuse | `@PERF`, `/perf-audit` |
|
|
18
|
+
| Network | Chatty requests, large payloads, retry storms | `@PERF`, `/perf-audit` |
|
|
19
|
+
| Bundle / app size | Large APK/AAB/IPA, slow download, bloated assets | `@PERF`, `/perf-audit` |
|
|
20
|
+
| Slow screens | Heavy render, blocking IO, expensive lists | `@PERF`, `/perf-audit` |
|
|
21
|
+
| Regression monitoring | Performance gets worse after a PR or release | `perf-sprint`, Mobile Harness |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Agent And Skill Map
|
|
26
|
+
|
|
27
|
+
| Need | Agent Or Skill | Use It For |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| Broad performance diagnosis | `@PERF` | Find bottlenecks, prioritize fixes, define measurements |
|
|
30
|
+
| Android ANR investigation | `@FREEZE`, `/anr-investigation` | Thread, lock, binder, and timeout analysis |
|
|
31
|
+
| Android memory leak analysis | `@RETAINER`, `/memory-leak-investigation` | LeakCanary reference path and lifecycle ownership |
|
|
32
|
+
| Screen-level profiling | `/perf-audit` | Main thread, rendering, memory, list, and fix ranking |
|
|
33
|
+
| Compose UI jank | `/compose-review`, `compose-ui-reviewer` | Recomposition, LazyColumn keys, effects, state stability |
|
|
34
|
+
| Flutter rebuilds | `/flutter-review`, `@DART` | Widget rebuilds, state, layout, async handling |
|
|
35
|
+
| React Native re-renders | `performance-optimizer`, `/rn-performance`, `@BRIDGE` | React memoization, FlatList, bridge hot paths |
|
|
36
|
+
| Unity frame budget | `@FORGE`, `/game-perf` | Update loops, GC allocations, draw calls, physics |
|
|
37
|
+
| Device validation | `/mobile-mcp-qa`, `device-proof-report` | Verify performance-sensitive flows on a target device |
|
|
38
|
+
| Delivery orchestration | `@MOBILE-HARNESS`, `perf-sprint` | Run checks after implementation and save evidence |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Loop Steps
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
1. IDENTIFY SYMPTOM
|
|
46
|
+
-> Startup, ANR, memory leak, jank, battery, network, size, or slow screen.
|
|
47
|
+
|
|
48
|
+
2. COLLECT EVIDENCE
|
|
49
|
+
-> Device model, OS, app version, commit, user flow, baseline numbers, traces, screenshots, logs.
|
|
50
|
+
|
|
51
|
+
3. CHOOSE ROUTE
|
|
52
|
+
-> Select the smallest matching agent or skill from the map.
|
|
53
|
+
|
|
54
|
+
4. ANALYZE ROOT CAUSE
|
|
55
|
+
-> Name the hot function, blocked thread, retained owner, expensive render path, or oversized asset.
|
|
56
|
+
|
|
57
|
+
5. APPLY SMALLEST SAFE FIX
|
|
58
|
+
-> Change one bottleneck at a time so improvement can be attributed.
|
|
59
|
+
|
|
60
|
+
6. VERIFY WITH MEASUREMENTS
|
|
61
|
+
-> Re-run the same flow on the same target and compare before/after numbers.
|
|
62
|
+
|
|
63
|
+
7. SAVE PERFORMANCE BASELINE
|
|
64
|
+
-> Write `PERFORMANCE_AUDIT_REPORT.md` and store trace/screenshot links.
|
|
65
|
+
|
|
66
|
+
8. MONITOR REGRESSIONS
|
|
67
|
+
-> Add a test, CI threshold, release gate, or follow-up task when possible.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Evidence To Collect
|
|
73
|
+
|
|
74
|
+
| Platform | Evidence |
|
|
75
|
+
|---|---|
|
|
76
|
+
| Android | Play Console ANR cluster, `traces.txt`, Perfetto/Systrace, Android Studio Profiler, LeakCanary trace, APK Analyzer output, device model, API level |
|
|
77
|
+
| iOS | Instruments Time Profiler, Core Animation, Allocations/Leaks, MetricKit, Xcode Organizer reports, device model, iOS version |
|
|
78
|
+
| Flutter | Flutter DevTools Performance and Memory tabs, rebuild counts, timeline flame chart, package size output |
|
|
79
|
+
| React Native | React DevTools Profiler, Flipper Perf Monitor, Hermes profile, Metro bundle size, native traces |
|
|
80
|
+
| Unity | Unity Profiler, frame debugger, memory snapshot, draw call count, texture memory, target device |
|
|
81
|
+
| Unreal | Unreal Insights, stat unit, stat game, stat RHI, render thread timing, packaged build size |
|
|
82
|
+
|
|
83
|
+
If there is no baseline, the result is `BLOCKED` or `UNKNOWN`. Do not claim a performance fix without re-measuring.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Android Examples
|
|
88
|
+
|
|
89
|
+
### ANR During Startup
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
Symptom: Play Console reports "Input dispatching timed out" during app launch.
|
|
93
|
+
Evidence: ANR trace shows main thread blocked in RoomDatabase.query().
|
|
94
|
+
Route: @FREEZE + /anr-investigation.
|
|
95
|
+
Fix: Move startup database read to Dispatchers.IO and defer non-critical initialization.
|
|
96
|
+
Verify: Compare cold start time and confirm no main-thread DB query appears in trace.
|
|
97
|
+
Report: PERFORMANCE_AUDIT_REPORT.md with ANR cluster link, before/after startup time, and trace links.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Fragment Memory Leak
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
Symptom: Heap grows after opening and closing ProfileFragment.
|
|
104
|
+
Evidence: LeakCanary shows RecyclerView retaining ProfileAdapter, which retains Fragment views.
|
|
105
|
+
Route: @RETAINER + /memory-leak-investigation.
|
|
106
|
+
Fix: Clear RecyclerView adapter in onDestroyView() and remove view references from adapter callbacks.
|
|
107
|
+
Verify: Reopen/close ProfileFragment five times and confirm LeakCanary no longer reports retained Fragment.
|
|
108
|
+
Report: PERFORMANCE_AUDIT_REPORT.md with retained size before/after and LeakCanary evidence.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Cross-Platform Examples
|
|
114
|
+
|
|
115
|
+
| Platform | Symptom | Route | Verification |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
| iOS | Slow SwiftUI list scroll | `@PERF`, `@SWIFT`, `/ios-performance` | Instruments Core Animation frame times improve |
|
|
118
|
+
| Flutter | Product grid rebuilds every item | `@DART`, `/flutter-review`, `/perf-audit` | DevTools shows fewer rebuilds and frame times under 16ms |
|
|
119
|
+
| React Native | Feed drops frames on like button | `performance-optimizer`, `/rn-performance` | React Profiler shows fewer row renders |
|
|
120
|
+
| Unity | Mobile level spikes GC every few seconds | `@FORGE`, `/game-perf` | Unity Profiler shows no hot-path GC.Alloc spikes |
|
|
121
|
+
| Unreal | Blueprint Tick runs expensive logic | `@UNREAL`, `/game-perf` | Unreal Insights shows reduced game thread time |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Report Format
|
|
126
|
+
|
|
127
|
+
Create:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
PERFORMANCE_AUDIT_REPORT.md
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Use this deterministic format:
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
# Performance Audit Report
|
|
137
|
+
|
|
138
|
+
## Summary
|
|
139
|
+
Result: PASS | FAIL | BLOCKED
|
|
140
|
+
Platform:
|
|
141
|
+
Device:
|
|
142
|
+
OS Version:
|
|
143
|
+
App Version:
|
|
144
|
+
Commit:
|
|
145
|
+
Flow:
|
|
146
|
+
Performance Area: Startup | ANR | Memory | Frame | Battery | Network | Size | Slow Screen | Regression
|
|
147
|
+
|
|
148
|
+
## Baseline
|
|
149
|
+
| Metric | Before | Target | Evidence |
|
|
150
|
+
|---|---:|---:|---|
|
|
151
|
+
|
|
152
|
+
## Findings
|
|
153
|
+
| ID | Severity | Area | Evidence | Root Cause | Fix Summary |
|
|
154
|
+
|---|---|---|---|---|---|
|
|
155
|
+
|
|
156
|
+
## Finding Details
|
|
157
|
+
### PERF-001 - <short title>
|
|
158
|
+
- Severity:
|
|
159
|
+
- Area:
|
|
160
|
+
- Evidence:
|
|
161
|
+
- Root Cause:
|
|
162
|
+
- Fix:
|
|
163
|
+
- Verification:
|
|
164
|
+
- Regression Guard:
|
|
165
|
+
|
|
166
|
+
## Changes Made
|
|
167
|
+
| File | Change | Reason |
|
|
168
|
+
|---|---|---|
|
|
169
|
+
|
|
170
|
+
## Verification
|
|
171
|
+
| Metric | Before | After | Result | Evidence |
|
|
172
|
+
|---|---:|---:|---|---|
|
|
173
|
+
|
|
174
|
+
## Device Or Trace Evidence
|
|
175
|
+
- <trace, screenshot, profiler export, issue, or report link>
|
|
176
|
+
|
|
177
|
+
## Regression Monitoring
|
|
178
|
+
- <test, CI threshold, dashboard, alert, or follow-up issue>
|
|
179
|
+
|
|
180
|
+
## Next Actions
|
|
181
|
+
1. <highest priority next fix or "None">
|
|
182
|
+
2. <next fix or "None">
|
|
183
|
+
3. <next fix or "None">
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Pass/Fail Rules
|
|
189
|
+
|
|
190
|
+
- `PASS`: The measured bottleneck improved or meets target, and evidence is attached.
|
|
191
|
+
- `FAIL`: The bottleneck remains, got worse, or lacks a safe fix.
|
|
192
|
+
- `BLOCKED`: Required evidence, device, build, credentials, or profiler access is missing.
|
|
193
|
+
|
|
194
|
+
Performance work is complete only when the report includes before/after measurements and a regression monitoring decision.
|
package/docs/wiki.md
CHANGED
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
6. [Platform-by-Platform Agent Guide](#6-platform-by-platform-agent-guide)
|
|
15
15
|
7. [How Skills Work](#7-how-skills-work)
|
|
16
16
|
8. [How Prompts Work](#8-how-prompts-work)
|
|
17
|
-
9. [
|
|
18
|
-
10. [
|
|
19
|
-
11. [
|
|
20
|
-
12. [
|
|
17
|
+
9. [Device Proof Reports](#9-device-proof-reports)
|
|
18
|
+
10. [Input Format Reference](#10-input-format-reference)
|
|
19
|
+
11. [Output Format Reference](#11-output-format-reference)
|
|
20
|
+
12. [Contributing a New Agent](#12-contributing-a-new-agent)
|
|
21
|
+
13. [FAQ](#13-faq)
|
|
21
22
|
|
|
22
23
|
---
|
|
23
24
|
|
|
@@ -438,7 +439,61 @@ Prompts are one-shot — they don't require a system prompt, don't require a str
|
|
|
438
439
|
|
|
439
440
|
---
|
|
440
441
|
|
|
441
|
-
## 9.
|
|
442
|
+
## 9. Device Proof Reports
|
|
443
|
+
|
|
444
|
+
Device Proof Reports turn Mobile MCP QA evidence into a durable `DEVICE_QA_REPORT.md` file. Use them after `/mobile-mcp-qa` when you need to prove that a mobile build was installed, launched, tested, screenshotted, and verified on a named device, emulator, or simulator.
|
|
445
|
+
|
|
446
|
+
### What it helps with
|
|
447
|
+
|
|
448
|
+
- PR handoff: reviewers can see exact screenshots, actions, assertions, and failures.
|
|
449
|
+
- Release gates: teams can verify launch, core flows, restart, rotation, and edge cases before store submission.
|
|
450
|
+
- Bug fixes: every PASS or FAIL references evidence instead of relying on memory.
|
|
451
|
+
- Mobile Harness: `DEVICE_QA_REPORT.md` can be attached to `MOBILE_HARNESS_REPORT.md`.
|
|
452
|
+
- Future AI sessions: Mobile Memory can preserve device, build, screenshots, result, and next action.
|
|
453
|
+
|
|
454
|
+
### When to run it
|
|
455
|
+
|
|
456
|
+
Run `/mobile-mcp-qa` first to interact with the app and capture screenshots. Then run `device-proof-report` to package the evidence into a structured report.
|
|
457
|
+
|
|
458
|
+
```text
|
|
459
|
+
/mobile-mcp-qa
|
|
460
|
+
PLATFORM: Android
|
|
461
|
+
APP_ID: com.example.invoice
|
|
462
|
+
BUILD_PATH: app/build/outputs/apk/debug/app-debug.apk
|
|
463
|
+
FLOW:
|
|
464
|
+
1. Launch app.
|
|
465
|
+
2. Create invoice.
|
|
466
|
+
3. Restart app.
|
|
467
|
+
4. Confirm invoice persists.
|
|
468
|
+
|
|
469
|
+
device-proof-report
|
|
470
|
+
Use the Mobile MCP evidence from this QA pass and produce DEVICE_QA_REPORT.md.
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### What the report proves
|
|
474
|
+
|
|
475
|
+
`DEVICE_QA_REPORT.md` records:
|
|
476
|
+
|
|
477
|
+
- Device, OS version, orientation, app id, build, and commit
|
|
478
|
+
- Whether the build installed and launched
|
|
479
|
+
- Every action performed and the target used
|
|
480
|
+
- Assertions mapped to screenshot or UI evidence
|
|
481
|
+
- Screenshots and what each screenshot proves
|
|
482
|
+
- Crashes, logs, accessibility notes, and performance notes
|
|
483
|
+
- Issues found with severity, repro steps, and suggested fixes
|
|
484
|
+
- Pass/fail/blocked summary and next fixes
|
|
485
|
+
|
|
486
|
+
### Best practices
|
|
487
|
+
|
|
488
|
+
- Use stable screenshot filenames such as `01-home.png` and `04-after-restart.png`.
|
|
489
|
+
- Do not mark a result PASS unless it references evidence.
|
|
490
|
+
- For sensitive apps, use sandbox accounts and redact tokens, PII, payment data, and health data.
|
|
491
|
+
- For failed flows, include the exact repro step and expected behavior.
|
|
492
|
+
- After the report is created, save the result with `/mobile-memory-save`.
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
## 10. Input Format Reference
|
|
442
497
|
|
|
443
498
|
Most agents use a consistent key-value input format:
|
|
444
499
|
|
|
@@ -463,7 +518,7 @@ MULTI_LINE_FIELD:
|
|
|
463
518
|
|
|
464
519
|
---
|
|
465
520
|
|
|
466
|
-
##
|
|
521
|
+
## 11. Output Format Reference
|
|
467
522
|
|
|
468
523
|
### Code Review Agents (Android, iOS)
|
|
469
524
|
|
|
@@ -537,7 +592,46 @@ OVERALL VERDICT: PASS / NEEDS WORK / INACCESSIBLE
|
|
|
537
592
|
|
|
538
593
|
---
|
|
539
594
|
|
|
540
|
-
|
|
595
|
+
### Device Proof Report
|
|
596
|
+
|
|
597
|
+
```
|
|
598
|
+
# Device QA Report
|
|
599
|
+
|
|
600
|
+
## Summary
|
|
601
|
+
Result: PASS | FAIL | BLOCKED
|
|
602
|
+
Platform:
|
|
603
|
+
Device:
|
|
604
|
+
OS Version:
|
|
605
|
+
Orientation:
|
|
606
|
+
App ID:
|
|
607
|
+
Build:
|
|
608
|
+
Commit:
|
|
609
|
+
Flow:
|
|
610
|
+
|
|
611
|
+
## Build And Launch
|
|
612
|
+
| Check | Evidence | Result |
|
|
613
|
+
|---|---|---|
|
|
614
|
+
|
|
615
|
+
## Actions Performed
|
|
616
|
+
| Step | Action | Target | Evidence | Result |
|
|
617
|
+
|---|---|---|---|---|
|
|
618
|
+
|
|
619
|
+
## Assertions
|
|
620
|
+
| ID | Expected Behavior | Evidence | Result |
|
|
621
|
+
|---|---|---|---|
|
|
622
|
+
|
|
623
|
+
## Screenshots
|
|
624
|
+
| Screenshot | Screen | Proves |
|
|
625
|
+
|---|---|---|
|
|
626
|
+
|
|
627
|
+
## Issues Found
|
|
628
|
+
| ID | Severity | Screen | Issue | Repro Step | Suggested Fix |
|
|
629
|
+
|---|---|---|---|---|---|
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
|
|
634
|
+
## 12. Contributing a New Agent
|
|
541
635
|
|
|
542
636
|
### Before you start
|
|
543
637
|
|
|
@@ -584,7 +678,7 @@ An agent is accepted if:
|
|
|
584
678
|
|
|
585
679
|
---
|
|
586
680
|
|
|
587
|
-
##
|
|
681
|
+
## 13. FAQ
|
|
588
682
|
|
|
589
683
|
**Q: Which LLM works best?**
|
|
590
684
|
A: Claude Sonnet 4.6 and GPT-4o both produce high-quality structured output for all agents. Smaller models (GPT-4o-mini, Claude Haiku) work for simpler agents (prompts, skills) but may produce less consistent structured output for complex agents (BLoC Feature Builder, CI/CD Generator).
|
|
@@ -612,4 +706,4 @@ A: Yes. The repo is MIT licensed — free to use, modify, and incorporate into c
|
|
|
612
706
|
|
|
613
707
|
---
|
|
614
708
|
|
|
615
|
-
*Last updated: v1.0.
|
|
709
|
+
*Last updated: v1.0.25 — August 2026*
|
package/package.json
CHANGED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Workflow - Device Proof Report
|
|
2
|
+
|
|
3
|
+
**Type:** Device evidence and QA reporting
|
|
4
|
+
**Agents Used:** MOBILE-HARNESS, APPFORGE, AXIOM / SWIFT / DART / BRIDGE, CRASHER, PERF, Mobile Memory
|
|
5
|
+
**Skills Used:** /mobile-mcp-qa, /prd-verification, /accessibility-audit, /perf-audit, /mobile-memory-save
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
Use this workflow after a feature has been installed, launched, tested, screenshotted, and verified on an Android device/emulator or iOS device/simulator with Mobile MCP.
|
|
12
|
+
|
|
13
|
+
The goal is not just to say the app works. The goal is to produce portable proof that a reviewer, teammate, or future AI session can inspect.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Inputs
|
|
18
|
+
|
|
19
|
+
- Platform: Android or iOS
|
|
20
|
+
- Device name and OS version
|
|
21
|
+
- App package name or bundle ID
|
|
22
|
+
- Build path, build number, commit SHA, or release version
|
|
23
|
+
- User flow under test
|
|
24
|
+
- Expected behavior from PRD, design, task, or acceptance criteria
|
|
25
|
+
- Mobile MCP screenshots
|
|
26
|
+
- Mobile MCP UI element snapshots when available
|
|
27
|
+
- Actions performed through Mobile MCP
|
|
28
|
+
- Crash logs, console logs, or test output
|
|
29
|
+
- Accessibility and performance notes
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Evidence Rules
|
|
34
|
+
|
|
35
|
+
- Every PASS must reference evidence: screenshot, element snapshot, log, test output, or exact Mobile MCP action result.
|
|
36
|
+
- Every FAIL must include a reproducible step and the expected behavior.
|
|
37
|
+
- Every BLOCKED result must name the missing device, build, credential, app id, or artifact.
|
|
38
|
+
- Do not use screenshots as decoration. Each screenshot must prove a state, transition, or failure.
|
|
39
|
+
- Record package names, device names, OS versions, build identifiers, and orientation.
|
|
40
|
+
- For sensitive apps, use sandbox accounts and redact credentials, tokens, PII, payment data, and health data.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Steps
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
1. PREPARE
|
|
48
|
+
-> Read PRD, design, task, and expected flow.
|
|
49
|
+
-> Confirm app id, build, target device, and Mobile MCP availability.
|
|
50
|
+
|
|
51
|
+
2. INSTALL AND LAUNCH
|
|
52
|
+
-> Install the build when a build path is provided.
|
|
53
|
+
-> Launch the app by package name or bundle ID.
|
|
54
|
+
-> Capture initial screenshot and visible UI elements.
|
|
55
|
+
|
|
56
|
+
3. EXECUTE FLOW
|
|
57
|
+
-> Run each user action through Mobile MCP.
|
|
58
|
+
-> Capture evidence after major state changes.
|
|
59
|
+
-> Record exact action, target, result, and screenshot id.
|
|
60
|
+
|
|
61
|
+
4. VERIFY STATES
|
|
62
|
+
-> Compare visible UI, data, navigation, restart behavior, rotation, and edge cases against expected behavior.
|
|
63
|
+
-> Mark each assertion PASS, FAIL, or BLOCKED.
|
|
64
|
+
|
|
65
|
+
5. REVIEW QUALITY
|
|
66
|
+
-> Note crashes, logs, accessibility issues, layout issues, and obvious performance symptoms.
|
|
67
|
+
-> Escalate to CRASHER, /accessibility-audit, or /perf-audit when evidence shows a deeper issue.
|
|
68
|
+
|
|
69
|
+
6. WRITE REPORT
|
|
70
|
+
-> Produce DEVICE_QA_REPORT.md using the deterministic format below.
|
|
71
|
+
-> Attach or reference screenshots by stable filename.
|
|
72
|
+
|
|
73
|
+
7. SAVE CONTEXT
|
|
74
|
+
-> Run /mobile-memory-save or update MOBILE_MEMORY.md with device, build, result, and next action.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Output
|
|
80
|
+
|
|
81
|
+
Create:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
DEVICE_QA_REPORT.md
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Format:
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
# Device QA Report
|
|
91
|
+
|
|
92
|
+
## Summary
|
|
93
|
+
Result: PASS | FAIL | BLOCKED
|
|
94
|
+
Platform:
|
|
95
|
+
Device:
|
|
96
|
+
OS Version:
|
|
97
|
+
Orientation:
|
|
98
|
+
App ID:
|
|
99
|
+
Build:
|
|
100
|
+
Commit:
|
|
101
|
+
Flow:
|
|
102
|
+
|
|
103
|
+
## Build And Launch
|
|
104
|
+
| Check | Evidence | Result |
|
|
105
|
+
|---|---|---|
|
|
106
|
+
| Build installed | <path/version> | PASS/FAIL/BLOCKED |
|
|
107
|
+
| App launched | <screenshot id> | PASS/FAIL/BLOCKED |
|
|
108
|
+
| Initial screen visible | <screenshot id> | PASS/FAIL/BLOCKED |
|
|
109
|
+
|
|
110
|
+
## Actions Performed
|
|
111
|
+
| Step | Action | Target | Evidence | Result |
|
|
112
|
+
|---|---|---|---|---|
|
|
113
|
+
|
|
114
|
+
## Assertions
|
|
115
|
+
| ID | Expected Behavior | Evidence | Result |
|
|
116
|
+
|---|---|---|---|
|
|
117
|
+
|
|
118
|
+
## Screenshots
|
|
119
|
+
| Screenshot | Screen | Proves |
|
|
120
|
+
|---|---|---|
|
|
121
|
+
|
|
122
|
+
## Crashes And Logs
|
|
123
|
+
- <crash/log finding or "None">
|
|
124
|
+
|
|
125
|
+
## Accessibility Notes
|
|
126
|
+
- <finding or "None">
|
|
127
|
+
|
|
128
|
+
## Performance Notes
|
|
129
|
+
- <finding or "None">
|
|
130
|
+
|
|
131
|
+
## Issues Found
|
|
132
|
+
| ID | Severity | Screen | Issue | Repro Step | Suggested Fix |
|
|
133
|
+
|---|---|---|---|---|---|
|
|
134
|
+
|
|
135
|
+
## Pass/Fail Summary
|
|
136
|
+
- Passed:
|
|
137
|
+
- Failed:
|
|
138
|
+
- Blocked:
|
|
139
|
+
|
|
140
|
+
## Next Fixes
|
|
141
|
+
1. <highest priority fix or "None">
|
|
142
|
+
2. <next fix or "None">
|
|
143
|
+
3. <next fix or "None">
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Example
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
# Device QA Report
|
|
152
|
+
|
|
153
|
+
## Summary
|
|
154
|
+
Result: FAIL
|
|
155
|
+
Platform: Android
|
|
156
|
+
Device: Pixel_7_API_35
|
|
157
|
+
OS Version: Android 15
|
|
158
|
+
Orientation: Portrait
|
|
159
|
+
App ID: com.example.invoice
|
|
160
|
+
Build: app-debug.apk
|
|
161
|
+
Commit: 7f31abc
|
|
162
|
+
Flow: Create invoice and verify restart persistence
|
|
163
|
+
|
|
164
|
+
## Build And Launch
|
|
165
|
+
| Check | Evidence | Result |
|
|
166
|
+
|---|---|---|
|
|
167
|
+
| Build installed | app-debug.apk | PASS |
|
|
168
|
+
| App launched | screenshots/01-home-empty.png | PASS |
|
|
169
|
+
| Initial screen visible | Home dashboard | PASS |
|
|
170
|
+
|
|
171
|
+
## Actions Performed
|
|
172
|
+
| Step | Action | Target | Evidence | Result |
|
|
173
|
+
|---|---|---|---|---|
|
|
174
|
+
| 1 | Tap | Add Invoice | screenshots/02-add-invoice.png | PASS |
|
|
175
|
+
| 2 | Type | Client field | screenshots/03-form-filled.png | PASS |
|
|
176
|
+
| 3 | Tap | Save | screenshots/04-dashboard-saved.png | PASS |
|
|
177
|
+
| 4 | Relaunch | App process | screenshots/05-dashboard-restart.png | FAIL |
|
|
178
|
+
|
|
179
|
+
## Assertions
|
|
180
|
+
| ID | Expected Behavior | Evidence | Result |
|
|
181
|
+
|---|---|---|---|
|
|
182
|
+
| QA-001 | Invoice appears after save | screenshots/04-dashboard-saved.png | PASS |
|
|
183
|
+
| QA-002 | Invoice persists after restart | screenshots/05-dashboard-restart.png | FAIL |
|
|
184
|
+
|
|
185
|
+
## Screenshots
|
|
186
|
+
| Screenshot | Screen | Proves |
|
|
187
|
+
|---|---|---|
|
|
188
|
+
| screenshots/01-home-empty.png | Dashboard | App launches |
|
|
189
|
+
| screenshots/04-dashboard-saved.png | Dashboard | Invoice saved |
|
|
190
|
+
| screenshots/05-dashboard-restart.png | Dashboard | Persistence fails |
|
|
191
|
+
|
|
192
|
+
## Crashes And Logs
|
|
193
|
+
- None.
|
|
194
|
+
|
|
195
|
+
## Accessibility Notes
|
|
196
|
+
- Amount field should describe expected currency format.
|
|
197
|
+
|
|
198
|
+
## Performance Notes
|
|
199
|
+
- No visible launch delay during this pass.
|
|
200
|
+
|
|
201
|
+
## Issues Found
|
|
202
|
+
| ID | Severity | Screen | Issue | Repro Step | Suggested Fix |
|
|
203
|
+
|---|---|---|---|---|---|
|
|
204
|
+
| QA-BUG-001 | CRITICAL | Dashboard | Invoice disappears after restart | Save invoice, relaunch app | Await local database write before navigation |
|
|
205
|
+
|
|
206
|
+
## Pass/Fail Summary
|
|
207
|
+
- Passed: Install, launch, create invoice, save invoice.
|
|
208
|
+
- Failed: Restart persistence.
|
|
209
|
+
- Blocked: None.
|
|
210
|
+
|
|
211
|
+
## Next Fixes
|
|
212
|
+
1. Fix invoice persistence after app restart.
|
|
213
|
+
2. Add a restart persistence regression test.
|
|
214
|
+
3. Rerun this Device Proof Report.
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Mobile Harness Integration
|
|
220
|
+
|
|
221
|
+
Use this after `/mobile-mcp-qa` inside MOBILE-HARNESS when the user needs auditable evidence for a task, release gate, screenshot review, or handoff.
|
|
222
|
+
|
|
223
|
+
For each completed task, attach `DEVICE_QA_REPORT.md` to `MOBILE_HARNESS_REPORT.md` and reference the exact screenshots used as proof.
|
|
@@ -209,8 +209,9 @@ For each task:
|
|
|
209
209
|
10. Verify behavior against `PRD.md`.
|
|
210
210
|
11. Verify UI against design.
|
|
211
211
|
12. Run `/mobile-mcp-qa` if device automation is available.
|
|
212
|
-
13.
|
|
213
|
-
14.
|
|
212
|
+
13. Produce `DEVICE_QA_REPORT.md` with the `device-proof-report` workflow when screenshots or device proof are required.
|
|
213
|
+
14. Write `MOBILE_HARNESS_REPORT.md`.
|
|
214
|
+
15. Update `MOBILE_MEMORY.md`.
|
|
214
215
|
|
|
215
216
|
After a task passes, continue to the next safe task automatically when the user has approved autonomous execution for the project. Stop only at human gates defined in the Autonomy Contract.
|
|
216
217
|
|
package/workflows/perf-sprint.md
CHANGED
|
@@ -44,6 +44,7 @@ When users are reporting slow performance, or before a major release as a perfor
|
|
|
44
44
|
↓ Document: before numbers, after numbers, what changed.
|
|
45
45
|
|
|
46
46
|
6. DOCUMENT
|
|
47
|
+
↓ Write PERFORMANCE_AUDIT_REPORT.md.
|
|
47
48
|
↓ Add before/after screenshots to PR description.
|
|
48
49
|
↓ Link to profiler traces in the PR.
|
|
49
50
|
↓ Add a performance test or threshold to CI so it doesn't regress.
|
|
@@ -75,4 +76,5 @@ When users are reporting slow performance, or before a major release as a perfor
|
|
|
75
76
|
|
|
76
77
|
- Measured baseline vs. improved numbers
|
|
77
78
|
- Code changes with documented performance rationale
|
|
79
|
+
- `PERFORMANCE_AUDIT_REPORT.md`
|
|
78
80
|
- Performance CI gate to prevent regression
|