@leejungkiin/awkit 1.7.1 → 1.7.4

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 (245) hide show
  1. package/bin/awk.js +576 -84
  2. package/core/CLAUDE.md +1 -1
  3. package/core/GEMINI.md +148 -167
  4. package/core/GEMINI.md.bak +149 -116
  5. package/core/skill-runtime-manifest.json +3 -0
  6. package/docs/Claude Fable 5.md +3826 -0
  7. package/docs/android_kotlin_system_instruction.md +210 -0
  8. package/docs/brainstorm_ponytail_integration.md +146 -0
  9. package/docs/brainstorm_smart_setup.md +113 -0
  10. package/docs/deep-research-report (1).md +293 -0
  11. package/docs/history/GEMINI.v1.md +135 -0
  12. package/docs/history/brainstorm_antigravity_unified_architecture.v1.md +105 -0
  13. package/docs/history/implementation_plan.v1.md +58 -0
  14. package/package.json +4 -1
  15. package/scripts/artifact-storage.js +130 -0
  16. package/scripts/automation-gate.js +35 -2
  17. package/scripts/claude-plan.js +76 -0
  18. package/scripts/dependency-manager.js +210 -0
  19. package/scripts/exec-rtk.js +11 -5
  20. package/scripts/i18n-helper.js +381 -0
  21. package/scripts/multi-model-pipeline.js +144 -0
  22. package/skill-packs/mobile-ios/pack.json +4 -2
  23. package/skill-packs/reverse-engineering/pack.json +1 -0
  24. package/skills/CATALOG.md +20 -0
  25. package/skills/GEMINI.md +9 -1
  26. package/skills/TRIGGER_INDEX.md +10 -0
  27. package/skills/ai-music/SKILL.md +275 -0
  28. package/skills/android-re-analyzer/SKILL.md +238 -0
  29. package/skills/android-re-analyzer/references/api-extraction-patterns.md +119 -0
  30. package/skills/android-re-analyzer/references/call-flow-analysis.md +176 -0
  31. package/skills/android-re-analyzer/references/fernflower-usage.md +115 -0
  32. package/skills/android-re-analyzer/references/jadx-usage.md +116 -0
  33. package/skills/android-re-analyzer/references/setup-guide.md +221 -0
  34. package/skills/android-re-analyzer/scripts/check-deps.sh +129 -0
  35. package/skills/android-re-analyzer/scripts/decompile.sh +375 -0
  36. package/skills/android-re-analyzer/scripts/find-api-calls.sh +118 -0
  37. package/skills/android-re-analyzer/scripts/install-dep.sh +448 -0
  38. package/skills/animal-island-ui-style/SKILL.md +1450 -0
  39. package/skills/app-store-review-agent/SKILL.md +164 -0
  40. package/skills/app-store-review-agent/references/guidelines/README.md +154 -0
  41. package/skills/app-store-review-agent/references/guidelines/by-app-type/ai_apps.md +37 -0
  42. package/skills/app-store-review-agent/references/guidelines/by-app-type/all_apps.md +50 -0
  43. package/skills/app-store-review-agent/references/guidelines/by-app-type/crypto_finance.md +31 -0
  44. package/skills/app-store-review-agent/references/guidelines/by-app-type/games.md +31 -0
  45. package/skills/app-store-review-agent/references/guidelines/by-app-type/health_fitness.md +31 -0
  46. package/skills/app-store-review-agent/references/guidelines/by-app-type/kids.md +27 -0
  47. package/skills/app-store-review-agent/references/guidelines/by-app-type/macos.md +38 -0
  48. package/skills/app-store-review-agent/references/guidelines/by-app-type/social_ugc.md +32 -0
  49. package/skills/app-store-review-agent/references/guidelines/by-app-type/subscription_iap.md +34 -0
  50. package/skills/app-store-review-agent/references/guidelines/by-app-type/vpn.md +18 -0
  51. package/skills/app-store-review-agent/references/rules/design/minimum_functionality.md +96 -0
  52. package/skills/app-store-review-agent/references/rules/design/sign_in_with_apple.md +54 -0
  53. package/skills/app-store-review-agent/references/rules/entitlements/unused_entitlements.md +83 -0
  54. package/skills/app-store-review-agent/references/rules/metadata/accurate_metadata.md +54 -0
  55. package/skills/app-store-review-agent/references/rules/metadata/apple_trademark.md +99 -0
  56. package/skills/app-store-review-agent/references/rules/metadata/china_storefront.md +72 -0
  57. package/skills/app-store-review-agent/references/rules/metadata/competitor_terms.md +56 -0
  58. package/skills/app-store-review-agent/references/rules/metadata/subscription_metadata.md +81 -0
  59. package/skills/app-store-review-agent/references/rules/privacy/privacy_manifest.md +84 -0
  60. package/skills/app-store-review-agent/references/rules/privacy/unnecessary_data.md +60 -0
  61. package/skills/app-store-review-agent/references/rules/subscription/misleading_pricing.md +63 -0
  62. package/skills/app-store-review-agent/references/rules/subscription/missing_tos_pp.md +54 -0
  63. package/skills/awf-ponytail/SKILL.md +91 -0
  64. package/skills/awf-ponytail-review/SKILL.md +67 -0
  65. package/skills/awf-session-restore/SKILL.md +3 -3
  66. package/skills/brainstorm-agent/SKILL.md +11 -2
  67. package/skills/brainstorm-agent/templates/brief-template.md +8 -0
  68. package/skills/claude-planner/SKILL.md +47 -0
  69. package/skills/code-review/SKILL.md +87 -0
  70. package/skills/expo-game-development/SKILL.md +163 -0
  71. package/skills/flutter/LICENSE.txt +202 -0
  72. package/skills/flutter/SKILL.md +127 -0
  73. package/skills/flutter-project-creater/LICENSE.txt +202 -0
  74. package/skills/flutter-project-creater/SKILL.md +106 -0
  75. package/skills/game-developer/SKILL.md +163 -0
  76. package/skills/game-developer/references/ecs-patterns.md +501 -0
  77. package/skills/game-developer/references/multiplayer-networking.md +475 -0
  78. package/skills/game-developer/references/performance-optimization.md +422 -0
  79. package/skills/game-developer/references/unity-patterns.md +271 -0
  80. package/skills/game-developer/references/unreal-cpp.md +352 -0
  81. package/skills/generate-gui-assets/SKILL.md +305 -0
  82. package/skills/generate-gui-assets/agents/openai.yaml +4 -0
  83. package/skills/generate-gui-assets/references/catalog-schema.md +58 -0
  84. package/skills/generate-gui-assets/references/extraction-techniques.md +21 -0
  85. package/skills/generate-gui-assets/references/prompt-patterns.md +58 -0
  86. package/skills/generate-gui-assets/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
  87. package/skills/generate-gui-assets/scripts/build_gui_contact_sheet.py +51 -0
  88. package/skills/generate-gui-assets/scripts/clean_chroma_edges.py +262 -0
  89. package/skills/generate-gui-assets/scripts/copy_approved_icons.py +64 -0
  90. package/skills/generate-gui-assets/scripts/prepare_gui_asset_run.py +91 -0
  91. package/skills/generate-gui-assets/scripts/suggest_grid_options.py +63 -0
  92. package/skills/generate-gui-assets/scripts/validate_gui_catalog.py +50 -0
  93. package/skills/godot-game-development/SKILL.md +142 -0
  94. package/skills/hatch-pet/LICENSE.txt +201 -0
  95. package/skills/hatch-pet/SKILL.md +420 -0
  96. package/skills/hatch-pet/agents/openai.yaml +4 -0
  97. package/skills/hatch-pet/references/animation-rows.md +29 -0
  98. package/skills/hatch-pet/references/codex-pet-contract.md +35 -0
  99. package/skills/hatch-pet/references/qa-rubric.md +60 -0
  100. package/skills/hatch-pet/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
  101. package/skills/hatch-pet/scripts/clean_chroma_edges.py +262 -0
  102. package/skills/hatch-pet/scripts/compose_atlas.py +150 -0
  103. package/skills/hatch-pet/scripts/derive_running_left_from_running_right.py +143 -0
  104. package/skills/hatch-pet/scripts/extract_strip_frames.py +323 -0
  105. package/skills/hatch-pet/scripts/finalize_pet_run.py +382 -0
  106. package/skills/hatch-pet/scripts/generate_pet_images.py +287 -0
  107. package/skills/hatch-pet/scripts/inspect_frames.py +246 -0
  108. package/skills/hatch-pet/scripts/make_contact_sheet.py +96 -0
  109. package/skills/hatch-pet/scripts/package_custom_pet.py +108 -0
  110. package/skills/hatch-pet/scripts/pet_job_status.py +117 -0
  111. package/skills/hatch-pet/scripts/prepare_pet_run.py +673 -0
  112. package/skills/hatch-pet/scripts/queue_pet_repairs.py +172 -0
  113. package/skills/hatch-pet/scripts/record_imagegen_result.py +250 -0
  114. package/skills/hatch-pet/scripts/render_animation_videos.py +134 -0
  115. package/skills/hatch-pet/scripts/render_animation_videos.sh +5 -0
  116. package/skills/hatch-pet/scripts/validate_atlas.py +139 -0
  117. package/skills/i18n-orchestrator/SKILL.md +37 -0
  118. package/skills/ios-simulator-skill/SKILL.md +390 -0
  119. package/skills/ios-simulator-skill/scripts/accessibility_audit.py +300 -0
  120. package/skills/ios-simulator-skill/scripts/app_launcher.py +326 -0
  121. package/skills/ios-simulator-skill/scripts/app_state_capture.py +400 -0
  122. package/skills/ios-simulator-skill/scripts/appearance.py +385 -0
  123. package/skills/ios-simulator-skill/scripts/build_and_test.py +348 -0
  124. package/skills/ios-simulator-skill/scripts/clipboard.py +103 -0
  125. package/skills/ios-simulator-skill/scripts/common/__init__.py +61 -0
  126. package/skills/ios-simulator-skill/scripts/common/cache_utils.py +289 -0
  127. package/skills/ios-simulator-skill/scripts/common/device_utils.py +462 -0
  128. package/skills/ios-simulator-skill/scripts/common/env_config.py +35 -0
  129. package/skills/ios-simulator-skill/scripts/common/hang_pipeline.py +862 -0
  130. package/skills/ios-simulator-skill/scripts/common/hang_sessions.py +490 -0
  131. package/skills/ios-simulator-skill/scripts/common/idb_utils.py +180 -0
  132. package/skills/ios-simulator-skill/scripts/common/screenshot_utils.py +338 -0
  133. package/skills/ios-simulator-skill/scripts/container.py +668 -0
  134. package/skills/ios-simulator-skill/scripts/gesture.py +394 -0
  135. package/skills/ios-simulator-skill/scripts/hang_watcher.py +1533 -0
  136. package/skills/ios-simulator-skill/scripts/keyboard.py +391 -0
  137. package/skills/ios-simulator-skill/scripts/localization_audit.py +483 -0
  138. package/skills/ios-simulator-skill/scripts/location.py +467 -0
  139. package/skills/ios-simulator-skill/scripts/log_monitor.py +493 -0
  140. package/skills/ios-simulator-skill/scripts/model_inspector.py +645 -0
  141. package/skills/ios-simulator-skill/scripts/navigator.py +461 -0
  142. package/skills/ios-simulator-skill/scripts/privacy_manager.py +310 -0
  143. package/skills/ios-simulator-skill/scripts/push_notification.py +240 -0
  144. package/skills/ios-simulator-skill/scripts/screen_mapper.py +296 -0
  145. package/skills/ios-simulator-skill/scripts/sim_health_check.sh +245 -0
  146. package/skills/ios-simulator-skill/scripts/sim_list.py +299 -0
  147. package/skills/ios-simulator-skill/scripts/simctl_boot.py +312 -0
  148. package/skills/ios-simulator-skill/scripts/simctl_create.py +316 -0
  149. package/skills/ios-simulator-skill/scripts/simctl_delete.py +357 -0
  150. package/skills/ios-simulator-skill/scripts/simctl_erase.py +351 -0
  151. package/skills/ios-simulator-skill/scripts/simctl_shutdown.py +290 -0
  152. package/skills/ios-simulator-skill/scripts/simulator_selector.py +375 -0
  153. package/skills/ios-simulator-skill/scripts/status_bar.py +250 -0
  154. package/skills/ios-simulator-skill/scripts/test_recorder.py +323 -0
  155. package/skills/ios-simulator-skill/scripts/visual_diff.py +235 -0
  156. package/skills/ios-simulator-skill/scripts/xcode/__init__.py +13 -0
  157. package/skills/ios-simulator-skill/scripts/xcode/builder.py +397 -0
  158. package/skills/ios-simulator-skill/scripts/xcode/cache.py +204 -0
  159. package/skills/ios-simulator-skill/scripts/xcode/config.py +178 -0
  160. package/skills/ios-simulator-skill/scripts/xcode/reporter.py +343 -0
  161. package/skills/ios-simulator-skill/scripts/xcode/xcresult.py +451 -0
  162. package/skills/ios-visual-qa-strategist/SKILL.md +111 -0
  163. package/skills/ios-visual-qa-strategist/agents/openai.yaml +4 -0
  164. package/skills/ios-visual-qa-strategist/references/ios-tool-selection.md +61 -0
  165. package/skills/ios-visual-qa-strategist/references/minimal-capture-policy.md +56 -0
  166. package/skills/ios-visual-qa-strategist/references/visual-reasoning-heuristics.md +53 -0
  167. package/skills/orchestrator/SKILL.md +0 -20
  168. package/skills/persistent-storage/SKILL.md +55 -0
  169. package/skills/short-maker/SKILL.md +23 -0
  170. package/skills/short-maker/scripts/effects.js +56 -0
  171. package/skills/short-maker/scripts/shortmaker-bridge.js +332 -0
  172. package/skills/short-maker/scripts/videomix.js +601 -0
  173. package/skills/short-maker/templates/hyperframes/cinematic-character.template.html +172 -0
  174. package/skills/short-maker/templates/hyperframes/index.template.html +194 -0
  175. package/skills/smali-to-kotlin/SKILL.md +128 -0
  176. package/skills/smali-to-kotlin/examples/getting-started/tech-stack.md +58 -0
  177. package/skills/smali-to-kotlin/examples/pipeline/data-ui-parity.md +118 -0
  178. package/skills/smali-to-kotlin/examples/pipeline/scanner-and-bootstrap.md +106 -0
  179. package/skills/smali-to-kotlin/library-patterns.md +189 -0
  180. package/skills/smali-to-kotlin/phase-0-discovery.md +128 -0
  181. package/skills/smali-to-kotlin/phase-1-architecture.md +166 -0
  182. package/skills/smali-to-kotlin/phase-2-blueprint-ui.md +347 -0
  183. package/skills/smali-to-kotlin/phase-2-blueprint.md +228 -0
  184. package/skills/smali-to-kotlin/phase-3-build.md +248 -0
  185. package/skills/smali-to-kotlin/phase-3-logic-build.md +268 -0
  186. package/skills/smali-to-kotlin/smali-reading-guide.md +310 -0
  187. package/skills/smali-to-kotlin/templates/app-map.md +101 -0
  188. package/skills/smali-to-kotlin/templates/architecture.md +142 -0
  189. package/skills/smali-to-kotlin/templates/blueprint.md +145 -0
  190. package/skills/spec-gate/SKILL.md +6 -2
  191. package/skills/symphony-enforcer/SKILL.md +8 -0
  192. package/skills/symphony-enforcer/examples/mindful-stop.md +2 -0
  193. package/skills/symphony-enforcer/examples/three-phase.md +16 -0
  194. package/skills/symphony-enforcer/examples/trigger-points.md +7 -1
  195. package/skills/unity-game-development/SKILL.md +231 -0
  196. package/skills/video-edit/SKILL.md +36 -0
  197. package/skills/video-edit/scripts/video_edit.py +324 -0
  198. package/templates/project-identity/android.json +2 -2
  199. package/templates/project-identity/backend-nestjs.json +2 -2
  200. package/templates/project-identity/expo.json +2 -2
  201. package/templates/project-identity/ios.json +2 -2
  202. package/templates/project-identity/web-nextjs.json +2 -2
  203. package/templates/setup-mapping.json +48 -0
  204. package/templates/specs/design-template.md +161 -71
  205. package/templates/specs/requirements-template.md +65 -133
  206. package/templates/specs/task-spec-template.xml +3 -0
  207. package/workflows/_uncategorized/critic.md +40 -0
  208. package/workflows/_uncategorized/git-rebase-flow.md +81 -0
  209. package/workflows/_uncategorized/image-gen.md +118 -0
  210. package/workflows/_uncategorized/multi-model-pipeline.md +60 -0
  211. package/workflows/_uncategorized/pixel-gen.md +86 -0
  212. package/workflows/_uncategorized/pixel-setup.md +90 -0
  213. package/workflows/_uncategorized/ponytail-review.md +59 -0
  214. package/workflows/_uncategorized/reverse-android-build.md +222 -0
  215. package/workflows/_uncategorized/reverse-android-design.md +139 -0
  216. package/workflows/_uncategorized/reverse-android-discover.md +150 -0
  217. package/workflows/_uncategorized/reverse-android-scan.md +158 -0
  218. package/workflows/_uncategorized/reverse-android.md +143 -0
  219. package/workflows/_uncategorized/reverse-ios-build.md +240 -0
  220. package/workflows/_uncategorized/reverse-ios-design.md +112 -0
  221. package/workflows/_uncategorized/reverse-ios-discover.md +120 -0
  222. package/workflows/_uncategorized/reverse-ios-scan.md +155 -0
  223. package/workflows/_uncategorized/reverse-ios.md +152 -0
  224. package/workflows/_uncategorized/safety-router.md +34 -0
  225. package/workflows/_uncategorized/teach.md +89 -0
  226. package/workflows/_uncategorized/verify-ui.md +53 -0
  227. package/workflows/_uncategorized/visualize-screenshots.md +34 -0
  228. package/workflows/ads/ads-analyst.md +201 -0
  229. package/workflows/ads/ads-audit.md +106 -0
  230. package/workflows/ads/ads-optimize.md +97 -0
  231. package/workflows/ads/ads-targeting.md +241 -0
  232. package/workflows/ads/adsExpert.md +160 -0
  233. package/workflows/ads/smali-ads-config.md +400 -0
  234. package/workflows/ads/smali-ads-flow.md +331 -0
  235. package/workflows/ads/smali-ads-interstitial.md +377 -0
  236. package/workflows/ads/smali-ads-native.md +382 -0
  237. package/workflows/context/teach.md +89 -0
  238. package/workflows/gitnexus.md +8 -8
  239. package/workflows/lifecycle/brainstorm.md +43 -0
  240. package/workflows/lifecycle/code.md +5 -0
  241. package/workflows/lifecycle/init.md +23 -5
  242. package/workflows/lifecycle/multi-model-pipeline.md +60 -0
  243. package/workflows/quality/ponytail-review.md +59 -0
  244. package/workflows/roles/critic.md +40 -0
  245. package/workflows/roles/safety-router.md +34 -0
@@ -0,0 +1,106 @@
1
+ # Step 0: Library Scanner (PRE-STEP — Always First) 🔍
2
+
3
+ **Purpose:** Scan the APK structure to identify all third-party libraries before any coding.
4
+
5
+ ## Process
6
+
7
+ 1. **Scan `smali/` directories** for package patterns:
8
+ ```
9
+ smali/com/google/ → Google SDKs
10
+ smali/com/facebook/ → Facebook SDK
11
+ smali/com/squareup/ → OkHttp, Retrofit, Picasso
12
+ smali/io/reactivex/ → RxJava
13
+ smali/org/greenrobot/ → EventBus
14
+ smali/com/bumptech/ → Glide
15
+ smali/com/airbnb/ → Lottie
16
+ smali/androidx/ → AndroidX (baseline)
17
+ smali/com/jakewharton/ → Butterknife, Timber
18
+ ```
19
+
20
+ 2. **Check `lib/` for native libraries (.so)**:
21
+ ```
22
+ lib/arm64-v8a/*.so → 64-bit native libs
23
+ lib/armeabi-v7a/*.so → 32-bit native libs
24
+ ```
25
+
26
+ 3. **Check `assets/` for embedded resources:**
27
+ - ML models (.tflite, .onnx)
28
+ - WebView HTML/JS bundles
29
+ - Config files (JSON, XML)
30
+
31
+ 4. **Output: Library Report**
32
+ ```markdown
33
+ ## 📦 Library Detection Report
34
+
35
+ ### ✅ Can Reuse (add to build.gradle)
36
+ | Library | Detected Package | Latest Version | Action |
37
+ |---------|-----------------|----------------|--------|
38
+ | Retrofit | com.squareup.retrofit2 | 2.9.0 | Add dependency |
39
+ | OkHttp | com.squareup.okhttp3 | 4.12.0 | Add dependency |
40
+ | Glide | com.bumptech.glide | 4.16.0 | Evaluate → Coil? |
41
+
42
+ ### 🔄 Must Replace (legacy)
43
+ | Old Library | Detected Package | Replacement |
44
+ |-------------|-----------------|-------------|
45
+ | Volley | com.android.volley | Retrofit |
46
+ | AsyncTask | android.os.AsyncTask | Coroutines |
47
+
48
+ ### 📱 Native (.so) — Keep As-Is
49
+ | File | Architecture | Notes |
50
+ |------|-------------|-------|
51
+ | libfoo.so | arm64-v8a | Need JNI bridge |
52
+ ```
53
+
54
+ ---
55
+
56
+ # Step 1: AndroidManifest Analysis & Project Bootstrap 📄
57
+
58
+ **Input:** User provides `AndroidManifest.xml` from Apktool output.
59
+
60
+ ## Tasks
61
+
62
+ 1. Extract Application ID and original package name
63
+ 2. List all required permissions (group by category)
64
+ 3. Identify entry points: Application class, SplashActivity, MainActivity
65
+ 4. Map all components:
66
+ - Activities → future Compose screens
67
+ - Services → WorkManager candidates?
68
+ - BroadcastReceivers → keep or replace with Flow?
69
+ - ContentProviders → keep or replace with Room?
70
+ 5. Detect intent-filters for deep links
71
+ 6. **Output:** Propose Clean Architecture project structure
72
+
73
+ ## Project Structure Template
74
+
75
+ ```
76
+ app/src/main/java/com/package/app/
77
+ ├── App.kt # Application class
78
+ ├── di/ # Hilt modules
79
+ │ ├── AppModule.kt
80
+ │ ├── NetworkModule.kt
81
+ │ └── DatabaseModule.kt
82
+ ├── data/ # Data Layer
83
+ │ ├── remote/
84
+ │ │ ├── api/ # Retrofit interfaces
85
+ │ │ ├── dto/ # Data Transfer Objects
86
+ │ │ └── interceptor/ # OkHttp interceptors
87
+ │ ├── local/
88
+ │ │ ├── db/ # Room database
89
+ │ │ ├── dao/ # Room DAOs
90
+ │ │ ├── entity/ # Room entities
91
+ │ │ └── datastore/ # DataStore preferences
92
+ │ └── repository/ # Repository implementations
93
+ ├── domain/ # Domain Layer
94
+ │ ├── model/ # Business models
95
+ │ ├── repository/ # Repository interfaces
96
+ │ └── usecase/ # Use cases
97
+ ├── presentation/ # Presentation Layer
98
+ │ ├── navigation/ # NavGraph + Routes
99
+ │ ├── theme/ # Material 3 Theme
100
+ │ ├── components/ # Reusable Compose components
101
+ │ └── screens/ # Feature screens
102
+ │ ├── splash/
103
+ │ ├── home/
104
+ │ └── ...
105
+ └── util/ # Extensions, helpers
106
+ ```
@@ -0,0 +1,189 @@
1
+ # 📦 Library Detection Patterns
2
+
3
+ > Reference database for Step 0 (Library Scanner).
4
+ > Agent uses these patterns to identify third-party libraries from Smali package structure.
5
+
6
+ ---
7
+
8
+ ## 🟢 Network & API
9
+
10
+ | Package Pattern | Library | Latest Replacement | Action |
11
+ |----------------|---------|-------------------|--------|
12
+ | `com/squareup/retrofit2` | Retrofit 2 | Keep (current) | Add to build.gradle |
13
+ | `com/squareup/okhttp3` | OkHttp 3 | Keep (current) | Add to build.gradle |
14
+ | `com/android/volley` | Volley | Retrofit + OkHttp | Replace |
15
+ | `com/squareup/okhttp` | OkHttp 2 | OkHttp 4 | Upgrade |
16
+ | `com/loopj/android` | AsyncHttpClient | Retrofit | Replace |
17
+ | `org/apache/http` | Apache HTTP | OkHttp | Replace |
18
+ | `com/squareup/moshi` | Moshi | Keep (current) | Add to build.gradle |
19
+ | `com/google/gson` | Gson | kotlinx.serialization | Evaluate |
20
+
21
+ ---
22
+
23
+ ## 🟡 Image Loading
24
+
25
+ | Package Pattern | Library | Latest Replacement | Action |
26
+ |----------------|---------|-------------------|--------|
27
+ | `com/bumptech/glide` | Glide | Coil (Compose-native) | Evaluate |
28
+ | `com/squareup/picasso` | Picasso | Coil | Replace |
29
+ | `com/facebook/fresco` | Fresco | Coil | Replace |
30
+ | `com/nostra13/universalimageloader` | UIL | Coil | Replace |
31
+ | `io/coil` | Coil | Keep (current) | Add to build.gradle |
32
+
33
+ ---
34
+
35
+ ## 🔵 Reactive Programming
36
+
37
+ | Package Pattern | Library | Latest Replacement | Action |
38
+ |----------------|---------|-------------------|--------|
39
+ | `io/reactivex/rxjava3` | RxJava 3 | Coroutines + Flow | Gradual migrate |
40
+ | `io/reactivex/rxjava2` | RxJava 2 | Coroutines + Flow | Replace |
41
+ | `io/reactivex` | RxJava 1 | Coroutines + Flow | Replace |
42
+ | `io/reactivex/rxandroid` | RxAndroid | Dispatchers.Main | Replace |
43
+
44
+ ---
45
+
46
+ ## 🟠 Dependency Injection
47
+
48
+ | Package Pattern | Library | Latest Replacement | Action |
49
+ |----------------|---------|-------------------|--------|
50
+ | `dagger/hilt` | Hilt | Keep (current) | Add to build.gradle |
51
+ | `com/google/dagger` | Dagger 2 | Hilt | Upgrade |
52
+ | `org/koin` | Koin | Keep or Hilt | Evaluate |
53
+ | `toothpick` | Toothpick | Hilt | Replace |
54
+
55
+ ---
56
+
57
+ ## 🟣 Firebase & Google
58
+
59
+ | Package Pattern | Library | Action |
60
+ |----------------|---------|--------|
61
+ | `com/google/firebase/analytics` | Firebase Analytics | Add latest |
62
+ | `com/google/firebase/crashlytics` | Crashlytics | Add latest |
63
+ | `com/google/firebase/messaging` | FCM | Add latest |
64
+ | `com/google/firebase/auth` | Firebase Auth | Add latest |
65
+ | `com/google/firebase/firestore` | Firestore | Add latest |
66
+ | `com/google/firebase/database` | Realtime DB | Add latest |
67
+ | `com/google/firebase/storage` | Cloud Storage | Add latest |
68
+ | `com/google/firebase/config` | Remote Config | Add latest |
69
+ | `com/google/android/gms/ads` | AdMob | Add latest |
70
+ | `com/google/android/gms/auth` | Google Sign-In | Add latest |
71
+ | `com/google/android/gms/maps` | Google Maps | Add latest |
72
+ | `com/google/android/gms/location` | Location Services | Add latest |
73
+ | `com/google/android/play` | Play Core | Add latest |
74
+
75
+ ---
76
+
77
+ ## 🔴 Social SDKs
78
+
79
+ | Package Pattern | Library | Action |
80
+ |----------------|---------|--------|
81
+ | `com/facebook/login` | Facebook Login | Add latest |
82
+ | `com/facebook/share` | Facebook Share | Add latest |
83
+ | `com/facebook/appevents` | Facebook Analytics | Add latest |
84
+ | `com/twitter` | Twitter SDK | Evaluate (deprecated?) |
85
+ | `com/kakao` | Kakao SDK | Add latest |
86
+ | `com/linecorp` | LINE SDK | Add latest |
87
+
88
+ ---
89
+
90
+ ## 🟤 UI & Animation
91
+
92
+ | Package Pattern | Library | Latest Replacement | Action |
93
+ |----------------|---------|-------------------|--------|
94
+ | `com/airbnb/lottie` | Lottie | Keep (has Compose support) | Add to build.gradle |
95
+ | `com/github/bumptech/glide` | Glide Transformations | Compose modifiers | Evaluate |
96
+ | `com/makeramen/roundedimageview` | RoundedImageView | Compose `clip(CircleShape)` | Replace |
97
+ | `de/hdodenhof/circleimageview` | CircleImageView | Compose `clip(CircleShape)` | Replace |
98
+ | `com/github/chrisbanes` | PhotoView | Compose zoomable | Replace |
99
+ | `com/google/android/material` | Material Components | Material 3 (Compose) | Upgrade |
100
+ | `com/jakewharton/butterknife` | Butterknife | Not needed (Compose) | Remove |
101
+ | `androidx/viewpager2` | ViewPager2 | HorizontalPager (Compose) | Replace |
102
+ | `androidx/cardview` | CardView | Card (Material 3 Compose) | Replace |
103
+ | `androidx/recyclerview` | RecyclerView | LazyColumn/LazyGrid | Replace |
104
+ | `androidx/swiperefreshlayout` | SwipeRefresh | pullRefresh modifier | Replace |
105
+ | `com/github/PhilJay/MPAndroidChart` | MPAndroidChart | Vico / Compose Charts | Evaluate |
106
+
107
+ ---
108
+
109
+ ## ⚪ Database & Storage
110
+
111
+ | Package Pattern | Library | Latest Replacement | Action |
112
+ |----------------|---------|-------------------|--------|
113
+ | `androidx/room` | Room | Keep (current) | Add to build.gradle |
114
+ | `io/realm` | Realm | Room | Evaluate |
115
+ | `net/sqlcipher` | SQLCipher | Room + encrypted | Keep |
116
+ | `com/google/protobuf` | Protocol Buffers | Keep | Add to build.gradle |
117
+ | `com/tencent/mmkv` | MMKV | DataStore | Evaluate |
118
+
119
+ ---
120
+
121
+ ## ⚫ Utility
122
+
123
+ | Package Pattern | Library | Latest Replacement | Action |
124
+ |----------------|---------|-------------------|--------|
125
+ | `com/jakewharton/timber` | Timber | Keep (current) | Add to build.gradle |
126
+ | `org/greenrobot/eventbus` | EventBus | SharedFlow | Replace |
127
+ | `com/google/zxing` | ZXing (QR/Barcode) | ML Kit Barcode | Evaluate |
128
+ | `com/journeyapps/barcodescanner` | ZXing Android | ML Kit Barcode | Evaluate |
129
+ | `com/github/permissions` | Various permission libs | Accompanist Permissions | Replace |
130
+ | `pub/devrel/easypermissions` | EasyPermissions | Accompanist Permissions | Replace |
131
+ | `org/jsoup` | Jsoup | Keep (HTML parsing) | Add to build.gradle |
132
+ | `com/google/android/exoplayer2` | ExoPlayer | Media3 ExoPlayer | Upgrade |
133
+ | `androidx/media3` | Media3 | Keep (current) | Add to build.gradle |
134
+
135
+ ---
136
+
137
+ ## 🔐 Security & Encryption
138
+
139
+ | Package Pattern | Library | Action |
140
+ |----------------|---------|--------|
141
+ | `com/scottyab/rootbeer` | RootBeer | Evaluate |
142
+ | `io/jsonwebtoken` | JJWT | Keep |
143
+ | `org/bouncycastle` | BouncyCastle | Keep |
144
+ | `net/sqlcipher` | SQLCipher | Keep |
145
+
146
+ ---
147
+
148
+ ## 🔍 Detection Strategy
149
+
150
+ ### Step 1: Directory Scan
151
+ ```bash
152
+ # List all top-level smali packages
153
+ ls -d smali/*/
154
+ ls -d smali_classes*/*/ # multi-dex apps
155
+
156
+ # Find specific library patterns
157
+ find smali/ -maxdepth 3 -type d | sort
158
+ ```
159
+
160
+ ### Step 2: Classify Each Package
161
+ ```
162
+ For each detected package:
163
+ 1. Match against patterns above
164
+ 2. If MATCH → categorize (Keep / Replace / Upgrade / Evaluate)
165
+ 3. If NO MATCH → mark as "Unknown — investigate"
166
+ 4. If app's own package → mark as "App Code — rebuild in Kotlin"
167
+ ```
168
+
169
+ ### Step 3: Check Native Libraries
170
+ ```bash
171
+ # List native libraries
172
+ ls lib/*/
173
+ file lib/arm64-v8a/*.so # identify library type
174
+
175
+ # Common native libs:
176
+ libfb*.so → Facebook SDK
177
+ libreact*.so → React Native
178
+ libflutter*.so → Flutter engine
179
+ libhermes*.so → Hermes JS engine (React Native)
180
+ libsqlcipher*.so → SQLCipher encrypted DB
181
+ libmmkv*.so → MMKV storage
182
+ ```
183
+
184
+ ### Step 4: Generate Report
185
+ Use the template from SKILL.md Step 0 output format.
186
+
187
+ ---
188
+
189
+ *library-patterns v1.0.0 — Reference database for APK library detection*
@@ -0,0 +1,128 @@
1
+ # 🗺️ Phase 0: Discovery (Satellite View)
2
+
3
+ > **Zoom Level:** 0 — Bird's Eye
4
+ > **Goal:** Create an "App Map" — understand WHAT the app is and WHAT it contains.
5
+ > **Output:** Diagrams, tables, maps. **NO CODE.**
6
+
7
+ ---
8
+
9
+ ## ⛔ OUTPUT RULE
10
+
11
+ ```
12
+ ✅ ALLOWED: ASCII diagrams, Mermaid, tables, bullet lists, bash scan commands
13
+ ❌ BLOCKED: Kotlin/Java code, function signatures, class definitions
14
+ ```
15
+
16
+ ---
17
+
18
+ ## 📋 Sub-steps
19
+
20
+ ### 0.1: Confirm Input
21
+
22
+ ```
23
+ 🔧 Android Reverse Engineering bắt đầu!
24
+
25
+ Em cần biết:
26
+ 1. Thư mục Apktool output ở đâu?
27
+ 2. Tên app gốc? Package name?
28
+
29
+ Chưa chạy Apktool? → apktool d your-app.apk -o ./decompiled/
30
+ ```
31
+
32
+ ### 0.2: Structure Scan
33
+
34
+ Quét folder structure để hiểu quy mô app:
35
+
36
+ ```bash
37
+ # Top-level packages (app code vs libraries)
38
+ find [apktool_dir]/smali -maxdepth 3 -type d | sed 's|.*/smali/||' | sort
39
+
40
+ # Multi-dex check
41
+ find [apktool_dir] -name "smali*" -maxdepth 1 -type d
42
+
43
+ # Resource overview
44
+ ls [apktool_dir]/res/layout/ | wc -l # Number of layouts
45
+ ls [apktool_dir]/res/drawable*/ | wc -l # Number of drawables
46
+ cat [apktool_dir]/res/values/strings.xml | grep '<string' | wc -l # Strings count
47
+ ```
48
+
49
+ ### 0.3: Library Detection
50
+
51
+ Quét smali directories để nhận diện thư viện. Ref: `library-patterns.md`
52
+
53
+ ```bash
54
+ # Known library packages
55
+ find [apktool_dir]/smali -maxdepth 3 -type d | grep -E "(google|facebook|squareup|airbnb|bumptech|jakewharton|reactivex|greenrobot)" | sort
56
+
57
+ # Native libraries
58
+ find [apktool_dir]/lib -name "*.so" 2>/dev/null
59
+
60
+ # Assets (ML models, WebView, configs)
61
+ ls [apktool_dir]/assets/ 2>/dev/null
62
+ ```
63
+
64
+ **Phân loại thành 5 nhóm:**
65
+
66
+ | Category | Meaning | Action |
67
+ |----------|---------|--------|
68
+ | ✅ Reuse | Modern, still maintained | Add to build.gradle |
69
+ | 🔄 Replace | Legacy/deprecated | Map to modern replacement |
70
+ | 🔵 Firebase/Google | Platform SDKs | Use latest version |
71
+ | 📱 Native (.so) | JNI libraries | Keep, create bridge |
72
+ | 🏷️ App Code | Original app logic | Rebuild in Kotlin |
73
+
74
+ ### 0.4: Manifest Analysis
75
+
76
+ ```bash
77
+ cat [apktool_dir]/AndroidManifest.xml
78
+ ```
79
+
80
+ Extract:
81
+ - Application ID + Package name
82
+ - Min/Target SDK
83
+ - Permissions (grouped by category)
84
+ - Entry points: Application class, Launcher Activity
85
+ - All components: Activities, Services, Receivers, Providers
86
+ - Deep links / Intent filters
87
+
88
+ ### 0.5: Screen Map
89
+
90
+ Map Activities → future Compose screens. Draw navigation flow:
91
+
92
+ ```
93
+ Activities found → Group by feature → Draw screen graph
94
+ ```
95
+
96
+ ### 0.6: Complexity Estimate
97
+
98
+ Rate each area 1-5 dots:
99
+ - Data Layer: ●●●○○ (APIs, DB, preferences)
100
+ - Core Logic: ●●○○○ (crypto, formatters, utils)
101
+ - UI Screens: ●●●●○ (screen count, complex layouts)
102
+ - SDK Integration: ●●○○○ (third-party, native libs)
103
+
104
+ ---
105
+
106
+ ## 📊 Output: App Map
107
+
108
+ Use template from `templates/app-map.md`. Must include:
109
+
110
+ 1. **Identity** — package, SDK levels, screen count
111
+ 2. **Screen Flow** — navigation graph (ASCII or Mermaid)
112
+ 3. **Library Landscape** — categorized dependency list
113
+ 4. **Complexity Estimate** — visual dots rating
114
+ 5. **Key Observations** — anything notable (obfuscation, unusual patterns)
115
+
116
+ ---
117
+
118
+ ## ✅ Gate
119
+
120
+ ```
121
+ "🗺️ Đây là App Map. Anh review xem có gì cần diều chỉnh không?"
122
+ → User approves → Proceed to Phase 1 (Architecture)
123
+ → User has questions → Investigate and update map
124
+ ```
125
+
126
+ ---
127
+
128
+ *Phase 0: Discovery — No code, just understanding*
@@ -0,0 +1,166 @@
1
+ # 🏗️ Phase 1: Architecture (District View)
2
+
3
+ > **Zoom Level:** 1 — Architecture Design
4
+ > **Goal:** Design the overall architecture BEFORE writing any code.
5
+ > **Input:** Completed App Map from Phase 0.
6
+ > **Output:** Architecture Blueprint (layer maps, feature tables, API list). **NO CODE BODIES.**
7
+
8
+ ---
9
+
10
+ ## ⛔ OUTPUT RULE
11
+
12
+ ```
13
+ ✅ ALLOWED: Architecture diagrams, layer maps, feature-to-file mapping tables, API endpoint tables
14
+ ✅ ALLOWED: File paths, package names, dependency lists
15
+ ❌ BLOCKED: Function bodies, implementation details, actual Kotlin code
16
+ ⚠️ EXCEPTION: build.gradle.kts skeleton (plugin + dependency declarations only)
17
+ ```
18
+
19
+ ---
20
+
21
+ ## 📋 Sub-steps
22
+
23
+ ### 1.1: Layer Design
24
+
25
+ Design Clean Architecture layers based on App Map:
26
+
27
+ ```
28
+ ┌─────────────────────────────────────┐
29
+ │ Presentation │
30
+ │ ├── screens/ ([N] screens) │
31
+ │ ├── navigation/ (NavGraph) │
32
+ │ └── theme/ (Material3) │
33
+ ├─────────────────────────────────────┤
34
+ │ Domain │
35
+ │ ├── model/ ([N] business models) │
36
+ │ ├── repository/ ([N] interfaces) │
37
+ │ └── usecase/ ([N] use cases) │
38
+ ├─────────────────────────────────────┤
39
+ │ Data │
40
+ │ ├── remote/ ([N] API services) │
41
+ │ ├── local/ (Room, DataStore) │
42
+ │ └── repository/ (implementations) │
43
+ ├─────────────────────────────────────┤
44
+ │ DI │
45
+ │ └── modules/ (Network, DB, Repo) │
46
+ └─────────────────────────────────────┘
47
+ ```
48
+
49
+ ### 1.2: Feature → File Mapping
50
+
51
+ Map each feature to its Clean Architecture components:
52
+
53
+ | Feature | Domain Model | Repository | UseCase | Screen | ViewModel |
54
+ |---------|-------------|-----------|---------|--------|-----------|
55
+ | Auth | User, Token | AuthRepo | LoginUC | Login | AuthVM |
56
+ | Home | Data | HomeRepo | GetDataUC | Home | HomeVM |
57
+ | ... | ... | ... | ... | ... | ... |
58
+
59
+ ### 1.3: API Endpoint Inventory
60
+
61
+ Extract ALL API endpoints from Smali analysis:
62
+
63
+ | # | Method | Endpoint | Auth | Request | Response | Notes |
64
+ |---|--------|----------|------|---------|----------|-------|
65
+ | 1 | POST | /auth/login | No | email, pwd | JWT token | - |
66
+ | 2 | GET | /users/me | Bearer | - | User object | - |
67
+
68
+ **How to find in Smali:**
69
+ ```
70
+ Look for: const-string → "https://" or "http://"
71
+ Look for: .field → BASE_URL, API_URL
72
+ Look for: StringBuilder + append patterns (endpoint construction)
73
+ Look for: annotation patterns (@GET, @POST in okhttp/retrofit)
74
+ ```
75
+
76
+ ### 1.4: Data Schema Inventory
77
+
78
+ List ALL data structures found:
79
+
80
+ | Model | Fields (key ones) | Source | Storage |
81
+ |-------|-------------------|--------|---------|
82
+ | User | id, name, email, avatar | API | Room + Memory |
83
+ | Settings | theme, language, notifications | Local | DataStore |
84
+
85
+ ### 1.5: Project Structure
86
+
87
+ Propose directory structure based on features:
88
+
89
+ ```
90
+ app/src/main/java/com/package/
91
+ ├── App.kt
92
+ ├── di/ (AppModule, NetworkModule, DatabaseModule)
93
+ ├── data/
94
+ │ ├── remote/api/ ([N] Retrofit interfaces)
95
+ │ ├── remote/dto/ (DTOs)
96
+ │ ├── local/db/ (Room)
97
+ │ ├── local/datastore/ (DataStore)
98
+ │ └── repository/ (Implementations)
99
+ ├── domain/
100
+ │ ├── model/ (Business models)
101
+ │ ├── repository/ (Interfaces)
102
+ │ └── usecase/ (Use cases)
103
+ ├── presentation/
104
+ │ ├── navigation/ (NavGraph, Routes)
105
+ │ ├── theme/ (Colors, Typography, Theme)
106
+ │ ├── components/ (Shared composables)
107
+ │ └── screens/
108
+ │ ├── splash/
109
+ │ ├── auth/
110
+ │ ├── home/
111
+ │ └── [feature]/
112
+ └── util/ (Extensions, helpers)
113
+ ```
114
+
115
+ ### 1.6: Build Order Suggestion
116
+
117
+ Recommend order based on dependency graph:
118
+
119
+ ```
120
+ 1. 🟢 Project setup + DI skeleton + Theme
121
+ 2. 🟢 Domain models (data classes — no logic)
122
+ 3. 🟡 Data layer (API interfaces + Room entities)
123
+ 4. 🟡 Core utils (crypto, formatters — need parity testing)
124
+ 5. 🔴 UI screens (per-feature, starting from auth)
125
+ 6. 🔴 SDK integration + Parity check
126
+ ```
127
+
128
+ ### 1.7: Tech Stack Decisions
129
+
130
+ Confirm decisions from Phase 0 Library Report:
131
+
132
+ | Decision | Choice | Rationale |
133
+ |----------|--------|-----------|
134
+ | Image Loading | Coil (replace Glide) | Modern, Compose-native |
135
+ | JSON | Kotlin Serialization | Type-safe, no reflection |
136
+ | ... | ... | ... |
137
+
138
+ ---
139
+
140
+ ## 📊 Output: Architecture Blueprint
141
+
142
+ Use template from `templates/architecture.md`. Must include:
143
+
144
+ 1. **Layer Map** — ASCII architecture diagram with counts
145
+ 2. **Feature Table** — feature → file mapping
146
+ 3. **API Inventory** — all endpoints found
147
+ 4. **Data Schema** — all models with key fields
148
+ 5. **Project Structure** — proposed directory tree
149
+ 6. **Build Order** — suggested implementation sequence
150
+ 7. **Tech Decisions** — confirmed choices
151
+
152
+ ---
153
+
154
+ ## ✅ Gate
155
+
156
+ ```
157
+ "🏗️ Architecture Blueprint xong. Anh muốn bắt đầu từ feature nào?
158
+ Em suggest: [Feature X] vì [reason — e.g., nhiều feature khác phụ thuộc]."
159
+
160
+ → User picks feature → Proceed to Phase 2 (Blueprint) for that feature
161
+ → User wants changes → Adjust architecture
162
+ ```
163
+
164
+ ---
165
+
166
+ *Phase 1: Architecture — Design before you build*