Use when auditing mobile/native parity, release readiness, the native route inventory report, or platform-specific coverage gates across the Hussh app.
Recursos
2Instal·la
npx skillscat add hushh-labs/hushh-research/mobile-parity-audit Instal·la des del registre de SkillsCat.
SKILL.md
Hussh Mobile Parity Audit Skill
Purpose and Trigger
- Primary scope:
mobile-parity-audit - Trigger on parity audits, native release-readiness checks, and platform-specific coverage or regression review.
- Avoid overlap with
mobile-plugin-contractsandquality-contracts.
Coverage and Ownership
- Role:
spoke - Owner family:
mobile-native
Owned repo surfaces:
docs/reference/mobilehushh-webapp/scripts/nativehushh-webapp/ios/App/AppTestshushh-webapp/ios/App/AppUITests
Non-owned surfaces:
mobile-nativefrontendsecurity-audit
Do Use
- Auditing web/iOS/Android parity and platform-specific gaps.
- Running native release-readiness checks and reviewing native regression risk.
- Confirming documented parity expectations against the current app surface.
Do Not Use
- Implementing plugin contracts or native bridge details directly.
- Broad native intake when the actual subtype is still unclear.
- Generic test-strategy work outside the mobile family.
Read First
docs/reference/mobile/README.mddocs/reference/mobile/capacitor-parity-audit.mddocs/reference/mobile/capacitor-parity-audit-report.md
Workflow
- Start from the documented parity contract and then validate the live native surfaces.
- Keep findings tied to concrete platform gaps, not generic “mobile broken” summaries.
- Route implementation work back into plugin-contract or owner skills after the audit isolates the issue.
- For generated native route audit reports, treat
ok: trueas advisory until the observed status also provesready=1,found=1, and the observed marker equals the expected marker. A passed report with a missing marker is a blocker, not release evidence. - Before physical voice or route smoke, run the static native parity gate so missing microphone permission metadata, missing route-inventory entries, or unclassified legacy aliases fail before device work.
- Any route added to
ROUTESmust be classified innative-route-inventory.jsonin the same change. Nested route families that share one workspace may share a marker, but each canonical route still needs an explicit inventory row and static-export-safe fixture. - Keep destructive cold audits and non-destructive continuity rehearsals separate. Cold fixture evidence never proves an active memory-only vault or route survives background/resume.
- Start with static and host-native tests. A cold audit requires explicit authority, must terminate its test app on every host terminal path, and is never a default diagnosis command for a continuity failure.
- Before physical reviewer XCUI, read
references/physical-reviewer-preflight.md; distinguish transport, device unlock, automation authorization and vault admission before supplying credentials.
Handoff Rules
- If the request is still broad or ambiguous, route it back to
mobile-native. - If the audit isolates a plugin-contract issue, use
mobile-plugin-contracts. - If the problem is actually broader quality or trust validation, route to
quality-contractsorsecurity-audit.
Required Checks
cd hushh-webapp && npm run verify:capacitor:static
cd hushh-webapp && ./android/gradlew -p android :app:testDebugUnitTest --no-daemon
cd hushh-webapp && xcodebuild -project ios/App/App.xcodeproj -scheme App -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' -derivedDataPath ios/App/build/DerivedData build-for-testingRun npm run ios:cold:audit, npm run android:cold:audit, or the UI cold-audit
equivalent only when the task explicitly authorizes a reset. Runios:continuity:local or android:continuity:local only for an intentional
normal-session rehearsal. Keep agent-driven simulations headless. Use the explicit
visible opt-in only when the user requests a desktop window.