@ngxtm/devkit 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/init.js +23 -7
- package/cli/update.js +21 -6
- package/merged-commands/3d-web-experience.md +254 -0
- package/merged-commands/ab-test-setup.md +232 -0
- package/merged-commands/accessibility-compliance-accessibility-audit.md +42 -0
- package/merged-commands/active-directory-attacks.md +383 -0
- package/merged-commands/address-github-comments.md +55 -0
- package/merged-commands/aesthetic.md +134 -0
- package/merged-commands/agent-evaluation.md +64 -0
- package/merged-commands/agent-framework-azure-hosted-agents.md +332 -0
- package/merged-commands/agent-manager-skill.md +40 -0
- package/merged-commands/agent-memory-mcp.md +82 -0
- package/merged-commands/agent-memory-systems.md +67 -0
- package/merged-commands/agent-orchestration-improve-agent.md +349 -0
- package/merged-commands/agent-orchestration-multi-agent-optimize.md +239 -0
- package/merged-commands/agent-tool-builder.md +53 -0
- package/merged-commands/agile-product-owner.md +31 -0
- package/merged-commands/ai-agents-architect.md +90 -0
- package/merged-commands/ai-artist.md +75 -0
- package/merged-commands/ai-engineer.md +171 -0
- package/merged-commands/ai-multimodal.md +109 -0
- package/merged-commands/ai-product.md +54 -0
- package/merged-commands/ai-wrapper-product.md +273 -0
- package/merged-commands/airflow-dag-patterns.md +41 -0
- package/merged-commands/algolia-search.md +66 -0
- package/merged-commands/algorithmic-art.md +405 -0
- package/merged-commands/analytics-tracking.md +404 -0
- package/merged-commands/angular-architect.md +97 -0
- package/merged-commands/angular-migration.md +428 -0
- package/merged-commands/anti-reversing-techniques.md +42 -0
- package/merged-commands/api-design-principles.md +37 -0
- package/merged-commands/api-designer.md +101 -0
- package/merged-commands/api-documentation-generator.md +484 -0
- package/merged-commands/api-documenter.md +184 -0
- package/merged-commands/api-fuzzing-bug-bounty.md +433 -0
- package/merged-commands/api-patterns.md +81 -0
- package/merged-commands/api-security-best-practices.md +907 -0
- package/merged-commands/api-testing-observability-api-mock.md +46 -0
- package/merged-commands/app-builder.md +75 -0
- package/merged-commands/app-store-optimization.md +403 -0
- package/merged-commands/application-performance-performance-optimization.md +154 -0
- package/merged-commands/architect-review.md +174 -0
- package/merged-commands/architecture-decision-records.md +441 -0
- package/merged-commands/architecture-designer.md +89 -0
- package/merged-commands/architecture-patterns.md +37 -0
- package/merged-commands/architecture.md +55 -0
- package/merged-commands/arm-cortex-expert.md +306 -0
- package/merged-commands/artifacts-builder.md +74 -0
- package/merged-commands/ask-questions-if-underspecified.md +81 -0
- package/merged-commands/async-python-patterns.md +39 -0
- package/merged-commands/atlassian-mcp.md +100 -0
- package/merged-commands/attack-tree-construction.md +38 -0
- package/merged-commands/auth-implementation-patterns.md +39 -0
- package/merged-commands/automate-whatsapp.md +257 -0
- package/merged-commands/autonomous-agent-patterns.md +761 -0
- package/merged-commands/autonomous-agents.md +68 -0
- package/merged-commands/avalonia-layout-zafiro.md +59 -0
- package/merged-commands/avalonia-viewmodels-zafiro.md +29 -0
- package/merged-commands/avalonia-zafiro-development.md +29 -0
- package/merged-commands/aws-agentic-ai.md +117 -0
- package/merged-commands/aws-cdk-development.md +278 -0
- package/merged-commands/aws-cost-operations.md +317 -0
- package/merged-commands/aws-penetration-testing.md +405 -0
- package/merged-commands/aws-serverless-eda.md +757 -0
- package/merged-commands/aws-serverless.md +323 -0
- package/merged-commands/aws-skills.md +22 -0
- package/merged-commands/azd-deployment.md +296 -0
- package/merged-commands/azure-ai-agents-python.md +277 -0
- package/merged-commands/azure-ai-search-python.md +198 -0
- package/merged-commands/azure-ai-voicelive-skill.md +294 -0
- package/merged-commands/azure-functions.md +42 -0
- package/merged-commands/backend-architect.md +333 -0
- package/merged-commands/backend-dev-guidelines.md +342 -0
- package/merged-commands/backend-development-feature-development.md +180 -0
- package/merged-commands/backend-development.md +155 -0
- package/merged-commands/backend-security-coder.md +156 -0
- package/merged-commands/backtesting-frameworks.md +39 -0
- package/merged-commands/bash-defensive-patterns.md +43 -0
- package/merged-commands/bash-linux.md +199 -0
- package/merged-commands/bash-pro.md +310 -0
- package/merged-commands/bats-testing-patterns.md +34 -0
- package/merged-commands/bazel-build-optimization.md +397 -0
- package/merged-commands/beautiful-prose.md +22 -0
- package/merged-commands/behavioral-modes.md +242 -0
- package/merged-commands/best-practices.md +500 -0
- package/merged-commands/better-auth.md +204 -0
- package/merged-commands/billing-automation.md +42 -0
- package/merged-commands/binary-analysis-patterns.md +450 -0
- package/merged-commands/blockchain-developer.md +208 -0
- package/merged-commands/blockrun.md +292 -0
- package/merged-commands/brainstorming.md +230 -0
- package/merged-commands/brand-guidelines-anthropic.md +73 -0
- package/merged-commands/brand-guidelines-community.md +73 -0
- package/merged-commands/brand-guidelines.md +73 -0
- package/merged-commands/broken-authentication.md +476 -0
- package/merged-commands/browser-automation.md +70 -0
- package/merged-commands/browser-extension-builder.md +261 -0
- package/merged-commands/building-ai-agent-on-cloudflare.md +391 -0
- package/merged-commands/building-mcp-server-on-cloudflare.md +265 -0
- package/merged-commands/bullmq-specialist.md +57 -0
- package/merged-commands/bun-development.md +691 -0
- package/merged-commands/burp-suite-testing.md +380 -0
- package/merged-commands/business-analyst.md +182 -0
- package/merged-commands/busybox-on-windows.md +30 -0
- package/merged-commands/c-pro.md +56 -0
- package/merged-commands/c4-architecture-c4-architecture.md +389 -0
- package/merged-commands/c4-code.md +244 -0
- package/merged-commands/c4-component.md +153 -0
- package/merged-commands/c4-container.md +171 -0
- package/merged-commands/c4-context.md +150 -0
- package/merged-commands/canvas-design.md +130 -0
- package/merged-commands/cc-skill-backend-patterns.md +584 -0
- package/merged-commands/cc-skill-clickhouse-io.md +431 -0
- package/merged-commands/cc-skill-coding-standards.md +522 -0
- package/merged-commands/cc-skill-continuous-learning.md +10 -0
- package/merged-commands/cc-skill-frontend-patterns.md +633 -0
- package/merged-commands/cc-skill-project-guidelines-example.md +352 -0
- package/merged-commands/cc-skill-security-review.md +496 -0
- package/merged-commands/cc-skill-strategic-compact.md +10 -0
- package/merged-commands/changelog-automation.md +38 -0
- package/merged-commands/changelog-generator.md +104 -0
- package/merged-commands/chaos-engineer.md +98 -0
- package/merged-commands/chrome-devtools.md +407 -0
- package/merged-commands/cicd-automation-workflow-automate.md +51 -0
- package/merged-commands/clarity-gate.md +22 -0
- package/merged-commands/claude-ally-health.md +22 -0
- package/merged-commands/claude-code-guide.md +68 -0
- package/merged-commands/claude-d3js-skill.md +820 -0
- package/merged-commands/claude-scientific-skills.md +22 -0
- package/merged-commands/claude-speed-reader.md +22 -0
- package/merged-commands/claude-win11-speckit-update-skill.md +22 -0
- package/merged-commands/clean-code.md +201 -0
- package/merged-commands/clerk-auth.md +56 -0
- package/merged-commands/cli-developer.md +97 -0
- package/merged-commands/cloud-architect.md +135 -0
- package/merged-commands/cloud-penetration-testing.md +501 -0
- package/merged-commands/cloudflare-expert.md +227 -0
- package/merged-commands/code-documentation-code-explain.md +46 -0
- package/merged-commands/code-documentation-doc-generate.md +48 -0
- package/merged-commands/code-documentation.md +263 -0
- package/merged-commands/code-documenter.md +95 -0
- package/merged-commands/code-refactoring-context-restore.md +179 -0
- package/merged-commands/code-refactoring-refactor-clean.md +51 -0
- package/merged-commands/code-refactoring-tech-debt.md +386 -0
- package/merged-commands/code-refactoring.md +209 -0
- package/merged-commands/code-review-ai-ai-review.md +450 -0
- package/merged-commands/code-review-checklist.md +444 -0
- package/merged-commands/code-review-excellence.md +40 -0
- package/merged-commands/code-review.md +121 -0
- package/merged-commands/code-reviewer.md +178 -0
- package/merged-commands/codebase-cleanup-deps-audit.md +51 -0
- package/merged-commands/codebase-cleanup-refactor-clean.md +51 -0
- package/merged-commands/codebase-cleanup-tech-debt.md +386 -0
- package/merged-commands/codex-review.md +37 -0
- package/merged-commands/commit.md +171 -0
- package/merged-commands/competitive-ads-extractor.md +293 -0
- package/merged-commands/competitive-landscape.md +34 -0
- package/merged-commands/competitor-alternatives.md +750 -0
- package/merged-commands/comprehensive-review-full-review.md +146 -0
- package/merged-commands/comprehensive-review-pr-enhance.md +46 -0
- package/merged-commands/computer-use-agents.md +315 -0
- package/merged-commands/concise-planning.md +62 -0
- package/merged-commands/conductor-implement.md +388 -0
- package/merged-commands/conductor-manage.md +39 -0
- package/merged-commands/conductor-new-track.md +433 -0
- package/merged-commands/conductor-revert.md +372 -0
- package/merged-commands/conductor-setup.md +426 -0
- package/merged-commands/conductor-status.md +338 -0
- package/merged-commands/conductor-validator.md +62 -0
- package/merged-commands/content-creator.md +248 -0
- package/merged-commands/content-marketer.md +170 -0
- package/merged-commands/content-research-writer.md +538 -0
- package/merged-commands/context-compression.md +266 -0
- package/merged-commands/context-degradation.md +238 -0
- package/merged-commands/context-driven-development.md +400 -0
- package/merged-commands/context-engineering.md +107 -0
- package/merged-commands/context-fundamentals.md +192 -0
- package/merged-commands/context-management-context-restore.md +179 -0
- package/merged-commands/context-management-context-save.md +177 -0
- package/merged-commands/context-manager.md +185 -0
- package/merged-commands/context-optimization.md +186 -0
- package/merged-commands/context-window-management.md +53 -0
- package/merged-commands/context7-auto-research.md +36 -0
- package/merged-commands/conversation-memory.md +61 -0
- package/merged-commands/copy-editing.md +439 -0
- package/merged-commands/copywriting.md +225 -0
- package/merged-commands/core-components.md +264 -0
- package/merged-commands/cosmos-db-python-skill.md +198 -0
- package/merged-commands/cost-optimization.md +286 -0
- package/merged-commands/cpp-pro.md +59 -0
- package/merged-commands/cqrs-implementation.md +35 -0
- package/merged-commands/create-pr.md +192 -0
- package/merged-commands/crewai.md +243 -0
- package/merged-commands/csharp-developer.md +94 -0
- package/merged-commands/csharp-pro.md +59 -0
- package/merged-commands/culture-index.md +43 -0
- package/merged-commands/customer-support.md +170 -0
- package/merged-commands/daily-news-report.md +356 -0
- package/merged-commands/data-engineer.md +224 -0
- package/merged-commands/data-engineering-data-driven-feature.md +182 -0
- package/merged-commands/data-engineering-data-pipeline.md +201 -0
- package/merged-commands/data-quality-frameworks.md +40 -0
- package/merged-commands/data-scientist.md +199 -0
- package/merged-commands/data-storytelling.md +465 -0
- package/merged-commands/database-admin.md +165 -0
- package/merged-commands/database-architect.md +268 -0
- package/merged-commands/database-cloud-optimization-cost-optimize.md +44 -0
- package/merged-commands/database-design.md +52 -0
- package/merged-commands/database-migration.md +436 -0
- package/merged-commands/database-migrations-migration-observability.md +420 -0
- package/merged-commands/database-migrations-sql-migrations.md +53 -0
- package/merged-commands/database-optimizer.md +167 -0
- package/merged-commands/databases.md +232 -0
- package/merged-commands/dbt-transformation-patterns.md +34 -0
- package/merged-commands/debugger.md +49 -0
- package/merged-commands/debugging-strategies.md +34 -0
- package/merged-commands/debugging-toolkit-smart-debug.md +197 -0
- package/merged-commands/debugging-wizard.md +93 -0
- package/merged-commands/debugging.md +84 -0
- package/merged-commands/deep-research.md +114 -0
- package/merged-commands/defi-protocol-templates.md +466 -0
- package/merged-commands/dependency-management-deps-audit.md +44 -0
- package/merged-commands/dependency-upgrade.md +421 -0
- package/merged-commands/deployment-engineer.md +170 -0
- package/merged-commands/deployment-pipeline-design.md +371 -0
- package/merged-commands/deployment-procedures.md +241 -0
- package/merged-commands/deployment-validation-config-validate.md +496 -0
- package/merged-commands/design-md.md +178 -0
- package/merged-commands/design-orchestration.md +167 -0
- package/merged-commands/developer-growth-analysis.md +322 -0
- package/merged-commands/devops-engineer.md +92 -0
- package/merged-commands/devops-troubleshooter.md +161 -0
- package/merged-commands/devops.md +285 -0
- package/merged-commands/discord-bot-architect.md +277 -0
- package/merged-commands/dispatching-parallel-agents.md +180 -0
- package/merged-commands/distributed-debugging-debug-trace.md +44 -0
- package/merged-commands/distributed-tracing.md +450 -0
- package/merged-commands/django-expert.md +89 -0
- package/merged-commands/django-pro.md +180 -0
- package/merged-commands/doc-coauthoring.md +375 -0
- package/merged-commands/docker-expert.md +409 -0
- package/merged-commands/docs-architect.md +98 -0
- package/merged-commands/docs-seeker.md +102 -0
- package/merged-commands/documentation-generation-doc-generate.md +48 -0
- package/merged-commands/documentation-templates.md +194 -0
- package/merged-commands/docx-official.md +197 -0
- package/merged-commands/docx.md +197 -0
- package/merged-commands/domain-name-brainstormer.md +212 -0
- package/merged-commands/dotnet-architect.md +197 -0
- package/merged-commands/dotnet-backend-patterns.md +37 -0
- package/merged-commands/dotnet-core-expert.md +96 -0
- package/merged-commands/dx-optimizer.md +83 -0
- package/merged-commands/e2e-testing-patterns.md +41 -0
- package/merged-commands/elixir-pro.md +59 -0
- package/merged-commands/email-sequence.md +925 -0
- package/merged-commands/email-systems.md +54 -0
- package/merged-commands/embedded-systems.md +98 -0
- package/merged-commands/embedding-strategies.md +491 -0
- package/merged-commands/employment-contract-templates.md +39 -0
- package/merged-commands/environment-setup-guide.md +479 -0
- package/merged-commands/error-debugging-error-analysis.md +47 -0
- package/merged-commands/error-debugging-error-trace.md +43 -0
- package/merged-commands/error-debugging-multi-agent-review.md +216 -0
- package/merged-commands/error-detective.md +53 -0
- package/merged-commands/error-diagnostics-error-analysis.md +47 -0
- package/merged-commands/error-diagnostics-error-trace.md +48 -0
- package/merged-commands/error-diagnostics-smart-debug.md +197 -0
- package/merged-commands/error-handling-patterns.md +35 -0
- package/merged-commands/ethical-hacking-methodology.md +466 -0
- package/merged-commands/evaluation.md +238 -0
- package/merged-commands/event-sourcing-architect.md +58 -0
- package/merged-commands/event-store-design.md +449 -0
- package/merged-commands/exa-search.md +36 -0
- package/merged-commands/executing-plans.md +76 -0
- package/merged-commands/expo-app-design.md +22 -0
- package/merged-commands/expo-deployment.md +72 -0
- package/merged-commands/fal-audio.md +22 -0
- package/merged-commands/fal-generate.md +22 -0
- package/merged-commands/fal-image-edit.md +22 -0
- package/merged-commands/fal-platform.md +22 -0
- package/merged-commands/fal-upscale.md +22 -0
- package/merged-commands/fal-workflow.md +22 -0
- package/merged-commands/fastapi-expert.md +93 -0
- package/merged-commands/fastapi-pro.md +192 -0
- package/merged-commands/fastapi-router.md +52 -0
- package/merged-commands/fastapi-templates.md +32 -0
- package/merged-commands/feature-forge.md +90 -0
- package/merged-commands/ffuf-claude-skill.md +22 -0
- package/merged-commands/file-organizer.md +250 -0
- package/merged-commands/file-path-traversal.md +486 -0
- package/merged-commands/file-uploads.md +22 -0
- package/merged-commands/find-bugs.md +86 -0
- package/merged-commands/fine-tuning-expert.md +98 -0
- package/merged-commands/finishing-a-development-branch.md +200 -0
- package/merged-commands/firebase.md +56 -0
- package/merged-commands/firecrawl-scraper.md +37 -0
- package/merged-commands/firmware-analyst.md +320 -0
- package/merged-commands/fix-review.md +53 -0
- package/merged-commands/fixing.md +72 -0
- package/merged-commands/flutter-expert.md +200 -0
- package/merged-commands/form-cro.md +441 -0
- package/merged-commands/foundry-iq-agent.md +15 -0
- package/merged-commands/foundry-iq-python.md +275 -0
- package/merged-commands/foundry-nextgen-frontend.md +555 -0
- package/merged-commands/foundry-sdk-python.md +290 -0
- package/merged-commands/fp-ts-errors.md +856 -0
- package/merged-commands/fp-ts-pragmatic.md +598 -0
- package/merged-commands/fp-ts-react.md +796 -0
- package/merged-commands/framework-migration-code-migrate.md +48 -0
- package/merged-commands/framework-migration-deps-upgrade.md +48 -0
- package/merged-commands/framework-migration-legacy-modernize.md +132 -0
- package/merged-commands/free-tool-strategy.md +576 -0
- package/merged-commands/frontend-design.md +272 -0
- package/merged-commands/frontend-dev-guidelines.md +359 -0
- package/merged-commands/frontend-developer.md +171 -0
- package/merged-commands/frontend-development.md +399 -0
- package/merged-commands/frontend-mobile-development-component-scaffold.md +403 -0
- package/merged-commands/frontend-mobile-security-xss-scan.md +322 -0
- package/merged-commands/frontend-security-coder.md +170 -0
- package/merged-commands/frontend-slides.md +770 -0
- package/merged-commands/full-stack-orchestration-full-stack-feature.md +135 -0
- package/merged-commands/fullstack-guardian.md +99 -0
- package/merged-commands/game-developer.md +94 -0
- package/merged-commands/game-development.md +167 -0
- package/merged-commands/gcp-cloud-run.md +288 -0
- package/merged-commands/gdpr-data-handling.md +33 -0
- package/merged-commands/geo-fundamentals.md +156 -0
- package/merged-commands/git-advanced-workflows.md +412 -0
- package/merged-commands/git-pr-workflows-git-workflow.md +140 -0
- package/merged-commands/git-pr-workflows-onboard.md +416 -0
- package/merged-commands/git-pr-workflows-pr-enhance.md +48 -0
- package/merged-commands/git-pushing.md +33 -0
- package/merged-commands/github-actions-templates.md +345 -0
- package/merged-commands/github-workflow-automation.md +846 -0
- package/merged-commands/gitlab-ci-patterns.md +283 -0
- package/merged-commands/gitops-workflow.md +303 -0
- package/merged-commands/go-concurrency-patterns.md +33 -0
- package/merged-commands/godot-gdscript-patterns.md +33 -0
- package/merged-commands/golang-pro.md +179 -0
- package/merged-commands/google-adk-python.md +243 -0
- package/merged-commands/grafana-dashboards.md +381 -0
- package/merged-commands/graphql-architect.md +182 -0
- package/merged-commands/graphql.md +68 -0
- package/merged-commands/haskell-pro.md +56 -0
- package/merged-commands/helm-chart-scaffolding.md +34 -0
- package/merged-commands/hr-pro.md +126 -0
- package/merged-commands/html-injection-testing.md +498 -0
- package/merged-commands/hubspot-integration.md +42 -0
- package/merged-commands/hugging-face-cli.md +198 -0
- package/merged-commands/hugging-face-jobs.md +1038 -0
- package/merged-commands/hybrid-cloud-architect.md +168 -0
- package/merged-commands/hybrid-cloud-networking.md +238 -0
- package/merged-commands/hybrid-search-implementation.md +32 -0
- package/merged-commands/i18n-localization.md +154 -0
- package/merged-commands/idor-testing.md +442 -0
- package/merged-commands/image-enhancer.md +99 -0
- package/merged-commands/imagen.md +77 -0
- package/merged-commands/incident-responder.md +213 -0
- package/merged-commands/incident-response-incident-response.md +168 -0
- package/merged-commands/incident-response-smart-fix.md +29 -0
- package/merged-commands/incident-runbook-templates.md +395 -0
- package/merged-commands/infinite-gratitude.md +26 -0
- package/merged-commands/inngest.md +55 -0
- package/merged-commands/interactive-portfolio.md +223 -0
- package/merged-commands/internal-comms-anthropic.md +32 -0
- package/merged-commands/internal-comms-community.md +32 -0
- package/merged-commands/internal-comms.md +32 -0
- package/merged-commands/invoice-organizer.md +446 -0
- package/merged-commands/ios-developer.md +219 -0
- package/merged-commands/issue-creator.md +137 -0
- package/merged-commands/istio-traffic-management.md +337 -0
- package/merged-commands/iterate-pr.md +150 -0
- package/merged-commands/java-architect.md +95 -0
- package/merged-commands/java-pro.md +177 -0
- package/merged-commands/javascript-mastery.md +645 -0
- package/merged-commands/javascript-pro.md +57 -0
- package/merged-commands/javascript-testing-patterns.md +35 -0
- package/merged-commands/javascript-typescript-typescript-scaffold.md +361 -0
- package/merged-commands/javascript-typescript.md +142 -0
- package/merged-commands/jira-issues.md +181 -0
- package/merged-commands/job-application.md +90 -0
- package/merged-commands/julia-pro.md +209 -0
- package/merged-commands/k8s-manifest-generator.md +35 -0
- package/merged-commands/k8s-security-policies.md +346 -0
- package/merged-commands/kaizen.md +730 -0
- package/merged-commands/kotlin-specialist.md +94 -0
- package/merged-commands/kpi-dashboard-design.md +440 -0
- package/merged-commands/kubernetes-architect.md +170 -0
- package/merged-commands/kubernetes-specialist.md +117 -0
- package/merged-commands/langchain-architecture.md +350 -0
- package/merged-commands/langfuse.md +238 -0
- package/merged-commands/langgraph.md +287 -0
- package/merged-commands/laravel-specialist.md +101 -0
- package/merged-commands/last30days.md +421 -0
- package/merged-commands/launch-strategy.md +344 -0
- package/merged-commands/lead-research-assistant.md +199 -0
- package/merged-commands/learn.md +476 -0
- package/merged-commands/legacy-modernizer.md +53 -0
- package/merged-commands/legal-advisor.md +70 -0
- package/merged-commands/linear-claude-skill.md +543 -0
- package/merged-commands/linkerd-patterns.md +321 -0
- package/merged-commands/lint-and-validate.md +45 -0
- package/merged-commands/linux-privilege-escalation.md +504 -0
- package/merged-commands/linux-shell-scripting.md +504 -0
- package/merged-commands/llm-app-patterns.md +760 -0
- package/merged-commands/llm-application-dev-ai-assistant.md +35 -0
- package/merged-commands/llm-application-dev-langchain-agent.md +246 -0
- package/merged-commands/llm-application-dev-prompt-optimize.md +37 -0
- package/merged-commands/llm-application-dev.md +216 -0
- package/merged-commands/llm-evaluation.md +483 -0
- package/merged-commands/loki-mode.md +721 -0
- package/merged-commands/machine-learning-ops-ml-pipeline.md +314 -0
- package/merged-commands/makepad-skills.md +22 -0
- package/merged-commands/malware-analyst.md +247 -0
- package/merged-commands/markdown-novel-viewer.md +281 -0
- package/merged-commands/market-sizing-analysis.md +425 -0
- package/merged-commands/marketing-ideas.md +221 -0
- package/merged-commands/marketing-psychology.md +255 -0
- package/merged-commands/mcp-builder.md +236 -0
- package/merged-commands/mcp-developer.md +94 -0
- package/merged-commands/mcp-management.md +209 -0
- package/merged-commands/media-processing.md +358 -0
- package/merged-commands/meeting-insights-analyzer.md +327 -0
- package/merged-commands/memory-forensics.md +491 -0
- package/merged-commands/memory-safety-patterns.md +33 -0
- package/merged-commands/memory-systems.md +228 -0
- package/merged-commands/mermaid-expert.md +59 -0
- package/merged-commands/mermaidjs-v11.md +115 -0
- package/merged-commands/metasploit-framework.md +478 -0
- package/merged-commands/micro-saas-launcher.md +212 -0
- package/merged-commands/microservices-architect.md +102 -0
- package/merged-commands/microservices-patterns.md +35 -0
- package/merged-commands/minecraft-bukkit-pro.md +126 -0
- package/merged-commands/ml-engineer.md +168 -0
- package/merged-commands/ml-pipeline-workflow.md +257 -0
- package/merged-commands/ml-pipeline.md +111 -0
- package/merged-commands/mlops-engineer.md +219 -0
- package/merged-commands/mobile-design.md +284 -0
- package/merged-commands/mobile-developer.md +205 -0
- package/merged-commands/mobile-development.md +212 -0
- package/merged-commands/mobile-security-coder.md +184 -0
- package/merged-commands/modern-javascript-patterns.md +35 -0
- package/merged-commands/monitoring-expert.md +92 -0
- package/merged-commands/monorepo-architect.md +61 -0
- package/merged-commands/monorepo-management.md +35 -0
- package/merged-commands/moodle-external-api-development.md +597 -0
- package/merged-commands/mtls-configuration.md +359 -0
- package/merged-commands/multi-agent-brainstorming.md +256 -0
- package/merged-commands/multi-agent-patterns.md +262 -0
- package/merged-commands/multi-cloud-architecture.md +189 -0
- package/merged-commands/multi-platform-apps-multi-platform.md +203 -0
- package/merged-commands/n8n-code-python.md +750 -0
- package/merged-commands/n8n-mcp-tools-expert.md +654 -0
- package/merged-commands/n8n-node-configuration.md +796 -0
- package/merged-commands/nanobanana-ppt-skills.md +22 -0
- package/merged-commands/neon-postgres.md +56 -0
- package/merged-commands/nestjs-expert.md +552 -0
- package/merged-commands/network-101.md +342 -0
- package/merged-commands/network-engineer.md +169 -0
- package/merged-commands/nextjs-app-router-patterns.md +33 -0
- package/merged-commands/nextjs-best-practices.md +203 -0
- package/merged-commands/nextjs-developer.md +97 -0
- package/merged-commands/nextjs-supabase-auth.md +56 -0
- package/merged-commands/nft-standards.md +395 -0
- package/merged-commands/nodejs-backend-patterns.md +35 -0
- package/merged-commands/nodejs-best-practices.md +333 -0
- package/merged-commands/nosql-expert.md +111 -0
- package/merged-commands/notebooklm-skill.md +269 -0
- package/merged-commands/notebooklm.md +269 -0
- package/merged-commands/notion-template-business.md +216 -0
- package/merged-commands/nx-workspace-patterns.md +464 -0
- package/merged-commands/observability-engineer.md +237 -0
- package/merged-commands/observability-monitoring-monitor-setup.md +48 -0
- package/merged-commands/observability-monitoring-slo-implement.md +43 -0
- package/merged-commands/observe-whatsapp.md +109 -0
- package/merged-commands/obsidian-clipper-template-creator.md +64 -0
- package/merged-commands/on-call-handoff-patterns.md +453 -0
- package/merged-commands/onboarding-cro.md +433 -0
- package/merged-commands/openapi-spec-generation.md +33 -0
- package/merged-commands/page-cro.md +343 -0
- package/merged-commands/paid-ads.md +551 -0
- package/merged-commands/pandas-pro.md +96 -0
- package/merged-commands/parallel-agents.md +175 -0
- package/merged-commands/payment-integration.md +77 -0
- package/merged-commands/paypal-integration.md +479 -0
- package/merged-commands/paywall-upgrade-cro.md +570 -0
- package/merged-commands/pci-compliance.md +478 -0
- package/merged-commands/pdf-official.md +294 -0
- package/merged-commands/pdf.md +294 -0
- package/merged-commands/pentest-checklist.md +334 -0
- package/merged-commands/pentest-commands.md +438 -0
- package/merged-commands/performance-engineer.md +180 -0
- package/merged-commands/performance-profiling.md +143 -0
- package/merged-commands/performance-testing-review-ai-review.md +450 -0
- package/merged-commands/performance-testing-review-multi-agent-review.md +216 -0
- package/merged-commands/personal-tool-builder.md +289 -0
- package/merged-commands/php-pro.md +63 -0
- package/merged-commands/plaid-fintech.md +50 -0
- package/merged-commands/plan-writing.md +152 -0
- package/merged-commands/planning-with-files.md +211 -0
- package/merged-commands/planning.md +95 -0
- package/merged-commands/plans-kanban.md +166 -0
- package/merged-commands/playwright-expert.md +87 -0
- package/merged-commands/playwright-skill.md +453 -0
- package/merged-commands/podcast-generation.md +121 -0
- package/merged-commands/popup-cro.md +346 -0
- package/merged-commands/posix-shell-pro.md +304 -0
- package/merged-commands/postgres-best-practices.md +57 -0
- package/merged-commands/postgres-pro.md +98 -0
- package/merged-commands/postgresql.md +230 -0
- package/merged-commands/postmortem-writing.md +386 -0
- package/merged-commands/powershell-windows.md +167 -0
- package/merged-commands/pptx-official.md +484 -0
- package/merged-commands/pptx.md +484 -0
- package/merged-commands/pricing-strategy.md +356 -0
- package/merged-commands/prisma-expert.md +355 -0
- package/merged-commands/privilege-escalation-methods.md +333 -0
- package/merged-commands/problem-solving.md +96 -0
- package/merged-commands/product-manager-toolkit.md +351 -0
- package/merged-commands/product-strategist.md +26 -0
- package/merged-commands/production-code-audit.md +540 -0
- package/merged-commands/programmatic-seo.md +351 -0
- package/merged-commands/projection-patterns.md +33 -0
- package/merged-commands/prometheus-configuration.md +404 -0
- package/merged-commands/prompt-caching.md +61 -0
- package/merged-commands/prompt-engineer.md +272 -0
- package/merged-commands/prompt-engineering-patterns.md +213 -0
- package/merged-commands/prompt-engineering.md +171 -0
- package/merged-commands/prompt-library.md +322 -0
- package/merged-commands/protocol-reverse-engineering.md +29 -0
- package/merged-commands/pydantic-models.md +58 -0
- package/merged-commands/pypict-skill.md +22 -0
- package/merged-commands/python-development-python-scaffold.md +331 -0
- package/merged-commands/python-development.md +139 -0
- package/merged-commands/python-packaging.md +36 -0
- package/merged-commands/python-patterns.md +441 -0
- package/merged-commands/python-performance-optimization.md +36 -0
- package/merged-commands/python-pro.md +158 -0
- package/merged-commands/python-testing-patterns.md +37 -0
- package/merged-commands/qa-regression.md +337 -0
- package/merged-commands/quant-analyst.md +53 -0
- package/merged-commands/radix-ui-design-system.md +847 -0
- package/merged-commands/raffle-winner-picker.md +159 -0
- package/merged-commands/rag-architect.md +100 -0
- package/merged-commands/rag-engineer.md +90 -0
- package/merged-commands/rag-implementation.md +421 -0
- package/merged-commands/rails-expert.md +97 -0
- package/merged-commands/react-best-practices.md +121 -0
- package/merged-commands/react-expert.md +98 -0
- package/merged-commands/react-flow-node.md +66 -0
- package/merged-commands/react-modernization.md +34 -0
- package/merged-commands/react-native-architecture.md +33 -0
- package/merged-commands/react-native-expert.md +88 -0
- package/merged-commands/react-patterns.md +198 -0
- package/merged-commands/react-state-management.md +441 -0
- package/merged-commands/react-ui-patterns.md +289 -0
- package/merged-commands/readme.md +775 -0
- package/merged-commands/receiving-code-review.md +213 -0
- package/merged-commands/red-team-tactics.md +199 -0
- package/merged-commands/red-team-tools.md +310 -0
- package/merged-commands/reference-builder.md +188 -0
- package/merged-commands/referral-program.md +602 -0
- package/merged-commands/remotion-best-practices.md +45 -0
- package/merged-commands/repomix.md +275 -0
- package/merged-commands/requesting-code-review.md +105 -0
- package/merged-commands/research-engineer.md +135 -0
- package/merged-commands/research.md +191 -0
- package/merged-commands/reverse-engineer.md +173 -0
- package/merged-commands/risk-manager.md +61 -0
- package/merged-commands/risk-metrics-calculation.md +33 -0
- package/merged-commands/ruby-pro.md +56 -0
- package/merged-commands/rust-async-patterns.md +33 -0
- package/merged-commands/rust-engineer.md +96 -0
- package/merged-commands/rust-pro.md +178 -0
- package/merged-commands/saga-orchestration.md +496 -0
- package/merged-commands/sales-automator.md +55 -0
- package/merged-commands/salesforce-developer.md +105 -0
- package/merged-commands/salesforce-development.md +51 -0
- package/merged-commands/sast-configuration.md +212 -0
- package/merged-commands/scala-pro.md +82 -0
- package/merged-commands/scanning-tools.md +589 -0
- package/merged-commands/schema-markup.md +360 -0
- package/merged-commands/screen-reader-testing.md +33 -0
- package/merged-commands/screenshots.md +401 -0
- package/merged-commands/scroll-experience.md +263 -0
- package/merged-commands/search-specialist.md +80 -0
- package/merged-commands/secrets-management.md +364 -0
- package/merged-commands/secure-code-guardian.md +93 -0
- package/merged-commands/security-auditor.md +169 -0
- package/merged-commands/security-bluebook-builder.md +22 -0
- package/merged-commands/security-compliance-compliance-check.md +55 -0
- package/merged-commands/security-requirement-extraction.md +33 -0
- package/merged-commands/security-reviewer.md +94 -0
- package/merged-commands/security-scanning-security-dependencies.md +43 -0
- package/merged-commands/security-scanning-security-hardening.md +147 -0
- package/merged-commands/security-scanning-security-sast.md +495 -0
- package/merged-commands/segment-cdp.md +50 -0
- package/merged-commands/senior-architect.md +209 -0
- package/merged-commands/senior-backend.md +209 -0
- package/merged-commands/senior-computer-vision.md +226 -0
- package/merged-commands/senior-data-engineer.md +226 -0
- package/merged-commands/senior-data-scientist.md +226 -0
- package/merged-commands/senior-devops.md +209 -0
- package/merged-commands/senior-frontend.md +209 -0
- package/merged-commands/senior-fullstack.md +209 -0
- package/merged-commands/senior-ml-engineer.md +226 -0
- package/merged-commands/senior-prompt-engineer.md +226 -0
- package/merged-commands/senior-qa.md +209 -0
- package/merged-commands/senior-secops.md +209 -0
- package/merged-commands/senior-security.md +209 -0
- package/merged-commands/seo-audit.md +487 -0
- package/merged-commands/seo-authority-builder.md +136 -0
- package/merged-commands/seo-cannibalization-detector.md +123 -0
- package/merged-commands/seo-content-auditor.md +83 -0
- package/merged-commands/seo-content-planner.md +108 -0
- package/merged-commands/seo-content-refresher.md +118 -0
- package/merged-commands/seo-content-writer.md +96 -0
- package/merged-commands/seo-fundamentals.md +173 -0
- package/merged-commands/seo-keyword-strategist.md +95 -0
- package/merged-commands/seo-meta-optimizer.md +92 -0
- package/merged-commands/seo-snippet-hunter.md +114 -0
- package/merged-commands/seo-structure-architect.md +108 -0
- package/merged-commands/sequential-thinking.md +94 -0
- package/merged-commands/server-management.md +161 -0
- package/merged-commands/service-mesh-expert.md +58 -0
- package/merged-commands/service-mesh-observability.md +395 -0
- package/merged-commands/sharp-edges.md +70 -0
- package/merged-commands/shellcheck-configuration.md +466 -0
- package/merged-commands/shodan-reconnaissance.md +503 -0
- package/merged-commands/shopify-apps.md +42 -0
- package/merged-commands/shopify-development.md +366 -0
- package/merged-commands/shopify-expert.md +102 -0
- package/merged-commands/signup-flow-cro.md +355 -0
- package/merged-commands/similarity-search-patterns.md +33 -0
- package/merged-commands/skill-creator.md +356 -0
- package/merged-commands/skill-developer.md +426 -0
- package/merged-commands/skill-rails-upgrade.md +408 -0
- package/merged-commands/skill-seekers.md +22 -0
- package/merged-commands/skill-share.md +80 -0
- package/merged-commands/slack-bot-builder.md +264 -0
- package/merged-commands/slack-gif-creator.md +254 -0
- package/merged-commands/slo-implementation.md +341 -0
- package/merged-commands/smtp-penetration-testing.md +500 -0
- package/merged-commands/social-content.md +807 -0
- package/merged-commands/software-architecture.md +75 -0
- package/merged-commands/solidity-security.md +34 -0
- package/merged-commands/spark-engineer.md +100 -0
- package/merged-commands/spark-optimization.md +427 -0
- package/merged-commands/spec-miner.md +88 -0
- package/merged-commands/spring-boot-engineer.md +104 -0
- package/merged-commands/sql-injection-testing.md +448 -0
- package/merged-commands/sql-optimization-patterns.md +35 -0
- package/merged-commands/sql-pro.md +173 -0
- package/merged-commands/sqlmap-database-pentesting.md +400 -0
- package/merged-commands/sre-engineer.md +98 -0
- package/merged-commands/ssh-penetration-testing.md +488 -0
- package/merged-commands/startup-analyst.md +328 -0
- package/merged-commands/startup-business-analyst-business-case.md +487 -0
- package/merged-commands/startup-business-analyst-financial-projections.md +353 -0
- package/merged-commands/startup-business-analyst-market-opportunity.md +240 -0
- package/merged-commands/startup-financial-modeling.md +467 -0
- package/merged-commands/startup-metrics-framework.md +34 -0
- package/merged-commands/stitch-ui-design.md +378 -0
- package/merged-commands/stride-analysis-patterns.md +33 -0
- package/merged-commands/stripe-integration.md +454 -0
- package/merged-commands/subagent-driven-development.md +240 -0
- package/merged-commands/superpowers-lab.md +22 -0
- package/merged-commands/swift-expert.md +94 -0
- package/merged-commands/swiftui-expert-skill.md +275 -0
- package/merged-commands/systematic-debugging.md +296 -0
- package/merged-commands/systems-programming-rust-project.md +440 -0
- package/merged-commands/tailwind-design-system.md +33 -0
- package/merged-commands/tailwind-patterns.md +269 -0
- package/merged-commands/tavily-web.md +36 -0
- package/merged-commands/tdd-orchestrator.md +205 -0
- package/merged-commands/tdd-workflow.md +149 -0
- package/merged-commands/tdd-workflows-tdd-cycle.md +221 -0
- package/merged-commands/tdd-workflows-tdd-green.md +73 -0
- package/merged-commands/tdd-workflows-tdd-red.md +164 -0
- package/merged-commands/tdd-workflows-tdd-refactor.md +187 -0
- package/merged-commands/team-collaboration-issue.md +37 -0
- package/merged-commands/team-collaboration-standup-notes.md +44 -0
- package/merged-commands/team-composition-analysis.md +413 -0
- package/merged-commands/telegram-bot-builder.md +254 -0
- package/merged-commands/telegram-mini-app.md +279 -0
- package/merged-commands/template-skill.md +6 -0
- package/merged-commands/temporal-python-pro.md +370 -0
- package/merged-commands/temporal-python-testing.md +170 -0
- package/merged-commands/terraform-engineer.md +97 -0
- package/merged-commands/terraform-module-library.md +261 -0
- package/merged-commands/terraform-skill.md +517 -0
- package/merged-commands/terraform-specialist.md +166 -0
- package/merged-commands/test-automator.md +224 -0
- package/merged-commands/test-driven-development.md +371 -0
- package/merged-commands/test-fixing.md +119 -0
- package/merged-commands/test-master.md +104 -0
- package/merged-commands/testing-patterns.md +259 -0
- package/merged-commands/theme-factory.md +59 -0
- package/merged-commands/threat-mitigation-mapping.md +33 -0
- package/merged-commands/threat-modeling-expert.md +60 -0
- package/merged-commands/threejs-skills.md +22 -0
- package/merged-commands/threejs.md +89 -0
- package/merged-commands/tool-design.md +318 -0
- package/merged-commands/top-web-vulnerabilities.md +543 -0
- package/merged-commands/track-management.md +38 -0
- package/merged-commands/trigger-dev.md +67 -0
- package/merged-commands/turborepo-caching.md +419 -0
- package/merged-commands/tutorial-engineer.md +139 -0
- package/merged-commands/twilio-communications.md +295 -0
- package/merged-commands/typescript-advanced-types.md +35 -0
- package/merged-commands/typescript-expert.md +429 -0
- package/merged-commands/typescript-pro.md +55 -0
- package/merged-commands/ui-design-system.md +32 -0
- package/merged-commands/ui-skills.md +22 -0
- package/merged-commands/ui-styling.md +321 -0
- package/merged-commands/ui-ux-designer.md +209 -0
- package/merged-commands/ui-ux-pro-max.md +351 -0
- package/merged-commands/ui-visual-validator.md +214 -0
- package/merged-commands/unit-testing-test-generate.md +319 -0
- package/merged-commands/unity-developer.md +230 -0
- package/merged-commands/unity-ecs-patterns.md +33 -0
- package/merged-commands/unreal-engine-cpp-pro.md +114 -0
- package/merged-commands/upgrading-expo.md +118 -0
- package/merged-commands/upstash-qstash.md +68 -0
- package/merged-commands/using-git-worktrees.md +217 -0
- package/merged-commands/using-neon.md +84 -0
- package/merged-commands/using-superpowers.md +87 -0
- package/merged-commands/uv-package-manager.md +37 -0
- package/merged-commands/ux-researcher-designer.md +30 -0
- package/merged-commands/varlock-claude-skill.md +22 -0
- package/merged-commands/vector-database-engineer.md +60 -0
- package/merged-commands/vector-index-tuning.md +42 -0
- package/merged-commands/vercel-deploy-claimable.md +120 -0
- package/merged-commands/vercel-deploy.md +22 -0
- package/merged-commands/vercel-deployment.md +79 -0
- package/merged-commands/verification-before-completion.md +139 -0
- package/merged-commands/vexor.md +22 -0
- package/merged-commands/video-downloader.md +106 -0
- package/merged-commands/viral-generator-builder.md +199 -0
- package/merged-commands/voice-agents.md +68 -0
- package/merged-commands/voice-ai-development.md +302 -0
- package/merged-commands/voice-ai-engine-development.md +721 -0
- package/merged-commands/vue-expert-js.md +91 -0
- package/merged-commands/vue-expert.md +374 -0
- package/merged-commands/vulnerability-scanner.md +276 -0
- package/merged-commands/wcag-audit-patterns.md +41 -0
- package/merged-commands/web-artifacts-builder.md +74 -0
- package/merged-commands/web-design-guidelines.md +36 -0
- package/merged-commands/web-frameworks.md +324 -0
- package/merged-commands/web-performance-optimization.md +646 -0
- package/merged-commands/web3-testing.md +427 -0
- package/merged-commands/webapp-testing.md +96 -0
- package/merged-commands/websocket-engineer.md +96 -0
- package/merged-commands/windows-privilege-escalation.md +496 -0
- package/merged-commands/wireshark-analysis.md +497 -0
- package/merged-commands/wordpress-penetration-testing.md +485 -0
- package/merged-commands/wordpress-pro.md +105 -0
- package/merged-commands/workflow-automation.md +68 -0
- package/merged-commands/workflow-orchestration-patterns.md +333 -0
- package/merged-commands/workflow-patterns.md +38 -0
- package/merged-commands/writing-plans.md +116 -0
- package/merged-commands/writing-skills.md +125 -0
- package/merged-commands/x-article-publisher-skill.md +22 -0
- package/merged-commands/xlsx-official.md +289 -0
- package/merged-commands/xlsx.md +289 -0
- package/merged-commands/xss-html-injection.md +499 -0
- package/merged-commands/youtube-transcript.md +415 -0
- package/merged-commands/zapier-make-patterns.md +67 -0
- package/merged-commands/zustand-store.md +68 -0
- package/package.json +1 -1
- package/scripts/merge-commands.js +21 -0
- package/templates/base/rules/auto-skill.md +131 -0
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: screenshots
|
|
3
|
+
description: "Generate marketing screenshots of your app using Playwright. Use when the user wants to create screenshots for Product Hunt, social media, landing pages, or documentation."
|
|
4
|
+
source: "https://github.com/Shpigford/skills/tree/main/screenshots"
|
|
5
|
+
risk: safe
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Screenshots
|
|
9
|
+
|
|
10
|
+
Generate marketing-quality screenshots of your app using Playwright directly. Screenshots are captured at true HiDPI (2x retina) resolution using `deviceScaleFactor: 2`.
|
|
11
|
+
|
|
12
|
+
## When to Use This Skill
|
|
13
|
+
|
|
14
|
+
Use this skill when:
|
|
15
|
+
- User wants to create screenshots for Product Hunt
|
|
16
|
+
- Creating screenshots for social media
|
|
17
|
+
- Generating images for landing pages
|
|
18
|
+
- Creating documentation screenshots
|
|
19
|
+
- User requests marketing-quality app screenshots
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
Playwright must be available. Check for it:
|
|
24
|
+
```bash
|
|
25
|
+
npx playwright --version 2>/dev/null || npm ls playwright 2>/dev/null | grep playwright
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If not found, inform the user:
|
|
29
|
+
> Playwright is required. Install it with: `npm install -D playwright` or `npm install -D @playwright/test`
|
|
30
|
+
|
|
31
|
+
## Step 1: Determine App URL
|
|
32
|
+
|
|
33
|
+
If `$1` is provided, use it as the app URL.
|
|
34
|
+
|
|
35
|
+
If no URL is provided:
|
|
36
|
+
1. Check if a dev server is likely running by looking for `package.json` scripts
|
|
37
|
+
2. Use `AskUserQuestion` to ask the user for the URL or offer to help start the dev server
|
|
38
|
+
|
|
39
|
+
Common default URLs to suggest:
|
|
40
|
+
- `http://localhost:3000` (Next.js, Create React App, Rails)
|
|
41
|
+
- `http://localhost:5173` (Vite)
|
|
42
|
+
- `http://localhost:4000` (Phoenix)
|
|
43
|
+
- `http://localhost:8080` (Vue CLI, generic)
|
|
44
|
+
|
|
45
|
+
## Step 2: Gather Requirements
|
|
46
|
+
|
|
47
|
+
Use `AskUserQuestion` with the following questions:
|
|
48
|
+
|
|
49
|
+
**Question 1: Screenshot count**
|
|
50
|
+
- Header: "Count"
|
|
51
|
+
- Question: "How many screenshots do you need?"
|
|
52
|
+
- Options:
|
|
53
|
+
- "3-5" - Quick set of key features
|
|
54
|
+
- "5-10" - Comprehensive feature coverage
|
|
55
|
+
- "10+" - Full marketing suite
|
|
56
|
+
|
|
57
|
+
**Question 2: Purpose**
|
|
58
|
+
- Header: "Purpose"
|
|
59
|
+
- Question: "What will these screenshots be used for?"
|
|
60
|
+
- Options:
|
|
61
|
+
- "Product Hunt" - Hero shots and feature highlights
|
|
62
|
+
- "Social media" - Eye-catching feature demos
|
|
63
|
+
- "Landing page" - Marketing sections and benefits
|
|
64
|
+
- "Documentation" - UI reference and tutorials
|
|
65
|
+
|
|
66
|
+
**Question 3: Authentication**
|
|
67
|
+
- Header: "Auth"
|
|
68
|
+
- Question: "Does the app require login to access the features you want to screenshot?"
|
|
69
|
+
- Options:
|
|
70
|
+
- "No login needed" - Public pages only
|
|
71
|
+
- "Yes, I'll provide credentials" - Need to log in first
|
|
72
|
+
|
|
73
|
+
If user selects "Yes, I'll provide credentials", ask follow-up questions:
|
|
74
|
+
- "What is the login page URL?" (e.g., `/login`, `/sign-in`)
|
|
75
|
+
- "What is the email/username?"
|
|
76
|
+
- "What is the password?"
|
|
77
|
+
|
|
78
|
+
The script will automatically detect login form fields using Playwright's smart locators.
|
|
79
|
+
|
|
80
|
+
## Step 3: Analyze Codebase for Features
|
|
81
|
+
|
|
82
|
+
Thoroughly explore the codebase to understand the app and identify screenshot opportunities.
|
|
83
|
+
|
|
84
|
+
### 3.1: Read Documentation First
|
|
85
|
+
|
|
86
|
+
**Always start by reading these files** to understand what the app does:
|
|
87
|
+
|
|
88
|
+
1. **README.md** (and any README files in subdirectories) - Read the full README to understand:
|
|
89
|
+
- What the app is and what problem it solves
|
|
90
|
+
- Key features and capabilities
|
|
91
|
+
- Screenshots or feature descriptions already documented
|
|
92
|
+
|
|
93
|
+
2. **CHANGELOG.md** or **HISTORY.md** - Recent features worth highlighting
|
|
94
|
+
|
|
95
|
+
3. **docs/** directory - Any additional documentation about features
|
|
96
|
+
|
|
97
|
+
### 3.2: Analyze Routes to Find Pages
|
|
98
|
+
|
|
99
|
+
Read the routing configuration to discover all available pages:
|
|
100
|
+
|
|
101
|
+
| Framework | File to Read | What to Look For |
|
|
102
|
+
|-----------|--------------|------------------|
|
|
103
|
+
| **Next.js App Router** | `app/` directory structure | Each folder with `page.tsx` is a route |
|
|
104
|
+
| **Next.js Pages Router** | `pages/` directory | Each file is a route |
|
|
105
|
+
| **Rails** | `config/routes.rb` | Read the entire file for all routes |
|
|
106
|
+
| **React Router** | Search for `createBrowserRouter` or `<Route` | Route definitions with paths |
|
|
107
|
+
| **Vue Router** | `src/router/index.js` or `router.js` | Routes array with path definitions |
|
|
108
|
+
| **SvelteKit** | `src/routes/` directory | Each folder with `+page.svelte` is a route |
|
|
109
|
+
| **Remix** | `app/routes/` directory | File-based routing |
|
|
110
|
+
| **Laravel** | `routes/web.php` | Route definitions |
|
|
111
|
+
| **Django** | `urls.py` files | URL patterns |
|
|
112
|
+
| **Express** | Search for `app.get`, `router.get` | Route handlers |
|
|
113
|
+
|
|
114
|
+
**Important**: Actually read these files, don't just check if they exist. The route definitions tell you what pages are available for screenshots.
|
|
115
|
+
|
|
116
|
+
### 3.3: Identify Key Components
|
|
117
|
+
|
|
118
|
+
Look for components that represent screenshottable features:
|
|
119
|
+
|
|
120
|
+
- Dashboard components
|
|
121
|
+
- Feature sections with distinct UI
|
|
122
|
+
- Forms and interactive inputs
|
|
123
|
+
- Data visualizations (charts, graphs, tables)
|
|
124
|
+
- Modals and dialogs
|
|
125
|
+
- Navigation and sidebars
|
|
126
|
+
- Settings panels
|
|
127
|
+
- User profile sections
|
|
128
|
+
|
|
129
|
+
### 3.4: Check for Marketing Assets
|
|
130
|
+
|
|
131
|
+
Look for existing marketing content that hints at key features:
|
|
132
|
+
- Landing page components (often in `components/landing/` or `components/marketing/`)
|
|
133
|
+
- Feature list components
|
|
134
|
+
- Pricing tables
|
|
135
|
+
- Testimonial sections
|
|
136
|
+
|
|
137
|
+
### 3.5: Build Feature List
|
|
138
|
+
|
|
139
|
+
Create a comprehensive list of discovered features with:
|
|
140
|
+
- Feature name (from README or component name)
|
|
141
|
+
- URL path (from routes)
|
|
142
|
+
- CSS selector to focus on (from component structure)
|
|
143
|
+
- Required UI state (logged in, data populated, modal open, specific tab selected)
|
|
144
|
+
|
|
145
|
+
## Step 4: Plan Screenshots with User
|
|
146
|
+
|
|
147
|
+
Present the discovered features to the user and ask them to confirm or modify the list.
|
|
148
|
+
|
|
149
|
+
Use `AskUserQuestion`:
|
|
150
|
+
- Header: "Features"
|
|
151
|
+
- Question: "I found these features in your codebase. Which would you like to screenshot?"
|
|
152
|
+
- Options: List 3-4 key features discovered, plus "Let me pick specific ones"
|
|
153
|
+
|
|
154
|
+
If user wants specific ones, ask follow-up questions to clarify exactly what to capture.
|
|
155
|
+
|
|
156
|
+
## Step 5: Create Screenshots Directory
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
mkdir -p screenshots
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Step 6: Generate and Run Playwright Script
|
|
163
|
+
|
|
164
|
+
Create a Node.js script that uses Playwright with proper HiDPI settings. The script should:
|
|
165
|
+
|
|
166
|
+
1. **Use `deviceScaleFactor: 2`** for true retina resolution
|
|
167
|
+
2. **Set viewport to 1440x900** (produces 2880x1800 pixel images)
|
|
168
|
+
3. **Handle authentication** if credentials were provided
|
|
169
|
+
4. **Navigate to each page** and capture screenshots
|
|
170
|
+
|
|
171
|
+
### Script Template
|
|
172
|
+
|
|
173
|
+
Write this script to a temporary file (e.g., `screenshot-script.mjs`) and execute it:
|
|
174
|
+
|
|
175
|
+
```javascript
|
|
176
|
+
import { chromium } from 'playwright';
|
|
177
|
+
|
|
178
|
+
const BASE_URL = '[APP_URL]';
|
|
179
|
+
const SCREENSHOTS_DIR = './screenshots';
|
|
180
|
+
|
|
181
|
+
// Authentication config (if needed)
|
|
182
|
+
const AUTH = {
|
|
183
|
+
needed: [true|false],
|
|
184
|
+
loginUrl: '[LOGIN_URL]',
|
|
185
|
+
email: '[EMAIL]',
|
|
186
|
+
password: '[PASSWORD]',
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
// Screenshots to capture
|
|
190
|
+
const SCREENSHOTS = [
|
|
191
|
+
{ name: '01-feature-name', url: '/path', waitFor: '[optional-selector]' },
|
|
192
|
+
{ name: '02-another-feature', url: '/another-path' },
|
|
193
|
+
// ... add all planned screenshots
|
|
194
|
+
];
|
|
195
|
+
|
|
196
|
+
async function main() {
|
|
197
|
+
const browser = await chromium.launch();
|
|
198
|
+
|
|
199
|
+
// Create context with HiDPI settings
|
|
200
|
+
const context = await browser.newContext({
|
|
201
|
+
viewport: { width: 1440, height: 900 },
|
|
202
|
+
deviceScaleFactor: 2, // This is the key for true retina screenshots
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
const page = await context.newPage();
|
|
206
|
+
|
|
207
|
+
// Handle authentication if needed
|
|
208
|
+
if (AUTH.needed) {
|
|
209
|
+
console.log('Logging in...');
|
|
210
|
+
await page.goto(AUTH.loginUrl);
|
|
211
|
+
|
|
212
|
+
// Smart login: try multiple common patterns for email/username field
|
|
213
|
+
const emailField = page.locator([
|
|
214
|
+
'input[type="email"]',
|
|
215
|
+
'input[name="email"]',
|
|
216
|
+
'input[id="email"]',
|
|
217
|
+
'input[placeholder*="email" i]',
|
|
218
|
+
'input[name="username"]',
|
|
219
|
+
'input[id="username"]',
|
|
220
|
+
'input[type="text"]',
|
|
221
|
+
].join(', ')).first();
|
|
222
|
+
await emailField.fill(AUTH.email);
|
|
223
|
+
|
|
224
|
+
// Smart login: try multiple common patterns for password field
|
|
225
|
+
const passwordField = page.locator([
|
|
226
|
+
'input[type="password"]',
|
|
227
|
+
'input[name="password"]',
|
|
228
|
+
'input[id="password"]',
|
|
229
|
+
].join(', ')).first();
|
|
230
|
+
await passwordField.fill(AUTH.password);
|
|
231
|
+
|
|
232
|
+
// Smart login: try multiple common patterns for submit button
|
|
233
|
+
const submitButton = page.locator([
|
|
234
|
+
'button[type="submit"]',
|
|
235
|
+
'input[type="submit"]',
|
|
236
|
+
'button:has-text("Sign in")',
|
|
237
|
+
'button:has-text("Log in")',
|
|
238
|
+
'button:has-text("Login")',
|
|
239
|
+
'button:has-text("Submit")',
|
|
240
|
+
].join(', ')).first();
|
|
241
|
+
await submitButton.click();
|
|
242
|
+
|
|
243
|
+
await page.waitForLoadState('networkidle');
|
|
244
|
+
console.log('Login complete');
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Capture each screenshot
|
|
248
|
+
for (const shot of SCREENSHOTS) {
|
|
249
|
+
console.log(`Capturing: ${shot.name}`);
|
|
250
|
+
await page.goto(`${BASE_URL}${shot.url}`);
|
|
251
|
+
await page.waitForLoadState('networkidle');
|
|
252
|
+
|
|
253
|
+
// Optional: wait for specific element
|
|
254
|
+
if (shot.waitFor) {
|
|
255
|
+
await page.waitForSelector(shot.waitFor);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// Optional: perform actions before screenshot
|
|
259
|
+
if (shot.actions) {
|
|
260
|
+
for (const action of shot.actions) {
|
|
261
|
+
if (action.click) await page.click(action.click);
|
|
262
|
+
if (action.fill) await page.fill(action.fill.selector, action.fill.value);
|
|
263
|
+
if (action.wait) await page.waitForTimeout(action.wait);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
await page.screenshot({
|
|
268
|
+
path: `${SCREENSHOTS_DIR}/${shot.name}.png`,
|
|
269
|
+
fullPage: shot.fullPage || false,
|
|
270
|
+
});
|
|
271
|
+
console.log(` Saved: ${shot.name}.png`);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
await browser.close();
|
|
275
|
+
console.log('Done!');
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
main().catch(console.error);
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Running the Script
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
node screenshot-script.mjs
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
After running, clean up the temporary script:
|
|
288
|
+
```bash
|
|
289
|
+
rm screenshot-script.mjs
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## Step 7: Advanced Screenshot Options
|
|
293
|
+
|
|
294
|
+
### Element-Focused Screenshots
|
|
295
|
+
|
|
296
|
+
To screenshot a specific element instead of the full viewport:
|
|
297
|
+
|
|
298
|
+
```javascript
|
|
299
|
+
const element = await page.locator('[CSS_SELECTOR]');
|
|
300
|
+
await element.screenshot({ path: `${SCREENSHOTS_DIR}/element.png` });
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Full Page Screenshots
|
|
304
|
+
|
|
305
|
+
For scrollable content, capture the entire page:
|
|
306
|
+
|
|
307
|
+
```javascript
|
|
308
|
+
await page.screenshot({
|
|
309
|
+
path: `${SCREENSHOTS_DIR}/full-page.png`,
|
|
310
|
+
fullPage: true
|
|
311
|
+
});
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Waiting for Animations
|
|
315
|
+
|
|
316
|
+
If the page has animations, wait for them to complete:
|
|
317
|
+
|
|
318
|
+
```javascript
|
|
319
|
+
await page.waitForTimeout(500); // Wait 500ms for animations
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Clicking Elements Before Screenshot
|
|
323
|
+
|
|
324
|
+
To capture a modal, dropdown, or hover state:
|
|
325
|
+
|
|
326
|
+
```javascript
|
|
327
|
+
await page.click('button.open-modal');
|
|
328
|
+
await page.waitForSelector('.modal-content');
|
|
329
|
+
await page.screenshot({ path: `${SCREENSHOTS_DIR}/modal.png` });
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Dark Mode Screenshots
|
|
333
|
+
|
|
334
|
+
If the app supports dark mode:
|
|
335
|
+
|
|
336
|
+
```javascript
|
|
337
|
+
// Set dark mode preference
|
|
338
|
+
const context = await browser.newContext({
|
|
339
|
+
viewport: { width: 1440, height: 900 },
|
|
340
|
+
deviceScaleFactor: 2,
|
|
341
|
+
colorScheme: 'dark',
|
|
342
|
+
});
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## Step 8: File Naming Convention
|
|
346
|
+
|
|
347
|
+
Use descriptive, kebab-case filenames with numeric prefixes for ordering:
|
|
348
|
+
|
|
349
|
+
| Feature | Filename |
|
|
350
|
+
|---------|----------|
|
|
351
|
+
| Dashboard overview | `01-dashboard-overview.png` |
|
|
352
|
+
| Link management | `02-link-inbox.png` |
|
|
353
|
+
| Edition editor | `03-edition-editor.png` |
|
|
354
|
+
| Analytics | `04-analytics.png` |
|
|
355
|
+
| Settings | `05-settings.png` |
|
|
356
|
+
|
|
357
|
+
## Step 9: Verify and Summarize
|
|
358
|
+
|
|
359
|
+
After capturing all screenshots, verify the results:
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
ls -la screenshots/*.png
|
|
363
|
+
sips -g pixelWidth -g pixelHeight screenshots/*.png 2>/dev/null || file screenshots/*.png
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
Provide a summary to the user:
|
|
367
|
+
|
|
368
|
+
1. List all generated files with their paths
|
|
369
|
+
2. Confirm the resolution (should be 2880x1800 for 2x retina at 1440x900 viewport)
|
|
370
|
+
3. Mention total file sizes
|
|
371
|
+
4. Suggest any follow-up actions
|
|
372
|
+
|
|
373
|
+
Example output:
|
|
374
|
+
```
|
|
375
|
+
Generated 5 marketing screenshots:
|
|
376
|
+
|
|
377
|
+
screenshots/
|
|
378
|
+
├── 01-dashboard-overview.png (1.2 MB, 2880x1800 @ 2x)
|
|
379
|
+
├── 02-link-inbox.png (456 KB, 2880x1800 @ 2x)
|
|
380
|
+
├── 03-edition-editor.png (890 KB, 2880x1800 @ 2x)
|
|
381
|
+
├── 04-analytics.png (567 KB, 2880x1800 @ 2x)
|
|
382
|
+
└── 05-settings.png (234 KB, 2880x1800 @ 2x)
|
|
383
|
+
|
|
384
|
+
All screenshots are true retina-quality (2x deviceScaleFactor) and ready for marketing use.
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## Error Handling
|
|
388
|
+
|
|
389
|
+
- **Playwright not found**: Suggest `npm install -D playwright`
|
|
390
|
+
- **Page not loading**: Check if the dev server is running, suggest starting it
|
|
391
|
+
- **Login failed**: The smart locators try common patterns but may fail on unusual login forms. If login fails, analyze the login page HTML to find the correct selectors and customize the script.
|
|
392
|
+
- **Element not found**: Verify the CSS selector, offer to take a full page screenshot instead
|
|
393
|
+
- **Screenshot failed**: Check disk space, verify write permissions to screenshots directory
|
|
394
|
+
|
|
395
|
+
## Tips for Best Results
|
|
396
|
+
|
|
397
|
+
1. **Clean UI state**: Use demo/seed data for realistic content
|
|
398
|
+
2. **Consistent sizing**: Use the same viewport for all screenshots
|
|
399
|
+
3. **Wait for content**: Use `waitForLoadState('networkidle')` to ensure all content loads
|
|
400
|
+
4. **Hide dev tools**: Ensure no browser extensions or dev overlays are visible
|
|
401
|
+
5. **Dark mode variants**: Consider capturing both light and dark mode if supported
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scroll-experience
|
|
3
|
+
description: "Expert in building immersive scroll-driven experiences - parallax storytelling, scroll animations, interactive narratives, and cinematic web experiences. Like NY Times interactives, Apple product pages, and award-winning web experiences. Makes websites feel like experiences, not just pages. Use when: scroll animation, parallax, scroll storytelling, interactive story, cinematic website."
|
|
4
|
+
source: vibeship-spawner-skills (Apache 2.0)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Scroll Experience
|
|
8
|
+
|
|
9
|
+
**Role**: Scroll Experience Architect
|
|
10
|
+
|
|
11
|
+
You see scrolling as a narrative device, not just navigation. You create
|
|
12
|
+
moments of delight as users scroll. You know when to use subtle animations
|
|
13
|
+
and when to go cinematic. You balance performance with visual impact. You
|
|
14
|
+
make websites feel like movies you control with your thumb.
|
|
15
|
+
|
|
16
|
+
## Capabilities
|
|
17
|
+
|
|
18
|
+
- Scroll-driven animations
|
|
19
|
+
- Parallax storytelling
|
|
20
|
+
- Interactive narratives
|
|
21
|
+
- Cinematic web experiences
|
|
22
|
+
- Scroll-triggered reveals
|
|
23
|
+
- Progress indicators
|
|
24
|
+
- Sticky sections
|
|
25
|
+
- Scroll snapping
|
|
26
|
+
|
|
27
|
+
## Patterns
|
|
28
|
+
|
|
29
|
+
### Scroll Animation Stack
|
|
30
|
+
|
|
31
|
+
Tools and techniques for scroll animations
|
|
32
|
+
|
|
33
|
+
**When to use**: When planning scroll-driven experiences
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
## Scroll Animation Stack
|
|
37
|
+
|
|
38
|
+
### Library Options
|
|
39
|
+
| Library | Best For | Learning Curve |
|
|
40
|
+
|---------|----------|----------------|
|
|
41
|
+
| GSAP ScrollTrigger | Complex animations | Medium |
|
|
42
|
+
| Framer Motion | React projects | Low |
|
|
43
|
+
| Locomotive Scroll | Smooth scroll + parallax | Medium |
|
|
44
|
+
| Lenis | Smooth scroll only | Low |
|
|
45
|
+
| CSS scroll-timeline | Simple, native | Low |
|
|
46
|
+
|
|
47
|
+
### GSAP ScrollTrigger Setup
|
|
48
|
+
```javascript
|
|
49
|
+
import { gsap } from 'gsap';
|
|
50
|
+
import { ScrollTrigger } from 'gsap/ScrollTrigger';
|
|
51
|
+
|
|
52
|
+
gsap.registerPlugin(ScrollTrigger);
|
|
53
|
+
|
|
54
|
+
// Basic scroll animation
|
|
55
|
+
gsap.to('.element', {
|
|
56
|
+
scrollTrigger: {
|
|
57
|
+
trigger: '.element',
|
|
58
|
+
start: 'top center',
|
|
59
|
+
end: 'bottom center',
|
|
60
|
+
scrub: true, // Links animation to scroll position
|
|
61
|
+
},
|
|
62
|
+
y: -100,
|
|
63
|
+
opacity: 1,
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Framer Motion Scroll
|
|
68
|
+
```jsx
|
|
69
|
+
import { motion, useScroll, useTransform } from 'framer-motion';
|
|
70
|
+
|
|
71
|
+
function ParallaxSection() {
|
|
72
|
+
const { scrollYProgress } = useScroll();
|
|
73
|
+
const y = useTransform(scrollYProgress, [0, 1], [0, -200]);
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<motion.div style={{ y }}>
|
|
77
|
+
Content moves with scroll
|
|
78
|
+
</motion.div>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### CSS Native (2024+)
|
|
84
|
+
```css
|
|
85
|
+
@keyframes reveal {
|
|
86
|
+
from { opacity: 0; transform: translateY(50px); }
|
|
87
|
+
to { opacity: 1; transform: translateY(0); }
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.animate-on-scroll {
|
|
91
|
+
animation: reveal linear;
|
|
92
|
+
animation-timeline: view();
|
|
93
|
+
animation-range: entry 0% cover 40%;
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Parallax Storytelling
|
|
99
|
+
|
|
100
|
+
Tell stories through scroll depth
|
|
101
|
+
|
|
102
|
+
**When to use**: When creating narrative experiences
|
|
103
|
+
|
|
104
|
+
```javascript
|
|
105
|
+
## Parallax Storytelling
|
|
106
|
+
|
|
107
|
+
### Layer Speeds
|
|
108
|
+
| Layer | Speed | Effect |
|
|
109
|
+
|-------|-------|--------|
|
|
110
|
+
| Background | 0.2x | Far away, slow |
|
|
111
|
+
| Midground | 0.5x | Middle depth |
|
|
112
|
+
| Foreground | 1.0x | Normal scroll |
|
|
113
|
+
| Content | 1.0x | Readable |
|
|
114
|
+
| Floating elements | 1.2x | Pop forward |
|
|
115
|
+
|
|
116
|
+
### Creating Depth
|
|
117
|
+
```javascript
|
|
118
|
+
// GSAP parallax layers
|
|
119
|
+
gsap.to('.background', {
|
|
120
|
+
scrollTrigger: {
|
|
121
|
+
scrub: true
|
|
122
|
+
},
|
|
123
|
+
y: '-20%', // Moves slower
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
gsap.to('.foreground', {
|
|
127
|
+
scrollTrigger: {
|
|
128
|
+
scrub: true
|
|
129
|
+
},
|
|
130
|
+
y: '-50%', // Moves faster
|
|
131
|
+
});
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Story Beats
|
|
135
|
+
```
|
|
136
|
+
Section 1: Hook (full viewport, striking visual)
|
|
137
|
+
↓ scroll
|
|
138
|
+
Section 2: Context (text + supporting visuals)
|
|
139
|
+
↓ scroll
|
|
140
|
+
Section 3: Journey (parallax storytelling)
|
|
141
|
+
↓ scroll
|
|
142
|
+
Section 4: Climax (dramatic reveal)
|
|
143
|
+
↓ scroll
|
|
144
|
+
Section 5: Resolution (CTA or conclusion)
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Text Reveals
|
|
148
|
+
- Fade in on scroll
|
|
149
|
+
- Typewriter effect on trigger
|
|
150
|
+
- Word-by-word highlight
|
|
151
|
+
- Sticky text with changing visuals
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Sticky Sections
|
|
155
|
+
|
|
156
|
+
Pin elements while scrolling through content
|
|
157
|
+
|
|
158
|
+
**When to use**: When content should stay visible during scroll
|
|
159
|
+
|
|
160
|
+
```javascript
|
|
161
|
+
## Sticky Sections
|
|
162
|
+
|
|
163
|
+
### CSS Sticky
|
|
164
|
+
```css
|
|
165
|
+
.sticky-container {
|
|
166
|
+
height: 300vh; /* Space for scrolling */
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.sticky-element {
|
|
170
|
+
position: sticky;
|
|
171
|
+
top: 0;
|
|
172
|
+
height: 100vh;
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### GSAP Pin
|
|
177
|
+
```javascript
|
|
178
|
+
gsap.to('.content', {
|
|
179
|
+
scrollTrigger: {
|
|
180
|
+
trigger: '.section',
|
|
181
|
+
pin: true, // Pins the section
|
|
182
|
+
start: 'top top',
|
|
183
|
+
end: '+=1000', // Pin for 1000px of scroll
|
|
184
|
+
scrub: true,
|
|
185
|
+
},
|
|
186
|
+
// Animate while pinned
|
|
187
|
+
x: '-100vw',
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Horizontal Scroll Section
|
|
192
|
+
```javascript
|
|
193
|
+
const sections = gsap.utils.toArray('.panel');
|
|
194
|
+
|
|
195
|
+
gsap.to(sections, {
|
|
196
|
+
xPercent: -100 * (sections.length - 1),
|
|
197
|
+
ease: 'none',
|
|
198
|
+
scrollTrigger: {
|
|
199
|
+
trigger: '.horizontal-container',
|
|
200
|
+
pin: true,
|
|
201
|
+
scrub: 1,
|
|
202
|
+
end: () => '+=' + document.querySelector('.horizontal-container').offsetWidth,
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Use Cases
|
|
208
|
+
- Product feature walkthrough
|
|
209
|
+
- Before/after comparisons
|
|
210
|
+
- Step-by-step processes
|
|
211
|
+
- Image galleries
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Anti-Patterns
|
|
215
|
+
|
|
216
|
+
### ❌ Scroll Hijacking
|
|
217
|
+
|
|
218
|
+
**Why bad**: Users hate losing scroll control.
|
|
219
|
+
Accessibility nightmare.
|
|
220
|
+
Breaks back button expectations.
|
|
221
|
+
Frustrating on mobile.
|
|
222
|
+
|
|
223
|
+
**Instead**: Enhance scroll, don't replace it.
|
|
224
|
+
Keep natural scroll speed.
|
|
225
|
+
Use scrub animations.
|
|
226
|
+
Allow users to scroll normally.
|
|
227
|
+
|
|
228
|
+
### ❌ Animation Overload
|
|
229
|
+
|
|
230
|
+
**Why bad**: Distracting, not delightful.
|
|
231
|
+
Performance tanks.
|
|
232
|
+
Content becomes secondary.
|
|
233
|
+
User fatigue.
|
|
234
|
+
|
|
235
|
+
**Instead**: Less is more.
|
|
236
|
+
Animate key moments.
|
|
237
|
+
Static content is okay.
|
|
238
|
+
Guide attention, don't overwhelm.
|
|
239
|
+
|
|
240
|
+
### ❌ Desktop-Only Experience
|
|
241
|
+
|
|
242
|
+
**Why bad**: Mobile is majority of traffic.
|
|
243
|
+
Touch scroll is different.
|
|
244
|
+
Performance issues on phones.
|
|
245
|
+
Unusable experience.
|
|
246
|
+
|
|
247
|
+
**Instead**: Mobile-first scroll design.
|
|
248
|
+
Simpler effects on mobile.
|
|
249
|
+
Test on real devices.
|
|
250
|
+
Graceful degradation.
|
|
251
|
+
|
|
252
|
+
## ⚠️ Sharp Edges
|
|
253
|
+
|
|
254
|
+
| Issue | Severity | Solution |
|
|
255
|
+
|-------|----------|----------|
|
|
256
|
+
| Animations stutter during scroll | high | ## Fixing Scroll Jank |
|
|
257
|
+
| Parallax breaks on mobile devices | high | ## Mobile-Safe Parallax |
|
|
258
|
+
| Scroll experience is inaccessible | medium | ## Accessible Scroll Experiences |
|
|
259
|
+
| Critical content hidden below animations | medium | ## Content-First Scroll Design |
|
|
260
|
+
|
|
261
|
+
## Related Skills
|
|
262
|
+
|
|
263
|
+
Works well with: `3d-web-experience`, `frontend`, `ui-design`, `landing-page-design`
|