@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,183 @@
1
+ ---
2
+ name: frontend-slides
3
+ description: Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
4
+ ---
5
+
6
+ # Frontend Slides
7
+
8
+ Create zero-dependency, animation-rich HTML presentations that run entirely in the browser.
9
+
10
+ Inspired by the visual exploration approach showcased in work by zarazhangrui (credit: @zarazhangrui).
11
+
12
+ ## When to Activate
13
+
14
+ - Creating a talk deck, pitch deck, workshop deck, or internal presentation
15
+ - Converting `.ppt` or `.pptx` slides into an HTML presentation
16
+ - Improving an existing HTML presentation's layout, motion, or typography
17
+ - Exploring presentation styles with a user who does not know their design preference yet
18
+
19
+ ## Non-Negotiables
20
+
21
+ 1. **Zero dependencies**: default to one self-contained HTML file with inline CSS and JS.
22
+ 2. **Viewport fit is mandatory**: every slide must fit inside one viewport with no internal scrolling.
23
+ 3. **Show, don't tell**: use visual previews instead of abstract style questionnaires.
24
+ 4. **Distinctive design**: avoid generic purple-gradient, Inter-on-white, template-looking decks.
25
+ 5. **Production quality**: keep code commented, accessible, responsive, and performant.
26
+
27
+ Before generating, read `STYLE_PRESETS.md` for the viewport-safe CSS base, density limits, preset catalog, and CSS gotchas.
28
+
29
+ ## Workflow
30
+
31
+ ### 1. Detect Mode
32
+
33
+ Choose one path:
34
+ - **New presentation**: user has a topic, notes, or full draft
35
+ - **PPT conversion**: user has `.ppt` or `.pptx`
36
+ - **Enhancement**: user already has HTML slides and wants improvements
37
+
38
+ ### 2. Discover Content
39
+
40
+ Ask only the minimum needed:
41
+ - purpose: pitch, teaching, conference talk, internal update
42
+ - length: short (5-10), medium (10-20), long (20+)
43
+ - content state: finished copy, rough notes, topic only
44
+
45
+ If the user has content, ask them to paste it before styling.
46
+
47
+ ### 3. Discover Style
48
+
49
+ Default to visual exploration.
50
+
51
+ If the user already knows the desired preset, skip previews and use it directly.
52
+
53
+ Otherwise:
54
+ 1. Ask what feeling the deck should create: impressed, energized, focused, inspired.
55
+ 2. Generate **3 single-slide preview files** in `.skillforge-design/slide-previews/`.
56
+ 3. Each preview must be self-contained, show typography/color/motion clearly, and stay under roughly 100 lines of slide content.
57
+ 4. Ask the user which preview to keep or what elements to mix.
58
+
59
+ Use the preset guide in `STYLE_PRESETS.md` when mapping mood to style.
60
+
61
+ ### 4. Build the Presentation
62
+
63
+ Output either:
64
+ - `presentation.html`
65
+ - `[presentation-name].html`
66
+
67
+ Use an `assets/` folder only when the deck contains extracted or user-supplied images.
68
+
69
+ Required structure:
70
+ - semantic slide sections
71
+ - a viewport-safe CSS base from `STYLE_PRESETS.md`
72
+ - CSS custom properties for theme values
73
+ - a presentation controller class for keyboard, wheel, and touch navigation
74
+ - Intersection Observer for reveal animations
75
+ - reduced-motion support
76
+
77
+ ### 5. Enforce Viewport Fit
78
+
79
+ Treat this as a hard gate.
80
+
81
+ Rules:
82
+ - every `.slide` must use `height: 100vh; height: 100dvh; overflow: hidden;`
83
+ - all type and spacing must scale with `clamp()`
84
+ - when content does not fit, split into multiple slides
85
+ - never solve overflow by shrinking text below readable sizes
86
+ - never allow scrollbars inside a slide
87
+
88
+ Use the density limits and mandatory CSS block in `STYLE_PRESETS.md`.
89
+
90
+ ### 6. Validate
91
+
92
+ Check the finished deck at these sizes:
93
+ - 1920x1080
94
+ - 1280x720
95
+ - 768x1024
96
+ - 375x667
97
+ - 667x375
98
+
99
+ If browser automation is available, use it to verify no slide overflows and that keyboard navigation works.
100
+
101
+ ### 7. Deliver
102
+
103
+ At handoff:
104
+ - delete temporary preview files unless the user wants to keep them
105
+ - open the deck with the platform-appropriate opener when useful
106
+ - summarize file path, preset used, slide count, and easy theme customization points
107
+
108
+ Use the correct opener for the current OS:
109
+ - macOS: `open file.html`
110
+ - Linux: `xdg-open file.html`
111
+ - Windows: `start "" file.html`
112
+
113
+ ## PPT / PPTX Conversion
114
+
115
+ For PowerPoint conversion:
116
+ 1. Prefer `python3` with `python-pptx` to extract text, images, and notes.
117
+ 2. If `python-pptx` is unavailable, ask whether to install it or fall back to a manual/export-based workflow.
118
+ 3. Preserve slide order, speaker notes, and extracted assets.
119
+ 4. After extraction, run the same style-selection workflow as a new presentation.
120
+
121
+ Keep conversion cross-platform. Do not rely on macOS-only tools when Python can do the job.
122
+
123
+ ## Implementation Requirements
124
+
125
+ ### HTML / CSS
126
+
127
+ - Use inline CSS and JS unless the user explicitly wants a multi-file project.
128
+ - Fonts may come from Google Fonts or Fontshare.
129
+ - Prefer atmospheric backgrounds, strong type hierarchy, and a clear visual direction.
130
+ - Use abstract shapes, gradients, grids, noise, and geometry rather than illustrations.
131
+
132
+ ### JavaScript
133
+
134
+ Include:
135
+ - keyboard navigation
136
+ - touch / swipe navigation
137
+ - mouse wheel navigation
138
+ - progress indicator or slide index
139
+ - reveal-on-enter animation triggers
140
+
141
+ ### Accessibility
142
+
143
+ - use semantic structure (`main`, `section`, `nav`)
144
+ - keep contrast readable
145
+ - support keyboard-only navigation
146
+ - respect `prefers-reduced-motion`
147
+
148
+ ## Content Density Limits
149
+
150
+ Use these maxima unless the user explicitly asks for denser slides and readability still holds:
151
+
152
+ | Slide type | Limit |
153
+ |------------|-------|
154
+ | Title | 1 heading + 1 subtitle + optional tagline |
155
+ | Content | 1 heading + 4-6 bullets or 2 short paragraphs |
156
+ | Feature grid | 6 cards max |
157
+ | Code | 8-10 lines max |
158
+ | Quote | 1 quote + attribution |
159
+ | Image | 1 image constrained by viewport |
160
+
161
+ ## Anti-Patterns
162
+
163
+ - generic startup gradients with no visual identity
164
+ - system-font decks unless intentionally editorial
165
+ - long bullet walls
166
+ - code blocks that need scrolling
167
+ - fixed-height content boxes that break on short screens
168
+ - invalid negated CSS functions like `-clamp(...)`
169
+
170
+ ## Related the toolset Skills
171
+
172
+ - `frontend-patterns` for component and interaction patterns around the deck
173
+ - `liquid-glass-design` when a presentation intentionally borrows Apple glass aesthetics
174
+ - `e2e-testing` if you need automated browser verification for the final deck
175
+
176
+ ## Deliverable Checklist
177
+
178
+ - presentation runs from a local file in a browser
179
+ - every slide fits the viewport without scrolling
180
+ - style is distinctive and intentional
181
+ - animation is meaningful, not noisy
182
+ - reduced motion is respected
183
+ - file paths and customization points are explained at handoff
@@ -0,0 +1,330 @@
1
+ # Style Presets Reference
2
+
3
+ Curated visual styles for `frontend-slides`.
4
+
5
+ Use this file for:
6
+ - the mandatory viewport-fitting CSS base
7
+ - preset selection and mood mapping
8
+ - CSS gotchas and validation rules
9
+
10
+ Abstract shapes only. Avoid illustrations unless the user explicitly asks for them.
11
+
12
+ ## Viewport Fit Is Non-Negotiable
13
+
14
+ Every slide must fully fit in one viewport.
15
+
16
+ ### Golden Rule
17
+
18
+ ```text
19
+ Each slide = exactly one viewport height.
20
+ Too much content = split into more slides.
21
+ Never scroll inside a slide.
22
+ ```
23
+
24
+ ### Density Limits
25
+
26
+ | Slide Type | Maximum Content |
27
+ |------------|-----------------|
28
+ | Title slide | 1 heading + 1 subtitle + optional tagline |
29
+ | Content slide | 1 heading + 4-6 bullets or 2 paragraphs |
30
+ | Feature grid | 6 cards maximum |
31
+ | Code slide | 8-10 lines maximum |
32
+ | Quote slide | 1 quote + attribution |
33
+ | Image slide | 1 image, ideally under 60vh |
34
+
35
+ ## Mandatory Base CSS
36
+
37
+ Copy this block into every generated presentation and then theme on top of it.
38
+
39
+ ```css
40
+ /* ===========================================
41
+ VIEWPORT FITTING: MANDATORY BASE STYLES
42
+ =========================================== */
43
+
44
+ html, body {
45
+ height: 100%;
46
+ overflow-x: hidden;
47
+ }
48
+
49
+ html {
50
+ scroll-snap-type: y mandatory;
51
+ scroll-behavior: smooth;
52
+ }
53
+
54
+ .slide {
55
+ width: 100vw;
56
+ height: 100vh;
57
+ height: 100dvh;
58
+ overflow: hidden;
59
+ scroll-snap-align: start;
60
+ display: flex;
61
+ flex-direction: column;
62
+ position: relative;
63
+ }
64
+
65
+ .slide-content {
66
+ flex: 1;
67
+ display: flex;
68
+ flex-direction: column;
69
+ justify-content: center;
70
+ max-height: 100%;
71
+ overflow: hidden;
72
+ padding: var(--slide-padding);
73
+ }
74
+
75
+ :root {
76
+ --title-size: clamp(1.5rem, 5vw, 4rem);
77
+ --h2-size: clamp(1.25rem, 3.5vw, 2.5rem);
78
+ --h3-size: clamp(1rem, 2.5vw, 1.75rem);
79
+ --body-size: clamp(0.75rem, 1.5vw, 1.125rem);
80
+ --small-size: clamp(0.65rem, 1vw, 0.875rem);
81
+
82
+ --slide-padding: clamp(1rem, 4vw, 4rem);
83
+ --content-gap: clamp(0.5rem, 2vw, 2rem);
84
+ --element-gap: clamp(0.25rem, 1vw, 1rem);
85
+ }
86
+
87
+ .card, .container, .content-box {
88
+ max-width: min(90vw, 1000px);
89
+ max-height: min(80vh, 700px);
90
+ }
91
+
92
+ .feature-list, .bullet-list {
93
+ gap: clamp(0.4rem, 1vh, 1rem);
94
+ }
95
+
96
+ .feature-list li, .bullet-list li {
97
+ font-size: var(--body-size);
98
+ line-height: 1.4;
99
+ }
100
+
101
+ .grid {
102
+ display: grid;
103
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
104
+ gap: clamp(0.5rem, 1.5vw, 1rem);
105
+ }
106
+
107
+ img, .image-container {
108
+ max-width: 100%;
109
+ max-height: min(50vh, 400px);
110
+ object-fit: contain;
111
+ }
112
+
113
+ @media (max-height: 700px) {
114
+ :root {
115
+ --slide-padding: clamp(0.75rem, 3vw, 2rem);
116
+ --content-gap: clamp(0.4rem, 1.5vw, 1rem);
117
+ --title-size: clamp(1.25rem, 4.5vw, 2.5rem);
118
+ --h2-size: clamp(1rem, 3vw, 1.75rem);
119
+ }
120
+ }
121
+
122
+ @media (max-height: 600px) {
123
+ :root {
124
+ --slide-padding: clamp(0.5rem, 2.5vw, 1.5rem);
125
+ --content-gap: clamp(0.3rem, 1vw, 0.75rem);
126
+ --title-size: clamp(1.1rem, 4vw, 2rem);
127
+ --body-size: clamp(0.7rem, 1.2vw, 0.95rem);
128
+ }
129
+
130
+ .nav-dots, .keyboard-hint, .decorative {
131
+ display: none;
132
+ }
133
+ }
134
+
135
+ @media (max-height: 500px) {
136
+ :root {
137
+ --slide-padding: clamp(0.4rem, 2vw, 1rem);
138
+ --title-size: clamp(1rem, 3.5vw, 1.5rem);
139
+ --h2-size: clamp(0.9rem, 2.5vw, 1.25rem);
140
+ --body-size: clamp(0.65rem, 1vw, 0.85rem);
141
+ }
142
+ }
143
+
144
+ @media (max-width: 600px) {
145
+ :root {
146
+ --title-size: clamp(1.25rem, 7vw, 2.5rem);
147
+ }
148
+
149
+ .grid {
150
+ grid-template-columns: 1fr;
151
+ }
152
+ }
153
+
154
+ @media (prefers-reduced-motion: reduce) {
155
+ *, *::before, *::after {
156
+ animation-duration: 0.01ms !important;
157
+ transition-duration: 0.2s !important;
158
+ }
159
+
160
+ html {
161
+ scroll-behavior: auto;
162
+ }
163
+ }
164
+ ```
165
+
166
+ ## Viewport Checklist
167
+
168
+ - every `.slide` has `height: 100vh`, `height: 100dvh`, and `overflow: hidden`
169
+ - all typography uses `clamp()`
170
+ - all spacing uses `clamp()` or viewport units
171
+ - images have `max-height` constraints
172
+ - grids adapt with `auto-fit` + `minmax()`
173
+ - short-height breakpoints exist at `700px`, `600px`, and `500px`
174
+ - if anything feels cramped, split the slide
175
+
176
+ ## Mood to Preset Mapping
177
+
178
+ | Mood | Good Presets |
179
+ |------|--------------|
180
+ | Impressed / Confident | Bold Signal, Electric Studio, Dark Botanical |
181
+ | Excited / Energized | Creative Voltage, Neon Cyber, Split Pastel |
182
+ | Calm / Focused | Notebook Tabs, Paper & Ink, Swiss Modern |
183
+ | Inspired / Moved | Dark Botanical, Vintage Editorial, Pastel Geometry |
184
+
185
+ ## Preset Catalog
186
+
187
+ ### 1. Bold Signal
188
+
189
+ - Vibe: confident, high-impact, keynote-ready
190
+ - Best for: pitch decks, launches, statements
191
+ - Fonts: Archivo Black + Space Grotesk
192
+ - Palette: charcoal base, hot orange focal card, crisp white text
193
+ - Signature: oversized section numbers, high-contrast card on dark field
194
+
195
+ ### 2. Electric Studio
196
+
197
+ - Vibe: clean, bold, agency-polished
198
+ - Best for: client presentations, strategic reviews
199
+ - Fonts: Manrope only
200
+ - Palette: black, white, saturated cobalt accent
201
+ - Signature: two-panel split and sharp editorial alignment
202
+
203
+ ### 3. Creative Voltage
204
+
205
+ - Vibe: energetic, retro-modern, playful confidence
206
+ - Best for: creative studios, brand work, product storytelling
207
+ - Fonts: Syne + Space Mono
208
+ - Palette: electric blue, neon yellow, deep navy
209
+ - Signature: halftone textures, badges, punchy contrast
210
+
211
+ ### 4. Dark Botanical
212
+
213
+ - Vibe: elegant, premium, atmospheric
214
+ - Best for: luxury brands, thoughtful narratives, premium product decks
215
+ - Fonts: Cormorant + IBM Plex Sans
216
+ - Palette: near-black, warm ivory, blush, gold, terracotta
217
+ - Signature: blurred abstract circles, fine rules, restrained motion
218
+
219
+ ### 5. Notebook Tabs
220
+
221
+ - Vibe: editorial, organized, tactile
222
+ - Best for: reports, reviews, structured storytelling
223
+ - Fonts: Bodoni Moda + DM Sans
224
+ - Palette: cream paper on charcoal with pastel tabs
225
+ - Signature: paper sheet, colored side tabs, binder details
226
+
227
+ ### 6. Pastel Geometry
228
+
229
+ - Vibe: approachable, modern, friendly
230
+ - Best for: product overviews, onboarding, lighter brand decks
231
+ - Fonts: Plus Jakarta Sans only
232
+ - Palette: pale blue field, cream card, soft pink/mint/lavender accents
233
+ - Signature: vertical pills, rounded cards, soft shadows
234
+
235
+ ### 7. Split Pastel
236
+
237
+ - Vibe: playful, modern, creative
238
+ - Best for: agency intros, workshops, portfolios
239
+ - Fonts: Outfit only
240
+ - Palette: peach + lavender split with mint badges
241
+ - Signature: split backdrop, rounded tags, light grid overlays
242
+
243
+ ### 8. Vintage Editorial
244
+
245
+ - Vibe: witty, personality-driven, magazine-inspired
246
+ - Best for: personal brands, opinionated talks, storytelling
247
+ - Fonts: Fraunces + Work Sans
248
+ - Palette: cream, charcoal, dusty warm accents
249
+ - Signature: geometric accents, bordered callouts, punchy serif headlines
250
+
251
+ ### 9. Neon Cyber
252
+
253
+ - Vibe: futuristic, techy, kinetic
254
+ - Best for: AI, infra, dev tools, future-of-X talks
255
+ - Fonts: Clash Display + Satoshi
256
+ - Palette: midnight navy, cyan, magenta
257
+ - Signature: glow, particles, grids, data-radar energy
258
+
259
+ ### 10. Terminal Green
260
+
261
+ - Vibe: developer-focused, hacker-clean
262
+ - Best for: APIs, CLI tools, engineering demos
263
+ - Fonts: JetBrains Mono only
264
+ - Palette: GitHub dark + terminal green
265
+ - Signature: scan lines, command-line framing, precise monospace rhythm
266
+
267
+ ### 11. Swiss Modern
268
+
269
+ - Vibe: minimal, precise, data-forward
270
+ - Best for: corporate, product strategy, analytics
271
+ - Fonts: Archivo + Nunito
272
+ - Palette: white, black, signal red
273
+ - Signature: visible grids, asymmetry, geometric discipline
274
+
275
+ ### 12. Paper & Ink
276
+
277
+ - Vibe: literary, thoughtful, story-driven
278
+ - Best for: essays, keynote narratives, manifesto decks
279
+ - Fonts: Cormorant Garamond + Source Serif 4
280
+ - Palette: warm cream, charcoal, crimson accent
281
+ - Signature: pull quotes, drop caps, elegant rules
282
+
283
+ ## Direct Selection Prompts
284
+
285
+ If the user already knows the style they want, let them pick directly from the preset names above instead of forcing preview generation.
286
+
287
+ ## Animation Feel Mapping
288
+
289
+ | Feeling | Motion Direction |
290
+ |---------|------------------|
291
+ | Dramatic / Cinematic | slow fades, parallax, large scale-ins |
292
+ | Techy / Futuristic | glow, particles, grid motion, scramble text |
293
+ | Playful / Friendly | springy easing, rounded shapes, floating motion |
294
+ | Professional / Corporate | subtle 200-300ms transitions, clean slides |
295
+ | Calm / Minimal | very restrained movement, whitespace-first |
296
+ | Editorial / Magazine | strong hierarchy, staggered text and image interplay |
297
+
298
+ ## CSS Gotcha: Negating Functions
299
+
300
+ Never write these:
301
+
302
+ ```css
303
+ right: -clamp(28px, 3.5vw, 44px);
304
+ margin-left: -min(10vw, 100px);
305
+ ```
306
+
307
+ Browsers ignore them silently.
308
+
309
+ Always write this instead:
310
+
311
+ ```css
312
+ right: calc(-1 * clamp(28px, 3.5vw, 44px));
313
+ margin-left: calc(-1 * min(10vw, 100px));
314
+ ```
315
+
316
+ ## Validation Sizes
317
+
318
+ Test at minimum:
319
+ - Desktop: `1920x1080`, `1440x900`, `1280x720`
320
+ - Tablet: `1024x768`, `768x1024`
321
+ - Mobile: `375x667`, `414x896`
322
+ - Landscape phone: `667x375`, `896x414`
323
+
324
+ ## Anti-Patterns
325
+
326
+ Do not use:
327
+ - purple-on-white startup templates
328
+ - Inter / Roboto / Arial as the visual voice unless the user explicitly wants utilitarian neutrality
329
+ - bullet walls, tiny type, or code blocks that require scrolling
330
+ - decorative illustrations when abstract geometry would do the job better
@@ -0,0 +1,122 @@
1
+ # Animation Patterns Reference
2
+
3
+ Use this reference when generating presentations. Match animations to the intended feeling.
4
+
5
+ ## Effect-to-Feeling Guide
6
+
7
+ | Feeling | Animations | Visual Cues |
8
+ |---------|-----------|-------------|
9
+ | **Dramatic / Cinematic** | Slow fade-ins (1-1.5s), large-scale transitions (0.9 to 1), parallax scrolling | Dark backgrounds, spotlight effects, full-bleed images |
10
+ | **Techy / Futuristic** | Neon glow (box-shadow), glitch/scramble text, grid reveals | Particle systems (canvas), grid patterns, monospace accents, cyan/magenta/electric blue |
11
+ | **Playful / Friendly** | Bouncy easing (spring physics), floating/bobbing | Rounded corners, pastel/bright colors, hand-drawn elements |
12
+ | **Professional / Corporate** | Subtle fast animations (200-300ms), clean slides | Navy/slate/charcoal, precise spacing, data visualization focus |
13
+ | **Calm / Minimal** | Very slow subtle motion, gentle fades | High whitespace, muted palette, serif typography, generous padding |
14
+ | **Editorial / Magazine** | Staggered text reveals, image-text interplay | Strong type hierarchy, pull quotes, grid-breaking layouts, serif headlines + sans body |
15
+
16
+ ## Entrance Animations
17
+
18
+ ```css
19
+ /* Fade + Slide Up (most versatile) */
20
+ .reveal {
21
+ opacity: 0;
22
+ transform: translateY(30px);
23
+ transition: opacity 0.6s var(--ease-out-expo),
24
+ transform 0.6s var(--ease-out-expo);
25
+ }
26
+ .visible .reveal {
27
+ opacity: 1;
28
+ transform: translateY(0);
29
+ }
30
+
31
+ /* Scale In */
32
+ .reveal-scale {
33
+ opacity: 0;
34
+ transform: scale(0.9);
35
+ transition: opacity 0.6s, transform 0.6s var(--ease-out-expo);
36
+ }
37
+ .visible .reveal-scale {
38
+ opacity: 1;
39
+ transform: scale(1);
40
+ }
41
+
42
+ /* Slide from Left */
43
+ .reveal-left {
44
+ opacity: 0;
45
+ transform: translateX(-50px);
46
+ transition: opacity 0.6s, transform 0.6s var(--ease-out-expo);
47
+ }
48
+ .visible .reveal-left {
49
+ opacity: 1;
50
+ transform: translateX(0);
51
+ }
52
+
53
+ /* Blur In */
54
+ .reveal-blur {
55
+ opacity: 0;
56
+ filter: blur(10px);
57
+ transition: opacity 0.8s, filter 0.8s var(--ease-out-expo);
58
+ }
59
+ .visible .reveal-blur {
60
+ opacity: 1;
61
+ filter: blur(0);
62
+ }
63
+ ```
64
+
65
+ ## Background Effects
66
+
67
+ ```css
68
+ /* Gradient Mesh — layered radial gradients for depth */
69
+ .gradient-bg {
70
+ background:
71
+ radial-gradient(ellipse at 20% 80%, rgba(120, 0, 255, 0.3) 0%, transparent 50%),
72
+ radial-gradient(ellipse at 80% 20%, rgba(0, 255, 200, 0.2) 0%, transparent 50%),
73
+ var(--bg-primary);
74
+ }
75
+
76
+ /* Noise Texture — inline SVG for grain */
77
+ .noise-bg {
78
+ background-image: url("data:image/svg+xml,..."); /* Inline SVG noise */
79
+ }
80
+
81
+ /* Grid Pattern — subtle structural lines */
82
+ .grid-bg {
83
+ background-image:
84
+ linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
85
+ linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
86
+ background-size: 50px 50px;
87
+ }
88
+ ```
89
+
90
+ ## Interactive Effects
91
+
92
+ ```javascript
93
+ /* 3D Tilt on Hover — adds depth to cards/panels */
94
+ class TiltEffect {
95
+ constructor(element) {
96
+ this.element = element;
97
+ this.element.style.transformStyle = 'preserve-3d';
98
+ this.element.style.perspective = '1000px';
99
+
100
+ this.element.addEventListener('mousemove', (e) => {
101
+ const rect = this.element.getBoundingClientRect();
102
+ const x = (e.clientX - rect.left) / rect.width - 0.5;
103
+ const y = (e.clientY - rect.top) / rect.height - 0.5;
104
+ this.element.style.transform = `rotateY(${x * 10}deg) rotateX(${-y * 10}deg)`;
105
+ });
106
+
107
+ this.element.addEventListener('mouseleave', () => {
108
+ this.element.style.transform = 'rotateY(0) rotateX(0)';
109
+ });
110
+ }
111
+ }
112
+ ```
113
+
114
+ ## Troubleshooting
115
+
116
+ | Problem | Fix |
117
+ |---------|-----|
118
+ | Fonts not loading | Check Fontshare/Google Fonts URL; ensure font names match in CSS |
119
+ | Animations not triggering | Verify Intersection Observer is running; check `.visible` class is being added |
120
+ | Scroll snap not working | Ensure `scroll-snap-type: y mandatory` on html; each slide needs `scroll-snap-align: start` |
121
+ | Mobile issues | Disable heavy effects at 768px breakpoint; test touch events; reduce particle count |
122
+ | Performance issues | Use `will-change` sparingly; prefer `transform`/`opacity` animations; throttle scroll handlers |