@musashishao/agent-kit 1.2.2

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 (236) hide show
  1. package/.agent/agents/backend-specialist.md +263 -0
  2. package/.agent/agents/database-architect.md +226 -0
  3. package/.agent/agents/debugger.md +225 -0
  4. package/.agent/agents/devops-engineer.md +242 -0
  5. package/.agent/agents/documentation-writer.md +104 -0
  6. package/.agent/agents/explorer-agent.md +73 -0
  7. package/.agent/agents/frontend-specialist.md +556 -0
  8. package/.agent/agents/game-developer.md +162 -0
  9. package/.agent/agents/mobile-developer.md +377 -0
  10. package/.agent/agents/orchestrator.md +416 -0
  11. package/.agent/agents/penetration-tester.md +188 -0
  12. package/.agent/agents/performance-optimizer.md +187 -0
  13. package/.agent/agents/project-planner.md +403 -0
  14. package/.agent/agents/security-auditor.md +170 -0
  15. package/.agent/agents/seo-specialist.md +111 -0
  16. package/.agent/agents/test-engineer.md +158 -0
  17. package/.agent/mcp/README.md +69 -0
  18. package/.agent/mcp/config/mcp-config.json +62 -0
  19. package/.agent/mcp/config/registry.json +54 -0
  20. package/.agent/mcp/servers/agent-kit-core/package.json +28 -0
  21. package/.agent/mcp/servers/agent-kit-core/src/index.ts +455 -0
  22. package/.agent/mcp/servers/agent-kit-core/tsconfig.json +16 -0
  23. package/.agent/mcp/servers/agent-kit-fs/package.json +25 -0
  24. package/.agent/mcp/servers/agent-kit-fs/src/index.ts +399 -0
  25. package/.agent/mcp/servers/agent-kit-fs/tsconfig.json +16 -0
  26. package/.agent/mcp/servers/agent-kit-git/package.json +24 -0
  27. package/.agent/mcp/servers/agent-kit-git/src/index.ts +283 -0
  28. package/.agent/mcp/servers/agent-kit-git/tsconfig.json +16 -0
  29. package/.agent/mcp/templates/README.md +49 -0
  30. package/.agent/mcp/templates/api/README.md.template +45 -0
  31. package/.agent/mcp/templates/api/src/index.ts.template +185 -0
  32. package/.agent/mcp/templates/base-package.json.template +27 -0
  33. package/.agent/mcp/templates/base-tsconfig.json +21 -0
  34. package/.agent/mcp/templates/custom/src/index.ts.template +133 -0
  35. package/.agent/mcp/templates/database/src/index.ts.template +273 -0
  36. package/.agent/mcp/templates/web-scraper/src/index.ts.template +239 -0
  37. package/.agent/rules/CODEX.md +250 -0
  38. package/.agent/rules/GEMINI.md +251 -0
  39. package/.agent/skills/api-patterns/SKILL.md +81 -0
  40. package/.agent/skills/api-patterns/api-style.md +42 -0
  41. package/.agent/skills/api-patterns/auth.md +24 -0
  42. package/.agent/skills/api-patterns/documentation.md +26 -0
  43. package/.agent/skills/api-patterns/graphql.md +41 -0
  44. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  45. package/.agent/skills/api-patterns/response.md +37 -0
  46. package/.agent/skills/api-patterns/rest.md +40 -0
  47. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  48. package/.agent/skills/api-patterns/security-testing.md +122 -0
  49. package/.agent/skills/api-patterns/trpc.md +41 -0
  50. package/.agent/skills/api-patterns/versioning.md +22 -0
  51. package/.agent/skills/app-builder/SKILL.md +75 -0
  52. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  53. package/.agent/skills/app-builder/feature-building.md +53 -0
  54. package/.agent/skills/app-builder/project-detection.md +34 -0
  55. package/.agent/skills/app-builder/scaffolding.md +118 -0
  56. package/.agent/skills/app-builder/tech-stack.md +40 -0
  57. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  58. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  59. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  60. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  61. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  62. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  63. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  64. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  65. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  66. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  67. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  68. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  69. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  70. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  71. package/.agent/skills/architecture/SKILL.md +55 -0
  72. package/.agent/skills/architecture/context-discovery.md +43 -0
  73. package/.agent/skills/architecture/examples.md +94 -0
  74. package/.agent/skills/architecture/pattern-selection.md +68 -0
  75. package/.agent/skills/architecture/patterns-reference.md +50 -0
  76. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  77. package/.agent/skills/bash-linux/SKILL.md +199 -0
  78. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  79. package/.agent/skills/brainstorming/SKILL.md +163 -0
  80. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  81. package/.agent/skills/clean-code/SKILL.md +201 -0
  82. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  83. package/.agent/skills/context-engineering/SKILL.md +74 -0
  84. package/.agent/skills/context-engineering/examples/advanced_code_request.md +73 -0
  85. package/.agent/skills/context-engineering/scripts/quality_validator.py +294 -0
  86. package/.agent/skills/context-engineering/scripts/repo_mapper.py +27 -0
  87. package/.agent/skills/context-engineering/scripts/skill_checker.py +194 -0
  88. package/.agent/skills/context-engineering/scripts/token_counter.py +65 -0
  89. package/.agent/skills/context-engineering/strategies/context-caching.md +50 -0
  90. package/.agent/skills/context-engineering/strategies/few-shot-examples.md +56 -0
  91. package/.agent/skills/context-engineering/strategies/skeleton-code.md +59 -0
  92. package/.agent/skills/context-engineering/strategies/xml-framing.md +57 -0
  93. package/.agent/skills/database-design/SKILL.md +52 -0
  94. package/.agent/skills/database-design/database-selection.md +43 -0
  95. package/.agent/skills/database-design/indexing.md +39 -0
  96. package/.agent/skills/database-design/migrations.md +48 -0
  97. package/.agent/skills/database-design/optimization.md +36 -0
  98. package/.agent/skills/database-design/orm-selection.md +30 -0
  99. package/.agent/skills/database-design/schema-design.md +56 -0
  100. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  101. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  102. package/.agent/skills/doc.md +177 -0
  103. package/.agent/skills/docker-expert/SKILL.md +409 -0
  104. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  105. package/.agent/skills/frontend-design/SKILL.md +396 -0
  106. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  107. package/.agent/skills/frontend-design/color-system.md +311 -0
  108. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  109. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  110. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  111. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  112. package/.agent/skills/frontend-design/typography-system.md +345 -0
  113. package/.agent/skills/frontend-design/ux-psychology.md +541 -0
  114. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  115. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  116. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  117. package/.agent/skills/game-development/SKILL.md +167 -0
  118. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  119. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  120. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  121. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  122. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  123. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  124. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  125. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  126. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  127. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  128. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  129. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  130. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  131. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  132. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  133. package/.agent/skills/mcp-builder/SKILL.md +662 -0
  134. package/.agent/skills/mcp-builder/python-template.md +522 -0
  135. package/.agent/skills/mcp-builder/tool-patterns.md +642 -0
  136. package/.agent/skills/mcp-builder/typescript-template.md +361 -0
  137. package/.agent/skills/mobile-design/SKILL.md +394 -0
  138. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  139. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  140. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  141. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  142. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  143. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  144. package/.agent/skills/mobile-design/mobile-performance.md +767 -0
  145. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  146. package/.agent/skills/mobile-design/mobile-typography.md +433 -0
  147. package/.agent/skills/mobile-design/platform-android.md +666 -0
  148. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  149. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  150. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  151. package/.agent/skills/nestjs-expert/SKILL.md +552 -0
  152. package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  153. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  154. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  155. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  156. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  157. package/.agent/skills/plan-writing/SKILL.md +152 -0
  158. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  159. package/.agent/skills/prisma-expert/SKILL.md +355 -0
  160. package/.agent/skills/problem-solving/SKILL.md +556 -0
  161. package/.agent/skills/problem-solving/collision-zone-thinking.md +285 -0
  162. package/.agent/skills/problem-solving/inversion-exercise.md +205 -0
  163. package/.agent/skills/problem-solving/meta-pattern-recognition.md +313 -0
  164. package/.agent/skills/problem-solving/scale-game.md +300 -0
  165. package/.agent/skills/problem-solving/simplification-cascades.md +321 -0
  166. package/.agent/skills/problem-solving/when-stuck.md +146 -0
  167. package/.agent/skills/python-patterns/SKILL.md +441 -0
  168. package/.agent/skills/react-patterns/SKILL.md +198 -0
  169. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  170. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  171. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  172. package/.agent/skills/server-management/SKILL.md +161 -0
  173. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  174. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  175. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  176. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  177. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  178. package/.agent/skills/typescript-expert/SKILL.md +429 -0
  179. package/.agent/skills/typescript-expert/references/tsconfig-strict.json +92 -0
  180. package/.agent/skills/typescript-expert/references/typescript-cheatsheet.md +383 -0
  181. package/.agent/skills/typescript-expert/references/utility-types.ts +335 -0
  182. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.py +203 -0
  183. package/.agent/skills/ui-ux-pro-max/SKILL.md +351 -0
  184. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  185. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  186. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  187. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  188. package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  189. package/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  190. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  191. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  192. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  193. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  194. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  195. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  196. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  197. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  198. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  199. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  200. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  201. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  202. package/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
  203. package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  204. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  205. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  206. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  207. package/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
  208. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  209. package/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
  210. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  211. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  212. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  213. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  214. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  215. package/.agent/templates/AGENTS.backend.md +230 -0
  216. package/.agent/templates/AGENTS.md +121 -0
  217. package/.agent/templates/AGENTS.mobile.md +183 -0
  218. package/.agent/templates/AGENTS.web.md +192 -0
  219. package/.agent/workflows/brainstorm.md +113 -0
  220. package/.agent/workflows/context.md +47 -0
  221. package/.agent/workflows/create.md +59 -0
  222. package/.agent/workflows/debug.md +103 -0
  223. package/.agent/workflows/deploy.md +176 -0
  224. package/.agent/workflows/enhance.md +63 -0
  225. package/.agent/workflows/orchestrate.md +237 -0
  226. package/.agent/workflows/plan.md +89 -0
  227. package/.agent/workflows/preview.md +80 -0
  228. package/.agent/workflows/quality.md +89 -0
  229. package/.agent/workflows/status.md +86 -0
  230. package/.agent/workflows/test.md +144 -0
  231. package/.agent/workflows/ui-ux-pro-max.md +250 -0
  232. package/LICENSE +21 -0
  233. package/README.md +317 -0
  234. package/bin/cli.js +1267 -0
  235. package/index.js +1 -0
  236. package/package.json +50 -0
@@ -0,0 +1,172 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Schema Validator - Database schema validation
4
+ Validates Prisma schemas and checks for common issues.
5
+
6
+ Usage:
7
+ python schema_validator.py <project_path>
8
+
9
+ Checks:
10
+ - Prisma schema syntax
11
+ - Missing relations
12
+ - Index recommendations
13
+ - Naming conventions
14
+ """
15
+
16
+ import sys
17
+ import json
18
+ import re
19
+ from pathlib import Path
20
+ from datetime import datetime
21
+
22
+ # Fix Windows console encoding
23
+ try:
24
+ sys.stdout.reconfigure(encoding='utf-8', errors='replace')
25
+ except:
26
+ pass
27
+
28
+
29
+ def find_schema_files(project_path: Path) -> list:
30
+ """Find database schema files."""
31
+ schemas = []
32
+
33
+ # Prisma schema
34
+ prisma_files = list(project_path.glob('**/prisma/schema.prisma'))
35
+ schemas.extend([('prisma', f) for f in prisma_files])
36
+
37
+ # Drizzle schema files
38
+ drizzle_files = list(project_path.glob('**/drizzle/*.ts'))
39
+ drizzle_files.extend(project_path.glob('**/schema/*.ts'))
40
+ for f in drizzle_files:
41
+ if 'schema' in f.name.lower() or 'table' in f.name.lower():
42
+ schemas.append(('drizzle', f))
43
+
44
+ return schemas[:10] # Limit
45
+
46
+
47
+ def validate_prisma_schema(file_path: Path) -> list:
48
+ """Validate Prisma schema file."""
49
+ issues = []
50
+
51
+ try:
52
+ content = file_path.read_text(encoding='utf-8', errors='ignore')
53
+
54
+ # Find all models
55
+ models = re.findall(r'model\s+(\w+)\s*{([^}]+)}', content, re.DOTALL)
56
+
57
+ for model_name, model_body in models:
58
+ # Check naming convention (PascalCase)
59
+ if not model_name[0].isupper():
60
+ issues.append(f"Model '{model_name}' should be PascalCase")
61
+
62
+ # Check for id field
63
+ if '@id' not in model_body and 'id' not in model_body.lower():
64
+ issues.append(f"Model '{model_name}' might be missing @id field")
65
+
66
+ # Check for createdAt/updatedAt
67
+ if 'createdAt' not in model_body and 'created_at' not in model_body:
68
+ issues.append(f"Model '{model_name}' missing createdAt field (recommended)")
69
+
70
+ # Check for @relation without fields
71
+ relations = re.findall(r'@relation\([^)]*\)', model_body)
72
+ for rel in relations:
73
+ if 'fields:' not in rel and 'references:' not in rel:
74
+ pass # Implicit relation, ok
75
+
76
+ # Check for @@index suggestions
77
+ foreign_keys = re.findall(r'(\w+Id)\s+\w+', model_body)
78
+ for fk in foreign_keys:
79
+ if f'@@index([{fk}])' not in content and f'@@index(["{fk}"])' not in content:
80
+ issues.append(f"Consider adding @@index([{fk}]) for better query performance in {model_name}")
81
+
82
+ # Check for enum definitions
83
+ enums = re.findall(r'enum\s+(\w+)\s*{', content)
84
+ for enum_name in enums:
85
+ if not enum_name[0].isupper():
86
+ issues.append(f"Enum '{enum_name}' should be PascalCase")
87
+
88
+ except Exception as e:
89
+ issues.append(f"Error reading schema: {str(e)[:50]}")
90
+
91
+ return issues
92
+
93
+
94
+ def main():
95
+ project_path = Path(sys.argv[1] if len(sys.argv) > 1 else ".").resolve()
96
+
97
+ print(f"\n{'='*60}")
98
+ print(f"[SCHEMA VALIDATOR] Database Schema Validation")
99
+ print(f"{'='*60}")
100
+ print(f"Project: {project_path}")
101
+ print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
102
+ print("-"*60)
103
+
104
+ # Find schema files
105
+ schemas = find_schema_files(project_path)
106
+ print(f"Found {len(schemas)} schema files")
107
+
108
+ if not schemas:
109
+ output = {
110
+ "script": "schema_validator",
111
+ "project": str(project_path),
112
+ "schemas_checked": 0,
113
+ "issues_found": 0,
114
+ "passed": True,
115
+ "message": "No schema files found"
116
+ }
117
+ print(json.dumps(output, indent=2))
118
+ sys.exit(0)
119
+
120
+ # Validate each schema
121
+ all_issues = []
122
+
123
+ for schema_type, file_path in schemas:
124
+ print(f"\nValidating: {file_path.name} ({schema_type})")
125
+
126
+ if schema_type == 'prisma':
127
+ issues = validate_prisma_schema(file_path)
128
+ else:
129
+ issues = [] # Drizzle validation could be added
130
+
131
+ if issues:
132
+ all_issues.append({
133
+ "file": str(file_path.name),
134
+ "type": schema_type,
135
+ "issues": issues
136
+ })
137
+
138
+ # Summary
139
+ print("\n" + "="*60)
140
+ print("SCHEMA ISSUES")
141
+ print("="*60)
142
+
143
+ if all_issues:
144
+ for item in all_issues:
145
+ print(f"\n{item['file']} ({item['type']}):")
146
+ for issue in item["issues"][:5]: # Limit per file
147
+ print(f" - {issue}")
148
+ if len(item["issues"]) > 5:
149
+ print(f" ... and {len(item['issues']) - 5} more issues")
150
+ else:
151
+ print("No schema issues found!")
152
+
153
+ total_issues = sum(len(item["issues"]) for item in all_issues)
154
+ # Schema issues are warnings, not failures
155
+ passed = True
156
+
157
+ output = {
158
+ "script": "schema_validator",
159
+ "project": str(project_path),
160
+ "schemas_checked": len(schemas),
161
+ "issues_found": total_issues,
162
+ "passed": passed,
163
+ "issues": all_issues
164
+ }
165
+
166
+ print("\n" + json.dumps(output, indent=2))
167
+
168
+ sys.exit(0)
169
+
170
+
171
+ if __name__ == "__main__":
172
+ main()
@@ -0,0 +1,241 @@
1
+ ---
2
+ name: deployment-procedures
3
+ description: Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.
4
+ allowed-tools: Read, Glob, Grep, Bash
5
+ ---
6
+
7
+ # Deployment Procedures
8
+
9
+ > Deployment principles and decision-making for safe production releases.
10
+ > **Learn to THINK, not memorize scripts.**
11
+
12
+ ---
13
+
14
+ ## ⚠️ How to Use This Skill
15
+
16
+ This skill teaches **deployment principles**, not bash scripts to copy.
17
+
18
+ - Every deployment is unique
19
+ - Understand the WHY behind each step
20
+ - Adapt procedures to your platform
21
+
22
+ ---
23
+
24
+ ## 1. Platform Selection
25
+
26
+ ### Decision Tree
27
+
28
+ ```
29
+ What are you deploying?
30
+
31
+ ├── Static site / JAMstack
32
+ │ └── Vercel, Netlify, Cloudflare Pages
33
+
34
+ ├── Simple web app
35
+ │ ├── Managed → Railway, Render, Fly.io
36
+ │ └── Control → VPS + PM2/Docker
37
+
38
+ ├── Microservices
39
+ │ └── Container orchestration
40
+
41
+ └── Serverless
42
+ └── Edge functions, Lambda
43
+ ```
44
+
45
+ ### Each Platform Has Different Procedures
46
+
47
+ | Platform | Deployment Method |
48
+ |----------|------------------|
49
+ | **Vercel/Netlify** | Git push, auto-deploy |
50
+ | **Railway/Render** | Git push or CLI |
51
+ | **VPS + PM2** | SSH + manual steps |
52
+ | **Docker** | Image push + orchestration |
53
+ | **Kubernetes** | kubectl apply |
54
+
55
+ ---
56
+
57
+ ## 2. Pre-Deployment Principles
58
+
59
+ ### The 4 Verification Categories
60
+
61
+ | Category | What to Check |
62
+ |----------|--------------|
63
+ | **Code Quality** | Tests passing, linting clean, reviewed |
64
+ | **Build** | Production build works, no warnings |
65
+ | **Environment** | Env vars set, secrets current |
66
+ | **Safety** | Backup done, rollback plan ready |
67
+
68
+ ### Pre-Deployment Checklist
69
+
70
+ - [ ] All tests passing
71
+ - [ ] Code reviewed and approved
72
+ - [ ] Production build successful
73
+ - [ ] Environment variables verified
74
+ - [ ] Database migrations ready (if any)
75
+ - [ ] Rollback plan documented
76
+ - [ ] Team notified
77
+ - [ ] Monitoring ready
78
+
79
+ ---
80
+
81
+ ## 3. Deployment Workflow Principles
82
+
83
+ ### The 5-Phase Process
84
+
85
+ ```
86
+ 1. PREPARE
87
+ └── Verify code, build, env vars
88
+
89
+ 2. BACKUP
90
+ └── Save current state before changing
91
+
92
+ 3. DEPLOY
93
+ └── Execute with monitoring open
94
+
95
+ 4. VERIFY
96
+ └── Health check, logs, key flows
97
+
98
+ 5. CONFIRM or ROLLBACK
99
+ └── All good? Confirm. Issues? Rollback.
100
+ ```
101
+
102
+ ### Phase Principles
103
+
104
+ | Phase | Principle |
105
+ |-------|-----------|
106
+ | **Prepare** | Never deploy untested code |
107
+ | **Backup** | Can't rollback without backup |
108
+ | **Deploy** | Watch it happen, don't walk away |
109
+ | **Verify** | Trust but verify |
110
+ | **Confirm** | Have rollback trigger ready |
111
+
112
+ ---
113
+
114
+ ## 4. Post-Deployment Verification
115
+
116
+ ### What to Verify
117
+
118
+ | Check | Why |
119
+ |-------|-----|
120
+ | **Health endpoint** | Service is running |
121
+ | **Error logs** | No new errors |
122
+ | **Key user flows** | Critical features work |
123
+ | **Performance** | Response times acceptable |
124
+
125
+ ### Verification Window
126
+
127
+ - **First 5 minutes**: Active monitoring
128
+ - **15 minutes**: Confirm stable
129
+ - **1 hour**: Final verification
130
+ - **Next day**: Review metrics
131
+
132
+ ---
133
+
134
+ ## 5. Rollback Principles
135
+
136
+ ### When to Rollback
137
+
138
+ | Symptom | Action |
139
+ |---------|--------|
140
+ | Service down | Rollback immediately |
141
+ | Critical errors | Rollback |
142
+ | Performance >50% degraded | Consider rollback |
143
+ | Minor issues | Fix forward if quick |
144
+
145
+ ### Rollback Strategy by Platform
146
+
147
+ | Platform | Rollback Method |
148
+ |----------|----------------|
149
+ | **Vercel/Netlify** | Redeploy previous commit |
150
+ | **Railway/Render** | Rollback in dashboard |
151
+ | **VPS + PM2** | Restore backup, restart |
152
+ | **Docker** | Previous image tag |
153
+ | **K8s** | kubectl rollout undo |
154
+
155
+ ### Rollback Principles
156
+
157
+ 1. **Speed over perfection**: Rollback first, debug later
158
+ 2. **Don't compound errors**: One rollback, not multiple changes
159
+ 3. **Communicate**: Tell team what happened
160
+ 4. **Post-mortem**: Understand why after stable
161
+
162
+ ---
163
+
164
+ ## 6. Zero-Downtime Deployment
165
+
166
+ ### Strategies
167
+
168
+ | Strategy | How It Works |
169
+ |----------|--------------|
170
+ | **Rolling** | Replace instances one by one |
171
+ | **Blue-Green** | Switch traffic between environments |
172
+ | **Canary** | Gradual traffic shift |
173
+
174
+ ### Selection Principles
175
+
176
+ | Scenario | Strategy |
177
+ |----------|----------|
178
+ | Standard release | Rolling |
179
+ | High-risk change | Blue-green (easy rollback) |
180
+ | Need validation | Canary (test with real traffic) |
181
+
182
+ ---
183
+
184
+ ## 7. Emergency Procedures
185
+
186
+ ### Service Down Priority
187
+
188
+ 1. **Assess**: What's the symptom?
189
+ 2. **Quick fix**: Restart if unclear
190
+ 3. **Rollback**: If restart doesn't help
191
+ 4. **Investigate**: After stable
192
+
193
+ ### Investigation Order
194
+
195
+ | Check | Common Issues |
196
+ |-------|--------------|
197
+ | **Logs** | Errors, exceptions |
198
+ | **Resources** | Disk full, memory |
199
+ | **Network** | DNS, firewall |
200
+ | **Dependencies** | Database, APIs |
201
+
202
+ ---
203
+
204
+ ## 8. Anti-Patterns
205
+
206
+ | ❌ Don't | ✅ Do |
207
+ |----------|-------|
208
+ | Deploy on Friday | Deploy early in week |
209
+ | Rush deployment | Follow the process |
210
+ | Skip staging | Always test first |
211
+ | Deploy without backup | Backup before deploy |
212
+ | Walk away after deploy | Monitor for 15+ min |
213
+ | Multiple changes at once | One change at a time |
214
+
215
+ ---
216
+
217
+ ## 9. Decision Checklist
218
+
219
+ Before deploying:
220
+
221
+ - [ ] **Platform-appropriate procedure?**
222
+ - [ ] **Backup strategy ready?**
223
+ - [ ] **Rollback plan documented?**
224
+ - [ ] **Monitoring configured?**
225
+ - [ ] **Team notified?**
226
+ - [ ] **Time to monitor after?**
227
+
228
+ ---
229
+
230
+ ## 10. Best Practices
231
+
232
+ 1. **Small, frequent deploys** over big releases
233
+ 2. **Feature flags** for risky changes
234
+ 3. **Automate** repetitive steps
235
+ 4. **Document** every deployment
236
+ 5. **Review** what went wrong after issues
237
+ 6. **Test rollback** before you need it
238
+
239
+ ---
240
+
241
+ > **Remember:** Every deployment is a risk. Minimize risk through preparation, not speed.
@@ -0,0 +1,177 @@
1
+ # Agent Kit Skills
2
+
3
+ > **Hướng dẫn tạo và sử dụng Skills trong Agent Kit**
4
+
5
+ ---
6
+
7
+ ## 📋 Giới thiệu
8
+
9
+ Mặc dù các mô hình cơ bản của Agent Kit (như Gemini) là những mô hình đa năng mạnh mẽ, nhưng chúng không biết ngữ cảnh dự án cụ thể hoặc các tiêu chuẩn của nhóm bạn. Việc tải từng quy tắc hoặc công cụ vào cửa sổ ngữ cảnh của tác nhân sẽ dẫn đến tình trạng "phình to công cụ", chi phí cao hơn, độ trễ và sự nhầm lẫn.
10
+
11
+ **Agent Kit Skills** giải quyết vấn đề này thông qua tính năng **Progressive Disclosure**. Kỹ năng là một gói kiến thức chuyên biệt, ở trạng thái không hoạt động cho đến khi cần. Thông tin này chỉ được tải vào ngữ cảnh của tác nhân khi yêu cầu cụ thể của bạn khớp với nội dung mô tả của kỹ năng.
12
+
13
+ ---
14
+
15
+ ## 📁 Cấu trúc và Phạm vi
16
+
17
+ Kỹ năng là các gói dựa trên thư mục. Bạn có thể xác định các phạm vi này tuỳ thuộc vào nhu cầu:
18
+
19
+ | Phạm vi | Đường dẫn | Mô tả |
20
+ |---------|-----------|-------|
21
+ | **Workspace** | `<workspace-root>/.agent/skills/` | Chỉ có trong một dự án cụ thể |
22
+
23
+ ### Cấu trúc thư mục kỹ năng
24
+
25
+ ```
26
+ my-skill/
27
+ ├── SKILL.md # (Required) Metadata & instructions
28
+ ├── scripts/ # (Optional) Python or Bash scripts
29
+ ├── references/ # (Optional) Text, documentation, templates
30
+ └── assets/ # (Optional) Images or logos
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 🔍 Ví dụ 1: Code Review Skill
36
+
37
+ Đây là một kỹ năng chỉ có hướng dẫn (instruction-only), chỉ cần tạo file `SKILL.md`.
38
+
39
+ ### Bước 1: Tạo thư mục
40
+
41
+ ```bash
42
+ mkdir -p ~/.agent/agent-kit/skills/code-review
43
+ ```
44
+
45
+ ### Bước 2: Tạo SKILL.md
46
+
47
+ ```markdown
48
+ ---
49
+ name: code-review
50
+ description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
51
+ ---
52
+
53
+ # Code Review Skill
54
+
55
+ When reviewing code, follow these steps:
56
+
57
+ ## Review checklist
58
+
59
+ 1. **Correctness**: Does the code do what it's supposed to?
60
+ 2. **Edge cases**: Are error conditions handled?
61
+ 3. **Style**: Does it follow project conventions?
62
+ 4. **Performance**: Are there obvious inefficiencies?
63
+
64
+ ## How to provide feedback
65
+
66
+ - Be specific about what needs to change
67
+ - Explain why, not just what
68
+ - Suggest alternatives when possible
69
+ ```
70
+
71
+ > **Lưu ý**: File `SKILL.md` chứa siêu dữ liệu (name, description) ở trên cùng, sau đó là các chỉ dẫn. Agent sẽ chỉ đọc siêu dữ liệu và chỉ tải hướng dẫn khi cần.
72
+
73
+ ### Dùng thử
74
+
75
+ Tạo file `demo_bad_code.py`:
76
+
77
+ ```python
78
+ import time
79
+
80
+ def get_user_data(users, id):
81
+ # Find user by ID
82
+ for u in users:
83
+ if u['id'] == id:
84
+ return u
85
+ return None
86
+
87
+ def process_payments(items):
88
+ total = 0
89
+ for i in items:
90
+ # Calculate tax
91
+ tax = i['price'] * 0.1
92
+ total = total + i['price'] + tax
93
+ time.sleep(0.1) # Simulate slow network call
94
+ return total
95
+
96
+ def run_batch():
97
+ users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
98
+ items = [{'price': 10}, {'price': 20}, {'price': 100}]
99
+
100
+ u = get_user_data(users, 3)
101
+ print("User found: " + u['name']) # Will crash if None
102
+
103
+ print("Total: " + str(process_payments(items)))
104
+
105
+ if __name__ == "__main__":
106
+ run_batch()
107
+ ```
108
+
109
+ **Prompt**: `review the @demo_bad_code.py file`
110
+
111
+ Agent sẽ tự động xác định kỹ năng `code-review`, tải thông tin và thực hiện theo hướng dẫn.
112
+
113
+ ---
114
+
115
+ ## 📄 Ví dụ 2: License Header Skill
116
+
117
+ Kỹ năng này sử dụng file tham chiếu (reference file) trong thư mục `resources/`.
118
+
119
+ ### Bước 1: Tạo thư mục
120
+
121
+ ```bash
122
+ mkdir -p .agent/skills/license-header-adder/resources
123
+ ```
124
+
125
+ ### Bước 2: Tạo file template
126
+
127
+ **`.agent/skills/license-header-adder/resources/HEADER.txt`**:
128
+
129
+ ```
130
+ /*
131
+ * Copyright (c) 2026 YOUR_COMPANY_NAME LLC.
132
+ * All rights reserved.
133
+ * This code is proprietary and confidential.
134
+ */
135
+ ```
136
+
137
+ ### Bước 3: Tạo SKILL.md
138
+
139
+ **`.agent/skills/license-header-adder/SKILL.md`**:
140
+
141
+ ```markdown
142
+ ---
143
+ name: license-header-adder
144
+ description: Adds the standard corporate license header to new source files.
145
+ ---
146
+
147
+ # License Header Adder
148
+
149
+ This skill ensures that all new source files have the correct copyright header.
150
+
151
+ ## Instructions
152
+
153
+ 1. **Read the Template**: Read the content of `resources/HEADER.txt`.
154
+ 2. **Apply to File**: When creating a new file, prepend this exact content.
155
+ 3. **Adapt Syntax**:
156
+ - For C-style languages (Java, TS), keep the `/* */` block.
157
+ - For Python/Shell, convert to `#` comments.
158
+ ```
159
+
160
+ ### Dùng thử
161
+
162
+ **Prompt**: `Create a new Python script named data_processor.py that prints 'Hello World'.`
163
+
164
+ Agent sẽ đọc template, chuyển đổi comments theo kiểu Python và tự động thêm vào đầu file.
165
+
166
+ ---
167
+
168
+ ## 🎯 Kết luận
169
+
170
+ Bằng cách tạo Skills, bạn đã biến mô hình AI đa năng thành một chuyên gia cho dự án của mình:
171
+
172
+ - ✅ Hệ thống hoá các best practices
173
+ - ✅ Tuân theo quy tắc đánh giá code
174
+ - ✅ Tự động thêm license headers
175
+ - ✅ Agent tự động biết cách làm việc với nhóm của bạn
176
+
177
+ Thay vì liên tục nhắc AI "nhớ thêm license" hoặc "sửa format commit", giờ đây Agent sẽ tự động thực hiện!