claude-skill-lord 1.5.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/.claude-plugin/marketplace.json +19 -0
- package/.claude-plugin/plugin.json +54 -0
- package/CLAUDE.md +81 -0
- package/LICENSE +33 -0
- package/LICENSE-ui-ux-pro-max.txt +21 -0
- package/README.md +294 -0
- package/agents/architect.md +211 -0
- package/agents/brainstormer.md +103 -0
- package/agents/build-error-resolver.md +114 -0
- package/agents/chief-of-staff.md +151 -0
- package/agents/code-reviewer.md +285 -0
- package/agents/copywriter.md +111 -0
- package/agents/database-admin.md +91 -0
- package/agents/debugger.md +135 -0
- package/agents/docs-manager.md +119 -0
- package/agents/e2e-runner.md +107 -0
- package/agents/git-manager.md +199 -0
- package/agents/harness-optimizer.md +35 -0
- package/agents/loop-operator.md +36 -0
- package/agents/planner.md +245 -0
- package/agents/project-manager.md +117 -0
- package/agents/quality-gate.md +173 -0
- package/agents/refactor-cleaner.md +85 -0
- package/agents/scout.md +105 -0
- package/agents/security-reviewer.md +108 -0
- package/agents/skill-router.md +112 -0
- package/agents/tdd-guide.md +91 -0
- package/agents/ui-ux-designer.md +220 -0
- package/assets/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/assets/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/assets/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/assets/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/assets/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/assets/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/assets/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/assets/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/assets/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/assets/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/assets/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/assets/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/assets/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/assets/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/assets/canvas-fonts/DMMono-OFL.txt +93 -0
- package/assets/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/assets/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/assets/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/assets/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/assets/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/assets/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/assets/canvas-fonts/Gloock-OFL.txt +93 -0
- package/assets/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/assets/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/assets/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/assets/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/assets/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/assets/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/assets/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/assets/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/assets/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/assets/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/assets/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/assets/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/assets/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/assets/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/assets/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/assets/canvas-fonts/Italiana-OFL.txt +93 -0
- package/assets/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/assets/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/assets/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/assets/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/assets/canvas-fonts/Jura-Light.ttf +0 -0
- package/assets/canvas-fonts/Jura-Medium.ttf +0 -0
- package/assets/canvas-fonts/Jura-OFL.txt +93 -0
- package/assets/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/assets/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/assets/canvas-fonts/Lora-Bold.ttf +0 -0
- package/assets/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/assets/canvas-fonts/Lora-Italic.ttf +0 -0
- package/assets/canvas-fonts/Lora-OFL.txt +93 -0
- package/assets/canvas-fonts/Lora-Regular.ttf +0 -0
- package/assets/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/assets/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/assets/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/assets/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/assets/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/assets/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/assets/canvas-fonts/Outfit-OFL.txt +93 -0
- package/assets/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/assets/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/assets/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/assets/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/assets/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/assets/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/assets/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/assets/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/assets/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/assets/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/assets/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/assets/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/assets/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/assets/canvas-fonts/Tektur-OFL.txt +93 -0
- package/assets/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/assets/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/assets/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/assets/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/assets/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/assets/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/assets/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/assets/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/commands/ask.md +56 -0
- package/commands/audit.md +25 -0
- package/commands/bootstrap/auto/fast.md +111 -0
- package/commands/bootstrap/auto.md +115 -0
- package/commands/bootstrap.md +137 -0
- package/commands/brainstorm.md +69 -0
- package/commands/build-fix.md +66 -0
- package/commands/code-review.md +44 -0
- package/commands/code.md +93 -0
- package/commands/commit_gen.md +44 -0
- package/commands/content/cro.md +43 -0
- package/commands/content/enhance.md +14 -0
- package/commands/content/fast.md +13 -0
- package/commands/content/good.md +16 -0
- package/commands/cook/auto/fast.md +26 -0
- package/commands/cook/auto.md +15 -0
- package/commands/cook.md +105 -0
- package/commands/debug.md +13 -0
- package/commands/design/3d.md +74 -0
- package/commands/design/describe.md +21 -0
- package/commands/design/fast.md +22 -0
- package/commands/design/good.md +26 -0
- package/commands/design/screenshot.md +32 -0
- package/commands/design/video.md +32 -0
- package/commands/docs/init.md +15 -0
- package/commands/docs/summarize.md +22 -0
- package/commands/docs/update.md +23 -0
- package/commands/e2e.md +365 -0
- package/commands/evolve.md +178 -0
- package/commands/fix/ci.md +20 -0
- package/commands/fix/fast.md +19 -0
- package/commands/fix/hard.md +43 -0
- package/commands/fix/logs.md +20 -0
- package/commands/fix/test.md +20 -0
- package/commands/fix/types.md +9 -0
- package/commands/fix/ui.md +35 -0
- package/commands/fix.md +12 -0
- package/commands/git/cm.md +11 -0
- package/commands/git/cp.md +9 -0
- package/commands/git/pr.md +15 -0
- package/commands/integrate/polar.md +28 -0
- package/commands/integrate/sepay.md +28 -0
- package/commands/journal.md +5 -0
- package/commands/learn.md +74 -0
- package/commands/loop-start.md +36 -0
- package/commands/loop-status.md +28 -0
- package/commands/model-route.md +30 -0
- package/commands/plan.md +115 -0
- package/commands/prompt-optimize.md +38 -0
- package/commands/quality-gate.md +33 -0
- package/commands/refactor-clean.md +84 -0
- package/commands/review/codebase.md +49 -0
- package/commands/route.md +28 -0
- package/commands/scout/ext.md +35 -0
- package/commands/scout.md +28 -0
- package/commands/skill/add.md +29 -0
- package/commands/skill/create.md +22 -0
- package/commands/skill/fix-logs.md +21 -0
- package/commands/skill/optimize.md +28 -0
- package/commands/skill-create.md +174 -0
- package/commands/tdd.md +328 -0
- package/commands/test.md +8 -0
- package/commands/verify.md +63 -0
- package/commands/watzup.md +8 -0
- package/hooks/hooks.json +86 -0
- package/hooks/scripts/block-no-verify.js +19 -0
- package/hooks/scripts/check-console-log.js +71 -0
- package/hooks/scripts/check-hook-enabled.js +12 -0
- package/hooks/scripts/config-protection.js +125 -0
- package/hooks/scripts/post-edit-console-warn.js +54 -0
- package/hooks/scripts/post-edit-format.js +109 -0
- package/hooks/scripts/post-edit-typecheck.js +96 -0
- package/hooks/scripts/quality-gate.js +168 -0
- package/hooks/scripts/run-with-flags-shell.sh +32 -0
- package/hooks/scripts/run-with-flags.js +120 -0
- package/hooks/scripts/session-end.js +301 -0
- package/hooks/scripts/session-start.js +98 -0
- package/manifests/install-modules.json +96 -0
- package/manifests/install-profiles.json +17 -0
- package/package.json +52 -0
- package/scripts/install.js +144 -0
- package/scripts/lib/hook-flags.js +74 -0
- package/scripts/lib/profile-utils.js +97 -0
- package/scripts/lib/resolve-formatter.js +185 -0
- package/scripts/lib/resolve-root.js +89 -0
- package/scripts/lib/utils.js +564 -0
- package/scripts/sl.js +677 -0
- package/skills/manifest.json +493 -0
- package/skills/tier-1/api-design/SKILL.md +523 -0
- package/skills/tier-1/backend-development/SKILL.md +95 -0
- package/skills/tier-1/backend-development/references/backend-api-design.md +495 -0
- package/skills/tier-1/backend-development/references/backend-architecture.md +454 -0
- package/skills/tier-1/backend-development/references/backend-authentication.md +338 -0
- package/skills/tier-1/backend-development/references/backend-code-quality.md +659 -0
- package/skills/tier-1/backend-development/references/backend-debugging.md +904 -0
- package/skills/tier-1/backend-development/references/backend-devops.md +494 -0
- package/skills/tier-1/backend-development/references/backend-mindset.md +387 -0
- package/skills/tier-1/backend-development/references/backend-performance.md +397 -0
- package/skills/tier-1/backend-development/references/backend-security.md +290 -0
- package/skills/tier-1/backend-development/references/backend-technologies.md +256 -0
- package/skills/tier-1/backend-development/references/backend-testing.md +429 -0
- package/skills/tier-1/code-review/SKILL.md +143 -0
- package/skills/tier-1/code-review/references/code-review-reception.md +209 -0
- package/skills/tier-1/code-review/references/requesting-code-review.md +105 -0
- package/skills/tier-1/code-review/references/verification-before-completion.md +139 -0
- package/skills/tier-1/databases/SKILL.md +232 -0
- package/skills/tier-1/databases/references/mongodb-aggregation.md +447 -0
- package/skills/tier-1/databases/references/mongodb-atlas.md +465 -0
- package/skills/tier-1/databases/references/mongodb-crud.md +408 -0
- package/skills/tier-1/databases/references/mongodb-indexing.md +442 -0
- package/skills/tier-1/databases/references/postgresql-administration.md +594 -0
- package/skills/tier-1/databases/references/postgresql-performance.md +527 -0
- package/skills/tier-1/databases/references/postgresql-psql-cli.md +467 -0
- package/skills/tier-1/databases/references/postgresql-queries.md +475 -0
- package/skills/tier-1/databases/scripts/.coverage +0 -0
- package/skills/tier-1/databases/scripts/db_backup.py +502 -0
- package/skills/tier-1/databases/scripts/db_migrate.py +414 -0
- package/skills/tier-1/databases/scripts/db_performance_check.py +444 -0
- package/skills/tier-1/databases/scripts/requirements.txt +20 -0
- package/skills/tier-1/databases/scripts/tests/coverage-db.json +1 -0
- package/skills/tier-1/databases/scripts/tests/requirements.txt +4 -0
- package/skills/tier-1/databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/tier-1/databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/tier-1/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/tier-1/debugging/SKILL.md +84 -0
- package/skills/tier-1/debugging/references/defense-in-depth.md +124 -0
- package/skills/tier-1/debugging/references/root-cause-tracing.md +122 -0
- package/skills/tier-1/debugging/references/systematic-debugging.md +102 -0
- package/skills/tier-1/debugging/references/verification.md +123 -0
- package/skills/tier-1/debugging/scripts/find-polluter.sh +63 -0
- package/skills/tier-1/debugging/scripts/find-polluter.test.md +102 -0
- package/skills/tier-1/devops/.env.example +76 -0
- package/skills/tier-1/devops/SKILL.md +285 -0
- package/skills/tier-1/devops/references/browser-rendering.md +305 -0
- package/skills/tier-1/devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/tier-1/devops/references/cloudflare-platform.md +271 -0
- package/skills/tier-1/devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/tier-1/devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/tier-1/devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/tier-1/devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/tier-1/devops/references/docker-basics.md +297 -0
- package/skills/tier-1/devops/references/docker-compose.md +292 -0
- package/skills/tier-1/devops/references/gcloud-platform.md +297 -0
- package/skills/tier-1/devops/references/gcloud-services.md +304 -0
- package/skills/tier-1/devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/tier-1/devops/scripts/docker_optimize.py +320 -0
- package/skills/tier-1/devops/scripts/requirements.txt +20 -0
- package/skills/tier-1/devops/scripts/tests/requirements.txt +3 -0
- package/skills/tier-1/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/tier-1/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/tier-1/frontend-development/SKILL.md +399 -0
- package/skills/tier-1/frontend-development/resources/common-patterns.md +331 -0
- package/skills/tier-1/frontend-development/resources/complete-examples.md +872 -0
- package/skills/tier-1/frontend-development/resources/component-patterns.md +502 -0
- package/skills/tier-1/frontend-development/resources/data-fetching.md +767 -0
- package/skills/tier-1/frontend-development/resources/file-organization.md +502 -0
- package/skills/tier-1/frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/tier-1/frontend-development/resources/performance.md +406 -0
- package/skills/tier-1/frontend-development/resources/routing-guide.md +364 -0
- package/skills/tier-1/frontend-development/resources/styling-guide.md +428 -0
- package/skills/tier-1/frontend-development/resources/typescript-standards.md +418 -0
- package/skills/tier-1/react-best-practices/AGENTS.md +2410 -0
- package/skills/tier-1/react-best-practices/README.md +123 -0
- package/skills/tier-1/react-best-practices/SKILL.md +125 -0
- package/skills/tier-1/react-best-practices/metadata.json +15 -0
- package/skills/tier-1/react-best-practices/rules/_sections.md +46 -0
- package/skills/tier-1/react-best-practices/rules/_template.md +28 -0
- package/skills/tier-1/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/tier-1/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/skills/tier-1/react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/tier-1/react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/tier-1/react-best-practices/rules/async-dependencies.md +36 -0
- package/skills/tier-1/react-best-practices/rules/async-parallel.md +28 -0
- package/skills/tier-1/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/tier-1/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/tier-1/react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/tier-1/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/tier-1/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/tier-1/react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/tier-1/react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/tier-1/react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/tier-1/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/tier-1/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/tier-1/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/skills/tier-1/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/tier-1/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/tier-1/react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/tier-1/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/tier-1/react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/tier-1/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/tier-1/react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/tier-1/react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/tier-1/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/tier-1/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/tier-1/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/tier-1/react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/tier-1/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/tier-1/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/tier-1/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/tier-1/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/tier-1/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/tier-1/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/tier-1/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/tier-1/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/tier-1/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/tier-1/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/tier-1/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/tier-1/react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/tier-1/react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/tier-1/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/tier-1/react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/tier-1/react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/tier-1/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/tier-1/react-best-practices/rules/server-serialization.md +38 -0
- package/skills/tier-1/research/SKILL.md +168 -0
- package/skills/tier-1/security-review/SKILL.md +495 -0
- package/skills/tier-1/security-review/cloud-infrastructure-security.md +361 -0
- package/skills/tier-1/sequential-thinking/.env.example +8 -0
- package/skills/tier-1/sequential-thinking/README.md +183 -0
- package/skills/tier-1/sequential-thinking/SKILL.md +94 -0
- package/skills/tier-1/sequential-thinking/package.json +31 -0
- package/skills/tier-1/sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/tier-1/sequential-thinking/references/advanced-techniques.md +76 -0
- package/skills/tier-1/sequential-thinking/references/core-patterns.md +95 -0
- package/skills/tier-1/sequential-thinking/references/examples-api.md +88 -0
- package/skills/tier-1/sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/tier-1/sequential-thinking/references/examples-debug.md +90 -0
- package/skills/tier-1/sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/tier-1/sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/tier-1/sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/tier-1/sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/tier-1/tdd-workflow/SKILL.md +410 -0
- package/skills/tier-1/testing/SKILL.md +56 -0
- package/skills/tier-1/ui-styling/LICENSE.txt +202 -0
- package/skills/tier-1/ui-styling/SKILL.md +321 -0
- package/skills/tier-1/ui-styling/references/canvas-design-system.md +320 -0
- package/skills/tier-1/ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/tier-1/ui-styling/references/shadcn-components.md +424 -0
- package/skills/tier-1/ui-styling/references/shadcn-theming.md +373 -0
- package/skills/tier-1/ui-styling/references/tailwind-customization.md +483 -0
- package/skills/tier-1/ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/tier-1/ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/tier-1/ui-styling/scripts/.coverage +0 -0
- package/skills/tier-1/ui-styling/scripts/requirements.txt +17 -0
- package/skills/tier-1/ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/tier-1/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/tier-1/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/tier-1/ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/tier-1/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/tier-1/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/tier-1/ui-ux-pro-max/SKILL.md +659 -0
- package/skills/tier-1/ui-ux-pro-max/data/_sync_all.py +414 -0
- package/skills/tier-1/ui-ux-pro-max/data/app-interface.csv +31 -0
- package/skills/tier-1/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/tier-1/ui-ux-pro-max/data/colors.csv +162 -0
- package/skills/tier-1/ui-ux-pro-max/data/design.csv +1776 -0
- package/skills/tier-1/ui-ux-pro-max/data/draft.csv +1779 -0
- package/skills/tier-1/ui-ux-pro-max/data/google-fonts.csv +1924 -0
- package/skills/tier-1/ui-ux-pro-max/data/icons.csv +106 -0
- package/skills/tier-1/ui-ux-pro-max/data/landing.csv +35 -0
- package/skills/tier-1/ui-ux-pro-max/data/products.csv +162 -0
- package/skills/tier-1/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/tier-1/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/tier-1/ui-ux-pro-max/data/styles.csv +85 -0
- package/skills/tier-1/ui-ux-pro-max/data/typography.csv +74 -0
- package/skills/tier-1/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
- package/skills/tier-1/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/tier-1/ui-ux-pro-max/scripts/core.py +247 -0
- package/skills/tier-1/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/tier-1/ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/tier-1/ui-ux-pro-max/templates/base/quick-reference.md +297 -0
- package/skills/tier-1/ui-ux-pro-max/templates/base/skill-content.md +358 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/agent.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/claude.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/codebuddy.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/codex.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/continue.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/copilot.json +18 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/cursor.json +18 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/droid.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/gemini.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/kiro.json +18 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/opencode.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/qoder.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/roocode.json +18 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/trae.json +21 -0
- package/skills/tier-1/ui-ux-pro-max/templates/platforms/windsurf.json +18 -0
- package/skills/tier-1/web-frameworks/SKILL.md +324 -0
- package/skills/tier-1/web-frameworks/references/nextjs-app-router.md +465 -0
- package/skills/tier-1/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/skills/tier-1/web-frameworks/references/nextjs-optimization.md +511 -0
- package/skills/tier-1/web-frameworks/references/nextjs-server-components.md +495 -0
- package/skills/tier-1/web-frameworks/references/remix-icon-integration.md +603 -0
- package/skills/tier-1/web-frameworks/references/turborepo-caching.md +551 -0
- package/skills/tier-1/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/skills/tier-1/web-frameworks/references/turborepo-setup.md +542 -0
- package/skills/tier-1/web-frameworks/scripts/.coverage +0 -0
- package/skills/tier-1/web-frameworks/scripts/__init__.py +0 -0
- package/skills/tier-1/web-frameworks/scripts/nextjs_init.py +547 -0
- package/skills/tier-1/web-frameworks/scripts/requirements.txt +16 -0
- package/skills/tier-1/web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/skills/tier-1/web-frameworks/scripts/tests/requirements.txt +3 -0
- package/skills/tier-1/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/skills/tier-1/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/skills/tier-1/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/skills/tier-2/ai-multimodal/.env.example +97 -0
- package/skills/tier-2/ai-multimodal/SKILL.md +353 -0
- package/skills/tier-2/ai-multimodal/references/audio-processing.md +373 -0
- package/skills/tier-2/ai-multimodal/references/image-generation.md +558 -0
- package/skills/tier-2/ai-multimodal/references/video-analysis.md +498 -0
- package/skills/tier-2/ai-multimodal/references/vision-understanding.md +479 -0
- package/skills/tier-2/ai-multimodal/scripts/.coverage +0 -0
- package/skills/tier-2/ai-multimodal/scripts/document_converter.py +395 -0
- package/skills/tier-2/ai-multimodal/scripts/gemini_batch_process.py +480 -0
- package/skills/tier-2/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/skills/tier-2/ai-multimodal/scripts/requirements.txt +26 -0
- package/skills/tier-2/ai-multimodal/scripts/tests/.coverage +0 -0
- package/skills/tier-2/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/skills/tier-2/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/skills/tier-2/ai-multimodal/scripts/tests/test_failures.log +258 -0
- package/skills/tier-2/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/skills/tier-2/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/skills/tier-2/autonomous-loops/SKILL.md +610 -0
- package/skills/tier-2/backend-patterns/SKILL.md +598 -0
- package/skills/tier-2/better-auth/SKILL.md +204 -0
- package/skills/tier-2/better-auth/references/advanced-features.md +553 -0
- package/skills/tier-2/better-auth/references/database-integration.md +577 -0
- package/skills/tier-2/better-auth/references/email-password-auth.md +416 -0
- package/skills/tier-2/better-auth/references/oauth-providers.md +430 -0
- package/skills/tier-2/better-auth/scripts/.coverage +0 -0
- package/skills/tier-2/better-auth/scripts/better_auth_init.py +521 -0
- package/skills/tier-2/better-auth/scripts/requirements.txt +15 -0
- package/skills/tier-2/better-auth/scripts/tests/.coverage +0 -0
- package/skills/tier-2/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/skills/tier-2/brand/SKILL.md +97 -0
- package/skills/tier-2/brand/references/approval-checklist.md +169 -0
- package/skills/tier-2/brand/references/asset-organization.md +157 -0
- package/skills/tier-2/brand/references/brand-guideline-template.md +140 -0
- package/skills/tier-2/brand/references/color-palette-management.md +186 -0
- package/skills/tier-2/brand/references/consistency-checklist.md +94 -0
- package/skills/tier-2/brand/references/logo-usage-rules.md +185 -0
- package/skills/tier-2/brand/references/messaging-framework.md +85 -0
- package/skills/tier-2/brand/references/typography-specifications.md +214 -0
- package/skills/tier-2/brand/references/update.md +118 -0
- package/skills/tier-2/brand/references/visual-identity.md +96 -0
- package/skills/tier-2/brand/references/voice-framework.md +88 -0
- package/skills/tier-2/brand/scripts/extract-colors.cjs +341 -0
- package/skills/tier-2/brand/scripts/inject-brand-context.cjs +349 -0
- package/skills/tier-2/brand/scripts/sync-brand-to-tokens.cjs +266 -0
- package/skills/tier-2/brand/scripts/validate-asset.cjs +387 -0
- package/skills/tier-2/brand/templates/brand-guidelines-starter.md +275 -0
- package/skills/tier-2/claude-code/SKILL.md +188 -0
- package/skills/tier-2/claude-code/references/advanced-features.md +399 -0
- package/skills/tier-2/claude-code/references/agent-skills.md +399 -0
- package/skills/tier-2/claude-code/references/api-reference.md +498 -0
- package/skills/tier-2/claude-code/references/best-practices.md +447 -0
- package/skills/tier-2/claude-code/references/cicd-integration.md +428 -0
- package/skills/tier-2/claude-code/references/configuration.md +480 -0
- package/skills/tier-2/claude-code/references/enterprise-features.md +472 -0
- package/skills/tier-2/claude-code/references/getting-started.md +252 -0
- package/skills/tier-2/claude-code/references/hooks-and-plugins.md +441 -0
- package/skills/tier-2/claude-code/references/ide-integration.md +316 -0
- package/skills/tier-2/claude-code/references/mcp-integration.md +386 -0
- package/skills/tier-2/claude-code/references/slash-commands.md +489 -0
- package/skills/tier-2/claude-code/references/troubleshooting.md +456 -0
- package/skills/tier-2/codebase-onboarding/SKILL.md +233 -0
- package/skills/tier-2/coding-standards/SKILL.md +530 -0
- package/skills/tier-2/continuous-learning/SKILL.md +365 -0
- package/skills/tier-2/continuous-learning/agents/observer-loop.sh +191 -0
- package/skills/tier-2/continuous-learning/agents/observer.md +198 -0
- package/skills/tier-2/continuous-learning/agents/session-guardian.sh +150 -0
- package/skills/tier-2/continuous-learning/agents/start-observer.sh +240 -0
- package/skills/tier-2/continuous-learning/config.json +8 -0
- package/skills/tier-2/continuous-learning/hooks/observe.sh +412 -0
- package/skills/tier-2/continuous-learning/scripts/detect-project.sh +228 -0
- package/skills/tier-2/continuous-learning/scripts/instinct-cli.py +1426 -0
- package/skills/tier-2/continuous-learning/scripts/test_parse_instinct.py +984 -0
- package/skills/tier-2/database-migrations/SKILL.md +429 -0
- package/skills/tier-2/deployment-patterns/SKILL.md +427 -0
- package/skills/tier-2/design/SKILL.md +302 -0
- package/skills/tier-2/design/data/cip/deliverables.csv +51 -0
- package/skills/tier-2/design/data/cip/industries.csv +21 -0
- package/skills/tier-2/design/data/cip/mockup-contexts.csv +21 -0
- package/skills/tier-2/design/data/cip/styles.csv +21 -0
- package/skills/tier-2/design/data/icon/styles.csv +16 -0
- package/skills/tier-2/design/data/logo/colors.csv +56 -0
- package/skills/tier-2/design/data/logo/industries.csv +56 -0
- package/skills/tier-2/design/data/logo/styles.csv +56 -0
- package/skills/tier-2/design/references/banner-sizes-and-styles.md +118 -0
- package/skills/tier-2/design/references/cip-deliverable-guide.md +95 -0
- package/skills/tier-2/design/references/cip-design.md +121 -0
- package/skills/tier-2/design/references/cip-prompt-engineering.md +84 -0
- package/skills/tier-2/design/references/cip-style-guide.md +68 -0
- package/skills/tier-2/design/references/design-routing.md +207 -0
- package/skills/tier-2/design/references/icon-design.md +122 -0
- package/skills/tier-2/design/references/logo-color-psychology.md +101 -0
- package/skills/tier-2/design/references/logo-design.md +92 -0
- package/skills/tier-2/design/references/logo-prompt-engineering.md +158 -0
- package/skills/tier-2/design/references/logo-style-guide.md +109 -0
- package/skills/tier-2/design/references/slides-copywriting-formulas.md +84 -0
- package/skills/tier-2/design/references/slides-create.md +4 -0
- package/skills/tier-2/design/references/slides-html-template.md +295 -0
- package/skills/tier-2/design/references/slides-layout-patterns.md +137 -0
- package/skills/tier-2/design/references/slides-strategies.md +94 -0
- package/skills/tier-2/design/references/slides.md +42 -0
- package/skills/tier-2/design/references/social-photos-design.md +329 -0
- package/skills/tier-2/design/scripts/cip/core.py +215 -0
- package/skills/tier-2/design/scripts/cip/generate.py +484 -0
- package/skills/tier-2/design/scripts/cip/render-html.py +424 -0
- package/skills/tier-2/design/scripts/cip/search.py +127 -0
- package/skills/tier-2/design/scripts/icon/generate.py +487 -0
- package/skills/tier-2/design/scripts/logo/core.py +175 -0
- package/skills/tier-2/design/scripts/logo/generate.py +362 -0
- package/skills/tier-2/design/scripts/logo/search.py +114 -0
- package/skills/tier-2/design-system/SKILL.md +244 -0
- package/skills/tier-2/design-system/data/slide-backgrounds.csv +11 -0
- package/skills/tier-2/design-system/data/slide-charts.csv +26 -0
- package/skills/tier-2/design-system/data/slide-color-logic.csv +14 -0
- package/skills/tier-2/design-system/data/slide-copy.csv +26 -0
- package/skills/tier-2/design-system/data/slide-layout-logic.csv +16 -0
- package/skills/tier-2/design-system/data/slide-layouts.csv +26 -0
- package/skills/tier-2/design-system/data/slide-strategies.csv +16 -0
- package/skills/tier-2/design-system/data/slide-typography.csv +15 -0
- package/skills/tier-2/design-system/references/component-specs.md +236 -0
- package/skills/tier-2/design-system/references/component-tokens.md +214 -0
- package/skills/tier-2/design-system/references/primitive-tokens.md +203 -0
- package/skills/tier-2/design-system/references/semantic-tokens.md +215 -0
- package/skills/tier-2/design-system/references/states-and-variants.md +241 -0
- package/skills/tier-2/design-system/references/tailwind-integration.md +251 -0
- package/skills/tier-2/design-system/references/token-architecture.md +224 -0
- package/skills/tier-2/design-system/scripts/embed-tokens.cjs +99 -0
- package/skills/tier-2/design-system/scripts/fetch-background.py +317 -0
- package/skills/tier-2/design-system/scripts/generate-slide.py +753 -0
- package/skills/tier-2/design-system/scripts/generate-tokens.cjs +205 -0
- package/skills/tier-2/design-system/scripts/html-token-validator.py +327 -0
- package/skills/tier-2/design-system/scripts/search-slides.py +218 -0
- package/skills/tier-2/design-system/scripts/slide-token-validator.py +35 -0
- package/skills/tier-2/design-system/scripts/slide_search_core.py +453 -0
- package/skills/tier-2/design-system/scripts/validate-tokens.cjs +251 -0
- package/skills/tier-2/design-system/templates/design-tokens-starter.json +143 -0
- package/skills/tier-2/docker-patterns/SKILL.md +364 -0
- package/skills/tier-2/e2e-testing/SKILL.md +326 -0
- package/skills/tier-2/eval-harness/SKILL.md +270 -0
- package/skills/tier-2/frontend-patterns/SKILL.md +642 -0
- package/skills/tier-2/google-adk-python/SKILL.md +242 -0
- package/skills/tier-2/mcp-management/README.md +219 -0
- package/skills/tier-2/mcp-management/SKILL.md +209 -0
- package/skills/tier-2/mcp-management/assets/tools.json +3146 -0
- package/skills/tier-2/mcp-management/references/configuration.md +114 -0
- package/skills/tier-2/mcp-management/references/gemini-cli-integration.md +215 -0
- package/skills/tier-2/mcp-management/references/mcp-protocol.md +116 -0
- package/skills/tier-2/mcp-management/scripts/.env.example +10 -0
- package/skills/tier-2/mcp-management/scripts/cli.ts +195 -0
- package/skills/tier-2/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/tier-2/mcp-management/scripts/dist/cli.js +127 -0
- package/skills/tier-2/mcp-management/scripts/dist/mcp-client.js +115 -0
- package/skills/tier-2/mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/tier-2/mcp-management/scripts/package.json +20 -0
- package/skills/tier-2/mcp-management/scripts/tsconfig.json +15 -0
- package/skills/tier-2/mcp-server-patterns/SKILL.md +67 -0
- package/skills/tier-2/media-processing/SKILL.md +358 -0
- package/skills/tier-2/media-processing/references/ffmpeg-encoding.md +358 -0
- package/skills/tier-2/media-processing/references/ffmpeg-filters.md +503 -0
- package/skills/tier-2/media-processing/references/ffmpeg-streaming.md +403 -0
- package/skills/tier-2/media-processing/references/format-compatibility.md +375 -0
- package/skills/tier-2/media-processing/references/imagemagick-batch.md +612 -0
- package/skills/tier-2/media-processing/references/imagemagick-editing.md +623 -0
- package/skills/tier-2/media-processing/scripts/batch_resize.py +342 -0
- package/skills/tier-2/media-processing/scripts/media_convert.py +311 -0
- package/skills/tier-2/media-processing/scripts/requirements.txt +24 -0
- package/skills/tier-2/media-processing/scripts/tests/.coverage +0 -0
- package/skills/tier-2/media-processing/scripts/tests/requirements.txt +2 -0
- package/skills/tier-2/media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/skills/tier-2/media-processing/scripts/tests/test_media_convert.py +259 -0
- package/skills/tier-2/media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/skills/tier-2/media-processing/scripts/video_optimize.py +414 -0
- package/skills/tier-2/mobile-development/SKILL.md +212 -0
- package/skills/tier-2/mobile-development/references/mobile-android.md +604 -0
- package/skills/tier-2/mobile-development/references/mobile-best-practices.md +545 -0
- package/skills/tier-2/mobile-development/references/mobile-debugging.md +1089 -0
- package/skills/tier-2/mobile-development/references/mobile-frameworks.md +465 -0
- package/skills/tier-2/mobile-development/references/mobile-ios.md +496 -0
- package/skills/tier-2/mobile-development/references/mobile-mindset.md +544 -0
- package/skills/tier-2/payment-integration/README.md +185 -0
- package/skills/tier-2/payment-integration/SKILL.md +118 -0
- package/skills/tier-2/payment-integration/references/polar/benefits.md +396 -0
- package/skills/tier-2/payment-integration/references/polar/best-practices.md +482 -0
- package/skills/tier-2/payment-integration/references/polar/checkouts.md +266 -0
- package/skills/tier-2/payment-integration/references/polar/overview.md +184 -0
- package/skills/tier-2/payment-integration/references/polar/products.md +244 -0
- package/skills/tier-2/payment-integration/references/polar/sdk.md +436 -0
- package/skills/tier-2/payment-integration/references/polar/subscriptions.md +340 -0
- package/skills/tier-2/payment-integration/references/polar/webhooks.md +405 -0
- package/skills/tier-2/payment-integration/references/sepay/api.md +140 -0
- package/skills/tier-2/payment-integration/references/sepay/best-practices.md +337 -0
- package/skills/tier-2/payment-integration/references/sepay/overview.md +138 -0
- package/skills/tier-2/payment-integration/references/sepay/qr-codes.md +228 -0
- package/skills/tier-2/payment-integration/references/sepay/sdk.md +213 -0
- package/skills/tier-2/payment-integration/references/sepay/webhooks.md +208 -0
- package/skills/tier-2/payment-integration/scripts/.env.example +20 -0
- package/skills/tier-2/payment-integration/scripts/checkout-helper.js +244 -0
- package/skills/tier-2/payment-integration/scripts/package.json +17 -0
- package/skills/tier-2/payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/skills/tier-2/payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/skills/tier-2/payment-integration/scripts/test-scripts.js +237 -0
- package/skills/tier-2/planning/SKILL.md +88 -0
- package/skills/tier-2/planning/references/codebase-understanding.md +62 -0
- package/skills/tier-2/planning/references/output-standards.md +87 -0
- package/skills/tier-2/planning/references/plan-organization.md +100 -0
- package/skills/tier-2/planning/references/research-phase.md +49 -0
- package/skills/tier-2/planning/references/solution-design.md +63 -0
- package/skills/tier-2/postgres-patterns/SKILL.md +147 -0
- package/skills/tier-2/problem-solving/SKILL.md +96 -0
- package/skills/tier-2/problem-solving/references/attribution.md +69 -0
- package/skills/tier-2/problem-solving/references/collision-zone-thinking.md +79 -0
- package/skills/tier-2/problem-solving/references/inversion-exercise.md +91 -0
- package/skills/tier-2/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/skills/tier-2/problem-solving/references/scale-game.md +95 -0
- package/skills/tier-2/problem-solving/references/simplification-cascades.md +80 -0
- package/skills/tier-2/problem-solving/references/when-stuck.md +72 -0
- package/skills/tier-2/strategic-compact/SKILL.md +131 -0
- package/skills/tier-2/strategic-compact/suggest-compact.sh +54 -0
- package/skills/tier-2/verification-loop/SKILL.md +126 -0
- package/skills/tier-3/agentic-engineering/SKILL.md +63 -0
- package/skills/tier-3/banner-design/SKILL.md +192 -0
- package/skills/tier-3/banner-design/references/banner-sizes-and-styles.md +118 -0
- package/skills/tier-3/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/skills/tier-3/django-patterns/SKILL.md +734 -0
- package/skills/tier-3/golang-patterns/SKILL.md +674 -0
- package/skills/tier-3/kotlin-patterns/SKILL.md +711 -0
- package/skills/tier-3/laravel-patterns/SKILL.md +415 -0
- package/skills/tier-3/prompt-optimizer/SKILL.md +397 -0
- package/skills/tier-3/python-patterns/SKILL.md +750 -0
- package/skills/tier-3/pytorch-patterns/SKILL.md +396 -0
- package/skills/tier-3/rust-patterns/SKILL.md +499 -0
- package/skills/tier-3/shopify/README.md +66 -0
- package/skills/tier-3/shopify/SKILL.md +319 -0
- package/skills/tier-3/shopify/references/app-development.md +470 -0
- package/skills/tier-3/shopify/references/extensions.md +493 -0
- package/skills/tier-3/shopify/references/themes.md +498 -0
- package/skills/tier-3/shopify/scripts/.coverage +0 -0
- package/skills/tier-3/shopify/scripts/requirements.txt +19 -0
- package/skills/tier-3/shopify/scripts/shopify_init.py +423 -0
- package/skills/tier-3/shopify/scripts/tests/.coverage +0 -0
- package/skills/tier-3/shopify/scripts/tests/test_shopify_init.py +385 -0
- package/skills/tier-3/slides/SKILL.md +42 -0
- package/skills/tier-3/slides/references/copywriting-formulas.md +84 -0
- package/skills/tier-3/slides/references/create.md +4 -0
- package/skills/tier-3/slides/references/html-template.md +295 -0
- package/skills/tier-3/slides/references/layout-patterns.md +137 -0
- package/skills/tier-3/slides/references/slide-strategies.md +94 -0
- package/skills/tier-3/springboot-patterns/SKILL.md +314 -0
- package/skills/tier-3/swiftui-patterns/SKILL.md +259 -0
- package/skills/tier-3/threejs/SKILL.md +89 -0
- package/skills/tier-3/threejs/references/01-getting-started.md +177 -0
- package/skills/tier-3/threejs/references/02-loaders.md +169 -0
- package/skills/tier-3/threejs/references/03-textures.md +170 -0
- package/skills/tier-3/threejs/references/04-cameras.md +195 -0
- package/skills/tier-3/threejs/references/05-lights.md +183 -0
- package/skills/tier-3/threejs/references/06-animations.md +214 -0
- package/skills/tier-3/threejs/references/07-math.md +260 -0
- package/skills/tier-3/threejs/references/08-interaction.md +267 -0
- package/skills/tier-3/threejs/references/09-postprocessing.md +240 -0
- package/skills/tier-3/threejs/references/10-controls.md +259 -0
- package/skills/tier-3/threejs/references/11-materials-advanced.md +270 -0
- package/skills/tier-3/threejs/references/12-performance.md +269 -0
- package/skills/tier-3/threejs/references/13-node-materials.md +298 -0
- package/skills/tier-3/threejs/references/14-physics-vr.md +304 -0
- package/skills/tier-3/threejs/references/15-specialized-loaders.md +333 -0
- package/skills/tier-3/threejs/references/16-webgpu.md +302 -0
- package/skills/tier-3/vercel-deploy/SKILL.md +112 -0
- package/skills/tier-3/vercel-deploy/scripts/deploy.sh +249 -0
- package/workflows/development-rules.md +49 -0
- package/workflows/orchestration-protocol.md +16 -0
- package/workflows/primary-workflow.md +52 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Describe a design based on screenshot/video
|
|
3
|
+
argument-hint: [screenshot]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Think hard to describe the design based on this screenshot/video:
|
|
7
|
+
<screenshot>$ARGUMENTS</screenshot>
|
|
8
|
+
|
|
9
|
+
**IMPORTANT**: Activate `aesthetic` and `frontend-design` skills.
|
|
10
|
+
**IMPORTANT**: Analyze the list of skills at `.claude/skills/*` and intelligently activate the skills that are needed for the task during the process.
|
|
11
|
+
**Ensure token efficiency while maintaining high quality.**
|
|
12
|
+
|
|
13
|
+
## Workflow:
|
|
14
|
+
1. Use `ai-multimodal` skills to describe super details of the screenshot/video so the developer can implement it easily.
|
|
15
|
+
- Be specific about design style, every element, elements' positions, every interaction, every animation, every transition, every color, every border, every icon, every font style, font size, font weight, every spacing, every padding, every margin, every size, every shape, every texture, every material, every light, every shadow, every reflection, every refraction, every blur, every glow, every image, background transparency, etc.
|
|
16
|
+
- **IMPORTANT:** Try to predict the font name (Google Fonts) and font size in the given screenshot, don't just use Inter or Poppins.
|
|
17
|
+
2. Use `ui-ux-designer` subagent to create a design implementation plan following the progressive disclosure structure so the result matches the screenshot/video:
|
|
18
|
+
- Create a directory `plans/YYYYMMDD-HHmm-plan-name` (example: `plans/20251101-1505-authentication-and-profile-implementation`).
|
|
19
|
+
- Save the overview access point at `plan.md`, keep it generic, under 80 lines, and list each phase with status/progress and links.
|
|
20
|
+
- For each phase, add `phase-XX-phase-name.md` files containing sections (Context links, Overview with date/priority/statuses, Key Insights, Requirements, Architecture, Related code files, Implementation Steps, Todo list, Success Criteria, Risk Assessment, Security Considerations, Next steps).
|
|
21
|
+
3. Report back to user with a summary of the plan.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a quick design
|
|
3
|
+
argument-hint: [tasks]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Think hard to plan & start working on these tasks follow the Orchestration Protocol, Core Responsibilities, Subagents Team and Development Rules:
|
|
7
|
+
<tasks>$ARGUMENTS</tasks>
|
|
8
|
+
|
|
9
|
+
**IMPORTANT**: Activate `aesthetic` and `frontend-design` skills.
|
|
10
|
+
**IMPORTANT**: Analyze the list of skills at `.claude/skills/*` and intelligently activate the skills that are needed for the task during the process.
|
|
11
|
+
**Ensure token efficiency while maintaining high quality.**
|
|
12
|
+
|
|
13
|
+
## Workflow:
|
|
14
|
+
2. Use `ui-ux-designer` subagent to start the design process.
|
|
15
|
+
3. If user doesn't specify, create the design in pure HTML/CSS/JS.
|
|
16
|
+
4. Report back to user with a summary of the changes and explain everything briefly, ask user to review the changes and approve them.
|
|
17
|
+
5. If user approves the changes, update the `./docs/design-guidelines.md` docs if needed.
|
|
18
|
+
|
|
19
|
+
## Notes:
|
|
20
|
+
- Remember that you have the capability to generate images, videos, edit images, etc. with `ai-multimodal` skills. Use them to create the design and real assets.
|
|
21
|
+
- Always review, analyze and double check generated assets with `ai-multimodal` skills to verify quality.
|
|
22
|
+
- Maintain and update `./docs/design-guidelines.md` docs if needed.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create an immersive design
|
|
3
|
+
argument-hint: [tasks]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Think hard to plan & start working on these tasks follow the Orchestration Protocol, Core Responsibilities, Subagents Team and Development Rules:
|
|
7
|
+
<tasks>$ARGUMENTS</tasks>
|
|
8
|
+
|
|
9
|
+
**IMPORTANT**: Activate `aesthetic` and `frontend-design` skills.
|
|
10
|
+
**IMPORTANT**: Analyze the list of skills at `.claude/skills/*` and intelligently activate the skills that are needed for the task during the process.
|
|
11
|
+
**Ensure token efficiency while maintaining high quality.**
|
|
12
|
+
|
|
13
|
+
## Workflow:
|
|
14
|
+
1. Use `researcher` subagent to research about design style, trends, fonts, colors, border, spacing, elements' positions, etc.
|
|
15
|
+
2. Use `ui-ux-designer` subagent to implement the design step by step based on the research.
|
|
16
|
+
3. If user doesn't specify, create the design in pure HTML/CSS/JS.
|
|
17
|
+
4. Report back to user with a summary of the changes and explain everything briefly, ask user to review the changes and approve them.
|
|
18
|
+
5. If user approves the changes, update the `./docs/design-guidelines.md` docs if needed.
|
|
19
|
+
|
|
20
|
+
## Important Notes:
|
|
21
|
+
- **ALWAYS REMEBER that you have the skills of a top-tier UI/UX Designer who won a lot of awards on Dribbble, Behance, Awwwards, Mobbin, TheFWA.**
|
|
22
|
+
- Remember that you have the capability to generate images, videos, edit images, etc. with `ai-multimodal` skills for image generation. Use them to create the design with real assets.
|
|
23
|
+
- Always review, analyze and double check the generated assets with `ai-multimodal` skills to verify quality.
|
|
24
|
+
- Use removal background tools to remove background from generated assets if needed.
|
|
25
|
+
- Create storytelling designs, immersive 3D experiences, micro-interactions, and interactive interfaces.
|
|
26
|
+
- Maintain and update `./docs/design-guidelines.md` docs if needed.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a design based on screenshot
|
|
3
|
+
argument-hint: [screenshot]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Think hard to plan & start designing follow exactly this screenshot:
|
|
7
|
+
<screenshot>$ARGUMENTS</screenshot>
|
|
8
|
+
|
|
9
|
+
**IMPORTANT**: Activate `aesthetic` and `frontend-design` skills.
|
|
10
|
+
**IMPORTANT**: Analyze the list of skills at `.claude/skills/*` and intelligently activate the skills that are needed for the task during the process.
|
|
11
|
+
**Ensure token efficiency while maintaining high quality.**
|
|
12
|
+
|
|
13
|
+
## Workflow:
|
|
14
|
+
1. Use `ai-multimodal` skills to describe super details of the screenshot (design style, trends, fonts, colors, border, spacing, elements' positions, size, shape, texture, material, light, shadow, reflection, refraction, blur, glow, image, background transparency, transition, etc.)
|
|
15
|
+
- **IMPORTANT:** Try to predict the font name (Google Fonts) and font size in the given screenshot, don't just use Inter or Poppins.
|
|
16
|
+
2. Use `ui-ux-designer` subagent to create a design plan following the progressive disclosure structure so the final result matches the screenshot:
|
|
17
|
+
- Create a directory `plans/YYYYMMDD-HHmm-plan-name` (example: `plans/20251101-1505-authentication-and-profile-implementation`).
|
|
18
|
+
- Save the overview access point at `plan.md`, keep it generic, under 80 lines, and list each phase with status/progress and links.
|
|
19
|
+
- For each phase, add `phase-XX-phase-name.md` files containing sections (Context links, Overview with date/priority/statuses, Key Insights, Requirements, Architecture, Related code files, Implementation Steps, Todo list, Success Criteria, Risk Assessment, Security Considerations, Next steps).
|
|
20
|
+
- Keep every research markdown report concise (≤150 lines) while covering all requested topics and citations.
|
|
21
|
+
3. Then implement the plan step by step.
|
|
22
|
+
4. If user doesn't specify, create the design in pure HTML/CSS/JS.
|
|
23
|
+
5. Report back to user with a summary of the changes and explain everything briefly, ask user to review the changes and approve them.
|
|
24
|
+
6. If user approves the changes, update the `./docs/design-guidelines.md` docs if needed.
|
|
25
|
+
|
|
26
|
+
## Important Notes:
|
|
27
|
+
- **ALWAYS REMEBER that you have the skills of a top-tier UI/UX Designer who won a lot of awards on Dribbble, Behance, Awwwards, Mobbin, TheFWA.**
|
|
28
|
+
- Remember that you have the capability to generate images, videos, edit images, etc. with ai-multimodal skill for image generation. Use them to create the design with real assets.
|
|
29
|
+
- Always review, analyze and double check the generated assets with ai-multimodal skill to verify quality.
|
|
30
|
+
- Use removal background tools to remove background from generated assets if needed.
|
|
31
|
+
- Create storytelling designs, immersive 3D experiences, micro-interactions, and interactive interfaces.
|
|
32
|
+
- Maintain and update `./docs/design-guidelines.md` docs if needed.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a design based on video
|
|
3
|
+
argument-hint: [video]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Think hard to plan & start designing follow exactly this video:
|
|
7
|
+
<video>$ARGUMENTS</video>
|
|
8
|
+
|
|
9
|
+
**IMPORTANT**: Activate `aesthetic` and `frontend-design` skills.
|
|
10
|
+
**IMPORTANT**: Analyze the list of skills at `.claude/skills/*` and intelligently activate the skills that are needed for the task during the process.
|
|
11
|
+
**Ensure token efficiency while maintaining high quality.**
|
|
12
|
+
|
|
13
|
+
## Workflow:
|
|
14
|
+
1. Use `ai-multimodal` skills to describe super details of the video: be specific about describing every element, every interaction, every animation, every transition, every color, every font, every border, every spacing, every size, every shape, every texture, every material, every light, every shadow, every reflection, every refraction, every blur, every glow, every image, background transparency, etc.
|
|
15
|
+
- **IMPORTANT:** Try to predict the font name (Google Fonts) and font size in the given video, don't just use Inter or Poppins.
|
|
16
|
+
2. Use `ui-ux-designer` subagent to create a design plan following the progressive disclosure structure so the final result matches the video:
|
|
17
|
+
- Create a directory `plans/YYYYMMDD-HHmm-plan-name` (example: `plans/20251101-1505-authentication-and-profile-implementation`).
|
|
18
|
+
- Save the overview access point at `plan.md`, keep it generic, under 80 lines, and list each phase with status/progress and links.
|
|
19
|
+
- For each phase, add `phase-XX-phase-name.md` files containing sections (Context links, Overview with date/priority/statuses, Key Insights, Requirements, Architecture, Related code files, Implementation Steps, Todo list, Success Criteria, Risk Assessment, Security Considerations, Next steps).
|
|
20
|
+
- Keep every research markdown report concise (≤150 lines) while covering all requested topics and citations.
|
|
21
|
+
3. Then implement the plan step by step.
|
|
22
|
+
4. If user doesn't specify, create the design in pure HTML/CSS/JS.
|
|
23
|
+
5. Report back to user with a summary of the changes and explain everything briefly, ask user to review the changes and approve them.
|
|
24
|
+
6. If user approves the changes, update the `./docs/design-guidelines.md` docs if needed.
|
|
25
|
+
|
|
26
|
+
## Important Notes:
|
|
27
|
+
- **ALWAYS REMEBER that you have the skills of a top-tier UI/UX Designer who won a lot of awards on Dribbble, Behance, Awwwards, Mobbin, TheFWA.**
|
|
28
|
+
- Remember that you have the capability to generate images, videos, edit images, etc. with ai-multimodal skill for image generation. Use them to create the design with real assets.
|
|
29
|
+
- Always review, analyze and double check the generated assets with ai-multimodal skill to verify quality.
|
|
30
|
+
- Use removal background tools to remove background from generated assets if needed.
|
|
31
|
+
- Create storytelling designs, immersive 3D experiences, micro-interactions, and interactive interfaces.
|
|
32
|
+
- Maintain and update `./docs/design-guidelines.md` docs if needed.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ⚡⚡⚡⚡ Analyze the codebase and create initial documentation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Mission
|
|
6
|
+
Use `docs-manager` agent to analyze the codebase and create initial documentation:
|
|
7
|
+
- `docs/project-overview-pdr.md`: Project overview and PDR (Product Development Requirements)
|
|
8
|
+
- `docs/codebase-summary.md`: Codebase summary
|
|
9
|
+
- `docs/code-standards.md`: Codebase structure and code standards
|
|
10
|
+
- `docs/system-architecture.md`: System architecture
|
|
11
|
+
- Update `README.md` with initial documentation (keep it under 300 lines)
|
|
12
|
+
|
|
13
|
+
Use `docs/` directory as the source of truth for documentation.
|
|
14
|
+
|
|
15
|
+
**IMPORTANT**: **Do not** start implementing.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ⚡ Analyze the codebase and update documentation
|
|
3
|
+
argument-hint: [focused-topics] [should-scan-codebase]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use `docs-manager` agent to analyze the codebase based on `docs/codebase-summary.md` and respond with a summary report.
|
|
7
|
+
|
|
8
|
+
## Arguments:
|
|
9
|
+
$1: Focused topics (default: all)
|
|
10
|
+
$2: Should scan codebase (`Boolean`, default: `false`)
|
|
11
|
+
|
|
12
|
+
## Focused Topics:
|
|
13
|
+
<focused_topics>$1</focused_topics>
|
|
14
|
+
|
|
15
|
+
## Should Scan Codebase:
|
|
16
|
+
<should_scan_codebase>$2</should_scan_codebase>
|
|
17
|
+
|
|
18
|
+
## Important:
|
|
19
|
+
- Use `docs/` directory as the source of truth for documentation.
|
|
20
|
+
- Do not scan the entire codebase unless the user explicitly requests it.
|
|
21
|
+
|
|
22
|
+
**IMPORTANT**: **Do not** start implementing.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: ⚡⚡⚡ Analyze the codebase and update documentation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Use `docs-manager` agent to analyze the codebase and update documentation:
|
|
6
|
+
- `README.md`: Update README (keep it under 300 lines)
|
|
7
|
+
- `docs/project-overview-pdr.md`: Update project overview and PDR (Product Development Requirements)
|
|
8
|
+
- `docs/codebase-summary.md`: Update codebase summary
|
|
9
|
+
- `docs/code-standards.md`: Update codebase structure and code standards
|
|
10
|
+
- `docs/system-architecture.md`: Update system architecture
|
|
11
|
+
- `docs/project-roadmap.md`: Update project roadmap
|
|
12
|
+
- `docs/deployment-guide.md` [optional]: Update deployment guide
|
|
13
|
+
- `docs/design-guidelines.md` [optional]: Update design guidelines
|
|
14
|
+
|
|
15
|
+
## Additional requests
|
|
16
|
+
<additional_requests>
|
|
17
|
+
$ARGUMENTS
|
|
18
|
+
</additional_requests>
|
|
19
|
+
|
|
20
|
+
## Important
|
|
21
|
+
- Use `docs/` directory as the source of truth for documentation.
|
|
22
|
+
|
|
23
|
+
**IMPORTANT**: **Do not** start implementing.
|
package/commands/e2e.md
ADDED
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate and run end-to-end tests with Playwright. Creates test journeys, runs tests, captures screenshots/videos/traces, and uploads artifacts.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# E2E Command
|
|
6
|
+
|
|
7
|
+
This command invokes the **e2e-runner** agent to generate, maintain, and execute end-to-end tests using Playwright.
|
|
8
|
+
|
|
9
|
+
## What This Command Does
|
|
10
|
+
|
|
11
|
+
1. **Generate Test Journeys** - Create Playwright tests for user flows
|
|
12
|
+
2. **Run E2E Tests** - Execute tests across browsers
|
|
13
|
+
3. **Capture Artifacts** - Screenshots, videos, traces on failures
|
|
14
|
+
4. **Upload Results** - HTML reports and JUnit XML
|
|
15
|
+
5. **Identify Flaky Tests** - Quarantine unstable tests
|
|
16
|
+
|
|
17
|
+
## When to Use
|
|
18
|
+
|
|
19
|
+
Use `/e2e` when:
|
|
20
|
+
- Testing critical user journeys (login, trading, payments)
|
|
21
|
+
- Verifying multi-step flows work end-to-end
|
|
22
|
+
- Testing UI interactions and navigation
|
|
23
|
+
- Validating integration between frontend and backend
|
|
24
|
+
- Preparing for production deployment
|
|
25
|
+
|
|
26
|
+
## How It Works
|
|
27
|
+
|
|
28
|
+
The e2e-runner agent will:
|
|
29
|
+
|
|
30
|
+
1. **Analyze user flow** and identify test scenarios
|
|
31
|
+
2. **Generate Playwright test** using Page Object Model pattern
|
|
32
|
+
3. **Run tests** across multiple browsers (Chrome, Firefox, Safari)
|
|
33
|
+
4. **Capture failures** with screenshots, videos, and traces
|
|
34
|
+
5. **Generate report** with results and artifacts
|
|
35
|
+
6. **Identify flaky tests** and recommend fixes
|
|
36
|
+
|
|
37
|
+
## Example Usage
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
User: /e2e Test the market search and view flow
|
|
41
|
+
|
|
42
|
+
Agent (e2e-runner):
|
|
43
|
+
# E2E Test Generation: Market Search and View Flow
|
|
44
|
+
|
|
45
|
+
## Test Scenario Identified
|
|
46
|
+
|
|
47
|
+
**User Journey:** Market Search → View Results → Click Market → View Details
|
|
48
|
+
|
|
49
|
+
**Test Coverage:**
|
|
50
|
+
1. Navigate to markets page
|
|
51
|
+
2. Perform semantic search
|
|
52
|
+
3. Verify search results
|
|
53
|
+
4. Click on first result
|
|
54
|
+
5. Verify market details page loads
|
|
55
|
+
6. Verify chart renders
|
|
56
|
+
|
|
57
|
+
## Generated Test Code
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
// tests/e2e/markets/search-and-view.spec.ts
|
|
61
|
+
import { test, expect } from '@playwright/test'
|
|
62
|
+
import { MarketsPage } from '../../pages/MarketsPage'
|
|
63
|
+
import { MarketDetailsPage } from '../../pages/MarketDetailsPage'
|
|
64
|
+
|
|
65
|
+
test.describe('Market Search and View Flow', () => {
|
|
66
|
+
test('user can search markets and view details', async ({ page }) => {
|
|
67
|
+
// 1. Navigate to markets page
|
|
68
|
+
const marketsPage = new MarketsPage(page)
|
|
69
|
+
await marketsPage.goto()
|
|
70
|
+
|
|
71
|
+
// Verify page loaded
|
|
72
|
+
await expect(page).toHaveTitle(/Markets/)
|
|
73
|
+
await expect(page.locator('h1')).toContainText('Markets')
|
|
74
|
+
|
|
75
|
+
// 2. Perform semantic search
|
|
76
|
+
await marketsPage.searchMarkets('election')
|
|
77
|
+
|
|
78
|
+
// Wait for API response
|
|
79
|
+
await page.waitForResponse(resp =>
|
|
80
|
+
resp.url().includes('/api/markets/search') && resp.status() === 200
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
// 3. Verify search results
|
|
84
|
+
const marketCards = marketsPage.marketCards
|
|
85
|
+
await expect(marketCards.first()).toBeVisible()
|
|
86
|
+
const resultCount = await marketCards.count()
|
|
87
|
+
expect(resultCount).toBeGreaterThan(0)
|
|
88
|
+
|
|
89
|
+
// Take screenshot of search results
|
|
90
|
+
await page.screenshot({ path: 'artifacts/search-results.png' })
|
|
91
|
+
|
|
92
|
+
// 4. Click on first result
|
|
93
|
+
const firstMarketTitle = await marketCards.first().textContent()
|
|
94
|
+
await marketCards.first().click()
|
|
95
|
+
|
|
96
|
+
// 5. Verify market details page loads
|
|
97
|
+
await expect(page).toHaveURL(/\/markets\/[a-z0-9-]+/)
|
|
98
|
+
|
|
99
|
+
const detailsPage = new MarketDetailsPage(page)
|
|
100
|
+
await expect(detailsPage.marketName).toBeVisible()
|
|
101
|
+
await expect(detailsPage.marketDescription).toBeVisible()
|
|
102
|
+
|
|
103
|
+
// 6. Verify chart renders
|
|
104
|
+
await expect(detailsPage.priceChart).toBeVisible()
|
|
105
|
+
|
|
106
|
+
// Verify market name matches
|
|
107
|
+
const detailsTitle = await detailsPage.marketName.textContent()
|
|
108
|
+
expect(detailsTitle?.toLowerCase()).toContain(
|
|
109
|
+
firstMarketTitle?.toLowerCase().substring(0, 20) || ''
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
// Take screenshot of market details
|
|
113
|
+
await page.screenshot({ path: 'artifacts/market-details.png' })
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
test('search with no results shows empty state', async ({ page }) => {
|
|
117
|
+
const marketsPage = new MarketsPage(page)
|
|
118
|
+
await marketsPage.goto()
|
|
119
|
+
|
|
120
|
+
// Search for non-existent market
|
|
121
|
+
await marketsPage.searchMarkets('xyznonexistentmarket123456')
|
|
122
|
+
|
|
123
|
+
// Verify empty state
|
|
124
|
+
await expect(page.locator('[data-testid="no-results"]')).toBeVisible()
|
|
125
|
+
await expect(page.locator('[data-testid="no-results"]')).toContainText(
|
|
126
|
+
/no.*results|no.*markets/i
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
const marketCount = await marketsPage.marketCards.count()
|
|
130
|
+
expect(marketCount).toBe(0)
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
test('can clear search and see all markets again', async ({ page }) => {
|
|
134
|
+
const marketsPage = new MarketsPage(page)
|
|
135
|
+
await marketsPage.goto()
|
|
136
|
+
|
|
137
|
+
// Initial market count
|
|
138
|
+
const initialCount = await marketsPage.marketCards.count()
|
|
139
|
+
|
|
140
|
+
// Perform search
|
|
141
|
+
await marketsPage.searchMarkets('trump')
|
|
142
|
+
await page.waitForLoadState('networkidle')
|
|
143
|
+
|
|
144
|
+
// Verify filtered results
|
|
145
|
+
const filteredCount = await marketsPage.marketCards.count()
|
|
146
|
+
expect(filteredCount).toBeLessThan(initialCount)
|
|
147
|
+
|
|
148
|
+
// Clear search
|
|
149
|
+
await marketsPage.searchInput.clear()
|
|
150
|
+
await page.waitForLoadState('networkidle')
|
|
151
|
+
|
|
152
|
+
// Verify all markets shown again
|
|
153
|
+
const finalCount = await marketsPage.marketCards.count()
|
|
154
|
+
expect(finalCount).toBe(initialCount)
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Running Tests
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Run the generated test
|
|
163
|
+
npx playwright test tests/e2e/markets/search-and-view.spec.ts
|
|
164
|
+
|
|
165
|
+
Running 3 tests using 3 workers
|
|
166
|
+
|
|
167
|
+
✓ [chromium] › search-and-view.spec.ts:5:3 › user can search markets and view details (4.2s)
|
|
168
|
+
✓ [chromium] › search-and-view.spec.ts:52:3 › search with no results shows empty state (1.8s)
|
|
169
|
+
✓ [chromium] › search-and-view.spec.ts:67:3 › can clear search and see all markets again (2.9s)
|
|
170
|
+
|
|
171
|
+
3 passed (9.1s)
|
|
172
|
+
|
|
173
|
+
Artifacts generated:
|
|
174
|
+
- artifacts/search-results.png
|
|
175
|
+
- artifacts/market-details.png
|
|
176
|
+
- playwright-report/index.html
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Test Report
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
183
|
+
║ E2E Test Results ║
|
|
184
|
+
╠══════════════════════════════════════════════════════════════╣
|
|
185
|
+
║ Status: ✅ ALL TESTS PASSED ║
|
|
186
|
+
║ Total: 3 tests ║
|
|
187
|
+
║ Passed: 3 (100%) ║
|
|
188
|
+
║ Failed: 0 ║
|
|
189
|
+
║ Flaky: 0 ║
|
|
190
|
+
║ Duration: 9.1s ║
|
|
191
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
192
|
+
|
|
193
|
+
Artifacts:
|
|
194
|
+
📸 Screenshots: 2 files
|
|
195
|
+
📹 Videos: 0 files (only on failure)
|
|
196
|
+
🔍 Traces: 0 files (only on failure)
|
|
197
|
+
📊 HTML Report: playwright-report/index.html
|
|
198
|
+
|
|
199
|
+
View report: npx playwright show-report
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
✅ E2E test suite ready for CI/CD integration!
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Test Artifacts
|
|
206
|
+
|
|
207
|
+
When tests run, the following artifacts are captured:
|
|
208
|
+
|
|
209
|
+
**On All Tests:**
|
|
210
|
+
- HTML Report with timeline and results
|
|
211
|
+
- JUnit XML for CI integration
|
|
212
|
+
|
|
213
|
+
**On Failure Only:**
|
|
214
|
+
- Screenshot of the failing state
|
|
215
|
+
- Video recording of the test
|
|
216
|
+
- Trace file for debugging (step-by-step replay)
|
|
217
|
+
- Network logs
|
|
218
|
+
- Console logs
|
|
219
|
+
|
|
220
|
+
## Viewing Artifacts
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# View HTML report in browser
|
|
224
|
+
npx playwright show-report
|
|
225
|
+
|
|
226
|
+
# View specific trace file
|
|
227
|
+
npx playwright show-trace artifacts/trace-abc123.zip
|
|
228
|
+
|
|
229
|
+
# Screenshots are saved in artifacts/ directory
|
|
230
|
+
open artifacts/search-results.png
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Flaky Test Detection
|
|
234
|
+
|
|
235
|
+
If a test fails intermittently:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
⚠️ FLAKY TEST DETECTED: tests/e2e/markets/trade.spec.ts
|
|
239
|
+
|
|
240
|
+
Test passed 7/10 runs (70% pass rate)
|
|
241
|
+
|
|
242
|
+
Common failure:
|
|
243
|
+
"Timeout waiting for element '[data-testid="confirm-btn"]'"
|
|
244
|
+
|
|
245
|
+
Recommended fixes:
|
|
246
|
+
1. Add explicit wait: await page.waitForSelector('[data-testid="confirm-btn"]')
|
|
247
|
+
2. Increase timeout: { timeout: 10000 }
|
|
248
|
+
3. Check for race conditions in component
|
|
249
|
+
4. Verify element is not hidden by animation
|
|
250
|
+
|
|
251
|
+
Quarantine recommendation: Mark as test.fixme() until fixed
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
## Browser Configuration
|
|
255
|
+
|
|
256
|
+
Tests run on multiple browsers by default:
|
|
257
|
+
- ✅ Chromium (Desktop Chrome)
|
|
258
|
+
- ✅ Firefox (Desktop)
|
|
259
|
+
- ✅ WebKit (Desktop Safari)
|
|
260
|
+
- ✅ Mobile Chrome (optional)
|
|
261
|
+
|
|
262
|
+
Configure in `playwright.config.ts` to adjust browsers.
|
|
263
|
+
|
|
264
|
+
## CI/CD Integration
|
|
265
|
+
|
|
266
|
+
Add to your CI pipeline:
|
|
267
|
+
|
|
268
|
+
```yaml
|
|
269
|
+
# .github/workflows/e2e.yml
|
|
270
|
+
- name: Install Playwright
|
|
271
|
+
run: npx playwright install --with-deps
|
|
272
|
+
|
|
273
|
+
- name: Run E2E tests
|
|
274
|
+
run: npx playwright test
|
|
275
|
+
|
|
276
|
+
- name: Upload artifacts
|
|
277
|
+
if: always()
|
|
278
|
+
uses: actions/upload-artifact@v3
|
|
279
|
+
with:
|
|
280
|
+
name: playwright-report
|
|
281
|
+
path: playwright-report/
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## PMX-Specific Critical Flows
|
|
285
|
+
|
|
286
|
+
For PMX, prioritize these E2E tests:
|
|
287
|
+
|
|
288
|
+
**🔴 CRITICAL (Must Always Pass):**
|
|
289
|
+
1. User can connect wallet
|
|
290
|
+
2. User can browse markets
|
|
291
|
+
3. User can search markets (semantic search)
|
|
292
|
+
4. User can view market details
|
|
293
|
+
5. User can place trade (with test funds)
|
|
294
|
+
6. Market resolves correctly
|
|
295
|
+
7. User can withdraw funds
|
|
296
|
+
|
|
297
|
+
**🟡 IMPORTANT:**
|
|
298
|
+
1. Market creation flow
|
|
299
|
+
2. User profile updates
|
|
300
|
+
3. Real-time price updates
|
|
301
|
+
4. Chart rendering
|
|
302
|
+
5. Filter and sort markets
|
|
303
|
+
6. Mobile responsive layout
|
|
304
|
+
|
|
305
|
+
## Best Practices
|
|
306
|
+
|
|
307
|
+
**DO:**
|
|
308
|
+
- ✅ Use Page Object Model for maintainability
|
|
309
|
+
- ✅ Use data-testid attributes for selectors
|
|
310
|
+
- ✅ Wait for API responses, not arbitrary timeouts
|
|
311
|
+
- ✅ Test critical user journeys end-to-end
|
|
312
|
+
- ✅ Run tests before merging to main
|
|
313
|
+
- ✅ Review artifacts when tests fail
|
|
314
|
+
|
|
315
|
+
**DON'T:**
|
|
316
|
+
- ❌ Use brittle selectors (CSS classes can change)
|
|
317
|
+
- ❌ Test implementation details
|
|
318
|
+
- ❌ Run tests against production
|
|
319
|
+
- ❌ Ignore flaky tests
|
|
320
|
+
- ❌ Skip artifact review on failures
|
|
321
|
+
- ❌ Test every edge case with E2E (use unit tests)
|
|
322
|
+
|
|
323
|
+
## Important Notes
|
|
324
|
+
|
|
325
|
+
**CRITICAL for PMX:**
|
|
326
|
+
- E2E tests involving real money MUST run on testnet/staging only
|
|
327
|
+
- Never run trading tests against production
|
|
328
|
+
- Set `test.skip(process.env.NODE_ENV === 'production')` for financial tests
|
|
329
|
+
- Use test wallets with small test funds only
|
|
330
|
+
|
|
331
|
+
## Integration with Other Commands
|
|
332
|
+
|
|
333
|
+
- Use `/plan` to identify critical journeys to test
|
|
334
|
+
- Use `/tdd` for unit tests (faster, more granular)
|
|
335
|
+
- Use `/e2e` for integration and user journey tests
|
|
336
|
+
- Use `/code-review` to verify test quality
|
|
337
|
+
|
|
338
|
+
## Related Agents
|
|
339
|
+
|
|
340
|
+
This command invokes the `e2e-runner` agent provided by ECC.
|
|
341
|
+
|
|
342
|
+
For manual installs, the source file lives at:
|
|
343
|
+
`agents/e2e-runner.md`
|
|
344
|
+
|
|
345
|
+
## Quick Commands
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
# Run all E2E tests
|
|
349
|
+
npx playwright test
|
|
350
|
+
|
|
351
|
+
# Run specific test file
|
|
352
|
+
npx playwright test tests/e2e/markets/search.spec.ts
|
|
353
|
+
|
|
354
|
+
# Run in headed mode (see browser)
|
|
355
|
+
npx playwright test --headed
|
|
356
|
+
|
|
357
|
+
# Debug test
|
|
358
|
+
npx playwright test --debug
|
|
359
|
+
|
|
360
|
+
# Generate test code
|
|
361
|
+
npx playwright codegen http://localhost:3000
|
|
362
|
+
|
|
363
|
+
# View report
|
|
364
|
+
npx playwright show-report
|
|
365
|
+
```
|