shmakk 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/README.md +16 -1
  2. package/package.json +6 -3
  3. package/scripts/import-skills.js +536 -0
  4. package/scripts/install-skills.js +64 -0
  5. package/skills/ai-elements.md +482 -0
  6. package/skills/architecture.md +151 -0
  7. package/skills/backend-adapter-aws-lambda.md +204 -0
  8. package/skills/backend-adapter-express.md +177 -0
  9. package/skills/backend-adapter-fastify.md +222 -0
  10. package/skills/backend-adapter-fetch.md +200 -0
  11. package/skills/backend-api-docs.md +22 -0
  12. package/skills/backend-aspire.md +232 -0
  13. package/skills/backend-aspnet-core.md +62 -0
  14. package/skills/backend-build-chatgpt-app.md +321 -0
  15. package/skills/backend-build-mcp-app.md +393 -0
  16. package/skills/backend-build-mcp-server.md +222 -0
  17. package/skills/backend-build-mcpb.md +200 -0
  18. package/skills/backend-building-ai-agent-on-cloudflare.md +401 -0
  19. package/skills/backend-caching.md +206 -0
  20. package/skills/backend-chatgpt-app-submission.md +157 -0
  21. package/skills/backend-chatgpt-apps.md +321 -0
  22. package/skills/backend-client-setup.md +318 -0
  23. package/skills/backend-containerize-aspnet-framework.md +455 -0
  24. package/skills/backend-create-spring-boot-java-project.md +164 -0
  25. package/skills/backend-create-spring-boot-kotlin-project.md +148 -0
  26. package/skills/backend-csharp-async.md +50 -0
  27. package/skills/backend-csharp-docs.md +63 -0
  28. package/skills/backend-csharp-mcp-server-generator.md +60 -0
  29. package/skills/backend-dotenv.md +201 -0
  30. package/skills/backend-dotenvx.md +119 -0
  31. package/skills/backend-env-vars.md +259 -0
  32. package/skills/backend-error-handling.md +254 -0
  33. package/skills/backend-fastapi.md +437 -0
  34. package/skills/backend-go-mcp-server-generator.md +335 -0
  35. package/skills/backend-java-mcp-server-generator.md +757 -0
  36. package/skills/backend-kotlin-mcp-server-generator.md +450 -0
  37. package/skills/backend-middlewares.md +243 -0
  38. package/skills/backend-multi-stage-dockerfile.md +47 -0
  39. package/skills/backend-nestjs.md +192 -0
  40. package/skills/backend-next-forge.md +375 -0
  41. package/skills/backend-nextjs.md +746 -0
  42. package/skills/backend-openapi-to-application-code.md +113 -0
  43. package/skills/backend-php-mcp-server-generator.md +523 -0
  44. package/skills/backend-python-mcp-server-generator.md +106 -0
  45. package/skills/backend-routing-middleware.md +251 -0
  46. package/skills/backend-ruby-mcp-server-generator.md +661 -0
  47. package/skills/backend-rust-mcp-server-generator.md +578 -0
  48. package/skills/backend-semantic-kernel.md +57 -0
  49. package/skills/backend-server-setup.md +379 -0
  50. package/skills/backend-server-side-calls.md +250 -0
  51. package/skills/backend-subscriptions.md +407 -0
  52. package/skills/backend-swift-mcp-server-generator.md +670 -0
  53. package/skills/backend-trpc-router.md +152 -0
  54. package/skills/backend-typescript-mcp-server-generator.md +91 -0
  55. package/skills/backend-validators.md +229 -0
  56. package/skills/backend.md +76 -0
  57. package/skills/backup.md +165 -0
  58. package/skills/budget.md +140 -0
  59. package/skills/business-gtm-0-to-1-launch.md +322 -0
  60. package/skills/business-gtm-operating-cadence.md +421 -0
  61. package/skills/business-gtm-positioning-strategy.md +439 -0
  62. package/skills/business-gtm-product-led-growth.md +340 -0
  63. package/skills/calendar.md +95 -0
  64. package/skills/code-review.md +130 -0
  65. package/skills/compliance.md +168 -0
  66. package/skills/contracts.md +130 -0
  67. package/skills/daily-job-run.md +46 -0
  68. package/skills/daily-webdesign.md +187 -0
  69. package/skills/database-bigquery-pipeline-audit.md +130 -0
  70. package/skills/database-cosmosdb-datamodeling.md +1046 -0
  71. package/skills/database-durable-objects.md +187 -0
  72. package/skills/database-ef-core.md +76 -0
  73. package/skills/database-fabric-lakehouse.md +107 -0
  74. package/skills/database-neon-postgres-egress-optimizer.md +213 -0
  75. package/skills/database-neon-postgres.md +218 -0
  76. package/skills/database-postgresql-code-review.md +213 -0
  77. package/skills/database-postgresql-optimization.md +405 -0
  78. package/skills/database-sql-code-review.md +302 -0
  79. package/skills/database-sql-optimization.md +297 -0
  80. package/skills/dependency-audit.md +165 -0
  81. package/skills/design-kami-landing.md +234 -0
  82. package/skills/design.md +221 -0
  83. package/skills/dev-acquire-codebase-knowledge.md +175 -0
  84. package/skills/dev-add-educational-comments.md +129 -0
  85. package/skills/dev-add-model-descriptions.md +74 -0
  86. package/skills/dev-adr-review.md +56 -0
  87. package/skills/dev-boost-prompt.md +26 -0
  88. package/skills/dev-build-run-debug.md +130 -0
  89. package/skills/dev-chunk.md +49 -0
  90. package/skills/dev-claude-md-improver.md +180 -0
  91. package/skills/dev-code-exemplars-blueprint-generator.md +127 -0
  92. package/skills/dev-code-tour.md +434 -0
  93. package/skills/dev-comment-code-generate-a-tutorial.md +27 -0
  94. package/skills/dev-commit.md +81 -0
  95. package/skills/dev-context-map.md +53 -0
  96. package/skills/dev-conventional-commit.md +73 -0
  97. package/skills/dev-create-architectural-decision-record.md +98 -0
  98. package/skills/dev-create-draft-pr.md +17 -0
  99. package/skills/dev-create-pr.md +17 -0
  100. package/skills/dev-create-readme.md +22 -0
  101. package/skills/dev-csharp-mstest.md +479 -0
  102. package/skills/dev-csharp-nunit.md +72 -0
  103. package/skills/dev-csharp-tunit.md +101 -0
  104. package/skills/dev-csharp-xunit.md +69 -0
  105. package/skills/dev-debug-failing-test.md +90 -0
  106. package/skills/dev-diff-analyze.md +32 -0
  107. package/skills/dev-diffs.md +24 -0
  108. package/skills/dev-dotnet-best-practices.md +86 -0
  109. package/skills/dev-dotnet-design-pattern-review.md +43 -0
  110. package/skills/dev-dotnet-timezone.md +110 -0
  111. package/skills/dev-dotnet-upgrade.md +117 -0
  112. package/skills/dev-doublecheck.md +278 -0
  113. package/skills/dev-explain-error.md +15 -0
  114. package/skills/dev-finding-discovery.md +164 -0
  115. package/skills/dev-fix-finding.md +111 -0
  116. package/skills/dev-full-file-edit.md +25 -0
  117. package/skills/dev-git-commit.md +125 -0
  118. package/skills/dev-git-flow-branch-creator.md +293 -0
  119. package/skills/dev-git-workflow.md +46 -0
  120. package/skills/dev-github-automation.md +64 -0
  121. package/skills/dev-github-code-review.md +1140 -0
  122. package/skills/dev-github-issues.md +202 -0
  123. package/skills/dev-gpt-5-4-prompting.md +55 -0
  124. package/skills/dev-investigation-mode.md +277 -0
  125. package/skills/dev-java-add-graalvm-native-image-support.md +450 -0
  126. package/skills/dev-java-docs.md +24 -0
  127. package/skills/dev-java-refactoring-extract-method.md +105 -0
  128. package/skills/dev-java-refactoring-remove-parameter.md +85 -0
  129. package/skills/dev-merge.md +73 -0
  130. package/skills/dev-migrate-create.md +36 -0
  131. package/skills/dev-migrate-validate.md +36 -0
  132. package/skills/dev-my-issues.md +9 -0
  133. package/skills/dev-my-pull-requests.md +15 -0
  134. package/skills/dev-planning-oracle-to-postgres-migration-integration-testing.md +45 -0
  135. package/skills/dev-playwright-generate-test.md +18 -0
  136. package/skills/dev-playwright.md +148 -0
  137. package/skills/dev-prompt-builder.md +142 -0
  138. package/skills/dev-pytest-coverage.md +29 -0
  139. package/skills/dev-python-manager-discovery.md +330 -0
  140. package/skills/dev-python-pypi-package-builder.md +445 -0
  141. package/skills/dev-readme-blueprint-generator.md +79 -0
  142. package/skills/dev-refactor-method-complexity-reduce.md +99 -0
  143. package/skills/dev-refactor-plan.md +66 -0
  144. package/skills/dev-refactor.md +646 -0
  145. package/skills/dev-review-and-refactor.md +16 -0
  146. package/skills/dev-reviewing-oracle-to-postgres-migration.md +68 -0
  147. package/skills/dev-ruff-recursive-fix.md +201 -0
  148. package/skills/dev-run-e2e-tests.md +126 -0
  149. package/skills/dev-run-pre-commit-checks.md +133 -0
  150. package/skills/dev-run-smoke-tests.md +127 -0
  151. package/skills/dev-scaffolding-oracle-to-postgres-migration-test-project.md +55 -0
  152. package/skills/dev-spring-boot-testing.md +190 -0
  153. package/skills/dev-sync-upstream.md +32 -0
  154. package/skills/dev-sync.md +74 -0
  155. package/skills/dev-tdd-workflow.md +23 -0
  156. package/skills/dev-terraform-azurerm-set-diff-analyzer.md +49 -0
  157. package/skills/dev-test-driven-development.md +372 -0
  158. package/skills/dev-test-gaps.md +18 -0
  159. package/skills/dev-test-triage.md +55 -0
  160. package/skills/dev-typer.md +267 -0
  161. package/skills/dev-typescript-setup.md +25 -0
  162. package/skills/dev-unified-diff-edit.md +16 -0
  163. package/skills/dev-unit-test-vue-pinia.md +198 -0
  164. package/skills/dev-using-git-worktrees.md +216 -0
  165. package/skills/dev-validation.md +99 -0
  166. package/skills/dev-verification.md +168 -0
  167. package/skills/dev-webapp-testing.md +134 -0
  168. package/skills/dev-write-coding-standards-from-file.md +317 -0
  169. package/skills/dev-write-tests.md +16 -0
  170. package/skills/devops-appinsights-instrumentation.md +49 -0
  171. package/skills/devops-az-cost-optimize.md +306 -0
  172. package/skills/devops-chronicle.md +154 -0
  173. package/skills/devops-deployments-cicd.md +331 -0
  174. package/skills/devops-devops-rollout-plan.md +118 -0
  175. package/skills/devops-geistdocs.md +276 -0
  176. package/skills/devops-observability.md +774 -0
  177. package/skills/devops-observe-metrics.md +35 -0
  178. package/skills/devops-observe-trace.md +30 -0
  179. package/skills/devops-phoenix-cli.md +163 -0
  180. package/skills/devops-phoenix-tracing.md +140 -0
  181. package/skills/devops-publish-to-pages.md +108 -0
  182. package/skills/devops-telemetry.md +87 -0
  183. package/skills/devops-update-avm-modules-in-bicep.md +61 -0
  184. package/skills/devops.md +81 -0
  185. package/skills/diagrams-canvas.md +204 -0
  186. package/skills/diagrams-draw-io-diagram-generator.md +463 -0
  187. package/skills/diagrams-excalidraw-diagram-generator.md +614 -0
  188. package/skills/diagrams-graphify.md +1277 -0
  189. package/skills/docs-bear-notes.md +108 -0
  190. package/skills/docs-create-llms.md +211 -0
  191. package/skills/docs-doc-gen.md +20 -0
  192. package/skills/docs-documentation-writer.md +46 -0
  193. package/skills/docs-llm-config.md +33 -0
  194. package/skills/docs-mkdocs-translations.md +109 -0
  195. package/skills/docs-obsidian-vault-maintainer.md +14 -0
  196. package/skills/docs-obsidian.md +82 -0
  197. package/skills/docs-prose.md +324 -0
  198. package/skills/docs-update-llms.md +217 -0
  199. package/skills/docs-update-markdown-file-index.md +77 -0
  200. package/skills/docs-wiki-maintainer.md +20 -0
  201. package/skills/documents.md +120 -0
  202. package/skills/email.md +113 -0
  203. package/skills/expenses.md +140 -0
  204. package/skills/file-ops.md +149 -0
  205. package/skills/files-convert-plaintext-to-md.md +363 -0
  206. package/skills/files-doc.md +81 -0
  207. package/skills/files-docx.md +594 -0
  208. package/skills/files-markdown-to-html.md +917 -0
  209. package/skills/files-nano-pdf.md +39 -0
  210. package/skills/files-pdf.md +315 -0
  211. package/skills/files-pdftk-server.md +163 -0
  212. package/skills/files-pptx-html-fidelity-audit.md +255 -0
  213. package/skills/files-pptx.md +231 -0
  214. package/skills/files-xlsx.md +301 -0
  215. package/skills/find-jobs.md +78 -0
  216. package/skills/format-conversion.md +157 -0
  217. package/skills/frontend-ai-elements.md +483 -0
  218. package/skills/frontend-ai-gateway.md +563 -0
  219. package/skills/frontend-ai-generation-persistence.md +242 -0
  220. package/skills/frontend-ai-sdk.md +799 -0
  221. package/skills/frontend-ai-visibility.md +127 -0
  222. package/skills/frontend-angular-developer.md +130 -0
  223. package/skills/frontend-aspnet-minimal-api-openapi.md +42 -0
  224. package/skills/frontend-bencium-innovative-ux-designer.md +719 -0
  225. package/skills/frontend-chat-sdk.md +666 -0
  226. package/skills/frontend-chrome-devtools.md +98 -0
  227. package/skills/frontend-frontend-app-builder.md +186 -0
  228. package/skills/frontend-frontend-design.md +43 -0
  229. package/skills/frontend-frontend-testing-debugging.md +143 -0
  230. package/skills/frontend-gsap-framer-scroll-animation.md +152 -0
  231. package/skills/frontend-internal-linking.md +109 -0
  232. package/skills/frontend-json-render.md +335 -0
  233. package/skills/frontend-keyword-clustering.md +118 -0
  234. package/skills/frontend-next-intl-add-language.md +20 -0
  235. package/skills/frontend-on-page-seo.md +112 -0
  236. package/skills/frontend-premium-frontend-ui.md +114 -0
  237. package/skills/frontend-react-best-practices.md +143 -0
  238. package/skills/frontend-schema-markup.md +160 -0
  239. package/skills/frontend-seo-audit.md +110 -0
  240. package/skills/frontend-swr.md +215 -0
  241. package/skills/frontend-technical-seo.md +162 -0
  242. package/skills/frontend-use-dom.md +418 -0
  243. package/skills/frontend-web-coder.md +564 -0
  244. package/skills/frontend-web-design-reviewer.md +369 -0
  245. package/skills/frontend-web-perf.md +202 -0
  246. package/skills/frontend.md +125 -0
  247. package/skills/general-adapter-standalone.md +199 -0
  248. package/skills/general-auth.md +356 -0
  249. package/skills/general-containerize-aspnetcore.md +393 -0
  250. package/skills/general-create-technical-spike.md +231 -0
  251. package/skills/general-cron-jobs.md +72 -0
  252. package/skills/general-ddd-aggregate.md +52 -0
  253. package/skills/general-ddd-context.md +46 -0
  254. package/skills/general-ddd-validate.md +51 -0
  255. package/skills/general-dependency-check.md +26 -0
  256. package/skills/general-email-marketing.md +86 -0
  257. package/skills/general-healthcheck.md +246 -0
  258. package/skills/general-import-infrastructure-as-code.md +368 -0
  259. package/skills/general-init.md +49 -0
  260. package/skills/general-java-junit.md +64 -0
  261. package/skills/general-java-springboot.md +66 -0
  262. package/skills/general-javascript-typescript-jest.md +45 -0
  263. package/skills/general-kotlin-springboot.md +71 -0
  264. package/skills/general-make-repo-contribution.md +91 -0
  265. package/skills/general-market-research.md +78 -0
  266. package/skills/general-marketplace.md +468 -0
  267. package/skills/general-model-recommendation.md +673 -0
  268. package/skills/general-payments.md +352 -0
  269. package/skills/general-quality-playbook.md +480 -0
  270. package/skills/general-run-integration-tests.md +113 -0
  271. package/skills/general-superjson.md +274 -0
  272. package/skills/general-swiftpm-macos.md +51 -0
  273. package/skills/general-threat-model.md +61 -0
  274. package/skills/invoices.md +167 -0
  275. package/skills/licenses.md +159 -0
  276. package/skills/logs.md +156 -0
  277. package/skills/marketing.md +139 -0
  278. package/skills/media-image-manipulation-image-magick.md +253 -0
  279. package/skills/media-imagegen.md +357 -0
  280. package/skills/media-openai-whisper-api.md +63 -0
  281. package/skills/media-openai-whisper.md +39 -0
  282. package/skills/media-peekaboo.md +191 -0
  283. package/skills/media-screenshot.md +268 -0
  284. package/skills/media-speech.md +145 -0
  285. package/skills/media-transcribe.md +82 -0
  286. package/skills/media-video-frames.md +47 -0
  287. package/skills/mobile-android-emulator-qa.md +81 -0
  288. package/skills/mobile-android-performance.md +280 -0
  289. package/skills/mobile-building-mcp-server-on-cloudflare.md +267 -0
  290. package/skills/mobile-building-native-ui.md +322 -0
  291. package/skills/mobile-expo-api-routes.md +369 -0
  292. package/skills/mobile-expo-cicd-workflows.md +92 -0
  293. package/skills/mobile-expo-deployment.md +191 -0
  294. package/skills/mobile-expo-dev-client.md +165 -0
  295. package/skills/mobile-expo-module.md +177 -0
  296. package/skills/mobile-expo-tailwind-setup.md +481 -0
  297. package/skills/mobile-expo-ui-jetpack-compose.md +41 -0
  298. package/skills/mobile-expo-ui-swift-ui.md +40 -0
  299. package/skills/mobile-ios-app-intents.md +78 -0
  300. package/skills/mobile-ios-debugger-agent.md +52 -0
  301. package/skills/mobile-ios-ettrace-performance.md +198 -0
  302. package/skills/mobile-ios-memgraph-leaks.md +77 -0
  303. package/skills/mobile-native-data-fetching.md +508 -0
  304. package/skills/mobile-packaging-notarization.md +48 -0
  305. package/skills/mobile-react-native-architecture.md +672 -0
  306. package/skills/mobile-react-native-mobile-design.md +438 -0
  307. package/skills/mobile-signing-entitlements.md +59 -0
  308. package/skills/mobile-swiftui-liquid-glass.md +91 -0
  309. package/skills/mobile-swiftui-patterns.md +210 -0
  310. package/skills/mobile-swiftui-performance-audit.md +108 -0
  311. package/skills/mobile-swiftui-ui-patterns.md +97 -0
  312. package/skills/mobile-swiftui-view-refactor.md +204 -0
  313. package/skills/mobile-upgrading-expo.md +134 -0
  314. package/skills/mobile.md +183 -0
  315. package/skills/notes.md +106 -0
  316. package/skills/planning-adr-create.md +62 -0
  317. package/skills/planning-adr-index.md +67 -0
  318. package/skills/planning-architecture-blueprint-generator.md +323 -0
  319. package/skills/planning-brainstorming.md +165 -0
  320. package/skills/planning-breakdown-epic-arch.md +67 -0
  321. package/skills/planning-breakdown-epic-pm.md +59 -0
  322. package/skills/planning-breakdown-feature-implementation.md +129 -0
  323. package/skills/planning-breakdown-feature-prd.md +62 -0
  324. package/skills/planning-breakdown-plan.md +510 -0
  325. package/skills/planning-breakdown-test.md +366 -0
  326. package/skills/planning-cloud-design-patterns.md +63 -0
  327. package/skills/planning-content-brief.md +128 -0
  328. package/skills/planning-content-strategy.md +138 -0
  329. package/skills/planning-content-translation.md +143 -0
  330. package/skills/planning-create-github-action-workflow-specification.md +277 -0
  331. package/skills/planning-create-github-issues-feature-from-implementation-plan.md +29 -0
  332. package/skills/planning-create-github-issues-for-unmet-specification-requirements.md +36 -0
  333. package/skills/planning-create-github-pull-request-from-specification.md +25 -0
  334. package/skills/planning-create-implementation-plan.md +158 -0
  335. package/skills/planning-create-specification.md +128 -0
  336. package/skills/planning-first-ask.md +31 -0
  337. package/skills/planning-folder-structure-blueprint-generator.md +406 -0
  338. package/skills/planning-gen-specs-as-issues.md +166 -0
  339. package/skills/planning-generate-snapshot.md +144 -0
  340. package/skills/planning-generate-status-report.md +336 -0
  341. package/skills/planning-metric-pack-designer.md +27 -0
  342. package/skills/planning-pm-spec.md +53 -0
  343. package/skills/planning-prd.md +144 -0
  344. package/skills/planning-project-assessment.md +182 -0
  345. package/skills/planning-project-setup-info-local.md +128 -0
  346. package/skills/planning-project-workflow-analysis-blueprint-generator.md +294 -0
  347. package/skills/planning-service-oriented-architecture.md +248 -0
  348. package/skills/planning-spec-to-backlog.md +544 -0
  349. package/skills/planning-technology-stack-blueprint-generator.md +243 -0
  350. package/skills/planning-update-implementation-plan.md +158 -0
  351. package/skills/planning-update-specification.md +128 -0
  352. package/skills/planning-what-context-needed.md +40 -0
  353. package/skills/planning-writing-plans.md +153 -0
  354. package/skills/prepare-application.md +81 -0
  355. package/skills/productivity-apple-notes.md +78 -0
  356. package/skills/productivity-apple-reminders.md +119 -0
  357. package/skills/productivity-capture-tasks-from-meeting-notes.md +680 -0
  358. package/skills/productivity-daily-prep.md +156 -0
  359. package/skills/productivity-email-drafter.md +101 -0
  360. package/skills/productivity-hr-onboarding.md +53 -0
  361. package/skills/productivity-things-mac.md +87 -0
  362. package/skills/productivity-update.md +169 -0
  363. package/skills/reminders.md +109 -0
  364. package/skills/research-dossier-collect.md +71 -0
  365. package/skills/research-kg-extract.md +37 -0
  366. package/skills/research-openai-docs.md +89 -0
  367. package/skills/research-research-add-items.md +31 -0
  368. package/skills/research-research-report.md +94 -0
  369. package/skills/research-research-synthesize.md +63 -0
  370. package/skills/research-summarize.md +88 -0
  371. package/skills/research-transformers-js.md +635 -0
  372. package/skills/research.md +119 -0
  373. package/skills/security-ai-prompt-engineering-safety-review.md +231 -0
  374. package/skills/security-attack-path-analysis.md +182 -0
  375. package/skills/security-gdpr-compliant.md +284 -0
  376. package/skills/security-mcp-security-audit.md +279 -0
  377. package/skills/security-pii-detect.md +31 -0
  378. package/skills/security-secret-scanning.md +243 -0
  379. package/skills/security-security-best-practices.md +87 -0
  380. package/skills/security-security-ownership-map.md +207 -0
  381. package/skills/security-security-review.md +169 -0
  382. package/skills/security-security-scan.md +138 -0
  383. package/skills/security-security-threat-model.md +82 -0
  384. package/skills/security-threat-model-analyst.md +76 -0
  385. package/skills/sysmon.md +181 -0
  386. package/skills/system-arch-linux-triage.md +32 -0
  387. package/skills/system-centos-linux-triage.md +32 -0
  388. package/skills/system-debian-linux-triage.md +32 -0
  389. package/skills/system-fedora-linux-triage.md +32 -0
  390. package/skills/system-geofeed-tuner.md +865 -0
  391. package/skills/system-iot-anomalies.md +15 -0
  392. package/skills/system-iot-firmware.md +16 -0
  393. package/skills/system-iot-fleet.md +14 -0
  394. package/skills/system-iot-register.md +19 -0
  395. package/skills/system-iot-witness-verify.md +15 -0
  396. package/skills/system-tmux.md +171 -0
  397. package/skills/system-window-management.md +228 -0
  398. package/skills/task-management.md +90 -0
  399. package/skills/tasks.md +102 -0
  400. package/skills/test-coverage.md +188 -0
  401. package/skills/ux-ui.md +128 -0
  402. package/skills/web.md +186 -0
  403. package/skills/workflow-act-on-feedback.md +15 -0
  404. package/skills/workflow-automate-this.md +245 -0
  405. package/skills/workflow-autoresearch.md +276 -0
  406. package/skills/workflow-coding-agent.md +317 -0
  407. package/skills/workflow-deep-research.md +44 -0
  408. package/skills/workflow-dispatching-parallel-agents.md +183 -0
  409. package/skills/workflow-eval-driven-dev.md +148 -0
  410. package/skills/workflow-executing-plans.md +71 -0
  411. package/skills/workflow-mentoring-juniors.md +311 -0
  412. package/skills/workflow-receiving-code-review.md +214 -0
  413. package/skills/workflow-repo-story-time.md +155 -0
  414. package/skills/workflow-requesting-code-review.md +104 -0
  415. package/skills/workflow-session-report.md +43 -0
  416. package/skills/workflow-structured-autonomy-generate.md +126 -0
  417. package/skills/workflow-subagent-driven-development.md +280 -0
  418. package/skills/writing.md +106 -0
  419. package/src/agent.js +0 -0
  420. package/src/browser.js +297 -0
  421. package/src/cli.js +25 -4
  422. package/src/code-reviewer.js +119 -0
  423. package/src/completions.js +1 -1
  424. package/src/control.js +222 -30
  425. package/src/coordinator.js +303 -0
  426. package/src/correction.js +29 -8
  427. package/src/edit-tracker.js +21 -0
  428. package/src/edit-viewer.js +414 -0
  429. package/src/endpoints.js +64 -15
  430. package/src/index.js +45 -11
  431. package/src/llm.js +86 -2
  432. package/src/mcp-client.js +416 -0
  433. package/src/memory.js +182 -0
  434. package/src/planner.js +216 -0
  435. package/src/rules.js +90 -0
  436. package/src/self-commands.js +757 -0
  437. package/src/services/voice.js +10 -7
  438. package/src/session-search.js +427 -0
  439. package/src/session.js +487 -99
  440. package/src/shmakk-server.js +91 -0
  441. package/src/skills.js +410 -3
  442. package/src/subagent.js +4 -1
  443. package/src/system-prompt.js +13 -5
  444. package/src/task-file.js +114 -0
  445. package/src/taskClassifier.js +246 -0
  446. package/src/team.js +752 -0
  447. package/src/tools.js +142 -21
  448. package/src/web.js +35 -5
  449. package/src/workflows.js +261 -0
  450. package/src/workspace-index.js +25 -6
@@ -0,0 +1,369 @@
1
+ ---
2
+ name: web-design-reviewer
3
+ description: 'This skill enables visual inspection of websites running locally or remotely to identify and fix design issues. Triggers on requests like "review website design", "check the UI", "fix the layout", "find design problems". Detects issues with responsive design, accessibility, visual consistency, and layout breakage, then performs fixes at the source code level.'
4
+ category: frontend
5
+ ---
6
+
7
+ # Web Design Reviewer
8
+
9
+ This skill enables visual inspection and validation of website design quality, identifying and fixing issues at the source code level.
10
+
11
+ ## Scope of Application
12
+
13
+ - Static sites (HTML/CSS/JS)
14
+ - SPA frameworks such as React / Vue / Angular / Svelte
15
+ - Full-stack frameworks such as Next.js / Nuxt / SvelteKit
16
+ - CMS platforms such as WordPress / Drupal
17
+ - Any other web application
18
+
19
+ ## Prerequisites
20
+
21
+ ### Required
22
+
23
+ 1. **Target website must be running**
24
+ - Local development server (e.g., `http://localhost:3000`)
25
+ - Staging environment
26
+ - Production environment (for read-only reviews)
27
+
28
+ 2. **Browser automation must be available**
29
+ - Screenshot capture
30
+ - Page navigation
31
+ - DOM information retrieval
32
+
33
+ 3. **Access to source code (when making fixes)**
34
+ - Project must exist within the workspace
35
+
36
+ ## Workflow Overview
37
+
38
+ ```mermaid
39
+ flowchart TD
40
+ A[Step 1: Information Gathering] --> B[Step 2: Visual Inspection]
41
+ B --> C[Step 3: Issue Fixing]
42
+ C --> D[Step 4: Re-verification]
43
+ D --> E{Issues Remaining?}
44
+ E -->|Yes| B
45
+ E -->|No| F[Completion Report]
46
+ ```
47
+
48
+ ---
49
+
50
+ ## Step 1: Information Gathering Phase
51
+
52
+ ### 1.1 URL Confirmation
53
+
54
+ If the URL is not provided, ask the user:
55
+
56
+ > Please provide the URL of the website to review (e.g., `http://localhost:3000`)
57
+
58
+ ### 1.2 Understanding Project Structure
59
+
60
+ When making fixes, gather the following information:
61
+
62
+ | Item | Example Question |
63
+ |------|------------------|
64
+ | Framework | Are you using React / Vue / Next.js, etc.? |
65
+ | Styling Method | CSS / SCSS / Tailwind / CSS-in-JS, etc. |
66
+ | Source Location | Where are style files and components located? |
67
+ | Review Scope | Specific pages only or entire site? |
68
+
69
+ ### 1.3 Automatic Project Detection
70
+
71
+ Attempt automatic detection from files in the workspace:
72
+
73
+ ```
74
+ Detection targets:
75
+ ├── package.json → Framework and dependencies
76
+ ├── tsconfig.json → TypeScript usage
77
+ ├── tailwind.config → Tailwind CSS
78
+ ├── next.config → Next.js
79
+ ├── vite.config → Vite
80
+ ├── nuxt.config → Nuxt
81
+ └── src/ or app/ → Source directory
82
+ ```
83
+
84
+ ### 1.4 Identifying Styling Method
85
+
86
+ | Method | Detection | Edit Target |
87
+ |--------|-----------|-------------|
88
+ | Pure CSS | `*.css` files | Global CSS or component CSS |
89
+ | SCSS/Sass | `*.scss`, `*.sass` | SCSS files |
90
+ | CSS Modules | `*.module.css` | Module CSS files |
91
+ | Tailwind CSS | `tailwind.config.*` | className in components |
92
+ | styled-components | `styled.` in code | JS/TS files |
93
+ | Emotion | `@emotion/` imports | JS/TS files |
94
+ | CSS-in-JS (other) | Inline styles | JS/TS files |
95
+
96
+ ---
97
+
98
+ ## Step 2: Visual Inspection Phase
99
+
100
+ ### 2.1 Page Traversal
101
+
102
+ 1. Navigate to the specified URL
103
+ 2. Capture screenshots
104
+ 3. Retrieve DOM structure/snapshot (if possible)
105
+ 4. If additional pages exist, traverse through navigation
106
+
107
+ ### 2.2 Inspection Items
108
+
109
+ #### Layout Issues
110
+
111
+ | Issue | Description | Severity |
112
+ |-------|-------------|----------|
113
+ | Element Overflow | Content overflows from parent element or viewport | High |
114
+ | Element Overlap | Unintended overlapping of elements | High |
115
+ | Alignment Issues | Grid or flex alignment problems | Medium |
116
+ | Inconsistent Spacing | Padding/margin inconsistencies | Medium |
117
+ | Text Clipping | Long text not handled properly | Medium |
118
+
119
+ #### Responsive Issues
120
+
121
+ | Issue | Description | Severity |
122
+ |-------|-------------|----------|
123
+ | Non-mobile Friendly | Layout breaks on small screens | High |
124
+ | Breakpoint Issues | Unnatural transitions when screen size changes | Medium |
125
+ | Touch Targets | Buttons too small on mobile | Medium |
126
+
127
+ #### Accessibility Issues
128
+
129
+ | Issue | Description | Severity |
130
+ |-------|-------------|----------|
131
+ | Insufficient Contrast | Low contrast ratio between text and background | High |
132
+ | No Focus State | Cannot determine state during keyboard navigation | High |
133
+ | Missing alt Text | No alternative text for images | Medium |
134
+
135
+ #### Visual Consistency
136
+
137
+ | Issue | Description | Severity |
138
+ |-------|-------------|----------|
139
+ | Font Inconsistency | Mixed font families | Medium |
140
+ | Color Inconsistency | Non-unified brand colors | Medium |
141
+ | Spacing Inconsistency | Non-uniform spacing between similar elements | Low |
142
+
143
+ ### 2.3 Viewport Testing (Responsive)
144
+
145
+ Test at the following viewports:
146
+
147
+ | Name | Width | Representative Device |
148
+ |------|-------|----------------------|
149
+ | Mobile | 375px | iPhone SE/12 mini |
150
+ | Tablet | 768px | iPad |
151
+ | Desktop | 1280px | Standard PC |
152
+ | Wide | 1920px | Large display |
153
+
154
+ ---
155
+
156
+ ## Step 3: Issue Fixing Phase
157
+
158
+ ### 3.1 Issue Prioritization
159
+
160
+ ```mermaid
161
+ block-beta
162
+ columns 1
163
+ block:priority["Priority Matrix"]
164
+ P1["P1: Fix Immediately\n(Layout issues affecting functionality)"]
165
+ P2["P2: Fix Next\n(Visual issues degrading UX)"]
166
+ P3["P3: Fix If Possible\n(Minor visual inconsistencies)"]
167
+ end
168
+ ```
169
+
170
+ ### 3.2 Identifying Source Files
171
+
172
+ Identify source files from problematic elements:
173
+
174
+ 1. **Selector-based Search**
175
+ - Search codebase by class name or ID
176
+ - Explore style definitions with `grep_search`
177
+
178
+ 2. **Component-based Search**
179
+ - Identify components from element text or structure
180
+ - Explore related files with `semantic_search`
181
+
182
+ 3. **File Pattern Filtering**
183
+ ```
184
+ Style files: src/**/*.css, styles/**/*
185
+ Components: src/components/**/*
186
+ Pages: src/pages/**, app/**
187
+ ```
188
+
189
+ ### 3.3 Applying Fixes
190
+
191
+ #### Framework-specific Fix Guidelines
192
+
193
+ See [references/framework-fixes.md](references/framework-fixes.md) for details.
194
+
195
+ #### Fix Principles
196
+
197
+ 1. **Minimal Changes**: Only make the minimum changes necessary to resolve the issue
198
+ 2. **Respect Existing Patterns**: Follow existing code style in the project
199
+ 3. **Avoid Breaking Changes**: Be careful not to affect other areas
200
+ 4. **Add Comments**: Add comments to explain the reason for fixes where appropriate
201
+
202
+ ---
203
+
204
+ ## Step 4: Re-verification Phase
205
+
206
+ ### 4.1 Post-fix Confirmation
207
+
208
+ 1. Reload browser (or wait for development server HMR)
209
+ 2. Capture screenshots of fixed areas
210
+ 3. Compare before and after
211
+
212
+ ### 4.2 Regression Testing
213
+
214
+ - Verify that fixes haven't affected other areas
215
+ - Confirm responsive display is not broken
216
+
217
+ ### 4.3 Iteration Decision
218
+
219
+ ```mermaid
220
+ flowchart TD
221
+ A{Issues Remaining?}
222
+ A -->|Yes| B[Return to Step 2]
223
+ A -->|No| C[Proceed to Completion Report]
224
+ ```
225
+
226
+ **Iteration Limit**: If more than 3 fix attempts are needed for a specific issue, consult the user
227
+
228
+ ---
229
+
230
+ ## Output Format
231
+
232
+ ### Review Results Report
233
+
234
+ ```markdown
235
+ # Web Design Review Results
236
+
237
+ ## Summary
238
+
239
+ | Item | Value |
240
+ |------|-------|
241
+ | Target URL | {URL} |
242
+ | Framework | {Detected framework} |
243
+ | Styling | {CSS / Tailwind / etc.} |
244
+ | Tested Viewports | Desktop, Mobile |
245
+ | Issues Detected | {N} |
246
+ | Issues Fixed | {M} |
247
+
248
+ ## Detected Issues
249
+
250
+ ### [P1] {Issue Title}
251
+
252
+ - **Page**: {Page path}
253
+ - **Element**: {Selector or description}
254
+ - **Issue**: {Detailed description of the issue}
255
+ - **Fixed File**: `{File path}`
256
+ - **Fix Details**: {Description of changes}
257
+ - **Screenshot**: Before/After
258
+
259
+ ### [P2] {Issue Title}
260
+ ...
261
+
262
+ ## Unfixed Issues (if any)
263
+
264
+ ### {Issue Title}
265
+ - **Reason**: {Why it was not fixed/could not be fixed}
266
+ - **Recommended Action**: {Recommendations for user}
267
+
268
+ ## Recommendations
269
+
270
+ - {Suggestions for future improvements}
271
+ ```
272
+
273
+ ---
274
+
275
+ ## Required Capabilities
276
+
277
+ | Capability | Description | Required |
278
+ |------------|-------------|----------|
279
+ | Web Page Navigation | Access URLs, page transitions | ✅ |
280
+ | Screenshot Capture | Page image capture | ✅ |
281
+ | Image Analysis | Visual issue detection | ✅ |
282
+ | DOM Retrieval | Page structure retrieval | Recommended |
283
+ | File Read/Write | Source code reading and editing | Required for fixes |
284
+ | Code Search | Code search within project | Required for fixes |
285
+
286
+ ---
287
+
288
+ ## Reference Implementation
289
+
290
+ ### Implementation with Playwright MCP
291
+
292
+ [Playwright MCP](https://github.com/microsoft/playwright-mcp) is recommended as the reference implementation for this skill.
293
+
294
+ | Capability | Playwright MCP Tool | Purpose |
295
+ |------------|---------------------|---------|
296
+ | Navigation | `browser_navigate` | Access URLs |
297
+ | Snapshot | `browser_snapshot` | Retrieve DOM structure |
298
+ | Screenshot | `browser_take_screenshot` | Images for visual inspection |
299
+ | Click | `browser_click` | Interact with interactive elements |
300
+ | Resize | `browser_resize` | Responsive testing |
301
+ | Console | `browser_console_messages` | Detect JS errors |
302
+
303
+ #### Configuration Example (MCP Server)
304
+
305
+ ```json
306
+ {
307
+ "mcpServers": {
308
+ "playwright": {
309
+ "command": "npx",
310
+ "args": ["-y", "@playwright/mcp@latest", "--caps=vision"]
311
+ }
312
+ }
313
+ }
314
+ ```
315
+
316
+ ### Other Compatible Browser Automation Tools
317
+
318
+ | Tool | Features |
319
+ |------|----------|
320
+ | Selenium | Broad browser support, multi-language support |
321
+ | Puppeteer | Chrome/Chromium focused, Node.js |
322
+ | Cypress | Easy integration with E2E testing |
323
+ | WebDriver BiDi | Standardized next-generation protocol |
324
+
325
+ The same workflow can be implemented with these tools. As long as they provide the necessary capabilities (navigation, screenshot, DOM retrieval), the choice of tool is flexible.
326
+
327
+ ---
328
+
329
+ ## Best Practices
330
+
331
+ ### DO (Recommended)
332
+
333
+ - ✅ Always save screenshots before making fixes
334
+ - ✅ Fix one issue at a time and verify each
335
+ - ✅ Follow the project's existing code style
336
+ - ✅ Confirm with user before major changes
337
+ - ✅ Document fix details thoroughly
338
+
339
+ ### DON'T (Not Recommended)
340
+
341
+ - ❌ Large-scale refactoring without confirmation
342
+ - ❌ Ignoring design systems or brand guidelines
343
+ - ❌ Fixes that ignore performance
344
+ - ❌ Fixing multiple issues at once (difficult to verify)
345
+
346
+ ---
347
+
348
+ ## Troubleshooting
349
+
350
+ ### Problem: Style files not found
351
+
352
+ 1. Check dependencies in `package.json`
353
+ 2. Consider the possibility of CSS-in-JS
354
+ 3. Consider CSS generated at build time
355
+ 4. Ask user about styling method
356
+
357
+ ### Problem: Fixes not reflected
358
+
359
+ 1. Check if development server HMR is working
360
+ 2. Clear browser cache
361
+ 3. Rebuild if project requires build
362
+ 4. Check CSS specificity issues
363
+
364
+ ### Problem: Fixes affecting other areas
365
+
366
+ 1. Rollback changes
367
+ 2. Use more specific selectors
368
+ 3. Consider using CSS Modules or scoped styles
369
+ 4. Consult user to confirm impact scope
@@ -0,0 +1,202 @@
1
+ ---
2
+ name: web-perf
3
+ description: Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (FCP, LCP, TBT, CLS, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.
4
+ category: frontend
5
+ ---
6
+
7
+ # Web Performance Audit
8
+
9
+ Your knowledge of web performance metrics, thresholds, and tooling APIs may be outdated. **Prefer retrieval over pre-training** when citing specific numbers or recommendations.
10
+
11
+ ## Retrieval Sources
12
+
13
+ | Source | How to retrieve | Use for |
14
+ |--------|----------------|---------|
15
+ | web.dev | `https://web.dev/articles/vitals` | Core Web Vitals thresholds, definitions |
16
+ | Chrome DevTools docs | `https://developer.chrome.com/docs/devtools/performance` | Tooling APIs, trace analysis |
17
+ | Lighthouse scoring | `https://developer.chrome.com/docs/lighthouse/performance/performance-scoring` | Score weights, metric thresholds |
18
+
19
+ ## FIRST: Verify MCP Tools Available
20
+
21
+ **Run this before starting.** Try calling `navigate_page` or `performance_start_trace`. If unavailable, STOP—the chrome-devtools MCP server isn't configured.
22
+
23
+ Ask the user to add this to their MCP config:
24
+
25
+ ```json
26
+ "chrome-devtools": {
27
+ "type": "local",
28
+ "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
29
+ }
30
+ ```
31
+
32
+ ## Key Guidelines
33
+
34
+ - **Be assertive**: Verify claims by checking network requests, DOM, or codebase—then state findings definitively.
35
+ - **Verify before recommending**: Confirm something is unused before suggesting removal.
36
+ - **Quantify impact**: Use estimated savings from insights. Don't prioritize changes with 0ms impact.
37
+ - **Skip non-issues**: If render-blocking resources have 0ms estimated impact, note but don't recommend action.
38
+ - **Be specific**: Say "compress hero.png (450KB) to WebP" not "optimize images".
39
+ - **Prioritize ruthlessly**: A site with 200ms LCP and 0 CLS is already excellent—say so.
40
+
41
+ ## Quick Reference
42
+
43
+ | Task | Tool Call |
44
+ |------|-----------|
45
+ | Load page | `navigate_page(url: "...")` |
46
+ | Start trace | `performance_start_trace(autoStop: true, reload: true)` |
47
+ | Analyze insight | `performance_analyze_insight(insightSetId: "...", insightName: "...")` |
48
+ | List requests | `list_network_requests(resourceTypes: ["Script", "Stylesheet", ...])` |
49
+ | Request details | `get_network_request(reqid: <id>)` |
50
+ | A11y snapshot | `take_snapshot(verbose: true)` |
51
+
52
+ ## Workflow
53
+
54
+ Copy this checklist to track progress:
55
+
56
+ ```
57
+ Audit Progress:
58
+ - [ ] Phase 1: Performance trace (navigate + record)
59
+ - [ ] Phase 2: Core Web Vitals analysis (includes CLS culprits)
60
+ - [ ] Phase 3: Network analysis
61
+ - [ ] Phase 4: Accessibility snapshot
62
+ - [ ] Phase 5: Codebase analysis (skip if third-party site)
63
+ ```
64
+
65
+ ### Phase 1: Performance Trace
66
+
67
+ 1. Navigate to the target URL:
68
+ ```
69
+ navigate_page(url: "<target-url>")
70
+ ```
71
+
72
+ 2. Start a performance trace with reload to capture cold-load metrics:
73
+ ```
74
+ performance_start_trace(autoStop: true, reload: true)
75
+ ```
76
+
77
+ 3. Wait for trace completion, then retrieve results.
78
+
79
+ **Troubleshooting:**
80
+ - If trace returns empty or fails, verify the page loaded correctly with `navigate_page` first
81
+ - If insight names don't match, inspect the trace response to list available insights
82
+
83
+ ### Phase 2: Core Web Vitals Analysis
84
+
85
+ Use `performance_analyze_insight` to extract key metrics.
86
+
87
+ **Note:** Insight names may vary across Chrome DevTools versions. If an insight name doesn't work, check the `insightSetId` from the trace response to discover available insights.
88
+
89
+ Common insight names:
90
+
91
+ | Metric | Insight Name | What to Look For |
92
+ |--------|--------------|------------------|
93
+ | LCP | `LCPBreakdown` | Time to largest contentful paint; breakdown of TTFB, resource load, render delay |
94
+ | CLS | `CLSCulprits` | Elements causing layout shifts (images without dimensions, injected content, font swaps) |
95
+ | Render Blocking | `RenderBlocking` | CSS/JS blocking first paint |
96
+ | Document Latency | `DocumentLatency` | Server response time issues |
97
+ | Network Dependencies | `NetworkRequestsDepGraph` | Request chains delaying critical resources |
98
+
99
+ Example:
100
+ ```
101
+ performance_analyze_insight(insightSetId: "<id-from-trace>", insightName: "LCPBreakdown")
102
+ ```
103
+
104
+ **Key thresholds (good/needs-improvement/poor):**
105
+ - TTFB: < 800ms / < 1.8s / > 1.8s
106
+ - FCP: < 1.8s / < 3s / > 3s
107
+ - LCP: < 2.5s / < 4s / > 4s
108
+ - INP: < 200ms / < 500ms / > 500ms
109
+ - TBT: < 200ms / < 600ms / > 600ms
110
+ - CLS: < 0.1 / < 0.25 / > 0.25
111
+ - Speed Index: < 3.4s / < 5.8s / > 5.8s
112
+
113
+ ### Phase 3: Network Analysis
114
+
115
+ List all network requests to identify optimization opportunities:
116
+ ```
117
+ list_network_requests(resourceTypes: ["Script", "Stylesheet", "Document", "Font", "Image"])
118
+ ```
119
+
120
+ **Look for:**
121
+
122
+ 1. **Render-blocking resources**: JS/CSS in `<head>` without `async`/`defer`/`media` attributes
123
+ 2. **Network chains**: Resources discovered late because they depend on other resources loading first (e.g., CSS imports, JS-loaded fonts)
124
+ 3. **Missing preloads**: Critical resources (fonts, hero images, key scripts) not preloaded
125
+ 4. **Caching issues**: Missing or weak `Cache-Control`, `ETag`, or `Last-Modified` headers
126
+ 5. **Large payloads**: Uncompressed or oversized JS/CSS bundles
127
+ 6. **Unused preconnects**: If flagged, verify by checking if ANY requests went to that origin. If zero requests, it's definitively unused—recommend removal. If requests exist but loaded late, the preconnect may still be valuable.
128
+
129
+ For detailed request info:
130
+ ```
131
+ get_network_request(reqid: <id>)
132
+ ```
133
+
134
+ ### Phase 4: Accessibility Snapshot
135
+
136
+ Take an accessibility tree snapshot:
137
+ ```
138
+ take_snapshot(verbose: true)
139
+ ```
140
+
141
+ **Flag high-level gaps:**
142
+ - Missing or duplicate ARIA IDs
143
+ - Elements with poor contrast ratios (check against WCAG AA: 4.5:1 for normal text, 3:1 for large text)
144
+ - Focus traps or missing focus indicators
145
+ - Interactive elements without accessible names
146
+
147
+ ## Phase 5: Codebase Analysis
148
+
149
+ **Skip if auditing a third-party site without codebase access.**
150
+
151
+ Analyze the codebase to understand where improvements can be made.
152
+
153
+ ### Detect Framework & Bundler
154
+
155
+ Search for configuration files to identify the stack:
156
+
157
+ | Tool | Config Files |
158
+ |------|--------------|
159
+ | Webpack | `webpack.config.js`, `webpack.*.js` |
160
+ | Vite | `vite.config.js`, `vite.config.ts` |
161
+ | Rollup | `rollup.config.js`, `rollup.config.mjs` |
162
+ | esbuild | `esbuild.config.js`, build scripts with `esbuild` |
163
+ | Parcel | `.parcelrc`, `package.json` (parcel field) |
164
+ | Next.js | `next.config.js`, `next.config.mjs` |
165
+ | Nuxt | `nuxt.config.js`, `nuxt.config.ts` |
166
+ | SvelteKit | `svelte.config.js` |
167
+ | Astro | `astro.config.mjs` |
168
+
169
+ Also check `package.json` for framework dependencies and build scripts.
170
+
171
+ ### Tree-Shaking & Dead Code
172
+
173
+ - **Webpack**: Check for `mode: 'production'`, `sideEffects` in package.json, `usedExports` optimization
174
+ - **Vite/Rollup**: Tree-shaking enabled by default; check for `treeshake` options
175
+ - **Look for**: Barrel files (`index.js` re-exports), large utility libraries imported wholesale (lodash, moment)
176
+
177
+ ### Unused JS/CSS
178
+
179
+ - Check for CSS-in-JS vs. static CSS extraction
180
+ - Look for PurgeCSS/UnCSS configuration (Tailwind's `content` config)
181
+ - Identify dynamic imports vs. eager loading
182
+
183
+ ### Polyfills
184
+
185
+ - Check for `@babel/preset-env` targets and `useBuiltIns` setting
186
+ - Look for `core-js` imports (often oversized)
187
+ - Check `browserslist` config for overly broad targeting
188
+
189
+ ### Compression & Minification
190
+
191
+ - Check for `terser`, `esbuild`, or `swc` minification
192
+ - Look for gzip/brotli compression in build output or server config
193
+ - Check for source maps in production builds (should be external or disabled)
194
+
195
+ ## Output Format
196
+
197
+ Present findings as:
198
+
199
+ 1. **Core Web Vitals Summary** - Table with metric, value, and rating (good/needs-improvement/poor)
200
+ 2. **Top Issues** - Prioritized list of problems with estimated impact (high/medium/low)
201
+ 3. **Recommendations** - Specific, actionable fixes with code snippets or config changes
202
+ 4. **Codebase Findings** - Framework/bundler detected, optimization opportunities (omit if no codebase access)
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: frontend
3
+ version: 1
4
+ category: frontend
5
+ ---
6
+
7
+ # Frontend Engineering
8
+
9
+ Build, review, and debug frontend code across React, Vue, Angular, Svelte, HTML/CSS, and TypeScript.
10
+
11
+ ## When to use this skill
12
+
13
+ - User is building or fixing UI components, pages, or layouts
14
+ - User mentions React, Vue, Angular, Svelte, Next.js, Nuxt, Astro, or similar
15
+ - User asks about state management (Redux, Zustand, Pinia, MobX)
16
+ - User wants to fix styling, layout, or responsiveness issues
17
+ - User mentions "component", "hook", "props", "CSS", "SCSS", "Tailwind"
18
+ - User asks about bundle size, lazy loading, or frontend performance
19
+ - User wants to improve accessibility (a11y) or keyboard navigation
20
+
21
+ ## Procedure
22
+
23
+ ### Step 1: Understand the stack
24
+
25
+ Before writing any code, check:
26
+ - What framework is in use? (package.json dependencies)
27
+ - What styling approach? (CSS modules, Tailwind, styled-components, SCSS, plain CSS)
28
+ - What state management? (Redux, Zustand, Context, Pinia, Vuex)
29
+ - What build tool? (Vite, webpack, Parcel, Turbopack)
30
+ - What TypeScript version and strictness?
31
+
32
+ ```bash
33
+ cat package.json | grep -E '"(react|vue|angular|svelte|next|nuxt|vite|webpack)"'
34
+ ```
35
+
36
+ ### Step 2: Inspect existing conventions
37
+
38
+ Match the patterns already in use — do not introduce a new pattern if one exists:
39
+ - Read 2–3 existing components before creating a new one
40
+ - Check how props are typed (interfaces vs. types, optional vs. required)
41
+ - Check how events/callbacks are named (onClick, handleClick, onSubmit)
42
+ - Check import paths and alias conventions
43
+
44
+ ### Step 3: Component design
45
+
46
+ - **Single responsibility**: each component does one thing. If it needs a title, a helper, break it up.
47
+ - **Props API**: prefer explicit over implicit. Avoid spreading `...rest` unless building a wrapper.
48
+ - **Co-location**: keep styles, tests, and types near the component they belong to.
49
+ - **Composition over configuration**: prefer composable children over complex prop-driven logic.
50
+
51
+ ### Step 4: Styling
52
+
53
+ - Never use inline styles for layout or theme values — use tokens or utility classes.
54
+ - Check for hardcoded pixel values that should reference spacing/typography tokens.
55
+ - Verify responsive breakpoints match the project's grid system.
56
+ - Test dark mode if the project supports it.
57
+
58
+ ### Step 5: Accessibility (a11y)
59
+
60
+ Every interactive element must:
61
+ - Be reachable via keyboard (Tab, Enter, Space, Escape)
62
+ - Have an accessible name (aria-label, aria-labelledby, or visible text)
63
+ - Have correct ARIA roles if using non-semantic elements
64
+ - Maintain visible focus state (no `outline: none` without alternative)
65
+
66
+ Color contrast: minimum 4.5:1 for normal text, 3:1 for large text (WCAG AA).
67
+
68
+ ### Step 6: Performance
69
+
70
+ Check for:
71
+ - Components re-rendering unnecessarily (missing `React.memo`, `useMemo`, `useCallback`)
72
+ - Large lists rendered without virtualization (use `react-virtual`, `vue-virtual-scroll`)
73
+ - Images without explicit width/height causing layout shift
74
+ - Heavy dependencies imported at the top level (use dynamic import for lazily needed code)
75
+ - Event listeners attached without cleanup in `useEffect`/`onUnmounted`
76
+
77
+ ### Step 7: Testing
78
+
79
+ For any new component, add at minimum:
80
+ - A smoke test (renders without crashing)
81
+ - A behavior test (key interaction works)
82
+ - An accessibility test (axe or jest-axe)
83
+
84
+ Check test coverage:
85
+ ```bash
86
+ npx jest --coverage --collectCoverageFrom='src/components/**' 2>&1 | tail -20
87
+ ```
88
+
89
+ ## Common patterns
90
+
91
+ ### React: data fetching with error/loading states
92
+ ```tsx
93
+ function UserProfile({ userId }: { userId: string }) {
94
+ const { data, isLoading, error } = useUser(userId);
95
+ if (isLoading) return <Skeleton />;
96
+ if (error) return <ErrorMessage error={error} />;
97
+ return <ProfileCard user={data} />;
98
+ }
99
+ ```
100
+
101
+ ### Vue 3: composable for async state
102
+ ```ts
103
+ export function useAsync<T>(fn: () => Promise<T>) {
104
+ const data = ref<T | null>(null);
105
+ const error = ref<Error | null>(null);
106
+ const loading = ref(false);
107
+ const execute = async () => {
108
+ loading.value = true;
109
+ try { data.value = await fn(); }
110
+ catch (e) { error.value = e as Error; }
111
+ finally { loading.value = false; }
112
+ };
113
+ return { data, error, loading, execute };
114
+ }
115
+ ```
116
+
117
+ ## Red flags to report
118
+
119
+ - `any` types in TypeScript without justification
120
+ - `dangerouslySetInnerHTML` or `v-html` with user-supplied content (XSS risk)
121
+ - Direct DOM manipulation inside framework components
122
+ - `useEffect` with missing or incorrect dependency arrays
123
+ - Global state mutated directly (not via store actions)
124
+ - Console logs left in production code
125
+ - Bundle importing entire libraries when only one function is needed (e.g., `import _ from 'lodash'`)