@heytherevibin/skillforge 0.2.1

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 (402) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/CODE_OF_CONDUCT.md +34 -0
  3. package/CONTRIBUTING.md +38 -0
  4. package/LICENSE +21 -0
  5. package/README.md +337 -0
  6. package/RELEASING.md +93 -0
  7. package/SECURITY.md +31 -0
  8. package/STRATEGY.md +26 -0
  9. package/bin/cli.js +547 -0
  10. package/lib/packs.js +184 -0
  11. package/package.json +38 -0
  12. package/python/app/__init__.py +0 -0
  13. package/python/app/__pycache__/__init__.cpython-312.pyc +0 -0
  14. package/python/app/__pycache__/auth.cpython-312.pyc +0 -0
  15. package/python/app/__pycache__/main.cpython-312.pyc +0 -0
  16. package/python/app/auth.py +63 -0
  17. package/python/app/cli.py +78 -0
  18. package/python/app/db_paths.py +26 -0
  19. package/python/app/events_cli.py +175 -0
  20. package/python/app/main.py +647 -0
  21. package/python/app/materialize.py +138 -0
  22. package/python/app/mcp_server.py +610 -0
  23. package/python/app/route_cli.py +117 -0
  24. package/python/requirements-dev.txt +1 -0
  25. package/python/requirements.txt +7 -0
  26. package/python/tests/test_db_paths.py +41 -0
  27. package/skills/accessibility/SKILL.md +145 -0
  28. package/skills/agent-architecture-audit/SKILL.md +256 -0
  29. package/skills/agent-eval/SKILL.md +144 -0
  30. package/skills/agent-harness-construction/SKILL.md +72 -0
  31. package/skills/agent-introspection-debugging/SKILL.md +152 -0
  32. package/skills/agent-payment-x402/SKILL.md +224 -0
  33. package/skills/agent-sort/SKILL.md +214 -0
  34. package/skills/agentic-engineering/SKILL.md +62 -0
  35. package/skills/agentic-os/SKILL.md +386 -0
  36. package/skills/ai-first-engineering/SKILL.md +50 -0
  37. package/skills/ai-regression-testing/SKILL.md +384 -0
  38. package/skills/android-clean-architecture/SKILL.md +338 -0
  39. package/skills/angular-developer/SKILL.md +153 -0
  40. package/skills/angular-developer/references/angular-animations.md +160 -0
  41. package/skills/angular-developer/references/angular-aria.md +410 -0
  42. package/skills/angular-developer/references/cli.md +86 -0
  43. package/skills/angular-developer/references/component-harnesses.md +59 -0
  44. package/skills/angular-developer/references/component-styling.md +91 -0
  45. package/skills/angular-developer/references/components.md +117 -0
  46. package/skills/angular-developer/references/creating-services.md +97 -0
  47. package/skills/angular-developer/references/data-resolvers.md +69 -0
  48. package/skills/angular-developer/references/define-routes.md +67 -0
  49. package/skills/angular-developer/references/defining-providers.md +72 -0
  50. package/skills/angular-developer/references/di-fundamentals.md +120 -0
  51. package/skills/angular-developer/references/e2e-testing.md +56 -0
  52. package/skills/angular-developer/references/effects.md +83 -0
  53. package/skills/angular-developer/references/hierarchical-injectors.md +43 -0
  54. package/skills/angular-developer/references/host-elements.md +80 -0
  55. package/skills/angular-developer/references/injection-context.md +63 -0
  56. package/skills/angular-developer/references/inputs.md +101 -0
  57. package/skills/angular-developer/references/linked-signal.md +59 -0
  58. package/skills/angular-developer/references/loading-strategies.md +61 -0
  59. package/skills/angular-developer/references/mcp.md +108 -0
  60. package/skills/angular-developer/references/navigate-to-routes.md +69 -0
  61. package/skills/angular-developer/references/outputs.md +86 -0
  62. package/skills/angular-developer/references/reactive-forms.md +122 -0
  63. package/skills/angular-developer/references/rendering-strategies.md +44 -0
  64. package/skills/angular-developer/references/resource.md +77 -0
  65. package/skills/angular-developer/references/route-animations.md +56 -0
  66. package/skills/angular-developer/references/route-guards.md +52 -0
  67. package/skills/angular-developer/references/router-lifecycle.md +45 -0
  68. package/skills/angular-developer/references/router-testing.md +87 -0
  69. package/skills/angular-developer/references/show-routes-with-outlets.md +68 -0
  70. package/skills/angular-developer/references/signal-forms.md +795 -0
  71. package/skills/angular-developer/references/signals-overview.md +94 -0
  72. package/skills/angular-developer/references/tailwind-css.md +69 -0
  73. package/skills/angular-developer/references/template-driven-forms.md +114 -0
  74. package/skills/angular-developer/references/testing-fundamentals.md +65 -0
  75. package/skills/api-connector-builder/SKILL.md +120 -0
  76. package/skills/api-design/SKILL.md +522 -0
  77. package/skills/architecture-decision-records/SKILL.md +178 -0
  78. package/skills/article-writing/SKILL.md +78 -0
  79. package/skills/automation-audit-ops/SKILL.md +141 -0
  80. package/skills/autonomous-agent-harness/SKILL.md +272 -0
  81. package/skills/autonomous-loops/SKILL.md +609 -0
  82. package/skills/backend-patterns/SKILL.md +560 -0
  83. package/skills/benchmark/SKILL.md +92 -0
  84. package/skills/blueprint/SKILL.md +104 -0
  85. package/skills/browser-qa/SKILL.md +86 -0
  86. package/skills/bun-runtime/SKILL.md +83 -0
  87. package/skills/canary-watch/SKILL.md +98 -0
  88. package/skills/carrier-relationship-management/SKILL.md +211 -0
  89. package/skills/cisco-ios-patterns/SKILL.md +163 -0
  90. package/skills/ck/SKILL.md +147 -0
  91. package/skills/ck/commands/forget.mjs +44 -0
  92. package/skills/ck/commands/info.mjs +24 -0
  93. package/skills/ck/commands/init.mjs +143 -0
  94. package/skills/ck/commands/list.mjs +40 -0
  95. package/skills/ck/commands/migrate.mjs +202 -0
  96. package/skills/ck/commands/resume.mjs +36 -0
  97. package/skills/ck/commands/save.mjs +210 -0
  98. package/skills/ck/commands/shared.mjs +387 -0
  99. package/skills/ck/hooks/session-start.mjs +224 -0
  100. package/skills/claude-devfleet/SKILL.md +103 -0
  101. package/skills/click-path-audit/SKILL.md +244 -0
  102. package/skills/clickhouse-io/SKILL.md +438 -0
  103. package/skills/code-tour/SKILL.md +235 -0
  104. package/skills/codebase-onboarding/SKILL.md +232 -0
  105. package/skills/coding-standards/SKILL.md +548 -0
  106. package/skills/compose-multiplatform-patterns/SKILL.md +298 -0
  107. package/skills/connections-optimizer/SKILL.md +188 -0
  108. package/skills/content-engine/SKILL.md +126 -0
  109. package/skills/content-hash-cache-pattern/SKILL.md +160 -0
  110. package/skills/context-budget/SKILL.md +134 -0
  111. package/skills/continuous-agent-loop/SKILL.md +44 -0
  112. package/skills/continuous-learning/SKILL.md +129 -0
  113. package/skills/continuous-learning/config.json +18 -0
  114. package/skills/continuous-learning/evaluate-session.sh +69 -0
  115. package/skills/continuous-learning-v2/SKILL.md +358 -0
  116. package/skills/continuous-learning-v2/agents/observer-loop.sh +322 -0
  117. package/skills/continuous-learning-v2/agents/observer.md +198 -0
  118. package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  119. package/skills/continuous-learning-v2/agents/start-observer.sh +248 -0
  120. package/skills/continuous-learning-v2/config.json +8 -0
  121. package/skills/continuous-learning-v2/hooks/observe.sh +476 -0
  122. package/skills/continuous-learning-v2/scripts/detect-project.sh +288 -0
  123. package/skills/continuous-learning-v2/scripts/instinct-cli.py +1519 -0
  124. package/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +31 -0
  125. package/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +62 -0
  126. package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +1018 -0
  127. package/skills/cost-aware-llm-pipeline/SKILL.md +182 -0
  128. package/skills/cost-tracking/SKILL.md +147 -0
  129. package/skills/council/SKILL.md +202 -0
  130. package/skills/cpp-coding-standards/SKILL.md +722 -0
  131. package/skills/cpp-testing/SKILL.md +323 -0
  132. package/skills/crosspost/SKILL.md +110 -0
  133. package/skills/csharp-testing/SKILL.md +320 -0
  134. package/skills/customer-billing-ops/SKILL.md +139 -0
  135. package/skills/customs-trade-compliance/SKILL.md +262 -0
  136. package/skills/dart-flutter-patterns/SKILL.md +562 -0
  137. package/skills/dashboard-builder/SKILL.md +108 -0
  138. package/skills/data-scraper-agent/SKILL.md +764 -0
  139. package/skills/database-migrations/SKILL.md +428 -0
  140. package/skills/deep-research/SKILL.md +158 -0
  141. package/skills/defi-amm-security/SKILL.md +166 -0
  142. package/skills/deployment-patterns/SKILL.md +426 -0
  143. package/skills/design-system/SKILL.md +81 -0
  144. package/skills/django-celery/SKILL.md +456 -0
  145. package/skills/django-patterns/SKILL.md +733 -0
  146. package/skills/django-security/SKILL.md +592 -0
  147. package/skills/django-tdd/SKILL.md +728 -0
  148. package/skills/django-verification/SKILL.md +468 -0
  149. package/skills/dmux-workflows/SKILL.md +190 -0
  150. package/skills/docker-patterns/SKILL.md +363 -0
  151. package/skills/documentation-lookup/SKILL.md +89 -0
  152. package/skills/dotnet-patterns/SKILL.md +320 -0
  153. package/skills/e2e-testing/SKILL.md +325 -0
  154. package/skills/email-ops/SKILL.md +120 -0
  155. package/skills/energy-procurement/SKILL.md +227 -0
  156. package/skills/enterprise-agent-ops/SKILL.md +49 -0
  157. package/skills/error-handling/SKILL.md +375 -0
  158. package/skills/eval-harness/SKILL.md +269 -0
  159. package/skills/evm-token-decimals/SKILL.md +130 -0
  160. package/skills/exa-search/SKILL.md +106 -0
  161. package/skills/fal-ai-media/SKILL.md +287 -0
  162. package/skills/fastapi-patterns/SKILL.md +327 -0
  163. package/skills/finance-billing-ops/SKILL.md +126 -0
  164. package/skills/flox-environments/SKILL.md +496 -0
  165. package/skills/flutter-dart-code-review/SKILL.md +434 -0
  166. package/skills/foundation-models-on-device/SKILL.md +243 -0
  167. package/skills/frontend-design-direction/SKILL.md +92 -0
  168. package/skills/frontend-patterns/SKILL.md +641 -0
  169. package/skills/frontend-slides/SKILL.md +183 -0
  170. package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
  171. package/skills/frontend-slides/animation-patterns.md +122 -0
  172. package/skills/frontend-slides/html-template.md +419 -0
  173. package/skills/frontend-slides/scripts/export-pdf.sh +418 -0
  174. package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  175. package/skills/frontend-slides/viewport-base.css +153 -0
  176. package/skills/fsharp-testing/SKILL.md +279 -0
  177. package/skills/gan-style-harness/SKILL.md +278 -0
  178. package/skills/gateguard/SKILL.md +125 -0
  179. package/skills/git-workflow/SKILL.md +714 -0
  180. package/skills/github-ops/SKILL.md +143 -0
  181. package/skills/golang-patterns/SKILL.md +673 -0
  182. package/skills/golang-testing/SKILL.md +719 -0
  183. package/skills/google-workspace-ops/SKILL.md +94 -0
  184. package/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  185. package/skills/healthcare-emr-patterns/SKILL.md +159 -0
  186. package/skills/healthcare-eval-harness/SKILL.md +207 -0
  187. package/skills/healthcare-phi-compliance/SKILL.md +145 -0
  188. package/skills/hermes-imports/SKILL.md +87 -0
  189. package/skills/hexagonal-architecture/SKILL.md +275 -0
  190. package/skills/hipaa-compliance/SKILL.md +78 -0
  191. package/skills/homelab-network-readiness/SKILL.md +169 -0
  192. package/skills/homelab-network-setup/SKILL.md +129 -0
  193. package/skills/homelab-pihole-dns/SKILL.md +274 -0
  194. package/skills/homelab-vlan-segmentation/SKILL.md +311 -0
  195. package/skills/homelab-wireguard-vpn/SKILL.md +305 -0
  196. package/skills/hookify-rules/SKILL.md +128 -0
  197. package/skills/inventory-demand-planning/SKILL.md +246 -0
  198. package/skills/investor-materials/SKILL.md +95 -0
  199. package/skills/investor-outreach/SKILL.md +90 -0
  200. package/skills/ios-icon-gen/SKILL.md +157 -0
  201. package/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
  202. package/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
  203. package/skills/iterative-retrieval/SKILL.md +209 -0
  204. package/skills/java-coding-standards/SKILL.md +382 -0
  205. package/skills/jira-integration/SKILL.md +292 -0
  206. package/skills/jpa-patterns/SKILL.md +150 -0
  207. package/skills/knowledge-ops/SKILL.md +153 -0
  208. package/skills/kotlin-coroutines-flows/SKILL.md +283 -0
  209. package/skills/kotlin-exposed-patterns/SKILL.md +718 -0
  210. package/skills/kotlin-ktor-patterns/SKILL.md +688 -0
  211. package/skills/kotlin-patterns/SKILL.md +710 -0
  212. package/skills/kotlin-testing/SKILL.md +823 -0
  213. package/skills/laravel-patterns/SKILL.md +414 -0
  214. package/skills/laravel-plugin-discovery/SKILL.md +228 -0
  215. package/skills/laravel-security/SKILL.md +284 -0
  216. package/skills/laravel-tdd/SKILL.md +282 -0
  217. package/skills/laravel-verification/SKILL.md +178 -0
  218. package/skills/lead-intelligence/SKILL.md +320 -0
  219. package/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  220. package/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  221. package/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  222. package/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  223. package/skills/liquid-glass-design/SKILL.md +279 -0
  224. package/skills/llm-trading-agent-security/SKILL.md +146 -0
  225. package/skills/logistics-exception-management/SKILL.md +221 -0
  226. package/skills/make-interfaces-feel-better/SKILL.md +151 -0
  227. package/skills/manim-video/SKILL.md +88 -0
  228. package/skills/manim-video/assets/network_graph_scene.py +52 -0
  229. package/skills/market-research/SKILL.md +74 -0
  230. package/skills/mcp-server-patterns/SKILL.md +68 -0
  231. package/skills/messages-ops/SKILL.md +103 -0
  232. package/skills/mle-workflow/SKILL.md +345 -0
  233. package/skills/motion-advanced/SKILL.md +596 -0
  234. package/skills/motion-foundations/SKILL.md +299 -0
  235. package/skills/motion-patterns/SKILL.md +435 -0
  236. package/skills/motion-ui/SKILL.md +574 -0
  237. package/skills/mysql-patterns/SKILL.md +411 -0
  238. package/skills/nanoclaw-repl/SKILL.md +32 -0
  239. package/skills/nestjs-patterns/SKILL.md +229 -0
  240. package/skills/netmiko-ssh-automation/SKILL.md +173 -0
  241. package/skills/network-bgp-diagnostics/SKILL.md +167 -0
  242. package/skills/network-config-validation/SKILL.md +210 -0
  243. package/skills/network-interface-health/SKILL.md +152 -0
  244. package/skills/nextjs-turbopack/SKILL.md +43 -0
  245. package/skills/nodejs-keccak256/SKILL.md +102 -0
  246. package/skills/nutrient-document-processing/SKILL.md +166 -0
  247. package/skills/nuxt4-patterns/SKILL.md +99 -0
  248. package/skills/openclaw-persona-forge/SKILL.md +288 -0
  249. package/skills/openclaw-persona-forge/gacha.py +224 -0
  250. package/skills/openclaw-persona-forge/gacha.sh +5 -0
  251. package/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  252. package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  253. package/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  254. package/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  255. package/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  256. package/skills/openclaw-persona-forge/references/output-template.md +166 -0
  257. package/skills/opensource-pipeline/SKILL.md +254 -0
  258. package/skills/perl-patterns/SKILL.md +503 -0
  259. package/skills/perl-security/SKILL.md +502 -0
  260. package/skills/perl-testing/SKILL.md +474 -0
  261. package/skills/plan-orchestrate/SKILL.md +253 -0
  262. package/skills/plankton-code-quality/SKILL.md +236 -0
  263. package/skills/postgres-patterns/SKILL.md +146 -0
  264. package/skills/product-capability/SKILL.md +140 -0
  265. package/skills/product-lens/SKILL.md +91 -0
  266. package/skills/production-audit/SKILL.md +206 -0
  267. package/skills/production-scheduling/SKILL.md +237 -0
  268. package/skills/project-flow-ops/SKILL.md +110 -0
  269. package/skills/prompt-optimizer/SKILL.md +398 -0
  270. package/skills/python-patterns/SKILL.md +749 -0
  271. package/skills/python-testing/SKILL.md +815 -0
  272. package/skills/pytorch-patterns/SKILL.md +395 -0
  273. package/skills/quality-nonconformance/SKILL.md +259 -0
  274. package/skills/quarkus-patterns/SKILL.md +721 -0
  275. package/skills/quarkus-security/SKILL.md +466 -0
  276. package/skills/quarkus-tdd/SKILL.md +810 -0
  277. package/skills/quarkus-verification/SKILL.md +478 -0
  278. package/skills/ralphinho-rfc-pipeline/SKILL.md +66 -0
  279. package/skills/redis-patterns/SKILL.md +402 -0
  280. package/skills/regex-vs-llm-structured-text/SKILL.md +219 -0
  281. package/skills/remotion-video-creation/SKILL.md +43 -0
  282. package/skills/remotion-video-creation/rules/3d.md +86 -0
  283. package/skills/remotion-video-creation/rules/animations.md +29 -0
  284. package/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  285. package/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  286. package/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  287. package/skills/remotion-video-creation/rules/assets.md +78 -0
  288. package/skills/remotion-video-creation/rules/audio.md +172 -0
  289. package/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  290. package/skills/remotion-video-creation/rules/can-decode.md +75 -0
  291. package/skills/remotion-video-creation/rules/charts.md +58 -0
  292. package/skills/remotion-video-creation/rules/compositions.md +146 -0
  293. package/skills/remotion-video-creation/rules/display-captions.md +126 -0
  294. package/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  295. package/skills/remotion-video-creation/rules/fonts.md +152 -0
  296. package/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  297. package/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  298. package/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  299. package/skills/remotion-video-creation/rules/gifs.md +138 -0
  300. package/skills/remotion-video-creation/rules/images.md +130 -0
  301. package/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  302. package/skills/remotion-video-creation/rules/lottie.md +67 -0
  303. package/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  304. package/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  305. package/skills/remotion-video-creation/rules/sequencing.md +106 -0
  306. package/skills/remotion-video-creation/rules/tailwind.md +11 -0
  307. package/skills/remotion-video-creation/rules/text-animations.md +20 -0
  308. package/skills/remotion-video-creation/rules/timing.md +179 -0
  309. package/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  310. package/skills/remotion-video-creation/rules/transitions.md +122 -0
  311. package/skills/remotion-video-creation/rules/trimming.md +52 -0
  312. package/skills/remotion-video-creation/rules/videos.md +171 -0
  313. package/skills/repo-scan/SKILL.md +78 -0
  314. package/skills/research-ops/SKILL.md +111 -0
  315. package/skills/returns-reverse-logistics/SKILL.md +239 -0
  316. package/skills/rules-distill/SKILL.md +263 -0
  317. package/skills/rules-distill/scripts/scan-rules.sh +58 -0
  318. package/skills/rules-distill/scripts/scan-skills.sh +129 -0
  319. package/skills/rust-patterns/SKILL.md +498 -0
  320. package/skills/rust-testing/SKILL.md +499 -0
  321. package/skills/safety-guard/SKILL.md +74 -0
  322. package/skills/santa-method/SKILL.md +306 -0
  323. package/skills/scientific-db-pubmed-database/SKILL.md +175 -0
  324. package/skills/scientific-db-uspto-database/SKILL.md +177 -0
  325. package/skills/scientific-pkg-gget/SKILL.md +166 -0
  326. package/skills/scientific-thinking-literature-review/SKILL.md +192 -0
  327. package/skills/scientific-thinking-scholar-evaluation/SKILL.md +160 -0
  328. package/skills/search-first/SKILL.md +181 -0
  329. package/skills/security-bounty-hunter/SKILL.md +99 -0
  330. package/skills/security-review/SKILL.md +502 -0
  331. package/skills/security-review/cloud-infrastructure-security.md +361 -0
  332. package/skills/seo/SKILL.md +153 -0
  333. package/skills/skill-comply/SKILL.md +57 -0
  334. package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
  335. package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
  336. package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
  337. package/skills/skill-comply/prompts/classifier.md +24 -0
  338. package/skills/skill-comply/prompts/scenario_generator.md +62 -0
  339. package/skills/skill-comply/prompts/spec_generator.md +42 -0
  340. package/skills/skill-comply/pyproject.toml +15 -0
  341. package/skills/skill-comply/scripts/__init__.py +0 -0
  342. package/skills/skill-comply/scripts/classifier.py +85 -0
  343. package/skills/skill-comply/scripts/grader.py +124 -0
  344. package/skills/skill-comply/scripts/parser.py +107 -0
  345. package/skills/skill-comply/scripts/report.py +170 -0
  346. package/skills/skill-comply/scripts/run.py +127 -0
  347. package/skills/skill-comply/scripts/runner.py +186 -0
  348. package/skills/skill-comply/scripts/scenario_generator.py +70 -0
  349. package/skills/skill-comply/scripts/spec_generator.py +72 -0
  350. package/skills/skill-comply/scripts/utils.py +13 -0
  351. package/skills/skill-comply/tests/test_grader.py +197 -0
  352. package/skills/skill-comply/tests/test_parser.py +90 -0
  353. package/skills/skill-comply/tests/test_runner.py +172 -0
  354. package/skills/skill-scout/SKILL.md +139 -0
  355. package/skills/skill-stocktake/SKILL.md +193 -0
  356. package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  357. package/skills/skill-stocktake/scripts/save-results.sh +56 -0
  358. package/skills/skill-stocktake/scripts/scan.sh +170 -0
  359. package/skills/social-graph-ranker/SKILL.md +153 -0
  360. package/skills/springboot-patterns/SKILL.md +313 -0
  361. package/skills/springboot-security/SKILL.md +271 -0
  362. package/skills/springboot-tdd/SKILL.md +157 -0
  363. package/skills/springboot-verification/SKILL.md +230 -0
  364. package/skills/strategic-compact/SKILL.md +129 -0
  365. package/skills/strategic-compact/suggest-compact.sh +54 -0
  366. package/skills/swift-actor-persistence/SKILL.md +142 -0
  367. package/skills/swift-concurrency-6-2/SKILL.md +216 -0
  368. package/skills/swift-protocol-di-testing/SKILL.md +189 -0
  369. package/skills/swiftui-patterns/SKILL.md +259 -0
  370. package/skills/tdd-workflow/SKILL.md +462 -0
  371. package/skills/team-builder/SKILL.md +166 -0
  372. package/skills/terminal-ops/SKILL.md +108 -0
  373. package/skills/tinystruct-patterns/SKILL.md +130 -0
  374. package/skills/tinystruct-patterns/references/architecture.md +77 -0
  375. package/skills/tinystruct-patterns/references/data-handling.md +35 -0
  376. package/skills/tinystruct-patterns/references/routing.md +57 -0
  377. package/skills/tinystruct-patterns/references/system-usage.md +74 -0
  378. package/skills/tinystruct-patterns/references/testing.md +59 -0
  379. package/skills/token-budget-advisor/SKILL.md +133 -0
  380. package/skills/ui-demo/SKILL.md +464 -0
  381. package/skills/ui-to-vue/SKILL.md +134 -0
  382. package/skills/unified-notifications-ops/SKILL.md +186 -0
  383. package/skills/verification-loop/SKILL.md +125 -0
  384. package/skills/video-editing/SKILL.md +309 -0
  385. package/skills/videodb/SKILL.md +373 -0
  386. package/skills/videodb/reference/api-reference.md +550 -0
  387. package/skills/videodb/reference/capture-reference.md +407 -0
  388. package/skills/videodb/reference/capture.md +101 -0
  389. package/skills/videodb/reference/editor.md +443 -0
  390. package/skills/videodb/reference/generative.md +331 -0
  391. package/skills/videodb/reference/rtstream-reference.md +564 -0
  392. package/skills/videodb/reference/rtstream.md +65 -0
  393. package/skills/videodb/reference/search.md +230 -0
  394. package/skills/videodb/reference/streaming.md +406 -0
  395. package/skills/videodb/reference/use-cases.md +118 -0
  396. package/skills/videodb/scripts/ws_listener.py +282 -0
  397. package/skills/visa-doc-translate/README.md +86 -0
  398. package/skills/visa-doc-translate/SKILL.md +117 -0
  399. package/skills/vite-patterns/SKILL.md +448 -0
  400. package/skills/windows-desktop-e2e/SKILL.md +787 -0
  401. package/skills/workspace-surface-audit/SKILL.md +124 -0
  402. package/skills/x-api/SKILL.md +233 -0
@@ -0,0 +1,166 @@
1
+ ---
2
+ name: defi-amm-security
3
+ description: Security checklist for Solidity AMM contracts, liquidity pools, and swap flows. Covers reentrancy, CEI ordering, donation or inflation attacks, oracle manipulation, slippage, admin controls, and integer math.
4
+ origin: the toolset direct-port adaptation
5
+ version: "1.0.0"
6
+ ---
7
+
8
+ # DeFi AMM Security
9
+
10
+ Critical vulnerability patterns and hardened implementations for Solidity AMM contracts, LP vaults, and swap functions.
11
+
12
+ ## When to Use
13
+
14
+ - Writing or auditing a Solidity AMM or liquidity-pool contract
15
+ - Implementing swap, deposit, withdraw, mint, or burn flows that hold token balances
16
+ - Reviewing any contract that uses `token.balanceOf(address(this))` in share or reserve math
17
+ - Adding fee setters, pausers, oracle updates, or other admin functions to a DeFi protocol
18
+
19
+ ## How It Works
20
+
21
+ Use this as a checklist-plus-pattern library. Review every user entrypoint against the categories below and prefer the hardened examples over hand-rolled variants.
22
+
23
+ ## Execution Safety
24
+
25
+ The shell commands in this skill are local audit examples. Run them only in a trusted checkout or disposable sandbox, and do not splice untrusted contract names, paths, RPC URLs, private keys, or user-supplied flags into shell commands. Ask before installing tools or running long fuzzing/static-analysis jobs that may consume significant local or paid resources.
26
+
27
+ Never include secrets, private keys, seed phrases, API tokens, or mainnet signing credentials in command examples, logs, or reports.
28
+
29
+ ## Examples
30
+
31
+ ### Reentrancy: enforce CEI order
32
+
33
+ Vulnerable:
34
+
35
+ ```solidity
36
+ function withdraw(uint256 amount) external {
37
+ require(balances[msg.sender] >= amount);
38
+ token.transfer(msg.sender, amount);
39
+ balances[msg.sender] -= amount;
40
+ }
41
+ ```
42
+
43
+ Safe:
44
+
45
+ ```solidity
46
+ import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
47
+ import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
48
+
49
+ using SafeERC20 for IERC20;
50
+
51
+ function withdraw(uint256 amount) external nonReentrant {
52
+ require(balances[msg.sender] >= amount, "Insufficient");
53
+ balances[msg.sender] -= amount;
54
+ token.safeTransfer(msg.sender, amount);
55
+ }
56
+ ```
57
+
58
+ Do not write your own guard when a hardened library exists.
59
+
60
+ ### Donation or inflation attacks
61
+
62
+ Using `token.balanceOf(address(this))` directly for share math lets attackers manipulate the denominator by sending tokens to the contract outside the intended path.
63
+
64
+ ```solidity
65
+ // Vulnerable
66
+ function deposit(uint256 assets) external returns (uint256 shares) {
67
+ shares = (assets * totalShares) / token.balanceOf(address(this));
68
+ }
69
+ ```
70
+
71
+ ```solidity
72
+ // Safe
73
+ uint256 private _totalAssets;
74
+
75
+ function deposit(uint256 assets) external nonReentrant returns (uint256 shares) {
76
+ uint256 balBefore = token.balanceOf(address(this));
77
+ token.safeTransferFrom(msg.sender, address(this), assets);
78
+ uint256 received = token.balanceOf(address(this)) - balBefore;
79
+
80
+ shares = totalShares == 0 ? received : (received * totalShares) / _totalAssets;
81
+ _totalAssets += received;
82
+ totalShares += shares;
83
+ }
84
+ ```
85
+
86
+ Track internal accounting and measure actual tokens received.
87
+
88
+ ### Oracle manipulation
89
+
90
+ Spot prices are flash-loan manipulable. Prefer TWAP.
91
+
92
+ ```solidity
93
+ uint32[] memory secondsAgos = new uint32[](2);
94
+ secondsAgos[0] = 1800;
95
+ secondsAgos[1] = 0;
96
+ (int56[] memory tickCumulatives,) = IUniswapV3Pool(pool).observe(secondsAgos);
97
+ int24 twapTick = int24(
98
+ (tickCumulatives[1] - tickCumulatives[0]) / int56(uint56(30 minutes))
99
+ );
100
+ uint160 sqrtPriceX96 = TickMath.getSqrtRatioAtTick(twapTick);
101
+ ```
102
+
103
+ ### Slippage protection
104
+
105
+ Every swap path needs caller-provided slippage and a deadline.
106
+
107
+ ```solidity
108
+ function swap(
109
+ uint256 amountIn,
110
+ uint256 amountOutMin,
111
+ uint256 deadline
112
+ ) external returns (uint256 amountOut) {
113
+ require(block.timestamp <= deadline, "Expired");
114
+ amountOut = _calculateOut(amountIn);
115
+ require(amountOut >= amountOutMin, "Slippage exceeded");
116
+ _executeSwap(amountIn, amountOut);
117
+ }
118
+ ```
119
+
120
+ ### Safe reserve math
121
+
122
+ ```solidity
123
+ import {FullMath} from "@uniswap/v3-core/contracts/libraries/FullMath.sol";
124
+
125
+ uint256 result = FullMath.mulDiv(a, b, c);
126
+ ```
127
+
128
+ For large reserve math, avoid naive `a * b / c` when overflow risk exists.
129
+
130
+ ### Admin controls
131
+
132
+ ```solidity
133
+ import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
134
+
135
+ contract MyAMM is Ownable2Step {
136
+ function setFee(uint256 fee) external onlyOwner { ... }
137
+ function pause() external onlyOwner { ... }
138
+ }
139
+ ```
140
+
141
+ Prefer explicit acceptance for ownership transfer and gate every privileged path.
142
+
143
+ ## Security Checklist
144
+
145
+ - Reentrancy-exposed entrypoints use `nonReentrant`
146
+ - CEI ordering is respected
147
+ - Share math does not depend on raw `balanceOf(address(this))`
148
+ - ERC-20 transfers use `SafeERC20`
149
+ - Deposits measure actual tokens received
150
+ - Oracle reads use TWAP or another manipulation-resistant source
151
+ - Swaps require `amountOutMin` and `deadline`
152
+ - Overflow-sensitive reserve math uses safe primitives like `mulDiv`
153
+ - Admin functions are access-controlled
154
+ - Emergency pause exists and is tested
155
+ - Static analysis and fuzzing are run before production
156
+
157
+ ## Audit Tools
158
+
159
+ ```bash
160
+ pip install slither-analyzer
161
+ slither . --exclude-dependencies
162
+
163
+ echidna-test . --contract YourAMM --config echidna.yaml
164
+
165
+ forge test --fuzz-runs 10000
166
+ ```
@@ -0,0 +1,426 @@
1
+ ---
2
+ name: deployment-patterns
3
+ description: Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications.
4
+ ---
5
+
6
+ # Deployment Patterns
7
+
8
+ Production deployment workflows and CI/CD best practices.
9
+
10
+ ## When to Activate
11
+
12
+ - Setting up CI/CD pipelines
13
+ - Dockerizing an application
14
+ - Planning deployment strategy (blue-green, canary, rolling)
15
+ - Implementing health checks and readiness probes
16
+ - Preparing for a production release
17
+ - Configuring environment-specific settings
18
+
19
+ ## Deployment Strategies
20
+
21
+ ### Rolling Deployment (Default)
22
+
23
+ Replace instances gradually — old and new versions run simultaneously during rollout.
24
+
25
+ ```
26
+ Instance 1: v1 → v2 (update first)
27
+ Instance 2: v1 (still running v1)
28
+ Instance 3: v1 (still running v1)
29
+
30
+ Instance 1: v2
31
+ Instance 2: v1 → v2 (update second)
32
+ Instance 3: v1
33
+
34
+ Instance 1: v2
35
+ Instance 2: v2
36
+ Instance 3: v1 → v2 (update last)
37
+ ```
38
+
39
+ **Pros:** Zero downtime, gradual rollout
40
+ **Cons:** Two versions run simultaneously — requires backward-compatible changes
41
+ **Use when:** Standard deployments, backward-compatible changes
42
+
43
+ ### Blue-Green Deployment
44
+
45
+ Run two identical environments. Switch traffic atomically.
46
+
47
+ ```
48
+ Blue (v1) ← traffic
49
+ Green (v2) idle, running new version
50
+
51
+ # After verification:
52
+ Blue (v1) idle (becomes standby)
53
+ Green (v2) ← traffic
54
+ ```
55
+
56
+ **Pros:** Instant rollback (switch back to blue), clean cutover
57
+ **Cons:** Requires 2x infrastructure during deployment
58
+ **Use when:** Critical services, zero-tolerance for issues
59
+
60
+ ### Canary Deployment
61
+
62
+ Route a small percentage of traffic to the new version first.
63
+
64
+ ```
65
+ v1: 95% of traffic
66
+ v2: 5% of traffic (canary)
67
+
68
+ # If metrics look good:
69
+ v1: 50% of traffic
70
+ v2: 50% of traffic
71
+
72
+ # Final:
73
+ v2: 100% of traffic
74
+ ```
75
+
76
+ **Pros:** Catches issues with real traffic before full rollout
77
+ **Cons:** Requires traffic splitting infrastructure, monitoring
78
+ **Use when:** High-traffic services, risky changes, feature flags
79
+
80
+ ## Docker
81
+
82
+ ### Multi-Stage Dockerfile (Node.js)
83
+
84
+ ```dockerfile
85
+ # Stage 1: Install dependencies
86
+ FROM node:22-alpine AS deps
87
+ WORKDIR /app
88
+ COPY package.json package-lock.json ./
89
+ RUN npm ci --production=false
90
+
91
+ # Stage 2: Build
92
+ FROM node:22-alpine AS builder
93
+ WORKDIR /app
94
+ COPY --from=deps /app/node_modules ./node_modules
95
+ COPY . .
96
+ RUN npm run build
97
+ RUN npm prune --production
98
+
99
+ # Stage 3: Production image
100
+ FROM node:22-alpine AS runner
101
+ WORKDIR /app
102
+
103
+ RUN addgroup -g 1001 -S appgroup && adduser -S appuser -u 1001
104
+ USER appuser
105
+
106
+ COPY --from=builder --chown=appuser:appgroup /app/node_modules ./node_modules
107
+ COPY --from=builder --chown=appuser:appgroup /app/dist ./dist
108
+ COPY --from=builder --chown=appuser:appgroup /app/package.json ./
109
+
110
+ ENV NODE_ENV=production
111
+ EXPOSE 3000
112
+
113
+ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
114
+ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1
115
+
116
+ CMD ["node", "dist/server.js"]
117
+ ```
118
+
119
+ ### Multi-Stage Dockerfile (Go)
120
+
121
+ ```dockerfile
122
+ FROM golang:1.22-alpine AS builder
123
+ WORKDIR /app
124
+ COPY go.mod go.sum ./
125
+ RUN go mod download
126
+ COPY . .
127
+ RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /server ./cmd/server
128
+
129
+ FROM alpine:3.19 AS runner
130
+ RUN apk --no-cache add ca-certificates
131
+ RUN adduser -D -u 1001 appuser
132
+ USER appuser
133
+
134
+ COPY --from=builder /server /server
135
+
136
+ EXPOSE 8080
137
+ HEALTHCHECK --interval=30s --timeout=3s CMD wget -qO- http://localhost:8080/health || exit 1
138
+ CMD ["/server"]
139
+ ```
140
+
141
+ ### Multi-Stage Dockerfile (Python/Django)
142
+
143
+ ```dockerfile
144
+ FROM python:3.12-slim AS builder
145
+ WORKDIR /app
146
+ RUN pip install --no-cache-dir uv
147
+ COPY requirements.txt .
148
+ RUN uv pip install --system --no-cache -r requirements.txt
149
+
150
+ FROM python:3.12-slim AS runner
151
+ WORKDIR /app
152
+
153
+ RUN useradd -r -u 1001 appuser
154
+ USER appuser
155
+
156
+ COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
157
+ COPY --from=builder /usr/local/bin /usr/local/bin
158
+ COPY . .
159
+
160
+ ENV PYTHONUNBUFFERED=1
161
+ EXPOSE 8000
162
+
163
+ HEALTHCHECK --interval=30s --timeout=3s CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health/')" || exit 1
164
+ CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "4"]
165
+ ```
166
+
167
+ ### Docker Best Practices
168
+
169
+ ```
170
+ # GOOD practices
171
+ - Use specific version tags (node:22-alpine, not node:latest)
172
+ - Multi-stage builds to minimize image size
173
+ - Run as non-root user
174
+ - Copy dependency files first (layer caching)
175
+ - Use .dockerignore to exclude node_modules, .git, tests
176
+ - Add HEALTHCHECK instruction
177
+ - Set resource limits in docker-compose or k8s
178
+
179
+ # BAD practices
180
+ - Running as root
181
+ - Using :latest tags
182
+ - Copying entire repo in one COPY layer
183
+ - Installing dev dependencies in production image
184
+ - Storing secrets in image (use env vars or secrets manager)
185
+ ```
186
+
187
+ ## CI/CD Pipeline
188
+
189
+ ### GitHub Actions (Standard Pipeline)
190
+
191
+ ```yaml
192
+ name: CI/CD
193
+
194
+ on:
195
+ push:
196
+ branches: [main]
197
+ pull_request:
198
+ branches: [main]
199
+
200
+ jobs:
201
+ test:
202
+ runs-on: ubuntu-latest
203
+ steps:
204
+ - uses: actions/checkout@v4
205
+ - uses: actions/setup-node@v4
206
+ with:
207
+ node-version: 22
208
+ cache: npm
209
+ - run: npm ci
210
+ - run: npm run lint
211
+ - run: npm run typecheck
212
+ - run: npm test -- --coverage
213
+ - uses: actions/upload-artifact@v4
214
+ if: always()
215
+ with:
216
+ name: coverage
217
+ path: coverage/
218
+
219
+ build:
220
+ needs: test
221
+ runs-on: ubuntu-latest
222
+ if: github.ref == 'refs/heads/main'
223
+ steps:
224
+ - uses: actions/checkout@v4
225
+ - uses: docker/setup-buildx-action@v3
226
+ - uses: docker/login-action@v3
227
+ with:
228
+ registry: ghcr.io
229
+ username: ${{ github.actor }}
230
+ password: ${{ secrets.GITHUB_TOKEN }}
231
+ - uses: docker/build-push-action@v5
232
+ with:
233
+ push: true
234
+ tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
235
+ cache-from: type=gha
236
+ cache-to: type=gha,mode=max
237
+
238
+ deploy:
239
+ needs: build
240
+ runs-on: ubuntu-latest
241
+ if: github.ref == 'refs/heads/main'
242
+ environment: production
243
+ steps:
244
+ - name: Deploy to production
245
+ run: |
246
+ # Platform-specific deployment command
247
+ # Railway: railway up
248
+ # Vercel: vercel --prod
249
+ # K8s: kubectl set image deployment/app app=ghcr.io/${{ github.repository }}:${{ github.sha }}
250
+ echo "Deploying ${{ github.sha }}"
251
+ ```
252
+
253
+ ### Pipeline Stages
254
+
255
+ ```
256
+ PR opened:
257
+ lint → typecheck → unit tests → integration tests → preview deploy
258
+
259
+ Merged to main:
260
+ lint → typecheck → unit tests → integration tests → build image → deploy staging → smoke tests → deploy production
261
+ ```
262
+
263
+ ## Health Checks
264
+
265
+ ### Health Check Endpoint
266
+
267
+ ```typescript
268
+ // Simple health check
269
+ app.get("/health", (req, res) => {
270
+ res.status(200).json({ status: "ok" });
271
+ });
272
+
273
+ // Detailed health check (for internal monitoring)
274
+ app.get("/health/detailed", async (req, res) => {
275
+ const checks = {
276
+ database: await checkDatabase(),
277
+ redis: await checkRedis(),
278
+ externalApi: await checkExternalApi(),
279
+ };
280
+
281
+ const allHealthy = Object.values(checks).every(c => c.status === "ok");
282
+
283
+ res.status(allHealthy ? 200 : 503).json({
284
+ status: allHealthy ? "ok" : "degraded",
285
+ timestamp: new Date().toISOString(),
286
+ version: process.env.APP_VERSION || "unknown",
287
+ uptime: process.uptime(),
288
+ checks,
289
+ });
290
+ });
291
+
292
+ async function checkDatabase(): Promise<HealthCheck> {
293
+ try {
294
+ await db.query("SELECT 1");
295
+ return { status: "ok", latency_ms: 2 };
296
+ } catch (err) {
297
+ return { status: "error", message: "Database unreachable" };
298
+ }
299
+ }
300
+ ```
301
+
302
+ ### Kubernetes Probes
303
+
304
+ ```yaml
305
+ livenessProbe:
306
+ httpGet:
307
+ path: /health
308
+ port: 3000
309
+ initialDelaySeconds: 10
310
+ periodSeconds: 30
311
+ failureThreshold: 3
312
+
313
+ readinessProbe:
314
+ httpGet:
315
+ path: /health
316
+ port: 3000
317
+ initialDelaySeconds: 5
318
+ periodSeconds: 10
319
+ failureThreshold: 2
320
+
321
+ startupProbe:
322
+ httpGet:
323
+ path: /health
324
+ port: 3000
325
+ initialDelaySeconds: 0
326
+ periodSeconds: 5
327
+ failureThreshold: 30 # 30 * 5s = 150s max startup time
328
+ ```
329
+
330
+ ## Environment Configuration
331
+
332
+ ### Twelve-Factor App Pattern
333
+
334
+ ```bash
335
+ # All config via environment variables — never in code
336
+ DATABASE_URL=postgres://user:pass@host:5432/db
337
+ REDIS_URL=redis://host:6379/0
338
+ API_KEY=${API_KEY} # injected by secrets manager
339
+ LOG_LEVEL=info
340
+ PORT=3000
341
+
342
+ # Environment-specific behavior
343
+ NODE_ENV=production # or staging, development
344
+ APP_ENV=production # explicit app environment
345
+ ```
346
+
347
+ ### Configuration Validation
348
+
349
+ ```typescript
350
+ import { z } from "zod";
351
+
352
+ const envSchema = z.object({
353
+ NODE_ENV: z.enum(["development", "staging", "production"]),
354
+ PORT: z.coerce.number().default(3000),
355
+ DATABASE_URL: z.string().url(),
356
+ REDIS_URL: z.string().url(),
357
+ JWT_SECRET: z.string().min(32),
358
+ LOG_LEVEL: z.enum(["debug", "info", "warn", "error"]).default("info"),
359
+ });
360
+
361
+ // Validate at startup — fail fast if config is wrong
362
+ export const env = envSchema.parse(process.env);
363
+ ```
364
+
365
+ ## Rollback Strategy
366
+
367
+ ### Instant Rollback
368
+
369
+ ```bash
370
+ # Docker/Kubernetes: point to previous image
371
+ kubectl rollout undo deployment/app
372
+
373
+ # Vercel: promote previous deployment
374
+ vercel rollback
375
+
376
+ # Railway: redeploy previous commit
377
+ railway up --commit <previous-sha>
378
+
379
+ # Database: rollback migration (if reversible)
380
+ npx prisma migrate resolve --rolled-back <migration-name>
381
+ ```
382
+
383
+ ### Rollback Checklist
384
+
385
+ - [ ] Previous image/artifact is available and tagged
386
+ - [ ] Database migrations are backward-compatible (no destructive changes)
387
+ - [ ] Feature flags can disable new features without deploy
388
+ - [ ] Monitoring alerts configured for error rate spikes
389
+ - [ ] Rollback tested in staging before production release
390
+
391
+ ## Production Readiness Checklist
392
+
393
+ Before any production deployment:
394
+
395
+ ### Application
396
+ - [ ] All tests pass (unit, integration, E2E)
397
+ - [ ] No hardcoded secrets in code or config files
398
+ - [ ] Error handling covers all edge cases
399
+ - [ ] Logging is structured (JSON) and does not contain PII
400
+ - [ ] Health check endpoint returns meaningful status
401
+
402
+ ### Infrastructure
403
+ - [ ] Docker image builds reproducibly (pinned versions)
404
+ - [ ] Environment variables documented and validated at startup
405
+ - [ ] Resource limits set (CPU, memory)
406
+ - [ ] Horizontal scaling configured (min/max instances)
407
+ - [ ] SSL/TLS enabled on all endpoints
408
+
409
+ ### Monitoring
410
+ - [ ] Application metrics exported (request rate, latency, errors)
411
+ - [ ] Alerts configured for error rate > threshold
412
+ - [ ] Log aggregation set up (structured logs, searchable)
413
+ - [ ] Uptime monitoring on health endpoint
414
+
415
+ ### Security
416
+ - [ ] Dependencies scanned for CVEs
417
+ - [ ] CORS configured for allowed origins only
418
+ - [ ] Rate limiting enabled on public endpoints
419
+ - [ ] Authentication and authorization verified
420
+ - [ ] Security headers set (CSP, HSTS, X-Frame-Options)
421
+
422
+ ### Operations
423
+ - [ ] Rollback plan documented and tested
424
+ - [ ] Database migration tested against production-sized data
425
+ - [ ] Runbook for common failure scenarios
426
+ - [ ] On-call rotation and escalation path defined
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: design-system
3
+ description: Use this skill to generate or audit design systems, check visual consistency, and review PRs that touch styling.
4
+ ---
5
+
6
+ # Design System — Generate & Audit Visual Systems
7
+
8
+ ## When to Use
9
+
10
+ - Starting a new project that needs a design system
11
+ - Auditing an existing codebase for visual consistency
12
+ - Before a redesign — understand what you have
13
+ - When the UI looks "off" but you can't pinpoint why
14
+ - Reviewing PRs that touch styling
15
+
16
+ ## How It Works
17
+
18
+ ### Mode 1: Generate Design System
19
+
20
+ Analyzes your codebase and generates a cohesive design system:
21
+
22
+ ```
23
+ 1. Scan CSS/Tailwind/styled-components for existing patterns
24
+ 2. Extract: colors, typography, spacing, border-radius, shadows, breakpoints
25
+ 3. Research 3 competitor sites for inspiration (via browser MCP)
26
+ 4. Propose a design token set (JSON + CSS custom properties)
27
+ 5. Generate DESIGN.md with rationale for each decision
28
+ 6. Create an interactive HTML preview page (self-contained, no deps)
29
+ ```
30
+
31
+ Output: `DESIGN.md` + `design-tokens.json` + `design-preview.html`
32
+
33
+ ### Mode 2: Visual Audit
34
+
35
+ Scores your UI across 10 dimensions (0-10 each):
36
+
37
+ ```
38
+ 1. Color consistency — are you using your palette or random hex values?
39
+ 2. Typography hierarchy — clear h1 > h2 > h3 > body > caption?
40
+ 3. Spacing rhythm — consistent scale (4px/8px/16px) or arbitrary?
41
+ 4. Component consistency — do similar elements look similar?
42
+ 5. Responsive behavior — fluid or broken at breakpoints?
43
+ 6. Dark mode — complete or half-done?
44
+ 7. Animation — purposeful or gratuitous?
45
+ 8. Accessibility — contrast ratios, focus states, touch targets
46
+ 9. Information density — cluttered or clean?
47
+ 10. Polish — hover states, transitions, loading states, empty states
48
+ ```
49
+
50
+ Each dimension gets a score, specific examples, and a fix with exact file:line.
51
+
52
+ ### Mode 3: AI Slop Detection
53
+
54
+ Identifies generic AI-generated design patterns:
55
+
56
+ ```
57
+ - Gratuitous gradients on everything
58
+ - Purple-to-blue defaults
59
+ - "Glass morphism" cards with no purpose
60
+ - Rounded corners on things that shouldn't be rounded
61
+ - Excessive animations on scroll
62
+ - Generic hero with centered text over stock gradient
63
+ - Sans-serif font stack with no personality
64
+ ```
65
+
66
+ ## Examples
67
+
68
+ **Generate for a SaaS app:**
69
+ ```
70
+ /design-system generate --style minimal --palette earth-tones
71
+ ```
72
+
73
+ **Audit existing UI:**
74
+ ```
75
+ /design-system audit --url http://localhost:3000 --pages / /pricing /docs
76
+ ```
77
+
78
+ **Check for AI slop:**
79
+ ```
80
+ /design-system slop-check
81
+ ```