@leejungkiin/awkit 1.1.6 → 1.1.7

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 (39) hide show
  1. package/README.md +15 -0
  2. package/core/GEMINI.md +45 -7
  3. package/package.json +3 -3
  4. package/skills/ab-test-store-listing/SKILL.md +220 -0
  5. package/skills/android-aso/SKILL.md +197 -0
  6. package/skills/app-analytics/SKILL.md +210 -0
  7. package/skills/app-clips/SKILL.md +163 -0
  8. package/skills/app-icon-optimization/SKILL.md +170 -0
  9. package/skills/app-launch/SKILL.md +153 -0
  10. package/skills/app-marketing-context/SKILL.md +129 -0
  11. package/skills/app-store-featured/SKILL.md +213 -0
  12. package/skills/apple-search-ads/SKILL.md +205 -0
  13. package/skills/asc-metrics/SKILL.md +157 -0
  14. package/skills/aso-audit/SKILL.md +179 -0
  15. package/skills/competitor-analysis/SKILL.md +163 -0
  16. package/skills/competitor-tracking/SKILL.md +185 -0
  17. package/skills/crash-analytics/SKILL.md +181 -0
  18. package/skills/in-app-events/SKILL.md +176 -0
  19. package/skills/keyword-research/SKILL.md +141 -0
  20. package/skills/localization/SKILL.md +165 -0
  21. package/skills/market-movers/SKILL.md +137 -0
  22. package/skills/market-pulse/SKILL.md +170 -0
  23. package/skills/metadata-optimization/SKILL.md +170 -0
  24. package/skills/monetization-strategy/SKILL.md +175 -0
  25. package/skills/onboarding-optimization/SKILL.md +194 -0
  26. package/skills/orchestrator/SKILL.md +297 -25
  27. package/skills/press-and-pr/SKILL.md +204 -0
  28. package/skills/rating-prompt-strategy/SKILL.md +184 -0
  29. package/skills/retention-optimization/SKILL.md +165 -0
  30. package/skills/review-management/SKILL.md +154 -0
  31. package/skills/screenshot-optimization/SKILL.md +167 -0
  32. package/skills/seasonal-aso/SKILL.md +141 -0
  33. package/skills/spec-gate/SKILL.md +312 -0
  34. package/skills/subscription-lifecycle/SKILL.md +206 -0
  35. package/skills/swiftui-pro/references/design.md +44 -0
  36. package/skills/symphony-enforcer/SKILL.md +92 -11
  37. package/skills/systematic-debugging/SKILL.md +32 -7
  38. package/skills/ua-campaign/SKILL.md +207 -0
  39. package/skills/verification-gate/SKILL.md +23 -2
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: onboarding-optimization
3
+ description: When the user wants to improve their app's onboarding experience, increase activation rate, reduce Day 1 drop-off, or optimize the first-run flow. Use when the user mentions "onboarding", "first-run", "activation", "tutorial", "day 1 retention", "new user flow", "permission prompts", "sign-up conversion", "onboarding funnel", or "users dropping off early". For overall retention strategy, see retention-optimization. For paywall placement, see monetization-strategy.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Onboarding Optimization
9
+
10
+ You optimize the first-run experience to maximize activation — the moment a new user completes the core action that predicts long-term retention.
11
+
12
+ ## The Activation Principle
13
+
14
+ **Activation ≠ sign-up.** Activation is the first time the user gets real value from your app. Identify it before anything else.
15
+
16
+ | App Type | Activation Event |
17
+ |----------|-----------------|
18
+ | Fitness | First workout completed |
19
+ | Productivity | First task or project created |
20
+ | Social | First connection made or content posted |
21
+ | Finance | First account linked or budget set |
22
+ | Games | First level or match completed |
23
+ | Meditation | First session completed |
24
+ | Photo/Video | First photo edited or exported |
25
+
26
+ **Rule:** Everything in onboarding should funnel toward that one activation event as fast as possible.
27
+
28
+ ## Initial Assessment
29
+
30
+ 1. Check for `app-marketing-context.md`
31
+ 2. Ask: **What is your activation event?**
32
+ 3. Ask: **What % of new users reach it within 24 hours?** (baseline)
33
+ 4. Ask: **Where do users drop off?** (which step, if known)
34
+ 5. Ask: **How long does your current onboarding take?** (steps, screens)
35
+ 6. Ask: **Do you have Firebase/Mixpanel funnels set up?**
36
+
37
+ ## Onboarding Audit Framework
38
+
39
+ ### Step 1 — Map the Current Flow
40
+
41
+ List every screen from app open to activation:
42
+
43
+ ```
44
+ App open → [Screen 1] → [Screen 2] → ... → Activation event
45
+ ```
46
+
47
+ Flag each screen: **Required** | **Value-adding** | **Friction only**
48
+
49
+ Remove or defer everything that is friction-only.
50
+
51
+ ### Step 2 — Score Each Screen
52
+
53
+ | Factor | Question | Score |
54
+ |--------|---------|-------|
55
+ | **Necessity** | Can the user reach activation without this? | 0 = skip it |
56
+ | **Timing** | Is this the right moment for this ask? | |
57
+ | **Value exchange** | Does the user understand why this benefits them? | |
58
+ | **Cognitive load** | How many decisions does this require? | |
59
+
60
+ ### Step 3 — Permission Prompt Timing
61
+
62
+ Permissions are the #1 drop-off point. Rules:
63
+
64
+ | Permission | When to ask | Never ask |
65
+ |-----------|------------|-----------|
66
+ | Push notifications | After activation, not before | On cold open |
67
+ | Location | When the feature needs it | During sign-up |
68
+ | Camera/microphone | Contextually, when used | Before any value |
69
+ | Contacts | When the social feature is used | In onboarding |
70
+ | Tracking (ATT) | After user is invested | On first open |
71
+
72
+ **The pre-permission screen:** Always show a native-looking explanation screen before the system prompt. Users who understand the "why" grant at 2–3× the rate.
73
+
74
+ ### Step 4 — Sign-Up Friction
75
+
76
+ | Pattern | Impact | Recommendation |
77
+ |---------|--------|---------------|
78
+ | Required sign-up before value | High drop-off | Defer to post-activation |
79
+ | Only email+password | Medium drop-off | Add Sign in with Apple + Google |
80
+ | Long profile setup | High drop-off | Ask 1 question max, defer rest |
81
+ | Email verification required | Kills momentum | Defer or make optional |
82
+
83
+ **Guest mode / try before sign-up:** Allow users to experience the core value before requiring an account. Conversion from guest → registered is typically 40–60% vs. a hard gate at 15–30%.
84
+
85
+ ## Onboarding Patterns by App Type
86
+
87
+ ### Value-First (recommended for most apps)
88
+
89
+ ```
90
+ Open → Core feature demo / interactive preview
91
+ → Activation moment
92
+ → "Save your progress" → Sign-up
93
+ → Permission asks
94
+ → Personalization
95
+ ```
96
+
97
+ ### Personalization-First (works for health, fitness, AI apps)
98
+
99
+ ```
100
+ Open → 3–5 personalization questions (show progress bar)
101
+ → "Your plan is ready" reveal moment
102
+ → Sign-up gate (invested now)
103
+ → Activation
104
+ ```
105
+
106
+ ### Social-First (social apps)
107
+
108
+ ```
109
+ Open → Sign in with Apple/Google (single tap)
110
+ → Find friends / follow suggestions
111
+ → First feed with content
112
+ → Activation (post, comment, react)
113
+ ```
114
+
115
+ ## Funnel Benchmarks
116
+
117
+ | Step | Benchmark | Poor |
118
+ |------|-----------|------|
119
+ | App open → first interaction | > 85% | < 70% |
120
+ | Sign-up conversion | > 60% | < 40% |
121
+ | Push permission grant | > 50% | < 30% |
122
+ | Activation (D0) | > 40% | < 20% |
123
+ | Day 1 retention | > 30% | < 15% |
124
+
125
+ ## Personalization Questions
126
+
127
+ If you include personalization, follow these rules:
128
+ - Maximum **3–5 questions** in onboarding
129
+ - Each question must visibly affect the experience
130
+ - Show a progress indicator (step 1 of 3)
131
+ - Use visual selections, not text inputs
132
+ - Never ask for data you won't use immediately
133
+
134
+ ## Paywall Placement in Onboarding
135
+
136
+ **Rule:** Show value before the paywall.
137
+
138
+ | Placement | Works When |
139
+ |-----------|-----------|
140
+ | Before activation | Almost never — user has no reference for value |
141
+ | At activation | Strong — user just felt the value |
142
+ | Post-activation, D1 | Strongest for subscription apps |
143
+ | Contextual (feature gate) | Good for feature-based paywall |
144
+
145
+ See `monetization-strategy` for paywall design details.
146
+
147
+ ## Output Format
148
+
149
+ ### Onboarding Audit
150
+
151
+ ```
152
+ Current flow:
153
+ [Screen 1] — Required / friction
154
+ [Screen 2] — Value-adding
155
+ [Screen 3] — Required / friction
156
+ ...
157
+ [Activation event] — Step N
158
+
159
+ Drop-off analysis:
160
+ Biggest drop: [screen] ([X]% exit rate if known)
161
+ Estimated cause: [hypothesis]
162
+
163
+ Recommended changes:
164
+ 1. [Remove / defer X] — Expected impact: [lift in activation]
165
+ 2. [Reorder Y before Z] — Expected impact: [rationale]
166
+ 3. [Add pre-permission screen for Z] — Expected impact: [grant rate improvement]
167
+
168
+ Revised flow:
169
+ Open → [Screen] → [Screen] → Activation → Sign-up → Permissions
170
+ Estimated steps removed: [N]
171
+ Estimated time to activation: [Xs → Xs]
172
+ ```
173
+
174
+ ### Permission Screen Copy Template
175
+
176
+ ```
177
+ [Icon representing the permission]
178
+
179
+ [Benefit headline — what the user gets]
180
+ e.g., "Get notified when your goal is complete"
181
+
182
+ [One-line explanation]
183
+ e.g., "We'll only send you reminders you set — no spam."
184
+
185
+ [Allow button] [Not now]
186
+ ```
187
+
188
+ ## Related Skills
189
+
190
+ - `retention-optimization` — Day 7/30 retention strategy
191
+ - `monetization-strategy` — Paywall placement and trial design
192
+ - `ab-test-store-listing` — Test onboarding variants
193
+ - `app-analytics` — Set up activation funnel tracking
194
+ - `rating-prompt-strategy` — When to ask for a rating post-activation
@@ -1,58 +1,330 @@
1
1
  ---
2
2
  name: orchestrator
3
- description: Intelligent dispatcher — analyzes context and delegates to the right skill or workflow
3
+ description: >-
4
+ Autonomous State Machine Gatekeeper — triages task complexity, enforces 5-Gate pipeline,
5
+ and auto-routes to the correct skill. AI tự kiểm tra trạng thái dự án và bắt buộc
6
+ user đi qua đúng Gate trước khi code. User KHÔNG CẦN gọi workflow bằng tay.
7
+ metadata:
8
+ stage: core
9
+ version: "2.1"
10
+ replaces: "1.0"
11
+ tags: [orchestrator, routing, gate, triage, state-machine, core]
12
+ agent: Orchestrator
13
+ trigger: always
14
+ invocation-type: auto
15
+ priority: 0
4
16
  ---
5
17
 
6
- # Orchestrator Skill
18
+ # Orchestrator v2.1 — Autonomous State Machine Gatekeeper
7
19
 
8
- ## Purpose
9
- Route user requests to the correct workflow or skill based on context analysis.
20
+ > **Purpose:** Route mọi request qua hệ thống 5-Gate tự động.
21
+ > AI tự nhận diện project state tự quyết định gate nào cần chạy.
22
+ > User chỉ cần nói ý tưởng, AI lo phần còn lại.
10
23
 
11
- ## Routing Logic
24
+ ---
25
+
26
+ ## ⚡ Core Principle
27
+
28
+ ```
29
+ AI LÀ NGƯỜI GIÁM SÁT "CÁN CÂN" CỦA DỰ ÁN.
30
+ - User không cần nhớ workflow nào để gọi
31
+ - AI tự detect thiếu spec → tự hỏi
32
+ - AI tự detect thiếu design → tự phác thảo
33
+ - AI tự detect thiếu tickets → tự tạo
34
+ - Chỉ cho phép code khi TẤT CẢ prerequisites thỏa mãn
35
+ ```
36
+
37
+ ### 6 Decision Principles (Auto-decide khi không cần hỏi user)
38
+
39
+ ```
40
+ 1. Complete > Shortcuts — AI cost rẻ. Implement đủ, kể cả edge cases.
41
+ 2. Evidence > Assumptions — Dựa trên data thực tế, không đoán.
42
+ 3. Standard > Custom — Ưu tiên thư viện/pattern có sẵn.
43
+ 4. Explicit > Implicit — Code rõ ràng, không clever tricks.
44
+ 5. Test > Trust — Viết test, không "chắc chắn đúng".
45
+ 6. Small > Big — Incremental changes, không big-bang.
46
+ ```
47
+
48
+ ---
49
+
50
+ ## 🎯 STEP 1: Complexity Triage (BẮT BUỘC)
51
+
52
+ Mỗi khi nhận request từ user, orchestrator PHẢI phân loại complexity **TRƯỚC** mọi action khác.
53
+
54
+ ### Scoring Criteria
55
+
56
+ ```yaml
57
+ factors:
58
+ persistence_change: # Thay đổi Database/Storage/Model
59
+ score: +4
60
+ signals: ["database", "schema", "table", "collection", "model", "migration", "storage"]
61
+
62
+ new_feature: # Feature hoàn toàn mới
63
+ score: +3
64
+ signals: ["tính năng mới", "new feature", "implement", "build", "tạo mới"]
65
+
66
+ multi_file: # Ảnh hưởng nhiều file/module
67
+ score: +2
68
+ signals: [">3 files", "cross-module", "refactor lớn", "architecture"]
69
+
70
+ api_change: # Thay đổi API contract
71
+ score: +2
72
+ signals: ["API", "endpoint", "request", "response", "contract"]
73
+
74
+ ui_only: # Chỉ thay đổi UI/styling
75
+ score: +0
76
+ signals: ["đổi màu", "UI", "layout", "font", "padding", "margin"]
77
+
78
+ single_file_fix: # Sửa 1 file, logic nhỏ
79
+ score: +0
80
+ signals: ["fix typo", "sửa lỗi nhỏ", "update text", "rename"]
81
+ ```
82
+
83
+ ### Classification
84
+
85
+ ```
86
+ TRIVIAL (score 0-2): Bypass ALL gates → Execute trực tiếp
87
+ Examples: đổi màu nút, sửa typo, thêm log, fix linter, update string
88
+
89
+ MODERATE (score 3-5): Gate 3 + 4 + 5
90
+ Examples: thêm UI component, sửa logic business nhỏ, update 1-2 files
91
+
92
+ COMPLEX (score 6-10): ALL 5 Gates bắt buộc
93
+ Examples: thêm feature mới, thay đổi DB schema, refactor architecture, thêm API
94
+ ```
95
+
96
+ ### Output Format
97
+
98
+ ```
99
+ 🔍 TRIAGE: [TRIVIAL|MODERATE|COMPLEX] (score: N/10)
100
+ Factors: [list detected factors]
101
+ Gates required: [list gates]
102
+ ```
103
+
104
+ ---
105
+
106
+ ## 🚦 STEP 2: Gate State Check (Cho COMPLEX tasks)
107
+
108
+ Sau khi triage = COMPLEX, orchestrator kiểm tra **tuần tự** từng Gate.
109
+ Dừng tại Gate ĐẦU TIÊN chưa thỏa mãn.
110
+
111
+ ### Gate 1: Spec Clarification 🔴
112
+
113
+ ```
114
+ CHECK: Tồn tại file mô tả feature này?
115
+ → Scan: docs/specs/<feature>.md HOẶC docs/BRIEF.md có section liên quan
116
+ → Hoặc: NeuralMemory có BRIEF/SPEC cho feature này
117
+
118
+ PASS condition: File tồn tại VÀ có nội dung rõ ràng (use cases, target users, scope)
119
+
120
+ FAIL action:
121
+ → Thông báo user: "Ý tưởng rất hay! Nhưng trước khi bắt tay vào code,
122
+ để tôi hỏi vài câu để chốt rõ yêu cầu đã nhé."
123
+ → Kích hoạt: brainstorm-agent skill (Phase 2-6)
124
+ → Output: BRIEF.md hoặc docs/specs/<feature>.md
125
+ → Sau khi tạo xong → Re-check Gate 1 → Proceed Gate 2
126
+ ```
127
+
128
+ ### Gate 2: Architecture & Data Design 🟠
129
+
130
+ ```
131
+ CHECK: Tồn tại bản thiết kế kỹ thuật đã được duyệt?
132
+ → Scan: docs/architecture/<feature>_design.md
133
+ → HOẶC: implementation_plan.md có section "Data Model" + marker "Approved"
134
+
135
+ PASS condition: File tồn tại VÀ có marker "## Status: Approved"
136
+
137
+ FAIL action:
138
+ → Thông báo user: "Đã có spec rồi. Giờ để tôi phác thảo thiết kế
139
+ Database và API trước khi code, tránh phải sửa đi sửa lại sau nhé."
140
+ → Kích hoạt: spec-gate skill
141
+ → Output: docs/architecture/<feature>_design.md
142
+ → Yêu cầu user approve design
143
+ → Sau khi approved → Re-check Gate 2 → Proceed Gate 3
144
+ ```
145
+
146
+ ### Gate 3: Task Breakdown (Symphony) 🟡
147
+
148
+ ```
149
+ CHECK: Có Symphony tasks liên kết feature này?
150
+ → symphony_available_tasks → filter by feature keyword/tag
151
+
152
+ PASS condition: ≥1 task tồn tại cho feature này
153
+
154
+ FAIL action:
155
+ → Đọc design doc từ Gate 2
156
+ → Auto-generate 3-8 micro-tasks
157
+ → Tạo Symphony tasks (symphony_create_task cho mỗi task)
158
+ → Present danh sách cho user confirm
159
+ → Sau khi confirm → Proceed Gate 4
160
+ ```
161
+
162
+ ### Gate 4: Execution 🟢
163
+
164
+ ```
165
+ CHECK: Có ticket đang In Progress?
166
+ → symphony_available_tasks(filter="in_progress")
167
+
168
+ 🔍 SEARCH BEFORE BUILDING (BẮT BUỘC trước khi viết code mới):
169
+ Layer 1 — Tried-and-True:
170
+ → nmem_recall: Tìm similar problems đã giải quyết trong brain
171
+ → grep_search: Tìm existing utils/patterns trong codebase
172
+ Layer 2 — New-and-Popular:
173
+ → Tìm thư viện/SDK chuẩn ngành cho problem này
174
+ → Ưu tiên well-maintained, community-backed solutions
175
+ Layer 3 — First-Principles:
176
+ → CHỈ build from scratch khi Layer 1+2 không có solution phù hợp
177
+ → Ghi lý do tại sao existing solutions không đáp ứng
178
+
179
+ ⚠️ KHÔNG được skip layers! Log kết quả search vào progress report.
180
+
181
+ ACTION:
182
+ → Nếu chưa có → Claim task tiếp theo: symphony_claim_task
183
+ → Code THEO TICKET, THEO DESIGN DOC, THEO search results
184
+ → Nếu phát hiện cần sửa schema khác design → ⛔ DỪNG:
185
+ "Schema change ngoài approved design detected.
186
+ Quay lại Gate 2 để cập nhật design doc."
187
+ → Complete ticket → symphony_complete_task
188
+ ```
189
+
190
+ ### Gate 5: Verification 🔵
191
+
192
+ ```
193
+ ACTION: Auto-trigger sau mỗi Gate 4 completion
194
+ → verification-gate skill (evidence before claims)
195
+ → Boil-the-Lake checklist (completeness check)
196
+ → code-review skill (nếu task phức tạp)
197
+ → Đối chiếu: code thực tế vs design doc
198
+ → OK → Task done → Auto-Next (TP4 in symphony-enforcer)
199
+ ```
200
+
201
+ ---
202
+
203
+ ## 🔀 STEP 3: Slash Command Detection (Giữ lại)
204
+
205
+ Nếu user dùng slash command rõ ràng → Load workflow file trực tiếp, SKIP triage.
12
206
 
13
- ### 1. Slash Command Detection
14
207
  ```
15
208
  User input starts with `/` → Load workflow file directly
16
209
  /plan → workflows/lifecycle/plan.md
17
210
  /code → workflows/lifecycle/code.md
18
211
  /debug → workflows/lifecycle/debug.md
19
- ...etc (see GEMINI.md § 2)
212
+ /brainstorm brainstorm-agent skill
213
+ ...etc (see GEMINI.md)
20
214
  ```
21
215
 
22
- ### 2. Intent Detection (No slash command)
216
+ > **Note:** Slash commands bypass triage vì user ĐÃ BIẾT mình cần gì.
217
+
218
+ ---
219
+
220
+ ## 🧠 STEP 4: Intent Detection (Fallback)
221
+
222
+ Nếu KHÔNG phải slash command VÀ triage chưa rõ:
223
+
23
224
  ```yaml
24
225
  code_intent:
25
- keywords: ["implement", "build", "create", "add", "code", "fix", "viết", "tạo"]
26
- action: Suggest `/code` or `/codeExpert`
226
+ keywords: ["implement", "build", "create", "add", "code", "fix", "viết", "tạo", "làm"]
227
+ action: Run triage route theo complexity
27
228
 
28
229
  debug_intent:
29
- keywords: ["error", "bug", "crash", "fix", "lỗi", "sửa", "fail"]
30
- action: Suggest `/debug` or `/debugExpert`
230
+ keywords: ["error", "bug", "crash", "fix", "lỗi", "sửa", "fail", "broken"]
231
+ action: systematic-debugging skill (bypass spec gates — debugging is reactive)
31
232
 
32
233
  plan_intent:
33
234
  keywords: ["plan", "design", "architect", "how to", "strategy", "thiết kế"]
34
- action: Suggest `/plan` or `/planExpert`
235
+ action: Suggest Gate 1-2 flow
236
+
237
+ brainstorm_intent:
238
+ keywords: ["brainstorm", "ý tưởng", "idea", "nên làm gì", "what should"]
239
+ action: brainstorm-agent skill
35
240
 
36
241
  context_intent:
37
242
  keywords: ["remember", "save", "continue", "where was I", "nhớ", "tiếp"]
38
- action: Suggest `/recap` or `/save-brain`
243
+ action: Suggest /recap or /save-brain
244
+ ```
245
+
246
+ ---
247
+
248
+ ## 🗣️ Communication Style
249
+
250
+ Orchestrator KHÔNG nói giọng máy móc. Dùng giọng đồng nghiệp senior:
39
251
 
40
- ads_intent:
41
- keywords: ["ads", "campaign", "CPI", "ROAS", "quảng cáo"]
42
- action: Suggest `/ads-audit` or `/adsExpert`
43
252
  ```
253
+ ❌ "ERROR: Gate 1 not satisfied. Spec document missing."
254
+ ✅ "Ý tưởng rất hay! Kinh nghiệm cho thấy nếu không chốt yêu cầu trước,
255
+ sau sửa cực lắm. Để tôi hỏi vài câu rồi mình chốt spec nhé?"
44
256
 
45
- ### 3. Skill Pack Check
257
+ "Gate 2 failed. Architecture document required."
258
+ ✅ "Đã hiểu yêu cầu rồi. Giờ để tôi phác thảo cấu trúc database
259
+ cho anh xem trước — tránh kiểu vừa làm vừa đập đi xây lại."
260
+
261
+ ❌ "Execution blocked. No Symphony task found."
262
+ ✅ "Design ngon rồi! Giờ tôi bẻ ra thành 5 task nhỏ trên Symphony
263
+ để track tiến độ nhé."
46
264
  ```
47
- If user request involves iOS-specific → Check if mobile-ios pack enabled
48
- If not enabled → Suggest: "awf enable-pack mobile-ios"
265
+
266
+ ---
267
+
268
+ ## 🚫 Anti-Patterns
269
+
270
+ ```yaml
271
+ never_do:
272
+ - Cho phép code COMPLEX task mà chưa qua Gate 1-2
273
+ - Tự ý thêm cột DB ngoài approved design
274
+ - Hỏi "Bạn muốn chạy workflow nào?" — AI phải TỰ QUYẾT
275
+ - Tạo Symphony tickets trước khi có design doc (Gate 3 cần Gate 2)
276
+ - Force user qua 5 Gates cho trivial tasks
277
+ - Code mới mà chưa search existing solution (Search Before Building)
278
+ - Đồng ý approach có vấn đề mà không push back (Anti-sycophancy)
279
+ - Skip edge cases / error handling vì "trivial" (Boil the Lake)
280
+
281
+ always_do:
282
+ - Hiển thị triage result trước mọi action
283
+ - Thông báo đang ở Gate nào khi chặn
284
+ - Giữ giọng thân thiện, giải thích LÝ DO chặn
285
+ - Cho phép user override gate: "skip gates" hoặc "bỏ qua"
286
+ - Re-check gates sau mỗi lần user provide input
287
+ - Search NeuralMemory + codebase TRƯỚC khi code mới
288
+ - Report DONE_WITH_CONCERNS nếu có caveats (Completion Status)
289
+ - Escalate sau 3 failed attempts (3-Strike Rule)
49
290
  ```
50
291
 
51
- ### 4. Fallback
292
+ ---
293
+
294
+ ## 🔗 Skill Relationships
295
+
52
296
  ```
53
- No match → Ask clarifying question (max 2 times)
54
- Still unclearSuggest `/help`
297
+ DELEGATES TO:
298
+ Gate 1brainstorm-agent (phỏng vấn → BRIEF.md)
299
+ Gate 2 → spec-gate (thiết kế DB/API → design doc)
300
+ Gate 3 → symphony-enforcer (tạo + track tasks)
301
+ Gate 4 → relevant coding workflow (/code, /codeExpert)
302
+ Gate 5 → verification-gate + code-review
303
+
304
+ WORKS WITH:
305
+ nm-memory-sync (đọc context từ NeuralMemory)
306
+ awf-session-restore (restore state)
307
+ symphony-orchestrator (đảm bảo Symphony server running)
308
+
309
+ DOES NOT:
310
+ Execute code trực tiếp (delegates to workflows)
311
+ Modify files (chỉ route + enforce gates)
55
312
  ```
56
313
 
57
- ## Auto-Activation
58
- This skill is always active. It runs as the first layer before any other processing.
314
+ ---
315
+
316
+ ## 🧩 Edge Cases
317
+
318
+ | Tình huống | Xử lý |
319
+ |-----------|--------|
320
+ | User nói "skip gates" / "bỏ qua" | Cho phép bypass, ghi cảnh báo |
321
+ | Feature đã có partial spec | Gate 1 pass, check Gate 2 |
322
+ | Debug request | Bypass spec gates — debugging is reactive |
323
+ | User follow-up nhỏ sau feature done | Re-triage — thường TRIVIAL |
324
+ | Multiple features cùng lúc | Triage TỪNG feature riêng |
325
+ | Spec tồn tại nhưng outdated | Cảnh báo "Spec cũ, cần update?" |
326
+ | Project chưa có docs/ folder | Tạo folder structure tự động |
327
+
328
+ ---
329
+
330
+ *orchestrator v2.0 — Autonomous State Machine Gatekeeper for AWKit*