@mrtrinhvn/ag-kit 1.0.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 (176) hide show
  1. package/bin/cli.js +88 -0
  2. package/package.json +28 -0
  3. package/template/.agent/agents/backend-specialist.md +263 -0
  4. package/template/.agent/agents/code-archaeologist.md +106 -0
  5. package/template/.agent/agents/database-architect.md +226 -0
  6. package/template/.agent/agents/debugger.md +225 -0
  7. package/template/.agent/agents/devops-engineer.md +242 -0
  8. package/template/.agent/agents/documentation-writer.md +104 -0
  9. package/template/.agent/agents/explorer-agent.md +73 -0
  10. package/template/.agent/agents/frontend-specialist.md +556 -0
  11. package/template/.agent/agents/game-developer.md +162 -0
  12. package/template/.agent/agents/mobile-developer.md +377 -0
  13. package/template/.agent/agents/orchestrator.md +416 -0
  14. package/template/.agent/agents/penetration-tester.md +188 -0
  15. package/template/.agent/agents/performance-optimizer.md +187 -0
  16. package/template/.agent/agents/product-manager.md +112 -0
  17. package/template/.agent/agents/product-owner.md +95 -0
  18. package/template/.agent/agents/project-planner.md +406 -0
  19. package/template/.agent/agents/qa-automation-engineer.md +103 -0
  20. package/template/.agent/agents/quant-architect.md +31 -0
  21. package/template/.agent/agents/security-auditor.md +170 -0
  22. package/template/.agent/agents/seo-specialist.md +111 -0
  23. package/template/.agent/agents/test-engineer.md +158 -0
  24. package/template/.agent/knowledge/.gitkeep +0 -0
  25. package/template/.agent/rules/GEMINI.md +280 -0
  26. package/template/.agent/scripts/auto_preview.py +148 -0
  27. package/template/.agent/scripts/checklist.py +217 -0
  28. package/template/.agent/scripts/session_manager.py +120 -0
  29. package/template/.agent/scripts/verify_all.py +327 -0
  30. package/template/.agent/skills/api-patterns/SKILL.md +81 -0
  31. package/template/.agent/skills/api-patterns/api-style.md +42 -0
  32. package/template/.agent/skills/api-patterns/auth.md +24 -0
  33. package/template/.agent/skills/api-patterns/documentation.md +26 -0
  34. package/template/.agent/skills/api-patterns/graphql.md +41 -0
  35. package/template/.agent/skills/api-patterns/rate-limiting.md +31 -0
  36. package/template/.agent/skills/api-patterns/response.md +37 -0
  37. package/template/.agent/skills/api-patterns/rest.md +40 -0
  38. package/template/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  39. package/template/.agent/skills/api-patterns/security-testing.md +122 -0
  40. package/template/.agent/skills/api-patterns/trpc.md +41 -0
  41. package/template/.agent/skills/api-patterns/versioning.md +22 -0
  42. package/template/.agent/skills/app-builder/SKILL.md +75 -0
  43. package/template/.agent/skills/app-builder/agent-coordination.md +71 -0
  44. package/template/.agent/skills/app-builder/feature-building.md +53 -0
  45. package/template/.agent/skills/app-builder/project-detection.md +34 -0
  46. package/template/.agent/skills/app-builder/scaffolding.md +118 -0
  47. package/template/.agent/skills/app-builder/tech-stack.md +40 -0
  48. package/template/.agent/skills/app-builder/templates/SKILL.md +39 -0
  49. package/template/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  50. package/template/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  51. package/template/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  52. package/template/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  53. package/template/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  54. package/template/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  55. package/template/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  56. package/template/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  57. package/template/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  58. package/template/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  59. package/template/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  60. package/template/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  61. package/template/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  62. package/template/.agent/skills/architecture/SKILL.md +55 -0
  63. package/template/.agent/skills/architecture/context-discovery.md +43 -0
  64. package/template/.agent/skills/architecture/examples.md +94 -0
  65. package/template/.agent/skills/architecture/pattern-selection.md +68 -0
  66. package/template/.agent/skills/architecture/patterns-reference.md +50 -0
  67. package/template/.agent/skills/architecture/trade-off-analysis.md +77 -0
  68. package/template/.agent/skills/bash-linux/SKILL.md +199 -0
  69. package/template/.agent/skills/behavioral-modes/SKILL.md +242 -0
  70. package/template/.agent/skills/brainstorming/SKILL.md +168 -0
  71. package/template/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  72. package/template/.agent/skills/business-ops/SKILL.md +26 -0
  73. package/template/.agent/skills/clean-code/SKILL.md +202 -0
  74. package/template/.agent/skills/code-review-checklist/SKILL.md +109 -0
  75. package/template/.agent/skills/data-science/SKILL.md +28 -0
  76. package/template/.agent/skills/database-design/SKILL.md +52 -0
  77. package/template/.agent/skills/database-design/database-selection.md +43 -0
  78. package/template/.agent/skills/database-design/indexing.md +39 -0
  79. package/template/.agent/skills/database-design/migrations.md +48 -0
  80. package/template/.agent/skills/database-design/optimization.md +36 -0
  81. package/template/.agent/skills/database-design/orm-selection.md +30 -0
  82. package/template/.agent/skills/database-design/schema-design.md +56 -0
  83. package/template/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  84. package/template/.agent/skills/deployment-procedures/SKILL.md +241 -0
  85. package/template/.agent/skills/doc.md +177 -0
  86. package/template/.agent/skills/documentation-templates/SKILL.md +194 -0
  87. package/template/.agent/skills/frontend-design/SKILL.md +418 -0
  88. package/template/.agent/skills/frontend-design/animation-guide.md +331 -0
  89. package/template/.agent/skills/frontend-design/color-system.md +311 -0
  90. package/template/.agent/skills/frontend-design/decision-trees.md +418 -0
  91. package/template/.agent/skills/frontend-design/motion-graphics.md +306 -0
  92. package/template/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  93. package/template/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  94. package/template/.agent/skills/frontend-design/typography-system.md +345 -0
  95. package/template/.agent/skills/frontend-design/ux-psychology.md +541 -0
  96. package/template/.agent/skills/frontend-design/visual-effects.md +383 -0
  97. package/template/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  98. package/template/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  99. package/template/.agent/skills/game-development/SKILL.md +167 -0
  100. package/template/.agent/skills/game-development/game-art/SKILL.md +185 -0
  101. package/template/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  102. package/template/.agent/skills/game-development/game-design/SKILL.md +129 -0
  103. package/template/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  104. package/template/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  105. package/template/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  106. package/template/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  107. package/template/.agent/skills/game-development/web-games/SKILL.md +150 -0
  108. package/template/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  109. package/template/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  110. package/template/.agent/skills/i18n-localization/SKILL.md +154 -0
  111. package/template/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  112. package/template/.agent/skills/intelligent-routing/SKILL.md +335 -0
  113. package/template/.agent/skills/knowledge-management/SKILL.md +54 -0
  114. package/template/.agent/skills/lint-and-validate/SKILL.md +45 -0
  115. package/template/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  116. package/template/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  117. package/template/.agent/skills/mcp-builder/SKILL.md +176 -0
  118. package/template/.agent/skills/mobile-design/SKILL.md +394 -0
  119. package/template/.agent/skills/mobile-design/decision-trees.md +516 -0
  120. package/template/.agent/skills/mobile-design/mobile-backend.md +491 -0
  121. package/template/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  122. package/template/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  123. package/template/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  124. package/template/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  125. package/template/.agent/skills/mobile-design/mobile-performance.md +767 -0
  126. package/template/.agent/skills/mobile-design/mobile-testing.md +356 -0
  127. package/template/.agent/skills/mobile-design/mobile-typography.md +433 -0
  128. package/template/.agent/skills/mobile-design/platform-android.md +666 -0
  129. package/template/.agent/skills/mobile-design/platform-ios.md +561 -0
  130. package/template/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  131. package/template/.agent/skills/mobile-design/touch-psychology.md +537 -0
  132. package/template/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -0
  133. package/template/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  134. package/template/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  135. package/template/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  136. package/template/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  137. package/template/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  138. package/template/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  139. package/template/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  140. package/template/.agent/skills/nextjs-react-expert/SKILL.md +267 -0
  141. package/template/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  142. package/template/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  143. package/template/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  144. package/template/.agent/skills/parallel-agents/SKILL.md +175 -0
  145. package/template/.agent/skills/performance-profiling/SKILL.md +143 -0
  146. package/template/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  147. package/template/.agent/skills/plan-writing/SKILL.md +153 -0
  148. package/template/.agent/skills/powershell-windows/SKILL.md +167 -0
  149. package/template/.agent/skills/product-management/SKILL.md +30 -0
  150. package/template/.agent/skills/python-patterns/SKILL.md +441 -0
  151. package/template/.agent/skills/red-team-tactics/SKILL.md +199 -0
  152. package/template/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  153. package/template/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  154. package/template/.agent/skills/server-management/SKILL.md +161 -0
  155. package/template/.agent/skills/systematic-debugging/SKILL.md +110 -0
  156. package/template/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  157. package/template/.agent/skills/tdd-workflow/SKILL.md +148 -0
  158. package/template/.agent/skills/testing-patterns/SKILL.md +178 -0
  159. package/template/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  160. package/template/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  161. package/template/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  162. package/template/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  163. package/template/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  164. package/template/.agent/skills/webapp-testing/SKILL.md +187 -0
  165. package/template/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  166. package/template/.agent/workflows/brainstorm.md +113 -0
  167. package/template/.agent/workflows/create.md +59 -0
  168. package/template/.agent/workflows/debug.md +103 -0
  169. package/template/.agent/workflows/deploy.md +176 -0
  170. package/template/.agent/workflows/enhance.md +63 -0
  171. package/template/.agent/workflows/orchestrate.md +237 -0
  172. package/template/.agent/workflows/plan.md +89 -0
  173. package/template/.agent/workflows/preview.md +81 -0
  174. package/template/.agent/workflows/status.md +86 -0
  175. package/template/.agent/workflows/test.md +144 -0
  176. package/template/.agent/workflows/ui-ux-pro-max.md +296 -0
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: parallel-agents
3
+ description: Multi-agent orchestration patterns. Use when multiple independent tasks can run with different domain expertise or when comprehensive analysis requires multiple perspectives.
4
+ allowed-tools: Read, Glob, Grep
5
+ ---
6
+
7
+ # Native Parallel Agents
8
+
9
+ > Orchestration through Antigravity's built-in Agent Tool
10
+
11
+ ## Overview
12
+
13
+ This skill enables coordinating multiple specialized agents through Antigravity's native agent system. Unlike external scripts, this approach keeps all orchestration within Antigravity's control.
14
+
15
+ ## When to Use Orchestration
16
+
17
+ ✅ **Good for:**
18
+ - Complex tasks requiring multiple expertise domains
19
+ - Code analysis from security, performance, and quality perspectives
20
+ - Comprehensive reviews (architecture + security + testing)
21
+ - Feature implementation needing backend + frontend + database work
22
+
23
+ ❌ **Not for:**
24
+ - Simple, single-domain tasks
25
+ - Quick fixes or small changes
26
+ - Tasks where one agent suffices
27
+
28
+ ---
29
+
30
+ ## Native Agent Invocation
31
+
32
+ ### Single Agent
33
+ ```
34
+ Use the security-auditor agent to review authentication
35
+ ```
36
+
37
+ ### Sequential Chain
38
+ ```
39
+ First, use the explorer-agent to discover project structure.
40
+ Then, use the backend-specialist to review API endpoints.
41
+ Finally, use the test-engineer to identify test gaps.
42
+ ```
43
+
44
+ ### With Context Passing
45
+ ```
46
+ Use the frontend-specialist to analyze React components.
47
+ Based on those findings, have the test-engineer generate component tests.
48
+ ```
49
+
50
+ ### Resume Previous Work
51
+ ```
52
+ Resume agent [agentId] and continue with additional requirements.
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Orchestration Patterns
58
+
59
+ ### Pattern 1: Comprehensive Analysis
60
+ ```
61
+ Agents: explorer-agent → [domain-agents] → synthesis
62
+
63
+ 1. explorer-agent: Map codebase structure
64
+ 2. security-auditor: Security posture
65
+ 3. backend-specialist: API quality
66
+ 4. frontend-specialist: UI/UX patterns
67
+ 5. test-engineer: Test coverage
68
+ 6. Synthesize all findings
69
+ ```
70
+
71
+ ### Pattern 2: Feature Review
72
+ ```
73
+ Agents: affected-domain-agents → test-engineer
74
+
75
+ 1. Identify affected domains (backend? frontend? both?)
76
+ 2. Invoke relevant domain agents
77
+ 3. test-engineer verifies changes
78
+ 4. Synthesize recommendations
79
+ ```
80
+
81
+ ### Pattern 3: Security Audit
82
+ ```
83
+ Agents: security-auditor → penetration-tester → synthesis
84
+
85
+ 1. security-auditor: Configuration and code review
86
+ 2. penetration-tester: Active vulnerability testing
87
+ 3. Synthesize with prioritized remediation
88
+ ```
89
+
90
+ ---
91
+
92
+ ## Available Agents
93
+
94
+ | Agent | Expertise | Trigger Phrases |
95
+ |-------|-----------|-----------------|
96
+ | `orchestrator` | Coordination | "comprehensive", "multi-perspective" |
97
+ | `security-auditor` | Security | "security", "auth", "vulnerabilities" |
98
+ | `penetration-tester` | Security Testing | "pentest", "red team", "exploit" |
99
+ | `backend-specialist` | Backend | "API", "server", "Node.js", "Express" |
100
+ | `frontend-specialist` | Frontend | "React", "UI", "components", "Next.js" |
101
+ | `test-engineer` | Testing | "tests", "coverage", "TDD" |
102
+ | `devops-engineer` | DevOps | "deploy", "CI/CD", "infrastructure" |
103
+ | `database-architect` | Database | "schema", "Prisma", "migrations" |
104
+ | `mobile-developer` | Mobile | "React Native", "Flutter", "mobile" |
105
+ | `api-designer` | API Design | "REST", "GraphQL", "OpenAPI" |
106
+ | `debugger` | Debugging | "bug", "error", "not working" |
107
+ | `explorer-agent` | Discovery | "explore", "map", "structure" |
108
+ | `documentation-writer` | Documentation | "write docs", "create README", "generate API docs" |
109
+ | `performance-optimizer` | Performance | "slow", "optimize", "profiling" |
110
+ | `project-planner` | Planning | "plan", "roadmap", "milestones" |
111
+ | `seo-specialist` | SEO | "SEO", "meta tags", "search ranking" |
112
+ | `game-developer` | Game Development | "game", "Unity", "Godot", "Phaser" |
113
+
114
+ ---
115
+
116
+ ## Antigravity Built-in Agents
117
+
118
+ These work alongside custom agents:
119
+
120
+ | Agent | Model | Purpose |
121
+ |-------|-------|---------|
122
+ | **Explore** | Haiku | Fast read-only codebase search |
123
+ | **Plan** | Sonnet | Research during plan mode |
124
+ | **General-purpose** | Sonnet | Complex multi-step modifications |
125
+
126
+ Use **Explore** for quick searches, **custom agents** for domain expertise.
127
+
128
+ ---
129
+
130
+ ## Synthesis Protocol
131
+
132
+ After all agents complete, synthesize:
133
+
134
+ ```markdown
135
+ ## Orchestration Synthesis
136
+
137
+ ### Task Summary
138
+ [What was accomplished]
139
+
140
+ ### Agent Contributions
141
+ | Agent | Finding |
142
+ |-------|---------|
143
+ | security-auditor | Found X |
144
+ | backend-specialist | Identified Y |
145
+
146
+ ### Consolidated Recommendations
147
+ 1. **Critical**: [Issue from Agent A]
148
+ 2. **Important**: [Issue from Agent B]
149
+ 3. **Nice-to-have**: [Enhancement from Agent C]
150
+
151
+ ### Action Items
152
+ - [ ] Fix critical security issue
153
+ - [ ] Refactor API endpoint
154
+ - [ ] Add missing tests
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Best Practices
160
+
161
+ 1. **Available agents** - 17 specialized agents can be orchestrated
162
+ 2. **Logical order** - Discovery → Analysis → Implementation → Testing
163
+ 3. **Share context** - Pass relevant findings to subsequent agents
164
+ 4. **Single synthesis** - One unified report, not separate outputs
165
+ 5. **Verify changes** - Always include test-engineer for code modifications
166
+
167
+ ---
168
+
169
+ ## Key Benefits
170
+
171
+ - ✅ **Single session** - All agents share context
172
+ - ✅ **AI-controlled** - Claude orchestrates autonomously
173
+ - ✅ **Native integration** - Works with built-in Explore, Plan agents
174
+ - ✅ **Resume support** - Can continue previous agent work
175
+ - ✅ **Context passing** - Findings flow between agents
@@ -0,0 +1,143 @@
1
+ ---
2
+ name: performance-profiling
3
+ description: Performance profiling principles. Measurement, analysis, and optimization techniques.
4
+ allowed-tools: Read, Glob, Grep, Bash
5
+ ---
6
+
7
+ # Performance Profiling
8
+
9
+ > Measure, analyze, optimize - in that order.
10
+
11
+ ## 🔧 Runtime Scripts
12
+
13
+ **Execute these for automated profiling:**
14
+
15
+ | Script | Purpose | Usage |
16
+ |--------|---------|-------|
17
+ | `scripts/lighthouse_audit.py` | Lighthouse performance audit | `python scripts/lighthouse_audit.py https://example.com` |
18
+
19
+ ---
20
+
21
+ ## 1. Core Web Vitals
22
+
23
+ ### Targets
24
+
25
+ | Metric | Good | Poor | Measures |
26
+ |--------|------|------|----------|
27
+ | **LCP** | < 2.5s | > 4.0s | Loading |
28
+ | **INP** | < 200ms | > 500ms | Interactivity |
29
+ | **CLS** | < 0.1 | > 0.25 | Stability |
30
+
31
+ ### When to Measure
32
+
33
+ | Stage | Tool |
34
+ |-------|------|
35
+ | Development | Local Lighthouse |
36
+ | CI/CD | Lighthouse CI |
37
+ | Production | RUM (Real User Monitoring) |
38
+
39
+ ---
40
+
41
+ ## 2. Profiling Workflow
42
+
43
+ ### The 4-Step Process
44
+
45
+ ```
46
+ 1. BASELINE → Measure current state
47
+ 2. IDENTIFY → Find the bottleneck
48
+ 3. FIX → Make targeted change
49
+ 4. VALIDATE → Confirm improvement
50
+ ```
51
+
52
+ ### Profiling Tool Selection
53
+
54
+ | Problem | Tool |
55
+ |---------|------|
56
+ | Page load | Lighthouse |
57
+ | Bundle size | Bundle analyzer |
58
+ | Runtime | DevTools Performance |
59
+ | Memory | DevTools Memory |
60
+ | Network | DevTools Network |
61
+
62
+ ---
63
+
64
+ ## 3. Bundle Analysis
65
+
66
+ ### What to Look For
67
+
68
+ | Issue | Indicator |
69
+ |-------|-----------|
70
+ | Large dependencies | Top of bundle |
71
+ | Duplicate code | Multiple chunks |
72
+ | Unused code | Low coverage |
73
+ | Missing splits | Single large chunk |
74
+
75
+ ### Optimization Actions
76
+
77
+ | Finding | Action |
78
+ |---------|--------|
79
+ | Big library | Import specific modules |
80
+ | Duplicate deps | Dedupe, update versions |
81
+ | Route in main | Code split |
82
+ | Unused exports | Tree shake |
83
+
84
+ ---
85
+
86
+ ## 4. Runtime Profiling
87
+
88
+ ### Performance Tab Analysis
89
+
90
+ | Pattern | Meaning |
91
+ |---------|---------|
92
+ | Long tasks (>50ms) | UI blocking |
93
+ | Many small tasks | Possible batching opportunity |
94
+ | Layout/paint | Rendering bottleneck |
95
+ | Script | JavaScript execution |
96
+
97
+ ### Memory Tab Analysis
98
+
99
+ | Pattern | Meaning |
100
+ |---------|---------|
101
+ | Growing heap | Possible leak |
102
+ | Large retained | Check references |
103
+ | Detached DOM | Not cleaned up |
104
+
105
+ ---
106
+
107
+ ## 5. Common Bottlenecks
108
+
109
+ ### By Symptom
110
+
111
+ | Symptom | Likely Cause |
112
+ |---------|--------------|
113
+ | Slow initial load | Large JS, render blocking |
114
+ | Slow interactions | Heavy event handlers |
115
+ | Jank during scroll | Layout thrashing |
116
+ | Growing memory | Leaks, retained refs |
117
+
118
+ ---
119
+
120
+ ## 6. Quick Win Priorities
121
+
122
+ | Priority | Action | Impact |
123
+ |----------|--------|--------|
124
+ | 1 | Enable compression | High |
125
+ | 2 | Lazy load images | High |
126
+ | 3 | Code split routes | High |
127
+ | 4 | Cache static assets | Medium |
128
+ | 5 | Optimize images | Medium |
129
+
130
+ ---
131
+
132
+ ## 7. Anti-Patterns
133
+
134
+ | ❌ Don't | ✅ Do |
135
+ |----------|-------|
136
+ | Guess at problems | Profile first |
137
+ | Micro-optimize | Fix biggest issue |
138
+ | Optimize early | Optimize when needed |
139
+ | Ignore real users | Use RUM data |
140
+
141
+ ---
142
+
143
+ > **Remember:** The fastest code is code that doesn't run. Remove before optimizing.
@@ -0,0 +1,76 @@
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))
@@ -0,0 +1,153 @@
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
@@ -0,0 +1,167 @@
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.