@leejungkiin/awkit 1.7.0 → 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.
- package/bin/awk.js +576 -84
- package/core/CLAUDE.md +1 -1
- package/core/GEMINI.md +148 -167
- package/core/GEMINI.md.bak +149 -116
- package/core/skill-runtime-manifest.json +3 -0
- package/docs/Claude Fable 5.md +3826 -0
- package/docs/android_kotlin_system_instruction.md +210 -0
- package/docs/brainstorm_ponytail_integration.md +146 -0
- package/docs/brainstorm_smart_setup.md +113 -0
- package/docs/deep-research-report (1).md +293 -0
- package/docs/history/GEMINI.v1.md +135 -0
- package/docs/history/brainstorm_antigravity_unified_architecture.v1.md +105 -0
- package/docs/history/implementation_plan.v1.md +58 -0
- package/package.json +4 -1
- package/scripts/artifact-storage.js +130 -0
- package/scripts/automation-gate.js +40 -7
- package/scripts/claude-plan.js +76 -0
- package/scripts/dependency-manager.js +210 -0
- package/scripts/exec-rtk.js +11 -5
- package/scripts/i18n-helper.js +381 -0
- package/scripts/multi-model-pipeline.js +144 -0
- package/skill-packs/mobile-ios/pack.json +4 -2
- package/skill-packs/reverse-engineering/pack.json +1 -0
- package/skills/CATALOG.md +20 -0
- package/skills/GEMINI.md +9 -1
- package/skills/TRIGGER_INDEX.md +10 -0
- package/skills/ai-music/SKILL.md +275 -0
- package/skills/android-re-analyzer/SKILL.md +238 -0
- package/skills/android-re-analyzer/references/api-extraction-patterns.md +119 -0
- package/skills/android-re-analyzer/references/call-flow-analysis.md +176 -0
- package/skills/android-re-analyzer/references/fernflower-usage.md +115 -0
- package/skills/android-re-analyzer/references/jadx-usage.md +116 -0
- package/skills/android-re-analyzer/references/setup-guide.md +221 -0
- package/skills/android-re-analyzer/scripts/check-deps.sh +129 -0
- package/skills/android-re-analyzer/scripts/decompile.sh +375 -0
- package/skills/android-re-analyzer/scripts/find-api-calls.sh +118 -0
- package/skills/android-re-analyzer/scripts/install-dep.sh +448 -0
- package/skills/animal-island-ui-style/SKILL.md +1450 -0
- package/skills/app-store-review-agent/SKILL.md +164 -0
- package/skills/app-store-review-agent/references/guidelines/README.md +154 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/ai_apps.md +37 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/all_apps.md +50 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/crypto_finance.md +31 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/games.md +31 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/health_fitness.md +31 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/kids.md +27 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/macos.md +38 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/social_ugc.md +32 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/subscription_iap.md +34 -0
- package/skills/app-store-review-agent/references/guidelines/by-app-type/vpn.md +18 -0
- package/skills/app-store-review-agent/references/rules/design/minimum_functionality.md +96 -0
- package/skills/app-store-review-agent/references/rules/design/sign_in_with_apple.md +54 -0
- package/skills/app-store-review-agent/references/rules/entitlements/unused_entitlements.md +83 -0
- package/skills/app-store-review-agent/references/rules/metadata/accurate_metadata.md +54 -0
- package/skills/app-store-review-agent/references/rules/metadata/apple_trademark.md +99 -0
- package/skills/app-store-review-agent/references/rules/metadata/china_storefront.md +72 -0
- package/skills/app-store-review-agent/references/rules/metadata/competitor_terms.md +56 -0
- package/skills/app-store-review-agent/references/rules/metadata/subscription_metadata.md +81 -0
- package/skills/app-store-review-agent/references/rules/privacy/privacy_manifest.md +84 -0
- package/skills/app-store-review-agent/references/rules/privacy/unnecessary_data.md +60 -0
- package/skills/app-store-review-agent/references/rules/subscription/misleading_pricing.md +63 -0
- package/skills/app-store-review-agent/references/rules/subscription/missing_tos_pp.md +54 -0
- package/skills/awf-ponytail/SKILL.md +91 -0
- package/skills/awf-ponytail-review/SKILL.md +67 -0
- package/skills/awf-session-restore/SKILL.md +3 -3
- package/skills/brainstorm-agent/SKILL.md +11 -2
- package/skills/brainstorm-agent/templates/brief-template.md +8 -0
- package/skills/claude-planner/SKILL.md +47 -0
- package/skills/code-review/SKILL.md +87 -0
- package/skills/expo-game-development/SKILL.md +163 -0
- package/skills/flutter/LICENSE.txt +202 -0
- package/skills/flutter/SKILL.md +127 -0
- package/skills/flutter-project-creater/LICENSE.txt +202 -0
- package/skills/flutter-project-creater/SKILL.md +106 -0
- package/skills/game-developer/SKILL.md +163 -0
- package/skills/game-developer/references/ecs-patterns.md +501 -0
- package/skills/game-developer/references/multiplayer-networking.md +475 -0
- package/skills/game-developer/references/performance-optimization.md +422 -0
- package/skills/game-developer/references/unity-patterns.md +271 -0
- package/skills/game-developer/references/unreal-cpp.md +352 -0
- package/skills/generate-gui-assets/SKILL.md +305 -0
- package/skills/generate-gui-assets/agents/openai.yaml +4 -0
- package/skills/generate-gui-assets/references/catalog-schema.md +58 -0
- package/skills/generate-gui-assets/references/extraction-techniques.md +21 -0
- package/skills/generate-gui-assets/references/prompt-patterns.md +58 -0
- package/skills/generate-gui-assets/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
- package/skills/generate-gui-assets/scripts/build_gui_contact_sheet.py +51 -0
- package/skills/generate-gui-assets/scripts/clean_chroma_edges.py +262 -0
- package/skills/generate-gui-assets/scripts/copy_approved_icons.py +64 -0
- package/skills/generate-gui-assets/scripts/prepare_gui_asset_run.py +91 -0
- package/skills/generate-gui-assets/scripts/suggest_grid_options.py +63 -0
- package/skills/generate-gui-assets/scripts/validate_gui_catalog.py +50 -0
- package/skills/godot-game-development/SKILL.md +142 -0
- package/skills/hatch-pet/LICENSE.txt +201 -0
- package/skills/hatch-pet/SKILL.md +420 -0
- package/skills/hatch-pet/agents/openai.yaml +4 -0
- package/skills/hatch-pet/references/animation-rows.md +29 -0
- package/skills/hatch-pet/references/codex-pet-contract.md +35 -0
- package/skills/hatch-pet/references/qa-rubric.md +60 -0
- package/skills/hatch-pet/scripts/__pycache__/clean_chroma_edges.cpython-311.pyc +0 -0
- package/skills/hatch-pet/scripts/clean_chroma_edges.py +262 -0
- package/skills/hatch-pet/scripts/compose_atlas.py +150 -0
- package/skills/hatch-pet/scripts/derive_running_left_from_running_right.py +143 -0
- package/skills/hatch-pet/scripts/extract_strip_frames.py +323 -0
- package/skills/hatch-pet/scripts/finalize_pet_run.py +382 -0
- package/skills/hatch-pet/scripts/generate_pet_images.py +287 -0
- package/skills/hatch-pet/scripts/inspect_frames.py +246 -0
- package/skills/hatch-pet/scripts/make_contact_sheet.py +96 -0
- package/skills/hatch-pet/scripts/package_custom_pet.py +108 -0
- package/skills/hatch-pet/scripts/pet_job_status.py +117 -0
- package/skills/hatch-pet/scripts/prepare_pet_run.py +673 -0
- package/skills/hatch-pet/scripts/queue_pet_repairs.py +172 -0
- package/skills/hatch-pet/scripts/record_imagegen_result.py +250 -0
- package/skills/hatch-pet/scripts/render_animation_videos.py +134 -0
- package/skills/hatch-pet/scripts/render_animation_videos.sh +5 -0
- package/skills/hatch-pet/scripts/validate_atlas.py +139 -0
- package/skills/i18n-orchestrator/SKILL.md +37 -0
- package/skills/ios-simulator-skill/SKILL.md +390 -0
- package/skills/ios-simulator-skill/scripts/accessibility_audit.py +300 -0
- package/skills/ios-simulator-skill/scripts/app_launcher.py +326 -0
- package/skills/ios-simulator-skill/scripts/app_state_capture.py +400 -0
- package/skills/ios-simulator-skill/scripts/appearance.py +385 -0
- package/skills/ios-simulator-skill/scripts/build_and_test.py +348 -0
- package/skills/ios-simulator-skill/scripts/clipboard.py +103 -0
- package/skills/ios-simulator-skill/scripts/common/__init__.py +61 -0
- package/skills/ios-simulator-skill/scripts/common/cache_utils.py +289 -0
- package/skills/ios-simulator-skill/scripts/common/device_utils.py +462 -0
- package/skills/ios-simulator-skill/scripts/common/env_config.py +35 -0
- package/skills/ios-simulator-skill/scripts/common/hang_pipeline.py +862 -0
- package/skills/ios-simulator-skill/scripts/common/hang_sessions.py +490 -0
- package/skills/ios-simulator-skill/scripts/common/idb_utils.py +180 -0
- package/skills/ios-simulator-skill/scripts/common/screenshot_utils.py +338 -0
- package/skills/ios-simulator-skill/scripts/container.py +668 -0
- package/skills/ios-simulator-skill/scripts/gesture.py +394 -0
- package/skills/ios-simulator-skill/scripts/hang_watcher.py +1533 -0
- package/skills/ios-simulator-skill/scripts/keyboard.py +391 -0
- package/skills/ios-simulator-skill/scripts/localization_audit.py +483 -0
- package/skills/ios-simulator-skill/scripts/location.py +467 -0
- package/skills/ios-simulator-skill/scripts/log_monitor.py +493 -0
- package/skills/ios-simulator-skill/scripts/model_inspector.py +645 -0
- package/skills/ios-simulator-skill/scripts/navigator.py +461 -0
- package/skills/ios-simulator-skill/scripts/privacy_manager.py +310 -0
- package/skills/ios-simulator-skill/scripts/push_notification.py +240 -0
- package/skills/ios-simulator-skill/scripts/screen_mapper.py +296 -0
- package/skills/ios-simulator-skill/scripts/sim_health_check.sh +245 -0
- package/skills/ios-simulator-skill/scripts/sim_list.py +299 -0
- package/skills/ios-simulator-skill/scripts/simctl_boot.py +312 -0
- package/skills/ios-simulator-skill/scripts/simctl_create.py +316 -0
- package/skills/ios-simulator-skill/scripts/simctl_delete.py +357 -0
- package/skills/ios-simulator-skill/scripts/simctl_erase.py +351 -0
- package/skills/ios-simulator-skill/scripts/simctl_shutdown.py +290 -0
- package/skills/ios-simulator-skill/scripts/simulator_selector.py +375 -0
- package/skills/ios-simulator-skill/scripts/status_bar.py +250 -0
- package/skills/ios-simulator-skill/scripts/test_recorder.py +323 -0
- package/skills/ios-simulator-skill/scripts/visual_diff.py +235 -0
- package/skills/ios-simulator-skill/scripts/xcode/__init__.py +13 -0
- package/skills/ios-simulator-skill/scripts/xcode/builder.py +397 -0
- package/skills/ios-simulator-skill/scripts/xcode/cache.py +204 -0
- package/skills/ios-simulator-skill/scripts/xcode/config.py +178 -0
- package/skills/ios-simulator-skill/scripts/xcode/reporter.py +343 -0
- package/skills/ios-simulator-skill/scripts/xcode/xcresult.py +451 -0
- package/skills/ios-visual-qa-strategist/SKILL.md +111 -0
- package/skills/ios-visual-qa-strategist/agents/openai.yaml +4 -0
- package/skills/ios-visual-qa-strategist/references/ios-tool-selection.md +61 -0
- package/skills/ios-visual-qa-strategist/references/minimal-capture-policy.md +56 -0
- package/skills/ios-visual-qa-strategist/references/visual-reasoning-heuristics.md +53 -0
- package/skills/orchestrator/SKILL.md +0 -20
- package/skills/persistent-storage/SKILL.md +55 -0
- package/skills/short-maker/SKILL.md +23 -0
- package/skills/short-maker/scripts/effects.js +56 -0
- package/skills/short-maker/scripts/shortmaker-bridge.js +332 -0
- package/skills/short-maker/scripts/videomix.js +601 -0
- package/skills/short-maker/templates/hyperframes/cinematic-character.template.html +172 -0
- package/skills/short-maker/templates/hyperframes/index.template.html +194 -0
- package/skills/smali-to-kotlin/SKILL.md +128 -0
- package/skills/smali-to-kotlin/examples/getting-started/tech-stack.md +58 -0
- package/skills/smali-to-kotlin/examples/pipeline/data-ui-parity.md +118 -0
- package/skills/smali-to-kotlin/examples/pipeline/scanner-and-bootstrap.md +106 -0
- package/skills/smali-to-kotlin/library-patterns.md +189 -0
- package/skills/smali-to-kotlin/phase-0-discovery.md +128 -0
- package/skills/smali-to-kotlin/phase-1-architecture.md +166 -0
- package/skills/smali-to-kotlin/phase-2-blueprint-ui.md +347 -0
- package/skills/smali-to-kotlin/phase-2-blueprint.md +228 -0
- package/skills/smali-to-kotlin/phase-3-build.md +248 -0
- package/skills/smali-to-kotlin/phase-3-logic-build.md +268 -0
- package/skills/smali-to-kotlin/smali-reading-guide.md +310 -0
- package/skills/smali-to-kotlin/templates/app-map.md +101 -0
- package/skills/smali-to-kotlin/templates/architecture.md +142 -0
- package/skills/smali-to-kotlin/templates/blueprint.md +145 -0
- package/skills/spec-gate/SKILL.md +6 -2
- package/skills/symphony-enforcer/SKILL.md +8 -0
- package/skills/symphony-enforcer/examples/mindful-stop.md +2 -0
- package/skills/symphony-enforcer/examples/three-phase.md +16 -0
- package/skills/symphony-enforcer/examples/trigger-points.md +7 -1
- package/skills/unity-game-development/SKILL.md +231 -0
- package/skills/verification-gate/SKILL.md +4 -2
- package/skills/video-edit/SKILL.md +36 -0
- package/skills/video-edit/scripts/video_edit.py +324 -0
- package/templates/setup-mapping.json +48 -0
- package/templates/specs/design-template.md +161 -71
- package/templates/specs/requirements-template.md +65 -133
- package/templates/specs/task-spec-template.xml +3 -0
- package/workflows/_uncategorized/critic.md +40 -0
- package/workflows/_uncategorized/git-rebase-flow.md +81 -0
- package/workflows/_uncategorized/image-gen.md +118 -0
- package/workflows/_uncategorized/multi-model-pipeline.md +60 -0
- package/workflows/_uncategorized/pixel-gen.md +86 -0
- package/workflows/_uncategorized/pixel-setup.md +90 -0
- package/workflows/_uncategorized/ponytail-review.md +59 -0
- package/workflows/_uncategorized/reverse-android-build.md +222 -0
- package/workflows/_uncategorized/reverse-android-design.md +139 -0
- package/workflows/_uncategorized/reverse-android-discover.md +150 -0
- package/workflows/_uncategorized/reverse-android-scan.md +158 -0
- package/workflows/_uncategorized/reverse-android.md +143 -0
- package/workflows/_uncategorized/reverse-ios-build.md +240 -0
- package/workflows/_uncategorized/reverse-ios-design.md +112 -0
- package/workflows/_uncategorized/reverse-ios-discover.md +120 -0
- package/workflows/_uncategorized/reverse-ios-scan.md +155 -0
- package/workflows/_uncategorized/reverse-ios.md +152 -0
- package/workflows/_uncategorized/safety-router.md +34 -0
- package/workflows/_uncategorized/teach.md +89 -0
- package/workflows/_uncategorized/verify-ui.md +53 -0
- package/workflows/_uncategorized/visualize-screenshots.md +34 -0
- package/workflows/ads/ads-analyst.md +201 -0
- package/workflows/ads/ads-audit.md +106 -0
- package/workflows/ads/ads-optimize.md +97 -0
- package/workflows/ads/ads-targeting.md +241 -0
- package/workflows/ads/adsExpert.md +160 -0
- package/workflows/ads/smali-ads-config.md +400 -0
- package/workflows/ads/smali-ads-flow.md +331 -0
- package/workflows/ads/smali-ads-interstitial.md +377 -0
- package/workflows/ads/smali-ads-native.md +382 -0
- package/workflows/context/teach.md +89 -0
- package/workflows/gitnexus.md +8 -8
- package/workflows/lifecycle/brainstorm.md +43 -0
- package/workflows/lifecycle/code.md +5 -0
- package/workflows/lifecycle/init.md +23 -5
- package/workflows/lifecycle/multi-model-pipeline.md +60 -0
- package/workflows/quality/ponytail-review.md +59 -0
- package/workflows/roles/critic.md +40 -0
- package/workflows/roles/safety-router.md +34 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 📊 Phân tích dữ liệu quảng cáo & ASO
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /ads-analyst - The Data Detective
|
|
6
|
+
|
|
7
|
+
Bạn là **Antigravity Ads Analyst** - chuyên gia phân tích dữ liệu quảng cáo và ASO.
|
|
8
|
+
|
|
9
|
+
**Nhiệm vụ:** Biến dữ liệu thô thành insights có thể hành động.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🎯 Non-Tech Mode
|
|
14
|
+
|
|
15
|
+
**Đọc preferences.json để điều chỉnh ngôn ngữ:**
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
if technical_level == "newbie":
|
|
19
|
+
→ Giải thích bằng ngôn ngữ đời thường
|
|
20
|
+
→ Dùng ví dụ cụ thể và con số
|
|
21
|
+
→ Ưu tiên recommendations hơn raw data
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Bảng dịch thuật ngữ:
|
|
25
|
+
| Thuật ngữ | Giải thích đời thường |
|
|
26
|
+
|-----------|----------------------|
|
|
27
|
+
| CPI | Chi phí để có 1 lượt cài đặt |
|
|
28
|
+
| CTR | % người click vào quảng cáo sau khi thấy |
|
|
29
|
+
| CVR | % người cài app sau khi click |
|
|
30
|
+
| ROAS | Mỗi $1 chi cho ads thu về được bao nhiêu |
|
|
31
|
+
| LTV | Tổng tiền 1 user sẽ chi trong suốt thời gian dùng app |
|
|
32
|
+
| ASO | Tối ưu để app dễ tìm trên store |
|
|
33
|
+
| Impression | Số lần quảng cáo được hiển thị |
|
|
34
|
+
| Retention | % user quay lại dùng app |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Giai đoạn 1: Data Collection
|
|
39
|
+
|
|
40
|
+
### 1.1. Yêu cầu dữ liệu từ user
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
📋 Để phân tích, em cần anh/chị cung cấp:
|
|
44
|
+
|
|
45
|
+
1️⃣ Firebase Analytics CSV (Bắt buộc)
|
|
46
|
+
- Export từ Firebase Console → Analytics → Export
|
|
47
|
+
|
|
48
|
+
2️⃣ Google Play Console CSV (Khuyến nghị)
|
|
49
|
+
- Store Listing Conversion (view by: search term)
|
|
50
|
+
- Store Listing Conversion (view by: country/region)
|
|
51
|
+
|
|
52
|
+
3️⃣ Google Ads Data (Tùy chọn - tự động lấy qua MCP)
|
|
53
|
+
|
|
54
|
+
Anh/chị có loại dữ liệu nào?
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 1.2. Định dạng dữ liệu được hỗ trợ
|
|
58
|
+
|
|
59
|
+
| Nguồn | Cấu trúc CSV |
|
|
60
|
+
|-------|-------------|
|
|
61
|
+
| Firebase Analytics | `report csv export`, `language, users, new users...` |
|
|
62
|
+
| Play Console - Search Terms | `search term, store listing visitors` |
|
|
63
|
+
| Play Console - Countries | `country / region, store listing visitors` |
|
|
64
|
+
| Google Ads | Tự động qua MCP tools |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Giai đoạn 2: Data Analysis
|
|
69
|
+
|
|
70
|
+
### 2.1. Firebase Analytics Analysis
|
|
71
|
+
```
|
|
72
|
+
✅ Đánh giá chi tiết:
|
|
73
|
+
- User trends (7 days vs 30 days)
|
|
74
|
+
- Engagement patterns
|
|
75
|
+
- Revenue fluctuations (nếu có)
|
|
76
|
+
- Top performing languages/countries
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 2.2. ASO Analysis (Google Play Console)
|
|
80
|
+
```
|
|
81
|
+
✅ Phân tích từ khóa:
|
|
82
|
+
- Top 20 keywords theo visitors
|
|
83
|
+
- Conversion rate theo keyword
|
|
84
|
+
- Gợi ý keywords tiền năng (hidden gems)
|
|
85
|
+
|
|
86
|
+
✅ Phân tích thị trường:
|
|
87
|
+
- Top countries theo conversion
|
|
88
|
+
- Untapped markets
|
|
89
|
+
- Regional opportunities
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 2.3. Google Ads Analysis (via MCP)
|
|
93
|
+
```javascript
|
|
94
|
+
// Sử dụng các tools:
|
|
95
|
+
list_accounts()
|
|
96
|
+
get_campaign_performance({ customer_id, days: 30 })
|
|
97
|
+
get_ad_performance({ customer_id, days: 30 })
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Giai đoạn 3: Competitive Analysis
|
|
103
|
+
|
|
104
|
+
### 3.1. So sánh với industry benchmarks
|
|
105
|
+
| Chỉ số | App của bạn | Industry Average | Status |
|
|
106
|
+
|--------|-------------|------------------|--------|
|
|
107
|
+
| CPI | $X.XX | $Y.YY | ✅/⚠️/❌ |
|
|
108
|
+
| CTR | X% | Y% | ✅/⚠️/❌ |
|
|
109
|
+
| CVR | X% | Y% | ✅/⚠️/❌ |
|
|
110
|
+
| Retention D1 | X% | Y% | ✅/⚠️/❌ |
|
|
111
|
+
|
|
112
|
+
### 3.2. Competitive keywords
|
|
113
|
+
- Tìm từ khóa đối thủ đang rank cao
|
|
114
|
+
- So sánh store listing elements
|
|
115
|
+
- Identify gaps và opportunities
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Giai đoạn 4: Report Generation
|
|
120
|
+
|
|
121
|
+
### 4.1. Performance Report
|
|
122
|
+
```markdown
|
|
123
|
+
# 📊 Ads & ASO Analysis Report - [App Name]
|
|
124
|
+
## Date: [Date]
|
|
125
|
+
|
|
126
|
+
## 📈 Overview
|
|
127
|
+
- Total Users (30d): XXX
|
|
128
|
+
- Total Revenue (30d): $XXX
|
|
129
|
+
- Avg CPI: $X.XX
|
|
130
|
+
- Top Market: [Country]
|
|
131
|
+
|
|
132
|
+
## 🏆 Strengths
|
|
133
|
+
1. [Điểm mạnh 1]
|
|
134
|
+
2. [Điểm mạnh 2]
|
|
135
|
+
|
|
136
|
+
## ⚠️ Weaknesses
|
|
137
|
+
1. [Điểm yếu 1]
|
|
138
|
+
2. [Điểm yếu 2]
|
|
139
|
+
|
|
140
|
+
## 🎯 Recommendations (Priority Order)
|
|
141
|
+
1. [Hành động 1] - Expected Impact: +X%
|
|
142
|
+
2. [Hành động 2] - Expected Impact: +X%
|
|
143
|
+
3. [Hành động 3] - Expected Impact: +X%
|
|
144
|
+
|
|
145
|
+
## 📊 Detailed Metrics
|
|
146
|
+
[Tables and charts...]
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Giai đoạn 5: Actionable Insights
|
|
152
|
+
|
|
153
|
+
### Format đời thường:
|
|
154
|
+
```
|
|
155
|
+
❌ ĐỪNG: "CTR của anh là 1.2%, dưới benchmark 2.5%"
|
|
156
|
+
✅ NÊN: "Cứ 100 người thấy quảng cáo thì chỉ 1 người click.
|
|
157
|
+
Đối thủ trung bình có 2-3 người. Anh cần cải thiện
|
|
158
|
+
hình ảnh/tiêu đề quảng cáo để hấp dẫn hơn."
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Recommendations Template:
|
|
162
|
+
```
|
|
163
|
+
💡 GỢI Ý #1: [Tên hành động]
|
|
164
|
+
📊 Dữ liệu: [Con số cụ thể]
|
|
165
|
+
🎯 Kết quả dự kiến: [Impact estimate]
|
|
166
|
+
🔧 Cách làm: [Steps cụ thể]
|
|
167
|
+
⏰ Timeline: [Thời gian thực hiện]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## 📜 History Tracking Rule (Bắt buộc)
|
|
173
|
+
|
|
174
|
+
Sau khi hoàn thành workflow, AI **PHẢI** ghi log vào file `brain/ads_history_log.md` theo format sau:
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
### [YYYY-MM-DD HH:mm] /ads-analyst
|
|
178
|
+
- **Action:** [Analysis Report]
|
|
179
|
+
- **Target:** [Account ID / App Name]
|
|
180
|
+
- **Insights:** [Top findings / Hidden Gems discovered]
|
|
181
|
+
- **Recommendations:** [Top 3 recommendations]
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Lưu ý:** Nếu file không tồn tại, hãy tạo mới.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## ⚠️ NEXT STEPS (Decision Matrix):
|
|
189
|
+
|
|
190
|
+
Dựa trên insights vừa tìm được:
|
|
191
|
+
1. **Nếu tìm thấy điểm lãng phí hoặc cơ hội tối ưu:**
|
|
192
|
+
- Chạy `/ads-optimize` để thực hiện hành động ngay.
|
|
193
|
+
|
|
194
|
+
2. **Nếu tìm thấy thị trường ngách hoặc từ khóa mới:**
|
|
195
|
+
- Chạy `/ads-targeting` để tạo nhóm quảng cáo nhắm mục tiêu mới.
|
|
196
|
+
|
|
197
|
+
3. **Nếu cần tạo nội dung mới để khai thác insights:**
|
|
198
|
+
- Chạy `/ads-creative` để tạo bộ ads mới (A/B testing).
|
|
199
|
+
|
|
200
|
+
4. **Nếu cần lưu trữ kiến thức dài hạn:**
|
|
201
|
+
- Chạy `/save-brain` để ghi nhớ các metrics quan trọng.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 📊 Tự động phân tích & báo cáo hiệu suất Google Ads hàng ngày (Dual-Mode v5.0)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /ads-audit - The Ads Analyst (Dual-Mode + Symphony)
|
|
6
|
+
|
|
7
|
+
> **Mode A (Expert):** `/adsExpert [id]` -> Auto check & create tasks.
|
|
8
|
+
> **Mode B (Guided):** `/ads-audit` -> Chọn Account -> Phân tích -> Hướng dẫn chi tiết.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 🅰️ Expert Mode (Alias)
|
|
13
|
+
|
|
14
|
+
User gõ `/ads-audit --auto` hoặc `/adsExpert` sẽ kích hoạt workflow Expert.
|
|
15
|
+
Xem: `global_workflows/adsExpert.md`.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 🅱️ Guided Mode (Interactive Wizard)
|
|
20
|
+
|
|
21
|
+
### Phase 1: Context & Selection
|
|
22
|
+
1. **List Accounts:**
|
|
23
|
+
- Call `mcp-google-ads.list_accounts()`
|
|
24
|
+
- Hiển thị list cho User chọn (nếu chưa chọn).
|
|
25
|
+
2. **Currency Check:**
|
|
26
|
+
- Call `mcp-google-ads.get_account_currency(id)`
|
|
27
|
+
|
|
28
|
+
### Phase 2: Data Acquisition (Visible Steps)
|
|
29
|
+
*AI thông báo rõ đang làm gì:*
|
|
30
|
+
1. "Đang lấy dữ liệu hôm qua..." (`get_campaign_performance(days=1)`)
|
|
31
|
+
2. "Đang check xu hướng 7 ngày..." (`get_campaign_performance(days=7)`)
|
|
32
|
+
3. "Đang quét từ khóa lãng phí..." (`run_gaql(...)`)
|
|
33
|
+
|
|
34
|
+
### Phase 3: Analysis & Insights
|
|
35
|
+
1. **Vital Signs:**
|
|
36
|
+
- Spend hôm qua vs Trung bình tuần.
|
|
37
|
+
- CPA hôm qua vs Target.
|
|
38
|
+
2. **Health Check:**
|
|
39
|
+
- Có campaign nào max budget?
|
|
40
|
+
- Có từ khóa rác (High spend, 0 conv)?
|
|
41
|
+
|
|
42
|
+
### Phase 4: Strategy Menu
|
|
43
|
+
User nhận được tóm tắt và menu chọn hành động:
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
📊 **Audit Summary:**
|
|
47
|
+
- Spend Yesterday: 500k (Cao hơn TB 20%)
|
|
48
|
+
- Alerts: ⚠️ 2 Từ khóa rác phát hiện
|
|
49
|
+
|
|
50
|
+
➡️ **Chiến lược tiếp theo:**
|
|
51
|
+
1️⃣ 🧹 Dọn dẹp rác ngay (Review & Pause)
|
|
52
|
+
2️⃣ 🎵 Tạo task Symphony để xử lý sau
|
|
53
|
+
3️⃣ 📝 Xem báo cáo đầy đủ
|
|
54
|
+
4️⃣ 🔍 Phân tích sâu hơn (`/ads-analyst`)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Phase 5: Symphony Integration
|
|
58
|
+
- Nếu chọn **2 (Create Task)**:
|
|
59
|
+
- AI tự động tạo các tasks:
|
|
60
|
+
- `symphony_create_task(title="Pause Keyword X (Waste 200k)")`
|
|
61
|
+
- `symphony_create_task(title="Review Campaign Y (CPA too high)")`
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 🔍 GAQL Helper (Ẩn)
|
|
66
|
+
|
|
67
|
+
**Query: Wasted Keywords**
|
|
68
|
+
```sql
|
|
69
|
+
SELECT keyword_view.resource_name, metrics.cost_micros, metrics.conversions
|
|
70
|
+
FROM keyword_view
|
|
71
|
+
WHERE segments.date WITHIN LAST_30_DAYS
|
|
72
|
+
AND metrics.cost_micros > 500000000 -- >500k VND
|
|
73
|
+
AND metrics.conversions = 0
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 📜 History Tracking Rule (Bắt buộc)
|
|
79
|
+
|
|
80
|
+
Sau khi hoàn thành workflow, AI **PHẢI** ghi log vào file `brain/ads_history_log.md` theo format sau:
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
### [YYYY-MM-DD HH:mm] /ads-audit
|
|
84
|
+
- **Action:** [Mô tả ngắn gọn hành động đã làm]
|
|
85
|
+
- **Target:** [Campaign ID / Ad Group / Keyword]
|
|
86
|
+
- **Before:** [Metrics trước khi optimze - optional]
|
|
87
|
+
- **Outcome:** [Kết quả hoặc Hy vọng đạt được]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Lưu ý:** Nếu file không tồn tại, hãy tạo mới.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 🧠 Brain Logic
|
|
95
|
+
|
|
96
|
+
- **Save Report:** Luôn lưu báo cáo audit vào `reports/ads/audit_[date].md`.
|
|
97
|
+
- **Knowledge:** Nếu phát hiện pattern (vd: Thứ 7 luôn đắt), ghi vào Brain (`brain/ads_insights.md`).
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## ⚠️ NEXT STEPS:
|
|
102
|
+
```
|
|
103
|
+
1️⃣ Optimize ngay (`/ads-optimize`)
|
|
104
|
+
2️⃣ Làm mới Ads (`/ads-creative`)
|
|
105
|
+
3️⃣ Check tasks (`/todo`)
|
|
106
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 📈 Tối ưu chiến dịch quảng cáo & giảm CPI (Dual-Mode v5.0)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /ads-optimize - The Campaign Optimizer (Dual-Mode)
|
|
6
|
+
|
|
7
|
+
> **Mục tiêu:** Giảm CPI, tăng ROAS thông qua các action cụ thể (Bid, Negative KW, Scaling).
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🅰️ Expert Mode (Auto-Optimize)
|
|
12
|
+
|
|
13
|
+
Sử dụng `/adsExpert [id] --optimize` để tự động thực hiện các tối ưu an toàn:
|
|
14
|
+
- Add Negative Keywords chắc chắn (click spam).
|
|
15
|
+
- Pause Ads có CTR cực thấp (<0.5%).
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 🅱️ Guided Mode (Interactive)
|
|
20
|
+
|
|
21
|
+
### Phase 1: Optimization Goals
|
|
22
|
+
User chọn mục tiêu:
|
|
23
|
+
1. **Cut Waste:** Giảm tiền lãng phí (Negative KW, Pause bad ads).
|
|
24
|
+
2. **Scale Up:** Tăng ngân sách cho campaign tốt.
|
|
25
|
+
3. **Revive:** Cứu campaign đang chết dần.
|
|
26
|
+
|
|
27
|
+
### Phase 2: Analysis & Suggestions
|
|
28
|
+
|
|
29
|
+
**Scenario 1: Cut Waste**
|
|
30
|
+
- Query: Search Terms with High Spend & 0 Conv.
|
|
31
|
+
- Query: Display Placements with High Spend & 0 Conv.
|
|
32
|
+
- Action: "Thêm [X] từ khóa vào Negative List?"
|
|
33
|
+
|
|
34
|
+
**Scenario 2: Scale Up**
|
|
35
|
+
- Query: Campaigns with CPA < Target & Lost Impression Share (Budget).
|
|
36
|
+
- Action: "Tăng ngân sách Campaign [Name] thêm 20%?"
|
|
37
|
+
|
|
38
|
+
### Phase 3: Action Execution
|
|
39
|
+
- AI thực hiện thay đổi thông qua MCP (nếu tool hỗ trợ write).
|
|
40
|
+
- Nếu MCP chưa hỗ trợ write (an toàn): -> **Tạo Symphony Task hướng dẫn chi tiết.**
|
|
41
|
+
|
|
42
|
+
### Phase 4: Symphony Integration (Task Generation)
|
|
43
|
+
|
|
44
|
+
**Tạo Action Plan trong Symphony:**
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
# Example: Cut Waste Plan
|
|
48
|
+
symphony_create_task(title="Ads Optimization: Cut Waste [Date]", priority=1)
|
|
49
|
+
symphony_create_task(title="Add 5 Negative Keywords", description="burn, hack, free,...")
|
|
50
|
+
symphony_create_task(title="Exclude 10 Mobile App Placements")
|
|
51
|
+
|
|
52
|
+
# Example: Scale Plan
|
|
53
|
+
symphony_create_task(title="Ads Optimization: Scale Up [Date]", priority=2)
|
|
54
|
+
symphony_create_task(title="Increase Budget: Campaign A (+20%)")
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 🔍 GAQL Queries
|
|
60
|
+
|
|
61
|
+
**Find Good Campaigns (Ready to Scale):**
|
|
62
|
+
```sql
|
|
63
|
+
SELECT campaign.name, metrics.cost_per_conversion, metrics.search_budget_lost_impression_share
|
|
64
|
+
FROM campaign
|
|
65
|
+
WHERE segments.date WITHIN LAST_7_DAYS
|
|
66
|
+
AND metrics.cost_per_conversion < 50000000 -- <50k CPA
|
|
67
|
+
AND metrics.search_budget_lost_impression_share > 0.1 -- Lost >10% due to budget
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 📜 History Tracking Rule (Bắt buộc)
|
|
73
|
+
|
|
74
|
+
Sau khi hoàn thành workflow, AI **PHẢI** ghi log vào file `brain/ads_history_log.md` theo format sau:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
### [YYYY-MM-DD HH:mm] /ads-optimize
|
|
78
|
+
- **Action:** [Mô tả ngắn gọn hành động đã làm, vd: Cut Waste, Scale Up]
|
|
79
|
+
- **Target:** [Campaign ID / Ad Group / Keyword]
|
|
80
|
+
- **Outcome:** [Kết quả hoặc Hy vọng đạt được]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Lưu ý:** Nếu file không tồn tại, hãy tạo mới.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 🧠 Brain Integration
|
|
88
|
+
|
|
89
|
+
- Lưu "Winning optimization" vào Brain. Ví dụ: "Tăng budget vào Thứ 6 thường hiệu quả".
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## ⚠️ NEXT STEPS:
|
|
94
|
+
```
|
|
95
|
+
1️⃣ Xác nhận task trong Symphony (`/todo`)
|
|
96
|
+
2️⃣ Kiểm tra lại Audit (`/ads-audit`)
|
|
97
|
+
```
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🎯 Tạo nhóm quảng cáo target đúng user
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /ads-targeting - The Audience Architect
|
|
6
|
+
|
|
7
|
+
Bạn là **Antigravity Ads Targeting Expert** - chuyên gia tạo nhóm quảng cáo nhắm đúng đối tượng với chi phí thấp.
|
|
8
|
+
|
|
9
|
+
**Nhiệm vụ:** Tạo ad groups tối ưu để thu hút lượt cài đặt chất lượng.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🎯 Mục tiêu
|
|
14
|
+
|
|
15
|
+
- Tạo ad groups phù hợp với từng đối tượng người dùng
|
|
16
|
+
- Giảm CPI bằng cách target chính xác
|
|
17
|
+
- Tối ưu creative cho từng segment
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Giai đoạn 1: Audience Research
|
|
22
|
+
|
|
23
|
+
### 1.1. User Persona Analysis
|
|
24
|
+
```
|
|
25
|
+
📋 Hãy mô tả app của anh/chị:
|
|
26
|
+
|
|
27
|
+
1️⃣ App category (Games, Productivity, Health, etc.)
|
|
28
|
+
2️⃣ Problem app giải quyết
|
|
29
|
+
3️⃣ User lý tưởng (tuổi, giới tính, sở thích)
|
|
30
|
+
4️⃣ Điểm khác biệt so với đối thủ
|
|
31
|
+
|
|
32
|
+
Gõ số hoặc mô tả chi tiết:
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 1.2. Data-Driven Segments
|
|
36
|
+
Dựa trên dữ liệu từ Firebase Analytics và Google Play Console:
|
|
37
|
+
|
|
38
|
+
| Segment | Đặc điểm | Potential |
|
|
39
|
+
|---------|----------|-----------|
|
|
40
|
+
| High-Value | LTV cao, retention tốt | ⭐⭐⭐ |
|
|
41
|
+
| Volume | CPI thấp, volume lớn | ⭐⭐ |
|
|
42
|
+
| Emerging | Thị trường mới, đang phát triển | ⭐⭐⭐ |
|
|
43
|
+
| Lookalike | Giống với high-value users | ⭐⭐⭐ |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Giai đoạn 2: Keyword Grouping Strategy
|
|
48
|
+
|
|
49
|
+
### 2.1. SKAG (Single Keyword Ad Groups)
|
|
50
|
+
Cho từ khóa có volume cao và performance tốt:
|
|
51
|
+
```
|
|
52
|
+
Ad Group: "meditation app"
|
|
53
|
+
├── Keyword: [meditation app] (Exact)
|
|
54
|
+
├── Ad 1: Headline focusing on meditation
|
|
55
|
+
├── Ad 2: Headline variation
|
|
56
|
+
└── Landing: App store listing
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2.2. STAG (Single Theme Ad Groups)
|
|
60
|
+
Cho nhóm từ khóa liên quan:
|
|
61
|
+
```
|
|
62
|
+
Ad Group: "stress relief"
|
|
63
|
+
├── Keyword 1: [stress relief app]
|
|
64
|
+
├── Keyword 2: [anxiety relief app]
|
|
65
|
+
├── Keyword 3: [calm app]
|
|
66
|
+
├── Shared Ads focusing on stress relief
|
|
67
|
+
└── Landing: App store listing
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 2.3. Intent-Based Groups
|
|
71
|
+
| Intent | Keywords | Ad Message |
|
|
72
|
+
|--------|----------|------------|
|
|
73
|
+
| Problem-Aware | "can't sleep", "insomnia help" | Giải quyết vấn đề |
|
|
74
|
+
| Solution-Aware | "sleep app", "meditation app" | So sánh solution |
|
|
75
|
+
| Product-Aware | "[App name]", "[Competitor]" | Ưu điểm app |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Giai đoạn 3: Geographic Targeting
|
|
80
|
+
|
|
81
|
+
### 3.1. Tier Classification
|
|
82
|
+
Dựa trên dữ liệu conversion và CPI:
|
|
83
|
+
|
|
84
|
+
**Tier 1 (High Priority):**
|
|
85
|
+
- Countries với conversion rate > average
|
|
86
|
+
- CPI trong budget
|
|
87
|
+
- Volume đủ lớn
|
|
88
|
+
|
|
89
|
+
**Tier 2 (Medium Priority):**
|
|
90
|
+
- Countries có potential nhưng chưa test
|
|
91
|
+
- CPI acceptable
|
|
92
|
+
- Emerging markets
|
|
93
|
+
|
|
94
|
+
**Tier 3 (Test):**
|
|
95
|
+
- Countries mới, chưa có data
|
|
96
|
+
- Budget nhỏ để test
|
|
97
|
+
- Potential hidden gems
|
|
98
|
+
|
|
99
|
+
### 3.2. Language Targeting
|
|
100
|
+
```
|
|
101
|
+
✅ Best Practice:
|
|
102
|
+
- Tạo ad groups riêng cho mỗi ngôn ngữ
|
|
103
|
+
- Localize ad copy
|
|
104
|
+
- Localize store listing
|
|
105
|
+
|
|
106
|
+
📊 Priority Languages (dựa trên data):
|
|
107
|
+
1. [Language 1] - X% users
|
|
108
|
+
2. [Language 2] - Y% users
|
|
109
|
+
3. [Language 3] - Z% users
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Giai đoạn 4: Ad Group Structure
|
|
115
|
+
|
|
116
|
+
### 4.1. Campaign Structure Template
|
|
117
|
+
```
|
|
118
|
+
Campaign: [App Name] - Install
|
|
119
|
+
├── Ad Group: High-Intent Keywords (Exact)
|
|
120
|
+
│ ├── Keywords: [app name], [competitor]
|
|
121
|
+
│ └── Ads: Brand-focused
|
|
122
|
+
│
|
|
123
|
+
├── Ad Group: Problem Keywords
|
|
124
|
+
│ ├── Keywords: [problem 1], [problem 2]
|
|
125
|
+
│ └── Ads: Problem-solution focused
|
|
126
|
+
│
|
|
127
|
+
├── Ad Group: Solution Keywords
|
|
128
|
+
│ ├── Keywords: [solution 1], [solution 2]
|
|
129
|
+
│ └── Ads: Feature-focused
|
|
130
|
+
│
|
|
131
|
+
├── Ad Group: Country-Specific (Tier 1)
|
|
132
|
+
│ ├── Geo: [Country list]
|
|
133
|
+
│ └── Ads: Localized
|
|
134
|
+
│
|
|
135
|
+
└── Ad Group: Discovery (Broad)
|
|
136
|
+
├── Keywords: Broad match with Smart Bidding
|
|
137
|
+
└── Budget: Test budget
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 4.2. Budget Allocation
|
|
141
|
+
| Ad Group Type | % Budget | Goal |
|
|
142
|
+
|---------------|----------|------|
|
|
143
|
+
| High-Intent | 40% | Conversions |
|
|
144
|
+
| Problem/Solution | 30% | Quality users |
|
|
145
|
+
| Geographic | 20% | Expansion |
|
|
146
|
+
| Discovery | 10% | Find new keywords |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Giai đoạn 5: Creative Strategy
|
|
151
|
+
|
|
152
|
+
### 5.1. Ad Variations per Group
|
|
153
|
+
```
|
|
154
|
+
Mỗi ad group cần tối thiểu:
|
|
155
|
+
- 2-3 headlines khác nhau
|
|
156
|
+
- 2 descriptions khác nhau
|
|
157
|
+
- Multiple image sizes
|
|
158
|
+
|
|
159
|
+
✅ Test Framework:
|
|
160
|
+
- Week 1-2: Run all variations
|
|
161
|
+
- Week 3: Analyze performance
|
|
162
|
+
- Week 4: Kill losers, scale winners
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### 5.2. Message Matching
|
|
166
|
+
| Keyword Intent | Headline Focus | Description Focus |
|
|
167
|
+
|----------------|----------------|-------------------|
|
|
168
|
+
| Problem | Giải quyết [Problem] | How app solves it |
|
|
169
|
+
| Solution | [Solution] #1 App | Key features |
|
|
170
|
+
| Competitor | Switch from [X] | Comparison points |
|
|
171
|
+
| Brand | [App Name] Official | Trust + download |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Giai đoạn 6: Implementation
|
|
176
|
+
|
|
177
|
+
### 6.1. Google Ads Setup Checklist
|
|
178
|
+
- [ ] Campaign created with correct goal
|
|
179
|
+
- [ ] Ad groups structured per template
|
|
180
|
+
- [ ] Keywords added with correct match types
|
|
181
|
+
- [ ] Negative keywords added
|
|
182
|
+
- [ ] Ads created with variations
|
|
183
|
+
- [ ] Bidding strategy selected
|
|
184
|
+
- [ ] Budget allocated
|
|
185
|
+
- [ ] Tracking verified
|
|
186
|
+
|
|
187
|
+
### 6.2. Output Template
|
|
188
|
+
```markdown
|
|
189
|
+
# 🎯 Ad Group Setup - [App Name]
|
|
190
|
+
|
|
191
|
+
## Campaign: [Name]
|
|
192
|
+
- Objective: App Installs
|
|
193
|
+
- Bidding: Target CPI $X.XX
|
|
194
|
+
- Daily Budget: $XX
|
|
195
|
+
|
|
196
|
+
## Ad Groups Created:
|
|
197
|
+
|
|
198
|
+
### 1. [Ad Group Name]
|
|
199
|
+
- Keywords: [list]
|
|
200
|
+
- Match Types: [types]
|
|
201
|
+
- Target CPI: $X.XX
|
|
202
|
+
- Ads: [count]
|
|
203
|
+
|
|
204
|
+
### 2. [Ad Group Name]
|
|
205
|
+
...
|
|
206
|
+
|
|
207
|
+
## Negative Keywords Added:
|
|
208
|
+
- [List]
|
|
209
|
+
|
|
210
|
+
## Next Steps:
|
|
211
|
+
1. Monitor for 7 days
|
|
212
|
+
2. Review /ads-analyst
|
|
213
|
+
3. Optimize based on data
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 📜 History Tracking Rule (Bắt buộc)
|
|
219
|
+
|
|
220
|
+
Sau khi hoàn thành workflow, AI **PHẢI** ghi log vào file `brain/ads_history_log.md` theo format sau:
|
|
221
|
+
|
|
222
|
+
```markdown
|
|
223
|
+
### [YYYY-MM-DD HH:mm] /ads-targeting
|
|
224
|
+
- **Action:** [Create Ad Groups]
|
|
225
|
+
- **Target:** [App Name / Campaign: Name]
|
|
226
|
+
- **Output:** [Counts: Ad Groups, Keywords]
|
|
227
|
+
- **Strategy:** [Strategic Note, e.g: SKAG for High Intent]
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Lưu ý:** Nếu file không tồn tại, hãy tạo mới.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## ⚠️ NEXT STEPS (Menu số):
|
|
235
|
+
```
|
|
236
|
+
1️⃣ Phân tích hiệu suất ad groups → /ads-analyst
|
|
237
|
+
2️⃣ Tối ưu campaigns hiện tại → /ads-optimize
|
|
238
|
+
3️⃣ Tạo thêm ad groups cho segment khác
|
|
239
|
+
4️⃣ Lưu setup template → /save-brain
|
|
240
|
+
5️⃣ Review creative assets
|
|
241
|
+
```
|