agent-skill-kit 3.9.135

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 (615) hide show
  1. package/.agent/global.d.ts +80 -0
  2. package/.agent/rules/GEMINI.md +210 -0
  3. package/.agent/rules/autopilot.md +287 -0
  4. package/.agent/rules/code-rules.md +227 -0
  5. package/.agent/scripts/audit_workflows.ts +23 -0
  6. package/.agent/scripts/auto_preview.ts +170 -0
  7. package/.agent/scripts/checklist.ts +180 -0
  8. package/.agent/scripts/compile-agents.ts +237 -0
  9. package/.agent/scripts/fix_skills.ts +49 -0
  10. package/.agent/scripts/session_manager.ts +222 -0
  11. package/.agent/scripts/skill-audit.ts +255 -0
  12. package/.agent/scripts/sync_workflows.ts +54 -0
  13. package/.agent/scripts/utils/colors.ts +58 -0
  14. package/.agent/scripts/utils/process-manager.ts +131 -0
  15. package/.agent/scripts/utils/reporter.ts +192 -0
  16. package/.agent/scripts/utils/runner.ts +128 -0
  17. package/.agent/scripts/verify_all.ts +243 -0
  18. package/.agent/scripts/version-sync.ts +256 -0
  19. package/.agent/skills/SKILL_INDEX.md +129 -0
  20. package/.agent/skills/agent-browser/AGENTS.md +728 -0
  21. package/.agent/skills/agent-browser/SKILL.md +193 -0
  22. package/.agent/skills/agent-browser/rules/_sections.md +15 -0
  23. package/.agent/skills/agent-browser/rules/_template.md +32 -0
  24. package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
  25. package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
  26. package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
  27. package/.agent/skills/ai-artist/AGENTS.md +1082 -0
  28. package/.agent/skills/ai-artist/SKILL.md +186 -0
  29. package/.agent/skills/ai-artist/rules/_sections.md +30 -0
  30. package/.agent/skills/ai-artist/rules/_template.md +32 -0
  31. package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
  32. package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
  33. package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
  34. package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
  35. package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
  36. package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
  37. package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
  38. package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
  39. package/.agent/skills/api-architect/AGENTS.md +1896 -0
  40. package/.agent/skills/api-architect/SKILL.md +173 -0
  41. package/.agent/skills/api-architect/rules/_sections.md +35 -0
  42. package/.agent/skills/api-architect/rules/_template.md +32 -0
  43. package/.agent/skills/api-architect/rules/api-style.md +115 -0
  44. package/.agent/skills/api-architect/rules/auth.md +134 -0
  45. package/.agent/skills/api-architect/rules/documentation.md +131 -0
  46. package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
  47. package/.agent/skills/api-architect/rules/graphql.md +154 -0
  48. package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
  49. package/.agent/skills/api-architect/rules/response.md +138 -0
  50. package/.agent/skills/api-architect/rules/rest.md +113 -0
  51. package/.agent/skills/api-architect/rules/security-testing.md +146 -0
  52. package/.agent/skills/api-architect/rules/trpc.md +129 -0
  53. package/.agent/skills/api-architect/rules/versioning.md +100 -0
  54. package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
  55. package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
  56. package/.agent/skills/auth-patterns/SKILL.md +163 -0
  57. package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
  58. package/.agent/skills/auth-patterns/rules/_template.md +32 -0
  59. package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
  60. package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
  61. package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
  62. package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
  63. package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
  64. package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
  65. package/.agent/skills/auth-patterns/rules/session.md +183 -0
  66. package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
  67. package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
  68. package/.agent/skills/chrome-devtools/SKILL.md +160 -0
  69. package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
  70. package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
  71. package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
  72. package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
  73. package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
  74. package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
  75. package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
  76. package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
  77. package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
  78. package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
  79. package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
  80. package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
  81. package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
  82. package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
  83. package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
  84. package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
  85. package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
  86. package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
  87. package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
  88. package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
  89. package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
  90. package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
  91. package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
  92. package/.agent/skills/code-constitution/AGENTS.md +597 -0
  93. package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
  94. package/.agent/skills/code-constitution/SKILL.md +191 -0
  95. package/.agent/skills/code-constitution/VERSION +3 -0
  96. package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
  97. package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
  98. package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
  99. package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
  100. package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
  101. package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
  102. package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
  103. package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
  104. package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
  105. package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
  106. package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
  107. package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
  108. package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
  109. package/.agent/skills/code-constitution/rules/_sections.md +15 -0
  110. package/.agent/skills/code-constitution/rules/_template.md +32 -0
  111. package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
  112. package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
  113. package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
  114. package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
  115. package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
  116. package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
  117. package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
  118. package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
  119. package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
  120. package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
  121. package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
  122. package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
  123. package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
  124. package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
  125. package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
  126. package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
  127. package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
  128. package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
  129. package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
  130. package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
  131. package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
  132. package/.agent/skills/code-craft/AGENTS.md +803 -0
  133. package/.agent/skills/code-craft/SKILL.md +170 -0
  134. package/.agent/skills/code-craft/rules/_sections.md +20 -0
  135. package/.agent/skills/code-craft/rules/_template.md +32 -0
  136. package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
  137. package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
  138. package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
  139. package/.agent/skills/code-review/AGENTS.md +1664 -0
  140. package/.agent/skills/code-review/SKILL.md +152 -0
  141. package/.agent/skills/code-review/rules/_sections.md +15 -0
  142. package/.agent/skills/code-review/rules/_template.md +32 -0
  143. package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
  144. package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
  145. package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
  146. package/.agent/skills/context-engineering/AGENTS.md +499 -0
  147. package/.agent/skills/context-engineering/SKILL.md +147 -0
  148. package/.agent/skills/context-engineering/rules/_sections.md +15 -0
  149. package/.agent/skills/context-engineering/rules/_template.md +32 -0
  150. package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
  151. package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
  152. package/.agent/skills/copywriting/AGENTS.md +501 -0
  153. package/.agent/skills/copywriting/SKILL.md +188 -0
  154. package/.agent/skills/copywriting/rules/_sections.md +15 -0
  155. package/.agent/skills/copywriting/rules/_template.md +32 -0
  156. package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
  157. package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
  158. package/.agent/skills/data-modeler/AGENTS.md +814 -0
  159. package/.agent/skills/data-modeler/SKILL.md +195 -0
  160. package/.agent/skills/data-modeler/rules/_sections.md +15 -0
  161. package/.agent/skills/data-modeler/rules/_template.md +32 -0
  162. package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
  163. package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
  164. package/.agent/skills/data-modeler/rules/indexing.md +166 -0
  165. package/.agent/skills/data-modeler/rules/migrations.md +176 -0
  166. package/.agent/skills/data-modeler/rules/optimization.md +161 -0
  167. package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
  168. package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
  169. package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
  170. package/.agent/skills/debug-pro/AGENTS.md +798 -0
  171. package/.agent/skills/debug-pro/SKILL.md +193 -0
  172. package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
  173. package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
  174. package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
  175. package/.agent/skills/debug-pro/rules/_sections.md +15 -0
  176. package/.agent/skills/debug-pro/rules/_template.md +32 -0
  177. package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
  178. package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
  179. package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
  180. package/.agent/skills/design-system/AGENTS.md +4216 -0
  181. package/.agent/skills/design-system/SKILL.md +186 -0
  182. package/.agent/skills/design-system/rules/_sections.md +65 -0
  183. package/.agent/skills/design-system/rules/_template.md +32 -0
  184. package/.agent/skills/design-system/rules/animation-guide.md +355 -0
  185. package/.agent/skills/design-system/rules/color-system.md +335 -0
  186. package/.agent/skills/design-system/rules/color-systems.md +133 -0
  187. package/.agent/skills/design-system/rules/decision-trees.md +442 -0
  188. package/.agent/skills/design-system/rules/design-extraction.md +152 -0
  189. package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
  190. package/.agent/skills/design-system/rules/motion-design.md +161 -0
  191. package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
  192. package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
  193. package/.agent/skills/design-system/rules/typography-system.md +369 -0
  194. package/.agent/skills/design-system/rules/typography.md +124 -0
  195. package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
  196. package/.agent/skills/design-system/rules/visual-effects.md +407 -0
  197. package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
  198. package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
  199. package/.agent/skills/doc-templates/AGENTS.md +820 -0
  200. package/.agent/skills/doc-templates/SKILL.md +260 -0
  201. package/.agent/skills/doc-templates/rules/_sections.md +20 -0
  202. package/.agent/skills/doc-templates/rules/_template.md +32 -0
  203. package/.agent/skills/doc-templates/rules/doc.md +355 -0
  204. package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
  205. package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
  206. package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
  207. package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
  208. package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
  209. package/.agent/skills/e2e-automation/AGENTS.md +882 -0
  210. package/.agent/skills/e2e-automation/SKILL.md +175 -0
  211. package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
  212. package/.agent/skills/e2e-automation/rules/_template.md +32 -0
  213. package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
  214. package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
  215. package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
  216. package/.agent/skills/execution-reporter/AGENTS.md +419 -0
  217. package/.agent/skills/execution-reporter/SKILL.md +152 -0
  218. package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
  219. package/.agent/skills/execution-reporter/rules/_template.md +32 -0
  220. package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
  221. package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
  222. package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
  223. package/.agent/skills/game-development/AGENTS.md +783 -0
  224. package/.agent/skills/game-development/SKILL.md +178 -0
  225. package/.agent/skills/game-development/game-art/SKILL.md +207 -0
  226. package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
  227. package/.agent/skills/game-development/game-design/SKILL.md +151 -0
  228. package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
  229. package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
  230. package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
  231. package/.agent/skills/game-development/rules/_sections.md +15 -0
  232. package/.agent/skills/game-development/rules/_template.md +32 -0
  233. package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
  234. package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
  235. package/.agent/skills/game-development/web-games/SKILL.md +173 -0
  236. package/.agent/skills/git-workflow/AGENTS.md +554 -0
  237. package/.agent/skills/git-workflow/SKILL.md +181 -0
  238. package/.agent/skills/git-workflow/rules/_sections.md +15 -0
  239. package/.agent/skills/git-workflow/rules/_template.md +32 -0
  240. package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
  241. package/.agent/skills/gitops/AGENTS.md +921 -0
  242. package/.agent/skills/gitops/SKILL.md +163 -0
  243. package/.agent/skills/gitops/rules/_sections.md +25 -0
  244. package/.agent/skills/gitops/rules/_template.md +32 -0
  245. package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
  246. package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
  247. package/.agent/skills/gitops/rules/sync-policies.md +145 -0
  248. package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
  249. package/.agent/skills/google-adk-python/SKILL.md +168 -0
  250. package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
  251. package/.agent/skills/google-adk-python/rules/_template.md +32 -0
  252. package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
  253. package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
  254. package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
  255. package/.agent/skills/google-adk-python/rules/tools.md +131 -0
  256. package/.agent/skills/idea-storm/AGENTS.md +995 -0
  257. package/.agent/skills/idea-storm/SKILL.md +160 -0
  258. package/.agent/skills/idea-storm/rules/_sections.md +25 -0
  259. package/.agent/skills/idea-storm/rules/_template.md +32 -0
  260. package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
  261. package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
  262. package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
  263. package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
  264. package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
  265. package/.agent/skills/knowledge-graph/SKILL.md +157 -0
  266. package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
  267. package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
  268. package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
  269. package/.agent/skills/knowledge-linter/SKILL.md +217 -0
  270. package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
  271. package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
  272. package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
  273. package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
  274. package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
  275. package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
  276. package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
  277. package/.agent/skills/mcp-builder/SKILL.md +166 -0
  278. package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
  279. package/.agent/skills/mcp-builder/rules/_template.md +32 -0
  280. package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
  281. package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
  282. package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
  283. package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
  284. package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
  285. package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
  286. package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
  287. package/.agent/skills/mcp-management/AGENTS.md +837 -0
  288. package/.agent/skills/mcp-management/SKILL.md +164 -0
  289. package/.agent/skills/mcp-management/rules/_sections.md +25 -0
  290. package/.agent/skills/mcp-management/rules/_template.md +32 -0
  291. package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
  292. package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
  293. package/.agent/skills/mcp-management/rules/protocol.md +159 -0
  294. package/.agent/skills/media-processing/AGENTS.md +479 -0
  295. package/.agent/skills/media-processing/SKILL.md +176 -0
  296. package/.agent/skills/media-processing/rules/_sections.md +15 -0
  297. package/.agent/skills/media-processing/rules/_template.md +32 -0
  298. package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
  299. package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
  300. package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
  301. package/.agent/skills/mobile-design/AGENTS.md +6531 -0
  302. package/.agent/skills/mobile-design/SKILL.md +165 -0
  303. package/.agent/skills/mobile-design/rules/_sections.md +45 -0
  304. package/.agent/skills/mobile-design/rules/_template.md +32 -0
  305. package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
  306. package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
  307. package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
  308. package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
  309. package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
  310. package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
  311. package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
  312. package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
  313. package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
  314. package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
  315. package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
  316. package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
  317. package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
  318. package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
  319. package/.agent/skills/mobile-developer/AGENTS.md +904 -0
  320. package/.agent/skills/mobile-developer/SKILL.md +194 -0
  321. package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
  322. package/.agent/skills/mobile-developer/rules/_template.md +32 -0
  323. package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
  324. package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
  325. package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
  326. package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
  327. package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
  328. package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
  329. package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
  330. package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
  331. package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
  332. package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
  333. package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
  334. package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
  335. package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
  336. package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
  337. package/.agent/skills/mobile-developer/rules/native.md +572 -0
  338. package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
  339. package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
  340. package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
  341. package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
  342. package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
  343. package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
  344. package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
  345. package/.agent/skills/nextjs-pro/SKILL.md +171 -0
  346. package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
  347. package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
  348. package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
  349. package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
  350. package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
  351. package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
  352. package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
  353. package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
  354. package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
  355. package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
  356. package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
  357. package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
  358. package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
  359. package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
  360. package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
  361. package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
  362. package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
  363. package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
  364. package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
  365. package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
  366. package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
  367. package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
  368. package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
  369. package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
  370. package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
  371. package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
  372. package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
  373. package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
  374. package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
  375. package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
  376. package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
  377. package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
  378. package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
  379. package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
  380. package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
  381. package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
  382. package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
  383. package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
  384. package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
  385. package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
  386. package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
  387. package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
  388. package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
  389. package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
  390. package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
  391. package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
  392. package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
  393. package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
  394. package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
  395. package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
  396. package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
  397. package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
  398. package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
  399. package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
  400. package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
  401. package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
  402. package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
  403. package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
  404. package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
  405. package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
  406. package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
  407. package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
  408. package/.agent/skills/nodejs-pro/SKILL.md +172 -0
  409. package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
  410. package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
  411. package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
  412. package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
  413. package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
  414. package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
  415. package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
  416. package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
  417. package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
  418. package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
  419. package/.agent/skills/observability/AGENTS.md +607 -0
  420. package/.agent/skills/observability/SKILL.md +178 -0
  421. package/.agent/skills/observability/rules/_sections.md +15 -0
  422. package/.agent/skills/observability/rules/_template.md +32 -0
  423. package/.agent/skills/observability/rules/engineering-spec.md +440 -0
  424. package/.agent/skills/offensive-sec/AGENTS.md +849 -0
  425. package/.agent/skills/offensive-sec/SKILL.md +191 -0
  426. package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
  427. package/.agent/skills/offensive-sec/rules/_template.md +32 -0
  428. package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
  429. package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
  430. package/.agent/skills/perf-optimizer/SKILL.md +189 -0
  431. package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
  432. package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
  433. package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
  434. package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
  435. package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
  436. package/.agent/skills/problem-checker/AGENTS.md +519 -0
  437. package/.agent/skills/problem-checker/SKILL.md +189 -0
  438. package/.agent/skills/problem-checker/rules/_sections.md +15 -0
  439. package/.agent/skills/problem-checker/rules/_template.md +32 -0
  440. package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
  441. package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
  442. package/.agent/skills/project-planner/AGENTS.md +2698 -0
  443. package/.agent/skills/project-planner/SKILL.md +166 -0
  444. package/.agent/skills/project-planner/rules/_sections.md +15 -0
  445. package/.agent/skills/project-planner/rules/_template.md +32 -0
  446. package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
  447. package/.agent/skills/python-pro/AGENTS.md +1871 -0
  448. package/.agent/skills/python-pro/SKILL.md +182 -0
  449. package/.agent/skills/python-pro/rules/_sections.md +50 -0
  450. package/.agent/skills/python-pro/rules/_template.md +32 -0
  451. package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
  452. package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
  453. package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
  454. package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
  455. package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
  456. package/.agent/skills/python-pro/rules/project-structure.md +181 -0
  457. package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
  458. package/.agent/skills/python-pro/rules/type-hints.md +159 -0
  459. package/.agent/skills/react-pro/AGENTS.md +963 -0
  460. package/.agent/skills/react-pro/SKILL.md +232 -0
  461. package/.agent/skills/react-pro/rules/_sections.md +40 -0
  462. package/.agent/skills/react-pro/rules/_template.md +32 -0
  463. package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
  464. package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
  465. package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
  466. package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
  467. package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
  468. package/.agent/skills/react-pro/rules/file-organization.md +158 -0
  469. package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
  470. package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
  471. package/.agent/skills/react-pro/rules/patterns.md +24 -0
  472. package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
  473. package/.agent/skills/react-pro/rules/performance.md +137 -0
  474. package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
  475. package/.agent/skills/react-pro/rules/state-management.md +90 -0
  476. package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
  477. package/.agent/skills/registry.json +1251 -0
  478. package/.agent/skills/security-scanner/AGENTS.md +851 -0
  479. package/.agent/skills/security-scanner/SKILL.md +182 -0
  480. package/.agent/skills/security-scanner/rules/_sections.md +15 -0
  481. package/.agent/skills/security-scanner/rules/_template.md +32 -0
  482. package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
  483. package/.agent/skills/security-scanner/rules/checklists.md +186 -0
  484. package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
  485. package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
  486. package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
  487. package/.agent/skills/seo-optimizer/SKILL.md +180 -0
  488. package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
  489. package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
  490. package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
  491. package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
  492. package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
  493. package/.agent/skills/server-ops/AGENTS.md +643 -0
  494. package/.agent/skills/server-ops/SKILL.md +194 -0
  495. package/.agent/skills/server-ops/rules/_sections.md +15 -0
  496. package/.agent/skills/server-ops/rules/_template.md +32 -0
  497. package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
  498. package/.agent/skills/shell-script/AGENTS.md +499 -0
  499. package/.agent/skills/shell-script/SKILL.md +205 -0
  500. package/.agent/skills/shell-script/rules/_sections.md +15 -0
  501. package/.agent/skills/shell-script/rules/_template.md +32 -0
  502. package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
  503. package/.agent/skills/skill-generator/SKILL.md +147 -0
  504. package/.agent/skills/smart-router/SKILL.md +95 -0
  505. package/.agent/skills/studio/AGENTS.md +636 -0
  506. package/.agent/skills/studio/SKILL.md +178 -0
  507. package/.agent/skills/studio/data/charts.csv +26 -0
  508. package/.agent/skills/studio/data/colors.csv +97 -0
  509. package/.agent/skills/studio/data/icons.csv +101 -0
  510. package/.agent/skills/studio/data/landing.csv +31 -0
  511. package/.agent/skills/studio/data/products.csv +97 -0
  512. package/.agent/skills/studio/data/prompts.csv +24 -0
  513. package/.agent/skills/studio/data/react-performance.csv +45 -0
  514. package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
  515. package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
  516. package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
  517. package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
  518. package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
  519. package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
  520. package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
  521. package/.agent/skills/studio/data/stacks/react.csv +54 -0
  522. package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
  523. package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
  524. package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
  525. package/.agent/skills/studio/data/stacks/vue.csv +50 -0
  526. package/.agent/skills/studio/data/styles.csv +59 -0
  527. package/.agent/skills/studio/data/typography.csv +58 -0
  528. package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
  529. package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
  530. package/.agent/skills/studio/data/web-interface.csv +31 -0
  531. package/.agent/skills/studio/rules/_sections.md +15 -0
  532. package/.agent/skills/studio/rules/_template.md +32 -0
  533. package/.agent/skills/studio/rules/engineering-spec.md +455 -0
  534. package/.agent/skills/studio/scripts/core.ts +345 -0
  535. package/.agent/skills/studio/scripts/design_system.ts +953 -0
  536. package/.agent/skills/studio/scripts/search.ts +197 -0
  537. package/.agent/skills/studio/scripts/types.ts +147 -0
  538. package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
  539. package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
  540. package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
  541. package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
  542. package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
  543. package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
  544. package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
  545. package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
  546. package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
  547. package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
  548. package/.agent/skills/system-design/AGENTS.md +597 -0
  549. package/.agent/skills/system-design/SKILL.md +153 -0
  550. package/.agent/skills/system-design/rules/_sections.md +15 -0
  551. package/.agent/skills/system-design/rules/_template.md +32 -0
  552. package/.agent/skills/system-design/rules/context-discovery.md +117 -0
  553. package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
  554. package/.agent/skills/system-design/rules/examples.md +180 -0
  555. package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
  556. package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
  557. package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
  558. package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
  559. package/.agent/skills/tailwind-kit/SKILL.md +171 -0
  560. package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
  561. package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
  562. package/.agent/skills/tailwind-kit/rules/components.md +232 -0
  563. package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
  564. package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
  565. package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
  566. package/.agent/skills/test-architect/AGENTS.md +851 -0
  567. package/.agent/skills/test-architect/SKILL.md +176 -0
  568. package/.agent/skills/test-architect/rules/_sections.md +15 -0
  569. package/.agent/skills/test-architect/rules/_template.md +32 -0
  570. package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
  571. package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
  572. package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
  573. package/.agent/skills/typescript-expert/SKILL.md +200 -0
  574. package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
  575. package/.agent/skills/typescript-expert/rules/_template.md +32 -0
  576. package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
  577. package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
  578. package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
  579. package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
  580. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
  581. package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
  582. package/.agent/skills/vercel-deploy/SKILL.md +175 -0
  583. package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
  584. package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
  585. package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
  586. package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
  587. package/.agent/workflows/api.md +377 -0
  588. package/.agent/workflows/autopilot.md +344 -0
  589. package/.agent/workflows/build.md +338 -0
  590. package/.agent/workflows/chronicle.md +279 -0
  591. package/.agent/workflows/cook.md +217 -0
  592. package/.agent/workflows/diagnose.md +302 -0
  593. package/.agent/workflows/fix.md +253 -0
  594. package/.agent/workflows/game.md +329 -0
  595. package/.agent/workflows/inspect.md +276 -0
  596. package/.agent/workflows/knowledge.md +212 -0
  597. package/.agent/workflows/launch.md +345 -0
  598. package/.agent/workflows/mobile.md +354 -0
  599. package/.agent/workflows/monitor.md +239 -0
  600. package/.agent/workflows/optimize.md +269 -0
  601. package/.agent/workflows/plan.md +278 -0
  602. package/.agent/workflows/stage.md +286 -0
  603. package/.agent/workflows/studio.md +276 -0
  604. package/.agent/workflows/think.md +262 -0
  605. package/.agent/workflows/validate.md +289 -0
  606. package/.agentignore +161 -0
  607. package/.gitattributes +16 -0
  608. package/CHANGELOG.md +198 -0
  609. package/LICENSE +40 -0
  610. package/README.md +173 -0
  611. package/docs/SKILL_DESIGN_GUIDE.md +561 -0
  612. package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
  613. package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
  614. package/package.json +33 -0
  615. package/tsconfig.json +28 -0
@@ -0,0 +1,407 @@
1
+ ---
2
+ name: visual-effects
3
+ description: Glassmorphism, neumorphism, shadow hierarchy, gradients, glow, overlays, modern CSS techniques
4
+ title: "Visual Effects Reference"
5
+ impact: LOW
6
+ impactDescription: "Minor optimization or best practice"
7
+ tags: visual, effects
8
+ ---
9
+
10
+ # Visual Effects Reference
11
+
12
+ > Modern CSS effect principles and techniques - learn the concepts, create variations.
13
+ > **No fixed values to copy - understand the patterns.**
14
+
15
+ ---
16
+
17
+ ## 1. Glassmorphism Principles
18
+
19
+ ### What Makes Glassmorphism Work
20
+
21
+ ```
22
+ Key Properties:
23
+ ├── Semi-transparent background (not solid)
24
+ ├── Backdrop blur (frosted glass effect)
25
+ ├── Subtle border (for definition)
26
+ └── Often: light shadow for depth
27
+ ```
28
+
29
+ ### The Pattern (Customize Values)
30
+
31
+ ```css
32
+ .glass {
33
+ /* Transparency: adjust opacity based on content readability */
34
+ background: rgba(R, G, B, OPACITY);
35
+ /* OPACITY: 0.1-0.3 for dark bg, 0.5-0.8 for light bg */
36
+
37
+ /* Blur: higher = more frosted */
38
+ backdrop-filter: blur(AMOUNT);
39
+ /* AMOUNT: 8-12px subtle, 16-24px strong */
40
+
41
+ /* Border: defines edges */
42
+ border: 1px solid rgba(255, 255, 255, OPACITY);
43
+ /* OPACITY: 0.1-0.3 typically */
44
+
45
+ /* Radius: match your design system */
46
+ border-radius: YOUR_RADIUS;
47
+ }
48
+ ```
49
+
50
+ ### When to Use Glassmorphism
51
+ - ✅ Over colorful/image backgrounds
52
+ - ✅ Modals, overlays, cards
53
+ - ✅ Navigation bars with scrolling content behind
54
+ - ❌ Text-heavy content (readability issues)
55
+ - ❌ Simple solid backgrounds (pointless)
56
+
57
+ ### When NOT to Use
58
+ - Low contrast situations
59
+ - Accessibility-critical content
60
+ - Performance-constrained devices
61
+
62
+ ---
63
+
64
+ ## 2. Neomorphism Principles
65
+
66
+ ### What Makes Neomorphism Work
67
+
68
+ ```
69
+ Key Concept: Soft, extruded elements using DUAL shadows
70
+ ├── Light shadow (from light source direction)
71
+ ├── Dark shadow (opposite direction)
72
+ └── Background matches surrounding (same color)
73
+ ```
74
+
75
+ ### The Pattern
76
+
77
+ ```css
78
+ .neo-raised {
79
+ /* Background MUST match parent */
80
+ background: SAME_AS_PARENT;
81
+
82
+ /* Two shadows: light direction + dark direction */
83
+ box-shadow:
84
+ OFFSET OFFSET BLUR rgba(light-color),
85
+ -OFFSET -OFFSET BLUR rgba(dark-color);
86
+
87
+ /* OFFSET: typically 6-12px */
88
+ /* BLUR: typically 12-20px */
89
+ }
90
+
91
+ .neo-pressed {
92
+ /* Inset creates "pushed in" effect */
93
+ box-shadow:
94
+ inset OFFSET OFFSET BLUR rgba(dark-color),
95
+ inset -OFFSET -OFFSET BLUR rgba(light-color);
96
+ }
97
+ ```
98
+
99
+ ### Accessibility Warning
100
+ ⚠️ **Low contrast** - use sparingly, ensure clear boundaries
101
+
102
+ ### When to Use
103
+ - Decorative elements
104
+ - Subtle interactive states
105
+ - Minimalist UI with flat colors
106
+
107
+ ---
108
+
109
+ ## 3. Shadow Hierarchy Principles
110
+
111
+ ### Concept: Shadows Indicate Elevation
112
+
113
+ ```
114
+ Higher elevation = larger shadow
115
+ ├── Level 0: No shadow (flat on surface)
116
+ ├── Level 1: Subtle shadow (slightly raised)
117
+ ├── Level 2: Medium shadow (cards, buttons)
118
+ ├── Level 3: Large shadow (modals, dropdowns)
119
+ └── Level 4: Deep shadow (floating elements)
120
+ ```
121
+
122
+ ### Shadow Properties to Adjust
123
+
124
+ ```css
125
+ box-shadow: OFFSET-X OFFSET-Y BLUR SPREAD COLOR;
126
+
127
+ /* Offset: direction of shadow */
128
+ /* Blur: softness (larger = softer) */
129
+ /* Spread: size expansion */
130
+ /* Color: typically black with low opacity */
131
+ ```
132
+
133
+ ### Principles for Natural Shadows
134
+
135
+ 1. **Y-offset larger than X** (light comes from above)
136
+ 2. **Low opacity** (5-15% for subtle, 15-25% for pronounced)
137
+ 3. **Multiple layers** for realism (ambient + direct)
138
+ 4. **Blur scales with offset** (larger offset = larger blur)
139
+
140
+ ### Dark Mode Shadows
141
+ - Shadows less visible on dark backgrounds
142
+ - May need to increase opacity
143
+ - Or use glow/highlight instead
144
+
145
+ ---
146
+
147
+ ## 4. Gradient Principles
148
+
149
+ ### Types and When to Use
150
+
151
+ | Type | Pattern | Use Case |
152
+ |------|---------|----------|
153
+ | **Linear** | Color A → Color B along line | Backgrounds, buttons, headers |
154
+ | **Radial** | Center → outward | Spotlights, focal points |
155
+ | **Conic** | Around center | Pie charts, creative effects |
156
+
157
+ ### Creating Harmonious Gradients
158
+
159
+ ```
160
+ Good Gradient Rules:
161
+ ├── Use ADJACENT colors on wheel (analogous)
162
+ ├── Or same hue with different lightness
163
+ ├── Avoid complementary (can look harsh)
164
+ └── Add middle stops for smoother transitions
165
+ ```
166
+
167
+ ### Gradient Syntax Pattern
168
+
169
+ ```css
170
+ .gradient {
171
+ background: linear-gradient(
172
+ DIRECTION, /* angle or to-keyword */
173
+ COLOR-STOP-1, /* color + optional position */
174
+ COLOR-STOP-2,
175
+ /* ... more stops */
176
+ );
177
+ }
178
+
179
+ /* DIRECTION examples: */
180
+ /* 90deg, 135deg, to right, to bottom right */
181
+ ```
182
+
183
+ ### Mesh Gradients
184
+
185
+ ```
186
+ Multiple radial gradients overlapped:
187
+ ├── Each at different position
188
+ ├── Each with transparent falloff
189
+ ├── **Mandatory for "Wow" factor in Hero sections**
190
+ └── Creates organic, colorful effect (Search: "Aurora Gradient CSS")
191
+ ```
192
+
193
+ ---
194
+
195
+ ## 5. Border Effects Principles
196
+
197
+ ### Gradient Borders
198
+
199
+ ```
200
+ Technique: Pseudo-element with gradient background
201
+ ├── Element has padding = border width
202
+ ├── Pseudo-element fills with gradient
203
+ └── Mask or clip creates border effect
204
+ ```
205
+
206
+ ### Animated Borders
207
+
208
+ ```
209
+ Technique: Rotating gradient or conic sweep
210
+ ├── Pseudo-element larger than content
211
+ ├── Animation rotates the gradient
212
+ └── Overflow hidden clips to shape
213
+ ```
214
+
215
+ ### Glow Borders
216
+
217
+ ```css
218
+ /* Multiple box-shadows create glow */
219
+ box-shadow:
220
+ 0 0 SMALL-BLUR COLOR,
221
+ 0 0 MEDIUM-BLUR COLOR,
222
+ 0 0 LARGE-BLUR COLOR;
223
+
224
+ /* Each layer adds to the glow */
225
+ ```
226
+
227
+ ---
228
+
229
+ ## 6. Glow Effects Principles
230
+
231
+ ### Text Glow
232
+
233
+ ```css
234
+ text-shadow:
235
+ 0 0 BLUR-1 COLOR,
236
+ 0 0 BLUR-2 COLOR,
237
+ 0 0 BLUR-3 COLOR;
238
+
239
+ /* Multiple layers = stronger glow */
240
+ /* Larger blur = softer spread */
241
+ ```
242
+
243
+ ### Element Glow
244
+
245
+ ```css
246
+ box-shadow:
247
+ 0 0 BLUR-1 COLOR,
248
+ 0 0 BLUR-2 COLOR;
249
+
250
+ /* Use color matching element for realistic glow */
251
+ /* Lower opacity for subtle, higher for neon */
252
+ ```
253
+
254
+ ### Pulsing Glow Animation
255
+
256
+ ```css
257
+ @keyframes glow-pulse {
258
+ 0%, 100% { box-shadow: 0 0 SMALL-BLUR COLOR; }
259
+ 50% { box-shadow: 0 0 LARGE-BLUR COLOR; }
260
+ }
261
+
262
+ /* Easing and duration affect feel */
263
+ ```
264
+
265
+ ---
266
+
267
+ ## 7. Overlay Techniques
268
+
269
+ ### Gradient Overlay on Images
270
+
271
+ ```
272
+ Purpose: Improve text readability over images
273
+ Pattern: Gradient from transparent to opaque
274
+ Position: Where text will appear
275
+ ```
276
+
277
+ ```css
278
+ .overlay::after {
279
+ content: '';
280
+ position: absolute;
281
+ inset: 0;
282
+ background: linear-gradient(
283
+ DIRECTION,
284
+ transparent PERCENTAGE,
285
+ rgba(0,0,0,OPACITY) 100%
286
+ );
287
+ }
288
+ ```
289
+
290
+ ### Colored Overlay
291
+
292
+ ```css
293
+ /* Blend mode or layered gradient */
294
+ background:
295
+ linear-gradient(YOUR-COLOR-WITH-OPACITY),
296
+ url('image.jpg');
297
+ ```
298
+
299
+ ---
300
+
301
+ ## 8. Modern CSS Techniques
302
+
303
+ ### Container Queries (Concept)
304
+
305
+ ```
306
+ Instead of viewport breakpoints:
307
+ ├── Component responds to ITS container
308
+ ├── Truly modular, reusable components
309
+ └── Syntax: @container (condition) { }
310
+ ```
311
+
312
+ ### :has() Selector (Concept)
313
+
314
+ ```
315
+ Parent styling based on children:
316
+ ├── "Parent that has X child"
317
+ ├── Enables previously impossible patterns
318
+ └── Progressive enhancement approach
319
+ ```
320
+
321
+ ### Scroll-Driven Animations (Concept)
322
+
323
+ ```
324
+ Animation progress tied to scroll:
325
+ ├── Entry/exit animations on scroll
326
+ ├── Parallax effects
327
+ ├── Progress indicators
328
+ └── View-based or scroll-based timeline
329
+ ```
330
+
331
+ ---
332
+
333
+ ## 9. Performance Principles
334
+
335
+ ### GPU-Accelerated Properties
336
+
337
+ ```
338
+ CHEAP to animate (GPU):
339
+ ├── transform (translate, scale, rotate)
340
+ └── opacity
341
+
342
+ EXPENSIVE to animate (CPU):
343
+ ├── width, height
344
+ ├── top, left, right, bottom
345
+ ├── margin, padding
346
+ └── box-shadow (recalculates)
347
+ ```
348
+
349
+ ### will-change Usage
350
+
351
+ ```css
352
+ /* Use sparingly, only for heavy animations */
353
+ .heavy-animation {
354
+ will-change: transform;
355
+ }
356
+
357
+ /* Remove after animation if possible */
358
+ ```
359
+
360
+ ### Reduced Motion
361
+
362
+ ```css
363
+ @media (prefers-reduced-motion: reduce) {
364
+ /* Disable or minimize animations */
365
+ /* Respect user preference */
366
+ }
367
+ ```
368
+
369
+ ---
370
+
371
+ ## 10. Effect Selection Checklist
372
+
373
+ Before applying any effect:
374
+
375
+ - [ ] **Does it serve a purpose?** (not just decoration)
376
+ - [ ] **Is it appropriate for the context?** (brand, audience)
377
+ - [ ] **Have you varied from previous projects?** (avoid repetition)
378
+ - [ ] **Is it accessible?** (contrast, motion sensitivity)
379
+ - [ ] **Is it performant?** (especially on mobile)
380
+ - [ ] **Did you ask user preference?** (if style open-ended)
381
+
382
+ ### Anti-Patterns
383
+
384
+ - ❌ Glassmorphism on every element (kitsch)
385
+ - ❌ Dark + neon as default (lazy AI look)
386
+ - ❌ **Static/Flat designs with no depth (FAILED)**
387
+ - ❌ Effects that hurt readability
388
+ - ❌ Animations without purpose
389
+
390
+ ---
391
+
392
+ > **Remember**: Effects enhance meaning. Choose based on purpose and context, not because it "looks cool."
393
+
394
+ ---
395
+
396
+ ## 🔗 Related
397
+
398
+ | File | When to Read |
399
+ |------|-------------|
400
+ | [animation-guide.md](animation-guide.md) | Animation timing for effects |
401
+ | [motion-graphics.md](motion-graphics.md) | Advanced Lottie, GSAP, 3D effects |
402
+ | [color-system.md](color-system.md) | Color for gradients and glows |
403
+ | [../SKILL.md](../SKILL.md) | Anti-pattern bans |
404
+
405
+ ---
406
+
407
+ ⚡ PikaKit v3.9.134
@@ -0,0 +1,292 @@
1
+ #!/usr/bin/env node
2
+ // @ts-nocheck
3
+ /**
4
+ * Accessibility Checker v2.0.0
5
+ * Skill: design-system
6
+ *
7
+ * WCAG compliance audit for HTML/JSX/TSX files.
8
+ *
9
+ * Usage:
10
+ * node accessibility_checker.js <project_path>
11
+ * node accessibility_checker.js <project_path> --json
12
+ *
13
+ * Checks:
14
+ * - Inputs without label or aria-label
15
+ * - Buttons without accessible text
16
+ * - Missing lang attribute on <html>
17
+ * - Missing skip-to-main-content link
18
+ * - onClick without keyboard handler
19
+ * - Positive tabIndex values
20
+ * - Autoplay media without muted
21
+ * - role="button" without tabindex
22
+ * - Images without alt attribute
23
+ *
24
+ * Flags:
25
+ * --json Output as JSON only
26
+ * --help Show help
27
+ * --version Show version
28
+ */
29
+
30
+ import { readFile, readdir } from 'node:fs/promises';
31
+ import { resolve, extname } from 'node:path';
32
+
33
+ const VERSION = '2.0.0';
34
+ const SKIP_DIRS = new Set(['node_modules', '.next', 'dist', 'build', '.git', '__pycache__']);
35
+ const VALID_EXTS = new Set(['.html', '.jsx', '.tsx', '.vue']);
36
+ const MAX_FILES = 50;
37
+
38
+ const args = process.argv.slice(2);
39
+ const jsonMode = args.includes('--json');
40
+ const filteredArgs = args.filter(a => !a.startsWith('--'));
41
+
42
+ function showHelp() {
43
+ console.log(`Accessibility Checker v${VERSION}
44
+
45
+ Usage: node accessibility_checker.js <project_path> [options]
46
+
47
+ Options:
48
+ --json Output as JSON only
49
+ --help Show this help
50
+ --version Show version
51
+
52
+ Checks: inputs, buttons, lang, skip-link, keyboard, tabindex, autoplay, role, img alt`);
53
+ }
54
+
55
+ // --- File Discovery ---
56
+
57
+ async function walkFiles(dir, files = [], depth = 0) {
58
+ if (depth > 8 || files.length >= MAX_FILES) return files;
59
+
60
+ let entries;
61
+ try {
62
+ entries = await readdir(dir, { withFileTypes: true });
63
+ } catch (err) {
64
+ if (!jsonMode) console.warn(`[WARN] Cannot read: ${dir} (${err.code})`);
65
+ return files;
66
+ }
67
+
68
+ for (const entry of entries) {
69
+ if (SKIP_DIRS.has(entry.name) || files.length >= MAX_FILES) continue;
70
+ const fullPath = resolve(dir, entry.name);
71
+
72
+ if (entry.isDirectory()) {
73
+ await walkFiles(fullPath, files, depth + 1);
74
+ } else if (VALID_EXTS.has(extname(entry.name).toLowerCase())) {
75
+ files.push(fullPath);
76
+ }
77
+ }
78
+ return files;
79
+ }
80
+
81
+ // --- Checks ---
82
+
83
+ async function checkAccessibility(filePath) {
84
+ const issues = [];
85
+ let content;
86
+
87
+ try {
88
+ content = await readFile(filePath, 'utf-8');
89
+ } catch (err) {
90
+ issues.push({ rule: 'FILE_READ', severity: 'error', message: `Cannot read: ${err.message}` });
91
+ return issues;
92
+ }
93
+
94
+ // 1. Inputs without labels
95
+ const inputs = content.match(/<input[^>]*>/gi) || [];
96
+ for (const inp of inputs) {
97
+ const lower = inp.toLowerCase();
98
+ if (lower.includes('type="hidden"') || lower.includes("type='hidden'")) continue;
99
+ if (!lower.includes('aria-label') && !lower.includes('aria-labelledby')) {
100
+ issues.push({
101
+ rule: 'A11Y_INPUT_NO_LABEL',
102
+ severity: 'error',
103
+ message: 'Input without aria-label or aria-labelledby',
104
+ });
105
+ break; // report once per file
106
+ }
107
+ }
108
+
109
+ // 2. Buttons without accessible text
110
+ const buttons = content.match(/<button[^>]*>[\s\S]*?<\/button>/gi) || [];
111
+ for (const btn of buttons) {
112
+ const lower = btn.toLowerCase();
113
+ if (lower.includes('aria-label') || lower.includes('aria-labelledby')) continue;
114
+ const text = btn.replace(/<[^>]+>/g, '').trim();
115
+ if (!text) {
116
+ issues.push({
117
+ rule: 'A11Y_BUTTON_NO_TEXT',
118
+ severity: 'error',
119
+ message: 'Button without accessible text or aria-label',
120
+ });
121
+ break;
122
+ }
123
+ }
124
+
125
+ // 3. Missing lang attribute
126
+ if (content.toLowerCase().includes('<html') && !content.toLowerCase().includes('lang=')) {
127
+ issues.push({
128
+ rule: 'A11Y_MISSING_LANG',
129
+ severity: 'error',
130
+ message: 'Missing lang attribute on <html>',
131
+ });
132
+ }
133
+
134
+ // 4. Missing skip link
135
+ if (content.toLowerCase().includes('<main') || content.toLowerCase().includes('<body')) {
136
+ if (!content.toLowerCase().includes('skip') && !content.includes('#main')) {
137
+ issues.push({
138
+ rule: 'A11Y_NO_SKIP_LINK',
139
+ severity: 'warning',
140
+ message: 'Consider adding skip-to-main-content link',
141
+ });
142
+ }
143
+ }
144
+
145
+ // 5. onClick without keyboard support
146
+ const onclickCount = (content.toLowerCase().match(/onclick=/g) || []).length;
147
+ const keyboardCount = (content.toLowerCase().match(/onkeydown=|onkeyup=|onkeypress=/g) || []).length;
148
+ if (onclickCount > 0 && keyboardCount === 0) {
149
+ issues.push({
150
+ rule: 'A11Y_NO_KEYBOARD',
151
+ severity: 'warning',
152
+ message: 'onClick without keyboard handler (onKeyDown)',
153
+ });
154
+ }
155
+
156
+ // 6. Positive tabIndex
157
+ if (/tabindex=["']([1-9]\d*)["']/i.test(content)) {
158
+ issues.push({
159
+ rule: 'A11Y_POSITIVE_TABINDEX',
160
+ severity: 'warning',
161
+ message: 'Avoid positive tabIndex values (use 0 or -1)',
162
+ });
163
+ }
164
+
165
+ // 7. Autoplay without muted
166
+ if (content.toLowerCase().includes('autoplay') && !content.toLowerCase().includes('muted')) {
167
+ issues.push({
168
+ rule: 'A11Y_AUTOPLAY_UNMUTED',
169
+ severity: 'error',
170
+ message: 'Autoplay media should be muted',
171
+ });
172
+ }
173
+
174
+ // 8. role="button" without tabindex
175
+ const divButtons = content.match(/<div[^>]*role=["']button["'][^>]*>/gi) || [];
176
+ for (const div of divButtons) {
177
+ if (!div.toLowerCase().includes('tabindex')) {
178
+ issues.push({
179
+ rule: 'A11Y_ROLE_NO_TABINDEX',
180
+ severity: 'error',
181
+ message: 'role="button" without tabindex',
182
+ });
183
+ break;
184
+ }
185
+ }
186
+
187
+ // 9. Images without alt
188
+ const images = content.match(/<img[^>]*>/gi) || [];
189
+ for (const img of images) {
190
+ if (!img.toLowerCase().includes('alt=')) {
191
+ issues.push({
192
+ rule: 'A11Y_IMG_NO_ALT',
193
+ severity: 'error',
194
+ message: 'Image without alt attribute',
195
+ });
196
+ break;
197
+ }
198
+ }
199
+
200
+ return issues;
201
+ }
202
+
203
+ // --- Main ---
204
+
205
+ async function main() {
206
+ if (args.includes('--version')) { console.log(VERSION); return; }
207
+ if (args.includes('--help') || filteredArgs.length === 0) { showHelp(); return; }
208
+
209
+ const projectPath = resolve(filteredArgs[0]);
210
+
211
+ if (!jsonMode) {
212
+ console.log(`\n${'='.repeat(60)}`);
213
+ console.log(`[ACCESSIBILITY CHECKER] WCAG Compliance v${VERSION}`);
214
+ console.log('='.repeat(60));
215
+ console.log(`Project: ${projectPath}`);
216
+ console.log(`Time: ${new Date().toISOString()}`);
217
+ console.log('-'.repeat(60));
218
+ }
219
+
220
+ const files = await walkFiles(projectPath);
221
+
222
+ if (files.length === 0) {
223
+ const output = {
224
+ script: 'accessibility_checker', version: VERSION,
225
+ project: projectPath, files_checked: 0,
226
+ errors: 0, warnings: 0, passed: true,
227
+ message: 'No HTML/JSX/TSX files found',
228
+ };
229
+ console.log(jsonMode ? JSON.stringify(output, null, 2) : 'No files found.\n' + JSON.stringify(output, null, 2));
230
+ return;
231
+ }
232
+
233
+ if (!jsonMode) console.log(`Found ${files.length} file(s)`);
234
+
235
+ const allResults = [];
236
+
237
+ for (const f of files) {
238
+ const issues = await checkAccessibility(f);
239
+ if (issues.length > 0) {
240
+ allResults.push({ file: f.split(/[/\\]/).pop(), issues });
241
+ }
242
+ }
243
+
244
+ const totalErrors = allResults.reduce(
245
+ (sum, r) => sum + r.issues.filter(i => i.severity === 'error').length, 0,
246
+ );
247
+ const totalWarnings = allResults.reduce(
248
+ (sum, r) => sum + r.issues.filter(i => i.severity === 'warning').length, 0,
249
+ );
250
+
251
+ if (!jsonMode) {
252
+ console.log('\n' + '='.repeat(60));
253
+ if (allResults.length > 0) {
254
+ console.log('ACCESSIBILITY ISSUES');
255
+ console.log('='.repeat(60));
256
+ for (const item of allResults.slice(0, 10)) {
257
+ console.log(`\n${item.file}:`);
258
+ for (const issue of item.issues) {
259
+ const icon = issue.severity === 'error' ? '[ERROR]' : '[WARN]';
260
+ console.log(` ${icon} ${issue.rule}: ${issue.message}`);
261
+ }
262
+ }
263
+ if (allResults.length > 10) {
264
+ console.log(`\n... and ${allResults.length - 10} more files`);
265
+ }
266
+ } else {
267
+ console.log('No accessibility issues found!');
268
+ }
269
+ console.log(`\nRESULT: ${totalErrors === 0 ? 'PASSED' : 'FAILED'} | ${totalErrors} errors, ${totalWarnings} warnings`);
270
+ console.log('='.repeat(60));
271
+ }
272
+
273
+ const output = {
274
+ script: 'accessibility_checker',
275
+ version: VERSION,
276
+ project: projectPath,
277
+ files_checked: files.length,
278
+ files_with_issues: allResults.length,
279
+ errors: totalErrors,
280
+ warnings: totalWarnings,
281
+ passed: totalErrors === 0,
282
+ results: allResults,
283
+ };
284
+
285
+ console.log('\n' + JSON.stringify(output, null, 2));
286
+ process.exit(totalErrors === 0 ? 0 : 1);
287
+ }
288
+
289
+ main().catch(err => {
290
+ console.error(jsonMode ? JSON.stringify({ status: 'error', message: err.message }) : `[FATAL] ${err.message}`);
291
+ process.exit(1);
292
+ });