@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
|
@@ -1,133 +1,65 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
###
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
[User Input]
|
|
67
|
-
[Hành động]
|
|
68
|
-
│
|
|
69
|
-
▼
|
|
70
|
-
[Phase 1 — Xử lý A]
|
|
71
|
-
[Logic hàm/Function logic]
|
|
72
|
-
│
|
|
73
|
-
▼
|
|
74
|
-
[Phase 2 — Xử lý B]
|
|
75
|
-
[Logic tổng hợp] -> Output
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## 5. Onboarding — Mindset & Thiết kế
|
|
79
|
-
### 5.1 Triết lý onboarding
|
|
80
|
-
[Giá trị cốt lõi muốn truyền tải trước khi user đăng ký là gì?]
|
|
81
|
-
### 5.2 Cấu trúc các slide
|
|
82
|
-
- **Slide 0 (Hook):** [Mô tả chi tiết ảnh, text, animation lôi kéo]
|
|
83
|
-
- **Slide 1 (Value 1):** [Chức năng 1]
|
|
84
|
-
- **Slide 2 (Personalization):** ...
|
|
85
|
-
- **Slide 3 (CTA):** ...
|
|
86
|
-
### 5.3 Design patterns đặc thù
|
|
87
|
-
- [Ví dụ: Count-up animation cho điểm số, Stagger card entry]
|
|
88
|
-
|
|
89
|
-
## 6. Gợi ý tính năng — Mindset xây dựng
|
|
90
|
-
Mỗi tính năng đều phải đáp ứng cấu trúc [Input -> Core Logic -> Actionable Suggestion -> "Why" Explanation].
|
|
91
|
-
[Đưa ra 1 cặp ví dụ Đúng/Sai về việc recommend nội dung cho user theo quy tắc KHÔNG GENERIC.]
|
|
92
|
-
- ❌ **Sai:** [Câu chung chung]
|
|
93
|
-
- ✅ **Đúng:** [Câu cá nhân hóa sâu theo db/mệnh/sở thích]
|
|
94
|
-
|
|
95
|
-
## 7. Design System
|
|
96
|
-
### 7.1 Palette màu
|
|
97
|
-
| Vai trò | Hex Code | Tên màu |
|
|
98
|
-
|---------|----------|----------|
|
|
99
|
-
| Primary | #Hex | [Tên] |
|
|
100
|
-
| Text/Sub| #Hex | [Tên] |
|
|
101
|
-
|
|
102
|
-
### 7.2 Animation & Icon Convention
|
|
103
|
-
- [Quy tắc animation (Fade, Spring, Duration)]
|
|
104
|
-
- [Quy tắc icon (PNG thực tế hay SVG tint)]
|
|
105
|
-
|
|
106
|
-
## 8. Vòng lặp tăng trưởng (Engagement Loop)
|
|
107
|
-
[AI: Vẽ ASCII text flow mô tả vòng lặp giữ chân user]
|
|
108
|
-
```text
|
|
109
|
-
[Lần đầu sử dụng] -> [Nhận giá trị A] -> [Thực hiện hành động B] -> [Sự kiện C kéo user quay lại] -> [Chia sẻ mạng xã hội]
|
|
110
|
-
```
|
|
111
|
-
| Trigger quay lại | Tần suất |
|
|
112
|
-
|-------------------|----------|
|
|
113
|
-
| [Sự kiện/Push] | [Bao lâu]|
|
|
114
|
-
|
|
115
|
-
## 9. Mô hình kinh doanh (Monetization)
|
|
116
|
-
[AI: Vẽ sơ đồ cây cho Free Tier và Premium Tier]
|
|
117
|
-
|
|
118
|
-
## 10. Nguyên tắc kỹ thuật
|
|
119
|
-
* **Performance:** [Luật xử lý client side vs server side]
|
|
120
|
-
* **Data Flow:** [Service A -> Service B]
|
|
121
|
-
* **Error Handling:** [Mindset khi API lỗi, rớt mạng, thiếu data]
|
|
122
|
-
|
|
123
|
-
## 11. Roadmap tính năng
|
|
124
|
-
* **Phase 1 — Nền tảng (MVP):** ...
|
|
125
|
-
* **Phase 2 — Chiều sâu (Depth):** ...
|
|
126
|
-
* **Phase 3 — Tăng trưởng (Growth):** ...
|
|
127
|
-
|
|
128
|
-
## 12. Điều Không Được Làm (Anti-patterns)
|
|
129
|
-
1. [Luật 1 - Ví dụ: Không để UI lạnh lẽo công nghệ]
|
|
130
|
-
2. [Luật 2 - Ví dụ: Không lưu data raw người dùng lên server]
|
|
131
|
-
3. [Luật 3]
|
|
132
|
-
4. [Luật 4]
|
|
133
|
-
5. [Luật 5]
|
|
1
|
+
# [Feature Name] Requirements Document
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
|
|
5
|
+
[Brief description of the feature and its purpose - 2-3 sentences explaining what problem it solves and why it's important to users]
|
|
6
|
+
|
|
7
|
+
## Glossary
|
|
8
|
+
|
|
9
|
+
- **[Term_1]**: [Clear definition of domain-specific term]
|
|
10
|
+
- **[Term_2]**: [Clear definition of domain-specific term]
|
|
11
|
+
- **[System_Component]**: [Description of system component mentioned in requirements]
|
|
12
|
+
|
|
13
|
+
## Requirements
|
|
14
|
+
|
|
15
|
+
### Requirement 1
|
|
16
|
+
|
|
17
|
+
**User Story:** As a [user type], I want to [action/capability], so that [benefit/value].
|
|
18
|
+
|
|
19
|
+
#### Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
1. WHEN [triggering condition], THE [System_Component] SHALL [expected behavior]
|
|
22
|
+
2. WHEN [triggering condition], THE [System_Component] SHALL [expected behavior]
|
|
23
|
+
3. WHILE [ongoing context], THE [System_Component] SHALL [maintained behavior]
|
|
24
|
+
4. IF [condition], THE [System_Component] SHALL [conditional behavior]
|
|
25
|
+
5. WHEN [edge case], THE [System_Component] SHALL [edge case handling]
|
|
26
|
+
|
|
27
|
+
### Requirement 2
|
|
28
|
+
|
|
29
|
+
**User Story:** As a [user type], I want to [action/capability], so that [benefit/value].
|
|
30
|
+
|
|
31
|
+
#### Acceptance Criteria
|
|
32
|
+
|
|
33
|
+
1. WHEN [condition], THE [System_Component] SHALL [behavior]
|
|
34
|
+
2. WHEN [condition], THE [System_Component] SHALL [behavior]
|
|
35
|
+
3. WHILE [context], THE [System_Component] SHALL [behavior]
|
|
36
|
+
|
|
37
|
+
### Requirement 3 (Error Handling)
|
|
38
|
+
|
|
39
|
+
**User Story:** As a [user type], I want [error recovery capability], so that [resilience benefit].
|
|
40
|
+
|
|
41
|
+
#### Acceptance Criteria
|
|
42
|
+
|
|
43
|
+
1. WHEN [error condition], THE [System_Component] SHALL [error handling]
|
|
44
|
+
2. WHEN [network failure], THE [System_Component] SHALL [offline handling]
|
|
45
|
+
3. WHEN [invalid input], THE [System_Component] SHALL [validation feedback]
|
|
46
|
+
|
|
47
|
+
### Requirement 4 (Security)
|
|
48
|
+
|
|
49
|
+
**User Story:** As a [user type], I want [security feature], so that [security benefit].
|
|
50
|
+
|
|
51
|
+
#### Acceptance Criteria
|
|
52
|
+
|
|
53
|
+
1. WHEN [sensitive data access], THE [System_Component] SHALL [security measure]
|
|
54
|
+
2. WHEN [authentication required], THE [System_Component] SHALL [auth flow]
|
|
55
|
+
3. WHILE [session active], THE [System_Component] SHALL [session management]
|
|
56
|
+
|
|
57
|
+
### Requirement 5 (Accessibility)
|
|
58
|
+
|
|
59
|
+
**User Story:** As a [user with accessibility needs], I want [accessibility feature], so that [inclusive benefit].
|
|
60
|
+
|
|
61
|
+
#### Acceptance Criteria
|
|
62
|
+
|
|
63
|
+
1. WHEN [using screen reader], THE [System_Component] SHALL [accessibility support]
|
|
64
|
+
2. WHEN [using keyboard only], THE [System_Component] SHALL [keyboard navigation]
|
|
65
|
+
3. WHILE [displaying content], THE [System_Component] SHALL [contrast/sizing support]
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
Elements:
|
|
12
12
|
<name> → Short task title
|
|
13
13
|
<files> → Comma-separated list of files to create/modify
|
|
14
|
+
<anchor> → Core symbols/classes to use with gitnexus
|
|
14
15
|
<spec_ref> → Reference to REQUIREMENTS.md or TECH-SPEC.md section
|
|
15
16
|
<depends_on> → Task names this depends on (for wave grouping)
|
|
16
17
|
<action> → Specific implementation instructions
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
<task type="auto">
|
|
23
24
|
<name>Create User model</name>
|
|
24
25
|
<files>Models/User.swift, Models/UserRepository.swift</files>
|
|
26
|
+
<anchor>User, UserRepository</anchor>
|
|
25
27
|
<spec_ref>REQUIREMENTS.md § R1, TECH-SPEC.md § AD-1</spec_ref>
|
|
26
28
|
<depends_on>none</depends_on>
|
|
27
29
|
<action>
|
|
@@ -37,6 +39,7 @@
|
|
|
37
39
|
<task type="auto">
|
|
38
40
|
<name>Create login endpoint</name>
|
|
39
41
|
<files>Services/AuthService.swift, ViewModels/LoginViewModel.swift</files>
|
|
42
|
+
<anchor>AuthService, LoginViewModel</anchor>
|
|
40
43
|
<spec_ref>REQUIREMENTS.md § R2</spec_ref>
|
|
41
44
|
<depends_on>Create User model</depends_on>
|
|
42
45
|
<action>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🔍 Critic Subagent - Phê bình và Đánh giá Logic
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# SUBAGENT: critic
|
|
6
|
+
|
|
7
|
+
Bạn là **Antigravity Critic / Verifier**. Nhiệm vụ của bạn là rà soát, phản biện và tìm lỗi trong các giải pháp thiết kế hoặc mã nguồn do Manager đề xuất.
|
|
8
|
+
|
|
9
|
+
## 🎯 Chỉ dẫn Vai trò (System Instructions)
|
|
10
|
+
|
|
11
|
+
- **Mục tiêu:** Phát hiện các lỗ hổng logic, lỗi biên (edge cases), và các giả định sai lầm. Ngăn chặn việc "chốt sớm" vào giải pháp không tối ưu (early commitment).
|
|
12
|
+
- **Nguyên tắc:**
|
|
13
|
+
- Đóng vai trò là một người phản biện nghiêm túc nhưng mang tính xây dựng.
|
|
14
|
+
- Phân tích đa chiều: hiệu năng, bảo mật, khả năng mở rộng, và độ sạch của code.
|
|
15
|
+
- Đối chiếu sát sao với spec yêu cầu của người dùng.
|
|
16
|
+
|
|
17
|
+
## 🛠️ Ranh giới Công cụ (Tool Boundaries)
|
|
18
|
+
|
|
19
|
+
- Bạn **CHỈ** được phép sử dụng các công cụ **Read-Only** (như `view_file`, `list_dir`, `grep_search`).
|
|
20
|
+
- **CẤM TUYỆT ĐỐI** sử dụng các công cụ thay đổi tệp hoặc hệ thống (như `write_to_file`, `replace_file_content`, `run_command` dạng mutated).
|
|
21
|
+
|
|
22
|
+
## 📊 Định dạng Kết quả đầu ra (Output Schema)
|
|
23
|
+
|
|
24
|
+
Bạn bắt buộc phải trả về kết quả dạng JSON có cấu trúc sau qua tin nhắn cho Manager:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"status": "approved | rejected | warnings",
|
|
29
|
+
"summary": "Tóm tắt ngắn gọn đánh giá",
|
|
30
|
+
"critical_flaws": [
|
|
31
|
+
"Danh sách các lỗi nghiêm trọng hoặc rủi ro logic lớn"
|
|
32
|
+
],
|
|
33
|
+
"edge_cases": [
|
|
34
|
+
"Các trường hợp biên chưa được xử lý"
|
|
35
|
+
],
|
|
36
|
+
"suggestions": [
|
|
37
|
+
"Đề xuất cải tiến cụ thể"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🔀 Hướng dẫn quy trình chuẩn Git (Feature Branch -> Rebase -> PR)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 🔀 Quy trình Git Rebase (Senior Assistant)
|
|
6
|
+
|
|
7
|
+
Quy trình này đóng vai trò như một Senior Developer hướng dẫn bạn làm quen và tuân thủ quy trình Git chuyên nghiệp: **Nhánh tính năng (Feature Branch) -> Rebase -> Pull Request**. Có khả năng tự động review code, cảnh báo rủi ro, và giải quyết xung đột (conflict) một cách an toàn.
|
|
8
|
+
|
|
9
|
+
Áp dụng TỐT cho toàn bộ các framework hay ngôn ngữ làm việc nhóm.
|
|
10
|
+
|
|
11
|
+
## Giai đoạn 1: Khởi tạo Nhánh Tính năng (Branching)
|
|
12
|
+
|
|
13
|
+
Trợ lý kiểm tra và hướng dẫn bạn tạo nhánh đúng quy chuẩn trước khi bắt tay vào code.
|
|
14
|
+
|
|
15
|
+
1. Lấy trạng thái mới nhất từ remote server:
|
|
16
|
+
`git fetch origin`
|
|
17
|
+
2. Kiểm tra nhánh bạn đang đứng hiện tại:
|
|
18
|
+
`git branch --show-current`
|
|
19
|
+
3. Đảm bảo nhánh hiện tại là `master` hoặc `main` và update code mới nhất:
|
|
20
|
+
`git pull origin main` (hoặc `master`)
|
|
21
|
+
4. Tạo và chuyển sang nhánh tính năng riêng tư:
|
|
22
|
+
`git checkout -b feature/ten-tinh-nang`
|
|
23
|
+
|
|
24
|
+
> [!TIP]
|
|
25
|
+
> Luôn code trên nhánh mang tên `feature/*`, `bugfix/*` hoặc `chore/*`. Không bao giờ code và commit trực tiếp lên nhánh `master` hay `main`.
|
|
26
|
+
|
|
27
|
+
## Giai đoạn 2: Phát triển & Kiểm tra (Code & Review)
|
|
28
|
+
|
|
29
|
+
Sau khi code xong ở local, AI đóng vai trò review trước khi bạn commit.
|
|
30
|
+
|
|
31
|
+
1. Xem lại những files đã sửa đê xác nhận lần cuối:
|
|
32
|
+
`git status`
|
|
33
|
+
2. Review chi tiết các thay đổi của dòng code:
|
|
34
|
+
`git diff`
|
|
35
|
+
3. **Tiêu chuẩn Review tự động từ Trợ lý AI**:
|
|
36
|
+
- Quét tìm hardcode credential hoặc API key.
|
|
37
|
+
- Code có đáp ứng Clean Code không? Có tiềm ẩn memory leak không?
|
|
38
|
+
- Cảnh báo với các khối lệnh ẩn chứa risk nhưng không wrap `try-catch` / xử lý ngoại lệ.
|
|
39
|
+
4. Ghi nhận commit (Nên dùng Convention Commits):
|
|
40
|
+
`git add .`
|
|
41
|
+
`git commit -m "feat: [Nhập tóm tắt công việc bạn đã hoàn thiện]"`
|
|
42
|
+
|
|
43
|
+
## Giai đoạn 3: Quy trình Rebase (Quan trọng nhất)
|
|
44
|
+
|
|
45
|
+
Quy trình Rebase thay vì Merge giúp giữ cho [Linear Git History] (lịch sử git thẳng, sạch) thay vì tạo ra "Merge commit" rườm rà chồng chéo.
|
|
46
|
+
|
|
47
|
+
1. Gọi lại lệnh fetch data toàn bộ remote origin xuống:
|
|
48
|
+
`git fetch origin`
|
|
49
|
+
2. Chạy lệnh Rebase update với nhánh chính:
|
|
50
|
+
`git rebase origin/main`
|
|
51
|
+
|
|
52
|
+
> [!IMPORTANT]
|
|
53
|
+
> **Tại sao cần Rebase?** Rebase sẽ kéo những commit mới nhất của đồng nghiệp khác (những người đã chốt tính năng và đẩy lên server ở giữa lúc bạn đang code) lên trước, sau đó nối đoạn code mới của bạn lên ĐẦU đường dây đỏ. Nó giúp việc xem qua lịch sử phát triển dự án rất mượt mà.
|
|
54
|
+
|
|
55
|
+
## Giai đoạn 4: Giải quyết Xung đột (Resolve Conflicts)
|
|
56
|
+
|
|
57
|
+
Nếu terminal báo **Merge conflict in...** (tức là 2 người củng sửa vào 1 biến/hàm/file cấu hình)
|
|
58
|
+
|
|
59
|
+
1. **DỪNG LẠI!** Bạn không cần hoảng. Hãy copy ném phần code đang có dải tag `<<<<<<< HEAD`, `=======`, `>>>>>>>` của file bị xung đột lên cho tôi.
|
|
60
|
+
2. Trợ lý sẽ đóng vai trò hòa giải -> Phân tích luồng logic của ứng dụng để gộp trơn tru cả 2 thành phần.
|
|
61
|
+
- Nhạy cảm đặc biệt: Trợ lý có kinh nghiệm handle không làm "vỡ" cấu trúc các file hệ thống (`package.json`, `project.pbxproj`, `.yml` v.v..), giữ nguyên vẹn các UUID tham chiếu.
|
|
62
|
+
3. Sau khi chép lại file đã được chỉnh sửa chuẩn xác, add file:
|
|
63
|
+
`git add [tên file đã sửa conflict]`
|
|
64
|
+
4. Tiếp tục quá trình Rebase:
|
|
65
|
+
`git rebase --continue`
|
|
66
|
+
|
|
67
|
+
*(Nếu cần thoát vòng lặp lỗi nguy hiểm khi đang Rebase mà không biết xử lý, hãy chạy: `git rebase --abort`)*
|
|
68
|
+
|
|
69
|
+
## Giai đoạn 5: Đẩy Code & Tạo Pull Request (PR)
|
|
70
|
+
|
|
71
|
+
1. Sau khi thành công rebase, toàn bộ nhánh tính năng của bạn đã đủ ổn và "clean" để đẩy ngược lên Remote Repository:
|
|
72
|
+
`git push --force-with-lease origin feature/ten-tinh-nang`
|
|
73
|
+
*(Tham số `--force-with-lease` là cực kỳ quan trọng, nó thay thế `--force` thông thường, để bảo vệ trong case có ai đó cũng đang push lên nhánh `feature/ ten-tinh-nang` của riêng bạn từ 1 máy khác)*
|
|
74
|
+
2. Lên hệ thống Git của công ty (GitHub/GitLab/Bitbucket...) bấm tạo "New Pull Request".
|
|
75
|
+
3. **Trợ lý tự soạn PR Description ngắn gọn, rành mạch:**
|
|
76
|
+
- Bạn có thể nói tôi: "Tạo PR cho thay đổi này".
|
|
77
|
+
- Tôi sẽ bóp tắt các commits để tóm gọn tính năng bạn làm -> Liệt kê Checklist cho QA và Team Review.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
// turbo
|
|
81
|
+
Bước 1 và 3 có thể tự động chạy ngầm nếu bạn đồng ý. Các bước 2, 4 và 5 cần chủ đích của con người thao tác.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🎨 Image Generator — Tạo App Icons, Mascots và Pets (Hatch-style) với chất lượng Studio (Soft-Edge & Hole-Aware)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /image-gen — High-Quality Asset Production Workflow
|
|
6
|
+
|
|
7
|
+
> Quy trình tạo Asset chuyên nghiệp, tự động tách nền và xử lý cạnh mượt mà (PicWish Style).
|
|
8
|
+
> Hỗ trợ tạo Pet Bundle (Trứng + Thú cưng) tương tự Codex nhưng chất lượng cao hơn.
|
|
9
|
+
|
|
10
|
+
// turbo-all
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Sub-commands
|
|
15
|
+
|
|
16
|
+
### `/image-gen:icon` — Tạo bộ App Icon
|
|
17
|
+
|
|
18
|
+
1. Hỏi user về chủ đề (Theme), phong cách (Style - mặc định: `vector`), và **Kích thước lưới** (Grid - mặc định: `3x3`).
|
|
19
|
+
2. Tự động tính toán số lượng `{count}` dựa trên lưới (vd: 3x3 -> 9 icons).
|
|
20
|
+
3. Thông báo user: "🎨 Đang phác thảo bộ Icon Set {grid} cho chủ đề: {theme}..."
|
|
21
|
+
4. Thực thi lệnh tạo:
|
|
22
|
+
```bash
|
|
23
|
+
create-icon {theme} {grid} {style}
|
|
24
|
+
```
|
|
25
|
+
5. Sau khi ảnh được tạo, thông báo: "✅ Đã tạo xong và xử lý Soft-Edge. File lưu tại: `assets/generated/`."
|
|
26
|
+
|
|
27
|
+
### `/image-gen:mascot` — Tạo bộ Linh vật / Mascot
|
|
28
|
+
|
|
29
|
+
1. Hỏi user về nhân vật (Character), phong cách (Style - mặc định: `chibi`), và **Kích thước lưới** (Grid - mặc định: `3x3`).
|
|
30
|
+
2. Tự động tính toán số lượng `{count}` dựa trên lưới.
|
|
31
|
+
3. Thông báo user: "🧸 Đang thiết kế bộ Mascot {grid} cho: {character}..."
|
|
32
|
+
4. Thực thi lệnh tạo:
|
|
33
|
+
```bash
|
|
34
|
+
create-mascot {character} {grid} {style}
|
|
35
|
+
```
|
|
36
|
+
5. Sau khi ảnh được tạo, thông báo: "✅ Mascot đã sẵn sàng với nền trong suốt hoàn hảo!"
|
|
37
|
+
|
|
38
|
+
### `/image-gen:pet` — Tạo Pet Bundle (Ấp trứng)
|
|
39
|
+
|
|
40
|
+
1. Hỏi user về loại Pet (ví dụ: `fire dragon`, `ice phoenix`) và **Kích thước lưới** (Grid - mặc định: `4x4` cho đầy đủ trạng thái).
|
|
41
|
+
2. Thông báo user: "🐣 Đang tạo Pet Bundle ({grid}) cho: {pet_type}..."
|
|
42
|
+
3. Thực thi lệnh tạo:
|
|
43
|
+
```bash
|
|
44
|
+
create-pet {pet_type} {grid}
|
|
45
|
+
```
|
|
46
|
+
4. Tạo thư mục cấu hình: `mkdir -p assets/pets/{pet_id}`
|
|
47
|
+
5. Ghi file `pet.json` mẫu tương thích hệ thống Hatch Pet.
|
|
48
|
+
6. Thông báo: "✨ Pet Bundle đã được đóng gói tại `assets/pets/{pet_id}/`."
|
|
49
|
+
|
|
50
|
+
### `/image-gen:process` — Xử lý ảnh có sẵn (Hole-Aware)
|
|
51
|
+
|
|
52
|
+
1. User cung cấp đường dẫn ảnh nguồn (`input_path`).
|
|
53
|
+
2. Xác định tên file đầu ra (`output_name.webp`).
|
|
54
|
+
3. Thực thi lệnh xử lý với thuật toán v3.1:
|
|
55
|
+
```bash
|
|
56
|
+
process-image {input_path} assets/generated/{output_name}.webp 15
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### `/image-gen:openrouter` — Tạo ảnh qua OpenRouter (GPT-5.4-Image)
|
|
60
|
+
|
|
61
|
+
Quy trình sử dụng script `openrouter_image_gen.py` (Codex-grade) hỗ trợ 3 chế độ:
|
|
62
|
+
|
|
63
|
+
#### 1. Chế độ `generate` (Text-to-Image)
|
|
64
|
+
Dùng để tạo mới asset từ mô tả văn bản, hỗ trợ các tham số Art Direction cực mạnh:
|
|
65
|
+
```bash
|
|
66
|
+
python3 ~/.gemini/antigravity/scripts/openrouter_image_gen.py generate \
|
|
67
|
+
--prompt "{chủ_thể}" \
|
|
68
|
+
--style "{phong_cách}" \
|
|
69
|
+
--lighting "{ánh_sáng}" \
|
|
70
|
+
--palette "{tông_màu}" \
|
|
71
|
+
--out "assets/generated/{filename}.webp"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### 2. Chế độ `edit` (Image-to-Image / Style Transfer)
|
|
75
|
+
Dùng để biến đổi ảnh có sẵn (Local path hoặc URL) sang phong cách khác hoặc chỉnh sửa chi tiết:
|
|
76
|
+
```bash
|
|
77
|
+
python3 ~/.gemini/antigravity/scripts/openrouter_image_gen.py edit \
|
|
78
|
+
--image "{đường_dẫn_ảnh_gốc}" \
|
|
79
|
+
--prompt "{mô_tả_chỉnh_sửa}" \
|
|
80
|
+
--style "{phong_cách_mới}" \
|
|
81
|
+
--out "assets/generated/{filename}.webp"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### 3. Chế độ `generate-batch` (Chạy hàng loạt)
|
|
85
|
+
Dùng để sinh hàng loạt asset từ file `.jsonl` (tối đa 100 jobs) với cơ chế Retry tự động:
|
|
86
|
+
```bash
|
|
87
|
+
python3 ~/.gemini/antigravity/scripts/openrouter_image_gen.py generate-batch \
|
|
88
|
+
--input "jobs.jsonl" \
|
|
89
|
+
--out-dir "assets/generated/batch/" \
|
|
90
|
+
--concurrency 3
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
> **Note**: Script tự động xử lý Upload ảnh local lên `tmpfiles.org` và có cơ chế Exponential Backoff để chống lỗi nghẽn (429).
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 🛠 Quality Standards (Codex Hatch Pet Technique)
|
|
98
|
+
|
|
99
|
+
- **🚫 CẤM DÙNG "Nền trong suốt / Transparent Background"**: TUYỆT ĐỐI KHÔNG thêm các từ khóa "transparent background", "nền trong suốt", "alpha channel" vào prompt sinh ảnh. Việc này sẽ khiến AI (như DALL-E, Midjourney, OpenRouter) sinh ra **nền caro giả (fake checkerboard)** bám dính vào nhân vật, cực kỳ khó xoá.
|
|
100
|
+
- **✅ Background**: LUÔN ưu tiên sử dụng `solid bright green background #00FF00` hoặc `solid white background #FFFFFF` (nếu nhân vật có màu xanh) để AI render chi tiết tốt nhất, không bị đổ bóng (no shadows cast on the background).
|
|
101
|
+
- **🛠 Hậu kỳ (Post-Processing)**: Sau khi sinh ảnh thô có nền Solid, BẮT BUỘC sử dụng công cụ Python Chroma-key cục bộ (process-image hoặc process_sprites.py) để gỡ nền.
|
|
102
|
+
- **Edges & Holes**: Script Python sẽ tự động áp dụng Alpha Feathering (Blur 0x3) để triệt tiêu răng cưa, và xóa các vùng kẹt trong cánh/tay nhưng bảo vệ đôi mắt (Morphology Close).
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Communication
|
|
107
|
+
|
|
108
|
+
Mỗi khi bắt đầu một lượt generate:
|
|
109
|
+
```
|
|
110
|
+
🎨 [Antigravity Artist] Đang khởi tạo xưởng vẽ cho {asset_type}...
|
|
111
|
+
🚀 Chiến lược: Neutral White + Soft-Edge Alpha.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Sau khi hoàn tất:
|
|
115
|
+
```
|
|
116
|
+
✅ Hoàn tất! Asset của bạn đã được tối ưu hóa WebP và tách nền sạch sẽ.
|
|
117
|
+
📍 Vị trí: [đường dẫn]
|
|
118
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 🔗 Quy trình Đa Mô hình Tự động (v1.0)
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# WORKFLOW: /pipeline - Multi-Model Collaborative Pipeline
|
|
6
|
+
|
|
7
|
+
Quy trình phối hợp tự động hóa đa mô hình giúp tối ưu hóa chi phí token, phân bổ đúng vai trò mô hình (Gemini Flash Medium/High, Opus 4.6, Codex CLI) và tăng tốc độ phát triển.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🧭 Tổng quan Các Bước Chạy (Core Pipeline Phases)
|
|
12
|
+
|
|
13
|
+
```mermaid
|
|
14
|
+
graph TD
|
|
15
|
+
A[Giai đoạn 1: Context Triage - Gemini Flash Medium] -->|Đóng gói ngữ cảnh| B[Giai đoạn 2: Architecture Planning - Opus 4.6 via agy CLI]
|
|
16
|
+
B -->|Xác lập PRD & Spec| C[Giai đoạn 3: Competitor Research - Research Subagent]
|
|
17
|
+
C -->|Bản vẽ layout specs| D[Giai đoạn 4: Visual Design - Codex CLI]
|
|
18
|
+
D -->|UI Demo Preview -> Spritesheets| E[Giai đoạn 5: Code Execution - Workers & Critic]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 🅰️ Giai đoạn 1: Context Triage (Gemini Flash Medium)
|
|
24
|
+
1. **Quét nhanh hệ thống:** Đọc `CODEBASE.md`, kiểm tra Git status và lịch sử thay đổi để xác định phạm vi của tính năng mới.
|
|
25
|
+
2. **Triệu gọi CLI Plan:** Thực thi lệnh `awkit pipeline plan "<Feature Name>"` để bắt đầu quá trình lập kế hoạch bằng mô hình mạnh hơn.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 🅱️ Giai đoạn 2: Lập kế hoạch Kiến trúc (Opus 4.6 via agy CLI)
|
|
30
|
+
1. **Lệnh thực thi tự động:**
|
|
31
|
+
```bash
|
|
32
|
+
agy --model claude-opus --print "Thực hiện lập kế hoạch chi tiết cho tính năng '<Feature Name>'. Sử dụng codebase context sau: <context>. Tạo PRD tại docs/PRD.md và Spec tại docs/specs/<Feature>_spec.md."
|
|
33
|
+
```
|
|
34
|
+
2. **Sản phẩm đầu ra (Outputs):**
|
|
35
|
+
- `docs/PRD.md` (Product Requirements Document).
|
|
36
|
+
- `docs/specs/<Feature>_spec.md` (Technical specifications & Mermaid flowchart).
|
|
37
|
+
- Kế hoạch triển khai chia theo từng Phase tại `implementation_plan.md`.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 🆃 Giai đoạn 3: Nghiên cứu Đối thủ & Đặc tả (Research & Spec)
|
|
42
|
+
1. **Nhiệm vụ:** Worker subagent `research` quét các module đối thủ cạnh tranh hoặc tài liệu API liên quan để điền chi tiết spec.
|
|
43
|
+
2. **Cô lập:** Log quét thô được giải phóng, chỉ lưu giữ kết quả cô đọng trong file spec.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 🅳 Giai đoạn 4: Thiết kế Giao diện Shell & Assets (Codex CLI)
|
|
48
|
+
1. **Pha A: UI Demo Preview**
|
|
49
|
+
- Thực thi `codex exec` để tạo một mockup giao diện tĩnh hoặc SwiftUI prototype nhanh.
|
|
50
|
+
- User kiểm duyệt và chốt layout.
|
|
51
|
+
2. **Pha B: GUI Assets & Spritesheet**
|
|
52
|
+
- Thực thi `codex exec` để sinh các biểu tượng, nút bấm, egg/pet companion và spritesheet tương thích với layout đã chốt.
|
|
53
|
+
- Lưu trữ các tệp assets vào thư mục `assets/ui/`.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 🅴 Giai đoạn 5: Thực thi Viết Code & Kiểm thử (Gemini Workers & Critic)
|
|
58
|
+
1. **Coding:** Gemini Worker clones thực hiện viết code song song hoặc tuần tự cho từng Phase đã lên kế hoạch ở Bước 2.
|
|
59
|
+
2. **Phê bình & Đánh giá (Critic):**
|
|
60
|
+
- Kích hoạt `critic` subagent thông qua lệnh `codex review --uncommitted` để kiểm tra bảo mật, logic lỗi, và SOLID principles trước khi staging/commit.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "🎨 Tạo pixel art từ mô tả ngôn ngữ tự nhiên (Aseprite + pixel-mcp)"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Pixel Gen — Generate Pixel Art from Description
|
|
6
|
+
|
|
7
|
+
## Input
|
|
8
|
+
User provides description via `$ARGUMENTS`. Examples:
|
|
9
|
+
- `/pixel-gen 32x32 gameboy character sprite`
|
|
10
|
+
- `/pixel-gen 64x64 pico8 sword with shading`
|
|
11
|
+
- `/pixel-gen 16x16 nes brick tile`
|
|
12
|
+
- `/pixel-gen 48x48 mascot idle animation 4 frames`
|
|
13
|
+
|
|
14
|
+
## Parse Arguments
|
|
15
|
+
|
|
16
|
+
Extract from description:
|
|
17
|
+
1. **Size**: Look for `WxH` pattern (default: 64x64)
|
|
18
|
+
2. **Palette**: Look for palette names: `gameboy`, `nes`, `pico8`, `c64`, `sweetie16`, `db16`, `db32` (default: RGB)
|
|
19
|
+
3. **Subject**: The main thing to draw (character, sword, tile, mascot, etc.)
|
|
20
|
+
4. **Style modifiers**: `shading`, `dithering`, `antialiasing`, `outline`
|
|
21
|
+
5. **Animation**: Look for `animation`, `frames`, `idle`, `walk`, `run` + frame count
|
|
22
|
+
|
|
23
|
+
## Workflow
|
|
24
|
+
|
|
25
|
+
### Step 1: Read the aseprite-artist Skill
|
|
26
|
+
Read `~/.gemini/antigravity/skills/aseprite-artist/SKILL.md` for full tool reference.
|
|
27
|
+
|
|
28
|
+
If a palette is specified, also read `~/.gemini/antigravity/skills/aseprite-artist/resources/palettes.md` for hex values.
|
|
29
|
+
|
|
30
|
+
### Step 2: Canvas Setup
|
|
31
|
+
1. Call `mcp__aseprite__create_canvas` with parsed width, height, color_mode
|
|
32
|
+
2. If retro palette detected → call `mcp__aseprite__set_palette` with palette hex colors
|
|
33
|
+
3. Add layers as needed (Background, Subject, Effects)
|
|
34
|
+
|
|
35
|
+
### Step 3: Draw
|
|
36
|
+
Use the MCP drawing tools to create the described subject:
|
|
37
|
+
- Start with silhouette shapes (`draw_rectangle`, `draw_circle`, `draw_contour`)
|
|
38
|
+
- Fill with colors (`fill_area`)
|
|
39
|
+
- Add details with individual pixels (`draw_pixels`)
|
|
40
|
+
- Apply dithering if requested (`draw_with_dither`)
|
|
41
|
+
|
|
42
|
+
### Step 4: Polish (if requested)
|
|
43
|
+
- Apply shading: `mcp__aseprite__apply_auto_shading`
|
|
44
|
+
- Apply antialiasing: `mcp__aseprite__suggest_antialiasing`
|
|
45
|
+
- Apply outline: `mcp__aseprite__apply_outline`
|
|
46
|
+
|
|
47
|
+
### Step 5: Animate (if requested)
|
|
48
|
+
- Add frames: `mcp__aseprite__add_frame`
|
|
49
|
+
- Set timing: `mcp__aseprite__set_frame_duration`
|
|
50
|
+
- Tag sequence: `mcp__aseprite__create_tag`
|
|
51
|
+
|
|
52
|
+
### Step 6: Export
|
|
53
|
+
Default exports:
|
|
54
|
+
- **Static sprite**: Export as PNG at 2x scale to project directory or `./pixel-output/`
|
|
55
|
+
- **Animated sprite**: Export as GIF + PNG spritesheet
|
|
56
|
+
- **Game asset**: Export spritesheet (grid) + JSON metadata
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
mkdir -p ./pixel-output
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Step 7: Report
|
|
63
|
+
Show user what was created:
|
|
64
|
+
```
|
|
65
|
+
✅ Pixel Art Created
|
|
66
|
+
- File: ./pixel-output/[name].png
|
|
67
|
+
- Size: [W]x[H] @ [scale]x
|
|
68
|
+
- Palette: [palette name] ([N] colors)
|
|
69
|
+
- Frames: [N] (if animated)
|
|
70
|
+
- Export: [format list]
|
|
71
|
+
|
|
72
|
+
Preview: [describe what was drawn]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Quick Reference — Common Patterns
|
|
76
|
+
|
|
77
|
+
| Input Pattern | Action |
|
|
78
|
+
|---------------|--------|
|
|
79
|
+
| `WxH` | Set canvas size |
|
|
80
|
+
| `gameboy/nes/pico8/c64` | Set retro palette + Indexed mode |
|
|
81
|
+
| `character/sprite/icon` | Draw subject |
|
|
82
|
+
| `shading/shadow` | Apply auto-shading |
|
|
83
|
+
| `dithering/dither` | Apply dithering pattern |
|
|
84
|
+
| `animation/idle/walk N frames` | Create N-frame animation |
|
|
85
|
+
| `tile` | 16x16 or 32x32, tileable |
|
|
86
|
+
| `mascot` | 64x64+, detailed character |
|