@mrtrinhvn/ag-kit 1.0.10 → 1.1.0

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 (218) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/bin/cli.js +62 -0
  4. package/package.json +7 -1
  5. package/template/.agent/rules/GEMINI.md +1 -1
  6. package/template/.agent/skills/regent-orchestrator/SKILL.md +31 -0
  7. package/template/.agent/skills/telegram-bridge/SKILL.md +30 -0
  8. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +0 -26
  9. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +0 -97
  10. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +0 -101
  11. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +0 -31
  12. package/.agent/.shared/ui-ux-pro-max/data/products.csv +0 -97
  13. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +0 -24
  14. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +0 -45
  15. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
  16. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
  17. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
  18. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
  19. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -51
  20. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
  21. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  22. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +0 -54
  23. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
  24. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
  25. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
  26. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +0 -50
  27. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +0 -59
  28. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +0 -58
  29. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +0 -101
  30. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  31. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +0 -31
  32. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  33. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  34. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +0 -258
  35. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +0 -1067
  36. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +0 -106
  37. package/.agent/ARCHITECTURE.md +0 -288
  38. package/.agent/agents/backend-specialist.md +0 -263
  39. package/.agent/agents/code-archaeologist.md +0 -106
  40. package/.agent/agents/database-architect.md +0 -226
  41. package/.agent/agents/debugger.md +0 -225
  42. package/.agent/agents/devops-engineer.md +0 -242
  43. package/.agent/agents/documentation-writer.md +0 -104
  44. package/.agent/agents/explorer-agent.md +0 -73
  45. package/.agent/agents/frontend-specialist.md +0 -556
  46. package/.agent/agents/game-developer.md +0 -162
  47. package/.agent/agents/mobile-developer.md +0 -377
  48. package/.agent/agents/orchestrator.md +0 -416
  49. package/.agent/agents/penetration-tester.md +0 -188
  50. package/.agent/agents/performance-optimizer.md +0 -187
  51. package/.agent/agents/product-manager.md +0 -112
  52. package/.agent/agents/product-owner.md +0 -95
  53. package/.agent/agents/project-planner.md +0 -406
  54. package/.agent/agents/qa-automation-engineer.md +0 -103
  55. package/.agent/agents/quant-architect.md +0 -31
  56. package/.agent/agents/security-auditor.md +0 -170
  57. package/.agent/agents/seo-specialist.md +0 -111
  58. package/.agent/agents/test-engineer.md +0 -158
  59. package/.agent/mcp_config.json +0 -24
  60. package/.agent/rules/GEMINI.md +0 -280
  61. package/.agent/scripts/auto_preview.py +0 -148
  62. package/.agent/scripts/checklist.py +0 -217
  63. package/.agent/scripts/session_manager.py +0 -120
  64. package/.agent/scripts/verify_all.py +0 -327
  65. package/.agent/skills/api-patterns/SKILL.md +0 -81
  66. package/.agent/skills/api-patterns/api-style.md +0 -42
  67. package/.agent/skills/api-patterns/auth.md +0 -24
  68. package/.agent/skills/api-patterns/documentation.md +0 -26
  69. package/.agent/skills/api-patterns/graphql.md +0 -41
  70. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  71. package/.agent/skills/api-patterns/response.md +0 -37
  72. package/.agent/skills/api-patterns/rest.md +0 -40
  73. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  74. package/.agent/skills/api-patterns/security-testing.md +0 -122
  75. package/.agent/skills/api-patterns/trpc.md +0 -41
  76. package/.agent/skills/api-patterns/versioning.md +0 -22
  77. package/.agent/skills/app-builder/SKILL.md +0 -75
  78. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  79. package/.agent/skills/app-builder/feature-building.md +0 -53
  80. package/.agent/skills/app-builder/project-detection.md +0 -34
  81. package/.agent/skills/app-builder/scaffolding.md +0 -118
  82. package/.agent/skills/app-builder/tech-stack.md +0 -40
  83. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  84. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  85. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  86. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  87. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  88. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  89. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  90. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  91. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
  92. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
  93. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
  94. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
  95. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  96. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
  97. package/.agent/skills/architecture/SKILL.md +0 -55
  98. package/.agent/skills/architecture/context-discovery.md +0 -43
  99. package/.agent/skills/architecture/examples.md +0 -94
  100. package/.agent/skills/architecture/pattern-selection.md +0 -68
  101. package/.agent/skills/architecture/patterns-reference.md +0 -50
  102. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  103. package/.agent/skills/bash-linux/SKILL.md +0 -199
  104. package/.agent/skills/behavioral-modes/SKILL.md +0 -242
  105. package/.agent/skills/brainstorming/SKILL.md +0 -168
  106. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -350
  107. package/.agent/skills/business-ops/SKILL.md +0 -26
  108. package/.agent/skills/clean-code/SKILL.md +0 -202
  109. package/.agent/skills/cli-generator/SKILL.md +0 -48
  110. package/.agent/skills/code-review-checklist/SKILL.md +0 -109
  111. package/.agent/skills/cognitive-session/SKILL.md +0 -28
  112. package/.agent/skills/data-science/SKILL.md +0 -28
  113. package/.agent/skills/database-design/SKILL.md +0 -52
  114. package/.agent/skills/database-design/database-selection.md +0 -43
  115. package/.agent/skills/database-design/indexing.md +0 -39
  116. package/.agent/skills/database-design/migrations.md +0 -48
  117. package/.agent/skills/database-design/optimization.md +0 -36
  118. package/.agent/skills/database-design/orm-selection.md +0 -30
  119. package/.agent/skills/database-design/schema-design.md +0 -56
  120. package/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  121. package/.agent/skills/deployment-procedures/SKILL.md +0 -241
  122. package/.agent/skills/doc.md +0 -177
  123. package/.agent/skills/documentation-templates/SKILL.md +0 -194
  124. package/.agent/skills/frontend-design/SKILL.md +0 -418
  125. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  126. package/.agent/skills/frontend-design/color-system.md +0 -311
  127. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  128. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  129. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  130. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  131. package/.agent/skills/frontend-design/typography-system.md +0 -345
  132. package/.agent/skills/frontend-design/ux-psychology.md +0 -541
  133. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  134. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  135. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  136. package/.agent/skills/game-development/SKILL.md +0 -167
  137. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  138. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  139. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  140. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  141. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  142. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  143. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  144. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  145. package/.agent/skills/geo-fundamentals/SKILL.md +0 -156
  146. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  147. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  148. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  149. package/.agent/skills/intelligent-routing/SKILL.md +0 -335
  150. package/.agent/skills/knowledge-management/SKILL.md +0 -66
  151. package/.agent/skills/lint-and-validate/SKILL.md +0 -45
  152. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -172
  153. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  154. package/.agent/skills/llm-routing-quirks/SKILL.md +0 -41
  155. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  156. package/.agent/skills/memory-architecture/SKILL.md +0 -107
  157. package/.agent/skills/mini-antigravity-injection/SKILL.md +0 -61
  158. package/.agent/skills/mobile-design/SKILL.md +0 -394
  159. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  160. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  161. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  162. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  163. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  164. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  165. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  166. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  167. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  168. package/.agent/skills/mobile-design/platform-android.md +0 -666
  169. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  170. package/.agent/skills/mobile-design/scripts/mobile_audit.py +0 -670
  171. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  172. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  173. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  174. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  175. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  176. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  177. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  178. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  179. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  180. package/.agent/skills/nextjs-react-expert/9-cache-components.md +0 -103
  181. package/.agent/skills/nextjs-react-expert/SKILL.md +0 -267
  182. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  183. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  184. package/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  185. package/.agent/skills/parallel-agents/SKILL.md +0 -175
  186. package/.agent/skills/performance-profiling/SKILL.md +0 -143
  187. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  188. package/.agent/skills/plan-writing/SKILL.md +0 -153
  189. package/.agent/skills/powershell-windows/SKILL.md +0 -167
  190. package/.agent/skills/product-management/SKILL.md +0 -30
  191. package/.agent/skills/python-patterns/SKILL.md +0 -441
  192. package/.agent/skills/red-team-tactics/SKILL.md +0 -199
  193. package/.agent/skills/rust-pro/SKILL.md +0 -176
  194. package/.agent/skills/seo-fundamentals/SKILL.md +0 -129
  195. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  196. package/.agent/skills/server-management/SKILL.md +0 -161
  197. package/.agent/skills/systematic-debugging/SKILL.md +0 -120
  198. package/.agent/skills/tailwind-patterns/SKILL.md +0 -269
  199. package/.agent/skills/tdd-workflow/SKILL.md +0 -148
  200. package/.agent/skills/testing-patterns/SKILL.md +0 -178
  201. package/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  202. package/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  203. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  204. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  205. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  206. package/.agent/skills/webapp-testing/SKILL.md +0 -187
  207. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  208. package/.agent/workflows/brainstorm.md +0 -113
  209. package/.agent/workflows/create.md +0 -59
  210. package/.agent/workflows/debug.md +0 -103
  211. package/.agent/workflows/deploy.md +0 -176
  212. package/.agent/workflows/enhance.md +0 -63
  213. package/.agent/workflows/orchestrate.md +0 -237
  214. package/.agent/workflows/plan.md +0 -89
  215. package/.agent/workflows/preview.md +0 -81
  216. package/.agent/workflows/status.md +0 -86
  217. package/.agent/workflows/test.md +0 -144
  218. package/.agent/workflows/ui-ux-pro-max.md +0 -296
@@ -1,76 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Skill: performance-profiling
4
- Script: lighthouse_audit.py
5
- Purpose: Run Lighthouse performance audit on a URL
6
- Usage: python lighthouse_audit.py https://example.com
7
- Output: JSON with performance scores
8
- Note: Requires lighthouse CLI (npm install -g lighthouse)
9
- """
10
- import subprocess
11
- import json
12
- import sys
13
- import os
14
- import tempfile
15
-
16
- def run_lighthouse(url: str) -> dict:
17
- """Run Lighthouse audit on URL."""
18
- try:
19
- with tempfile.NamedTemporaryFile(suffix='.json', delete=False) as f:
20
- output_path = f.name
21
-
22
- result = subprocess.run(
23
- [
24
- "lighthouse",
25
- url,
26
- "--output=json",
27
- f"--output-path={output_path}",
28
- "--chrome-flags=--headless",
29
- "--only-categories=performance,accessibility,best-practices,seo"
30
- ],
31
- capture_output=True,
32
- text=True,
33
- timeout=120
34
- )
35
-
36
- if os.path.exists(output_path):
37
- with open(output_path, 'r') as f:
38
- report = json.load(f)
39
- os.unlink(output_path)
40
-
41
- categories = report.get("categories", {})
42
- return {
43
- "url": url,
44
- "scores": {
45
- "performance": int(categories.get("performance", {}).get("score", 0) * 100),
46
- "accessibility": int(categories.get("accessibility", {}).get("score", 0) * 100),
47
- "best_practices": int(categories.get("best-practices", {}).get("score", 0) * 100),
48
- "seo": int(categories.get("seo", {}).get("score", 0) * 100)
49
- },
50
- "summary": get_summary(categories)
51
- }
52
- else:
53
- return {"error": "Lighthouse failed to generate report", "stderr": result.stderr[:500]}
54
-
55
- except subprocess.TimeoutExpired:
56
- return {"error": "Lighthouse audit timed out"}
57
- except FileNotFoundError:
58
- return {"error": "Lighthouse CLI not found. Install with: npm install -g lighthouse"}
59
-
60
- def get_summary(categories: dict) -> str:
61
- """Generate summary based on scores."""
62
- perf = categories.get("performance", {}).get("score", 0) * 100
63
- if perf >= 90:
64
- return "[OK] Excellent performance"
65
- elif perf >= 50:
66
- return "[!] Needs improvement"
67
- else:
68
- return "[X] Poor performance"
69
-
70
- if __name__ == "__main__":
71
- if len(sys.argv) < 2:
72
- print(json.dumps({"error": "Usage: python lighthouse_audit.py <url>"}))
73
- sys.exit(1)
74
-
75
- result = run_lighthouse(sys.argv[1])
76
- print(json.dumps(result, indent=2))
@@ -1,153 +0,0 @@
1
- ---
2
- name: plan-writing
3
- description: Structured task planning with clear breakdowns, dependencies, and verification criteria. Use when implementing features, refactoring, or any multi-step work.
4
- allowed-tools: Read, Glob, Grep
5
- ---
6
-
7
- # Plan Writing
8
-
9
- > Source: obra/superpowers
10
-
11
- ## Overview
12
- This skill provides a framework for breaking down work into clear, actionable tasks with verification criteria.
13
-
14
- ## Task Breakdown Principles
15
-
16
- ### 1. Kỷ Luật Micro-Tasking (Hành động 5 phút)
17
- - Each task should take 2-5 minutes MAXIMUM.
18
- - Tên Task KHÔNG PHẢI LÀ "Làm tính năng X". Tên Task phải là **hành động cụ thể trên 1 file cụ thể**.
19
- - VD Sai: `[ ] Thêm logic phân quyền`
20
- - VD Đúng: `[ ] Taọ file auth.middleware.ts, đọc token từ header và trả về role.`
21
-
22
- ### 2. Clear Verification & TDD (Nếu có thể)
23
- - How do you know it's done?
24
- - What exact command to run? (e.g. `npm run test auth.test.ts`)
25
- - What's the expected output?
26
-
27
- ### 3. Logical Ordering
28
- - Dependencies identified
29
- - Parallel work where possible
30
- - Critical path highlighted
31
- - **Phase X: Verification is always LAST**
32
-
33
- ### 4. Dynamic Naming in Project Root
34
- - Plan files are saved as `{task-slug}.md` in the PROJECT ROOT
35
- - Name derived from task (e.g., "add auth" → `auth-feature.md`)
36
- - **NEVER** inside `.claude/`, `docs/`, or temp folders
37
-
38
- ## Planning Principles (NOT Templates!)
39
-
40
- > 🔴 **NO fixed templates. Each plan is UNIQUE to the task.**
41
-
42
- ### Principle 1: Keep It SHORT
43
-
44
- | ❌ Wrong | ✅ Right |
45
- |----------|----------|
46
- | 50 tasks with sub-sub-tasks | 5-10 clear tasks max |
47
- | Every micro-step listed | Only actionable items |
48
- | Verbose descriptions | One-line per task |
49
-
50
- > **Rule:** If plan is longer than 1 page, it's too long. Simplify.
51
-
52
- ---
53
-
54
- ### Principle 2: Be STRICTLY SPECIFIC (File-Level)
55
-
56
- | ❌ Wrong (Cấm Tuyệt Đối) | ✅ Right (Chuẩn Superpowers) |
57
- |----------|----------|
58
- | "Set up project" | "Run `npx create-next-app`" |
59
- | "Add authentication" | "Tạo `api/auth.ts`, code hàm verify JWT và trả 401" |
60
- | "Style the UI" | "Mở `Header.tsx`, đổi bg-white thành bg-slate-900" |
61
-
62
- > **Rule:** Mỗi task là một phát súng bắn tỉa chính xác vào 1 file. Không viết task bắn tỉa mù.
63
-
64
- ---
65
-
66
- ### Principle 3: Dynamic Content Based on Project Type
67
-
68
- **For NEW PROJECT:**
69
- - What tech stack? (decide first)
70
- - What's the MVP? (minimal features)
71
- - What's the file structure?
72
-
73
- **For FEATURE ADDITION:**
74
- - Which files are affected?
75
- - What dependencies needed?
76
- - How to verify it works?
77
-
78
- **For BUG FIX:**
79
- - What's the root cause?
80
- - What file/line to change?
81
- - How to test the fix?
82
-
83
- ---
84
-
85
- ### Principle 4: Scripts Are Project-Specific
86
-
87
- > 🔴 **DO NOT copy-paste script commands. Choose based on project type.**
88
-
89
- | Project Type | Relevant Scripts |
90
- |--------------|------------------|
91
- | Frontend/React | `ux_audit.py`, `accessibility_checker.py` |
92
- | Backend/API | `api_validator.py`, `security_scan.py` |
93
- | Mobile | `mobile_audit.py` |
94
- | Database | `schema_validator.py` |
95
- | Full-stack | Mix of above based on what you touched |
96
-
97
- **Wrong:** Adding all scripts to every plan
98
- **Right:** Only scripts relevant to THIS task
99
-
100
- ---
101
-
102
- ### Principle 5: Verification is Simple
103
-
104
- | ❌ Wrong | ✅ Right |
105
- |----------|----------|
106
- | "Verify the component works correctly" | "Run `npm run dev`, click button, see toast" |
107
- | "Test the API" | "curl localhost:3000/api/users returns 200" |
108
- | "Check styles" | "Open browser, verify dark mode toggle works" |
109
-
110
- ---
111
-
112
- ## Plan Structure (Flexible, Not Fixed!)
113
-
114
- ```markdown
115
- # [Tên tính năng ngắn gọn]
116
-
117
- > **MANDATORY STEP BEFORE PLAN:** Đã đọc `.agent/knowledge/architecture_decisions.md` (ADR) để không lập kế hoạch sai luồng công nghệ chưa?
118
-
119
- ## Tasks
120
- - [ ] `path/to/file1.py`: [Chính xác hàm gì cần thêm/sửa, tốn bao nhiêu phút?]
121
- -> Verify: Chạy `pytest file1`, output X.
122
- - [ ] `path/to/file2.ts`: [Chỉnh sửa dòng nào thành dòng nào?]
123
- -> Verify: Bật browser check console log.
124
-
125
- ## Done When
126
- - [ ] [Main success criteria]
127
- ```
128
-
129
- > **That's it.** No phases, no sub-sections unless truly needed.
130
- > Keep it minimal. Add complexity only when required.
131
-
132
- ## Notes
133
- [Any important considerations]
134
- ```
135
-
136
- ---
137
-
138
- ## Best Practices (Quick Reference)
139
-
140
- 1. **Start with goal** - What are we building/fixing?
141
- 2. **Max 10 tasks** - If more, break into multiple plans
142
- 3. **Each task verifiable** - Clear "done" criteria
143
- 4. **Project-specific** - No copy-paste templates
144
- 5. **Update as you go** - Mark `[x]` when complete
145
-
146
- ---
147
-
148
- ## When to Use
149
-
150
- - New project from scratch
151
- - Adding a feature
152
- - Fixing a bug (if complex)
153
- - Refactoring multiple files
@@ -1,167 +0,0 @@
1
- ---
2
- name: powershell-windows
3
- description: PowerShell Windows patterns. Critical pitfalls, operator syntax, error handling.
4
- allowed-tools: Read, Write, Edit, Glob, Grep, Bash
5
- ---
6
-
7
- # PowerShell Windows Patterns
8
-
9
- > Critical patterns and pitfalls for Windows PowerShell.
10
-
11
- ---
12
-
13
- ## 1. Operator Syntax Rules
14
-
15
- ### CRITICAL: Parentheses Required
16
-
17
- | ❌ Wrong | ✅ Correct |
18
- |----------|-----------|
19
- | `if (Test-Path "a" -or Test-Path "b")` | `if ((Test-Path "a") -or (Test-Path "b"))` |
20
- | `if (Get-Item $x -and $y -eq 5)` | `if ((Get-Item $x) -and ($y -eq 5))` |
21
-
22
- **Rule:** Each cmdlet call MUST be in parentheses when using logical operators.
23
-
24
- ---
25
-
26
- ## 2. Unicode/Emoji Restriction
27
-
28
- ### CRITICAL: No Unicode in Scripts
29
-
30
- | Purpose | ❌ Don't Use | ✅ Use |
31
- |---------|-------------|--------|
32
- | Success | ✅ ✓ | [OK] [+] |
33
- | Error | ❌ ✗ 🔴 | [!] [X] |
34
- | Warning | ⚠️ 🟡 | [*] [WARN] |
35
- | Info | ℹ️ 🔵 | [i] [INFO] |
36
- | Progress | ⏳ | [...] |
37
-
38
- **Rule:** Use ASCII characters only in PowerShell scripts.
39
-
40
- ---
41
-
42
- ## 3. Null Check Patterns
43
-
44
- ### Always Check Before Access
45
-
46
- | ❌ Wrong | ✅ Correct |
47
- |----------|-----------|
48
- | `$array.Count -gt 0` | `$array -and $array.Count -gt 0` |
49
- | `$text.Length` | `if ($text) { $text.Length }` |
50
-
51
- ---
52
-
53
- ## 4. String Interpolation
54
-
55
- ### Complex Expressions
56
-
57
- | ❌ Wrong | ✅ Correct |
58
- |----------|-----------|
59
- | `"Value: $($obj.prop.sub)"` | Store in variable first |
60
-
61
- **Pattern:**
62
- ```
63
- $value = $obj.prop.sub
64
- Write-Output "Value: $value"
65
- ```
66
-
67
- ---
68
-
69
- ## 5. Error Handling
70
-
71
- ### ErrorActionPreference
72
-
73
- | Value | Use |
74
- |-------|-----|
75
- | Stop | Development (fail fast) |
76
- | Continue | Production scripts |
77
- | SilentlyContinue | When errors expected |
78
-
79
- ### Try/Catch Pattern
80
-
81
- - Don't return inside try block
82
- - Use finally for cleanup
83
- - Return after try/catch
84
-
85
- ---
86
-
87
- ## 6. File Paths
88
-
89
- ### Windows Path Rules
90
-
91
- | Pattern | Use |
92
- |---------|-----|
93
- | Literal path | `C:\Users\User\file.txt` |
94
- | Variable path | `Join-Path $env:USERPROFILE "file.txt"` |
95
- | Relative | `Join-Path $ScriptDir "data"` |
96
-
97
- **Rule:** Use Join-Path for cross-platform safety.
98
-
99
- ---
100
-
101
- ## 7. Array Operations
102
-
103
- ### Correct Patterns
104
-
105
- | Operation | Syntax |
106
- |-----------|--------|
107
- | Empty array | `$array = @()` |
108
- | Add item | `$array += $item` |
109
- | ArrayList add | `$list.Add($item) | Out-Null` |
110
-
111
- ---
112
-
113
- ## 8. JSON Operations
114
-
115
- ### CRITICAL: Depth Parameter
116
-
117
- | ❌ Wrong | ✅ Correct |
118
- |----------|-----------|
119
- | `ConvertTo-Json` | `ConvertTo-Json -Depth 10` |
120
-
121
- **Rule:** Always specify `-Depth` for nested objects.
122
-
123
- ### File Operations
124
-
125
- | Operation | Pattern |
126
- |-----------|---------|
127
- | Read | `Get-Content "file.json" -Raw | ConvertFrom-Json` |
128
- | Write | `$data | ConvertTo-Json -Depth 10 | Out-File "file.json" -Encoding UTF8` |
129
-
130
- ---
131
-
132
- ## 9. Common Errors
133
-
134
- | Error Message | Cause | Fix |
135
- |---------------|-------|-----|
136
- | "parameter 'or'" | Missing parentheses | Wrap cmdlets in () |
137
- | "Unexpected token" | Unicode character | Use ASCII only |
138
- | "Cannot find property" | Null object | Check null first |
139
- | "Cannot convert" | Type mismatch | Use .ToString() |
140
-
141
- ---
142
-
143
- ## 10. Script Template
144
-
145
- ```powershell
146
- # Strict mode
147
- Set-StrictMode -Version Latest
148
- $ErrorActionPreference = "Continue"
149
-
150
- # Paths
151
- $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
152
-
153
- # Main
154
- try {
155
- # Logic here
156
- Write-Output "[OK] Done"
157
- exit 0
158
- }
159
- catch {
160
- Write-Warning "Error: $_"
161
- exit 1
162
- }
163
- ```
164
-
165
- ---
166
-
167
- > **Remember:** PowerShell has unique syntax rules. Parentheses, ASCII-only, and null checks are non-negotiable.
@@ -1,30 +0,0 @@
1
- ---
2
- name: product-management
3
- description: Skill nhập vai Product Manager. Viết PRD (Product Requirement Doc), lên Lộ trình (Roadmap) và theo dõi KPI.
4
- allowed-tools: Read, Write
5
- version: 1.0
6
- priority: HIGH
7
- ---
8
-
9
- # Kỹ năng Quản Trị Sản Phẩm (Product Management)
10
-
11
- > **MỤC TIÊU:** Khi User muốn bổ sung "Tính năng mới", bạn KHÔNG PHẢI là Coder. Bạn là một Giám Đốc Sản Phẩm (PM).
12
-
13
- Hãy từ chối viết code ngay lập tức. Thay vào đó, hãy kích hoạt Kỹ năng PM:
14
-
15
- ## 1. Viết PRD (Product Requirement Document)
16
- Bắt buộc trải qua quy trình Mổ xẻ tính năng:
17
- * **Vấn đề cốt lõi:** User/Khách hàng đang gặp nỗi đau gì?
18
- * **Giải pháp:** Tính năng này giải quyết nỗi đau đó như thế nào?
19
- * **User Story:** "Là một [Vai trò], tôi muốn [Hành động] để [Nhận được giá trị gì]."
20
- * **Out of Scope:** Tính năng này RÕ RÀNG KHÔNG LÀM điều gì?
21
-
22
- ## 2. Đo Lường (Metrics & KPIs)
23
- * Tính năng này sẽ được cho là "Thành công" khi chỉ số nào tăng/giảm? (Ví dụ: Số lượng Click vào nút Mua Hàng, Giảm độ trễ API xuống dưới 20ms).
24
- * Công cụ Tracking dự kiến là gì? (Google Analytics, Sentry, Custom DB?)
25
-
26
- ## 3. Lộ Trình (Roadmap Phân Nhỏ)
27
- Sử dụng tư duy của `plan-writing`: Chẻ nhỏ tính năng lớn thành nhiều viên gạch 5-phút. Viết rõ ràng từng viên gạch.
28
-
29
- > **QUY TẮC SẮT (PM RULE):**
30
- > Chỉ khi PRD và User Story được User "Gật đầu Approval", bạn mới được phép thoát vai PM và gọi `Task Boundary` chuyển sang vai Coder để Code.