@caddis/cli 0.0.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +163 -1
- package/bundles/antigravity-plugin/agents/code-reviewer.md +47 -0
- package/bundles/antigravity-plugin/agents/preflight.md +53 -0
- package/bundles/antigravity-plugin/guard_agy.py +338 -0
- package/bundles/antigravity-plugin/hooks.json +36 -0
- package/bundles/antigravity-plugin/mcp_config.json +8 -0
- package/bundles/antigravity-plugin/mcp_ping_server.py +55 -0
- package/bundles/antigravity-plugin/plugin.json +5 -0
- package/bundles/antigravity-plugin/session_end_agy.py +57 -0
- package/bundles/antigravity-plugin/skills/_registry.md +115 -0
- package/bundles/antigravity-plugin/skills/add-rules/SKILL.md +45 -0
- package/bundles/antigravity-plugin/skills/api-design/SKILL.md +249 -0
- package/bundles/antigravity-plugin/skills/backend-development/SKILL.md +305 -0
- package/bundles/antigravity-plugin/skills/best-practices/SKILL.md +500 -0
- package/bundles/antigravity-plugin/skills/best-practices/agents/best-practices-referencer.md +263 -0
- package/bundles/antigravity-plugin/skills/best-practices/agents/codebase-context-builder.md +326 -0
- package/bundles/antigravity-plugin/skills/best-practices/agents/task-intent-analyzer.md +245 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/anti-patterns.md +571 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/before-after-examples.md +1114 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/best-practices-guide.md +513 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/common-workflows.md +692 -0
- package/bundles/antigravity-plugin/skills/best-practices/references/prompt-patterns.md +547 -0
- package/bundles/antigravity-plugin/skills/brainstorming/SKILL.md +57 -0
- package/bundles/antigravity-plugin/skills/ci-cd-pipeline/SKILL.md +315 -0
- package/bundles/antigravity-plugin/skills/code-documentation/SKILL.md +271 -0
- package/bundles/antigravity-plugin/skills/code-review/SKILL.md +122 -0
- package/bundles/antigravity-plugin/skills/codebase-audit/SKILL.md +204 -0
- package/bundles/antigravity-plugin/skills/context-curator/SKILL.md +157 -0
- package/bundles/antigravity-plugin/skills/cross-review/SKILL.md +40 -0
- package/bundles/antigravity-plugin/skills/css-architecture/SKILL.md +305 -0
- package/bundles/antigravity-plugin/skills/css-architecture/references/RESPONSIVE-DESIGN.md +604 -0
- package/bundles/antigravity-plugin/skills/database-design/SKILL.md +177 -0
- package/bundles/antigravity-plugin/skills/db-diagram/SKILL.md +148 -0
- package/bundles/antigravity-plugin/skills/db-diagram/scripts/sql_to_graph.py +1212 -0
- package/bundles/antigravity-plugin/skills/digress/SKILL.md +61 -0
- package/bundles/antigravity-plugin/skills/draw-io/SKILL.md +162 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/aws-icons.md +677 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/layout-guidelines.md +142 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/troubleshooting.md +118 -0
- package/bundles/antigravity-plugin/skills/draw-io/references/workflows.md +103 -0
- package/bundles/antigravity-plugin/skills/draw-io/scripts/convert-drawio-to-png.sh +25 -0
- package/bundles/antigravity-plugin/skills/draw-io/scripts/find_aws_icon.py +79 -0
- package/bundles/antigravity-plugin/skills/error-handling/SKILL.md +260 -0
- package/bundles/antigravity-plugin/skills/excalidraw-db/SKILL.md +38 -0
- package/bundles/antigravity-plugin/skills/fastapi-dev/SKILL.md +300 -0
- package/bundles/antigravity-plugin/skills/feature-plan/SKILL.md +198 -0
- package/bundles/antigravity-plugin/skills/frontend-design/SKILL.md +193 -0
- package/bundles/antigravity-plugin/skills/frontend-design/references/my-tech-stack.md +127 -0
- package/bundles/antigravity-plugin/skills/gh-cli/SKILL.md +195 -0
- package/bundles/antigravity-plugin/skills/git-commit/SKILL.md +285 -0
- package/bundles/antigravity-plugin/skills/golden-plan/SKILL.md +577 -0
- package/bundles/antigravity-plugin/skills/handoff/SKILL.md +100 -0
- package/bundles/antigravity-plugin/skills/implement/SKILL.md +114 -0
- package/bundles/antigravity-plugin/skills/javascript-typescript/SKILL.md +142 -0
- package/bundles/antigravity-plugin/skills/kb/SKILL.md +60 -0
- package/bundles/antigravity-plugin/skills/mermaid-db/SKILL.md +33 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/SKILL.md +236 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/ENHANCEMENTS.md +264 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/MERMAID-SUMMARY.md +137 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/advanced-features.md +556 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/architecture-diagrams.md +192 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/c4-diagrams.md +410 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/class-diagrams.md +361 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/erd-diagrams.md +510 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/flowcharts.md +450 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/sequence-diagrams.md +394 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/troubleshooting.md +335 -0
- package/bundles/antigravity-plugin/skills/mermaid-diagrams/references/workflows.md +418 -0
- package/bundles/antigravity-plugin/skills/migrate-dir/SKILL.md +68 -0
- package/bundles/antigravity-plugin/skills/mockup/SKILL.md +242 -0
- package/bundles/antigravity-plugin/skills/particle-art/SKILL.md +243 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/canvas-utils.ts +171 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/dot-field.template.tsx +203 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/flow-field.template.tsx +263 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/node-shape.template.tsx +261 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/shape-sampler.ts +281 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/stipple-morph.template.tsx +167 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/stipple.template.tsx +175 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/trail-ghost.template.tsx +266 -0
- package/bundles/antigravity-plugin/skills/particle-art/references/usage-examples.md +320 -0
- package/bundles/antigravity-plugin/skills/playwright/API_REFERENCE.md +653 -0
- package/bundles/antigravity-plugin/skills/playwright/SKILL.md +454 -0
- package/bundles/antigravity-plugin/skills/playwright/lib/helpers.js +441 -0
- package/bundles/antigravity-plugin/skills/playwright/package.json +26 -0
- package/bundles/antigravity-plugin/skills/playwright/run.js +228 -0
- package/bundles/antigravity-plugin/skills/prd/SKILL.md +107 -0
- package/bundles/antigravity-plugin/skills/preflight/SKILL.md +435 -0
- package/bundles/antigravity-plugin/skills/python/SKILL.md +388 -0
- package/bundles/antigravity-plugin/skills/react-best-practices/SKILL.md +269 -0
- package/bundles/antigravity-plugin/skills/react-dev/README.md +404 -0
- package/bundles/antigravity-plugin/skills/react-dev/SKILL.md +459 -0
- package/bundles/antigravity-plugin/skills/react-dev/examples/generic-components.md +579 -0
- package/bundles/antigravity-plugin/skills/react-dev/examples/server-components.md +579 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/event-handlers.md +574 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/hooks.md +456 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/react-19-patterns.md +638 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/react-router.md +1002 -0
- package/bundles/antigravity-plugin/skills/react-dev/references/tanstack-router.md +587 -0
- package/bundles/antigravity-plugin/skills/refactoring/SKILL.md +486 -0
- package/bundles/antigravity-plugin/skills/resume/SKILL.md +36 -0
- package/bundles/antigravity-plugin/skills/security-review/SKILL.md +196 -0
- package/bundles/antigravity-plugin/skills/setup-project-ai/SKILL.md +61 -0
- package/bundles/antigravity-plugin/skills/ship/SKILL.md +107 -0
- package/bundles/antigravity-plugin/skills/ship-merge/SKILL.md +103 -0
- package/bundles/antigravity-plugin/skills/ship-pr/SKILL.md +102 -0
- package/bundles/antigravity-plugin/skills/skill-creator/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin/skills/skill-creator/SKILL.md +491 -0
- package/bundles/antigravity-plugin/skills/skill-creator/agents/analyzer.md +274 -0
- package/bundles/antigravity-plugin/skills/skill-creator/agents/comparator.md +202 -0
- package/bundles/antigravity-plugin/skills/skill-creator/agents/grader.md +223 -0
- package/bundles/antigravity-plugin/skills/skill-creator/assets/eval_review.html +146 -0
- package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/bundles/antigravity-plugin/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/bundles/antigravity-plugin/skills/skill-creator/references/schemas.md +430 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/__init__.py +0 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/generate_report.py +326 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/improve_description.py +247 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/package_skill.py +136 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_eval.py +310 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/run_loop.py +328 -0
- package/bundles/antigravity-plugin/skills/skill-creator/scripts/utils.py +47 -0
- package/bundles/antigravity-plugin/skills/sql/SKILL.md +321 -0
- package/bundles/antigravity-plugin/skills/tdd/SKILL.md +37 -0
- package/bundles/antigravity-plugin/skills/tdd-workflow/SKILL.md +188 -0
- package/bundles/antigravity-plugin/skills/technical-writing/SKILL.md +286 -0
- package/bundles/antigravity-plugin/skills/test-strategy/SKILL.md +155 -0
- package/bundles/antigravity-plugin/skills/ui-brief/SKILL.md +84 -0
- package/bundles/antigravity-plugin/skills/ui-review/SKILL.md +176 -0
- package/bundles/antigravity-plugin/skills/ui-review/references/framework-fixes.md +471 -0
- package/bundles/antigravity-plugin/skills/ui-review/references/visual-checklist.md +236 -0
- package/bundles/antigravity-plugin/skills/usage-review/SKILL.md +77 -0
- package/bundles/antigravity-plugin/skills/use-model/SKILL.md +64 -0
- package/bundles/antigravity-plugin/skills/using-git-worktrees/SKILL.md +217 -0
- package/bundles/antigravity-plugin/skills/version/SKILL.md +18 -0
- package/bundles/antigravity-plugin/skills/warm-editorial-ui/DESIGN_TOKENS.md +487 -0
- package/bundles/antigravity-plugin/skills/warm-editorial-ui/IMPLEMENTATION_GUIDE.md +177 -0
- package/bundles/antigravity-plugin/skills/warm-editorial-ui/SKILL.md +732 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/SKILL.md +97 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/examples/console_logging.py +35 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/bundles/antigravity-plugin/skills/webapp-testing/scripts/with_server.py +106 -0
- package/bundles/antigravity-plugin/skills/windows-deployment/SKILL.md +880 -0
- package/bundles/antigravity-plugin/skills/writing-plans/SKILL.md +384 -0
- package/bundles/antigravity-plugin/statusline-command-agy.sh +91 -0
- package/bundles/antigravity-plugin/warm_start_agy.py +149 -0
- package/bundles/antigravity-plugin-extras/plugin.json +5 -0
- package/bundles/antigravity-plugin-extras/skills/_registry.md +154 -0
- package/bundles/antigravity-plugin-extras/skills/agent-md-refactor/SKILL.md +356 -0
- package/bundles/antigravity-plugin-extras/skills/agent-orchestration/SKILL.md +517 -0
- package/bundles/antigravity-plugin-extras/skills/algorithmic-art/SKILL.md +293 -0
- package/bundles/antigravity-plugin-extras/skills/anchor-review/SKILL.md +135 -0
- package/bundles/antigravity-plugin-extras/skills/api-client-patterns/SKILL.md +367 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-design/SKILL.md +244 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-diagram/SKILL.md +156 -0
- package/bundles/antigravity-plugin-extras/skills/architecture-document/SKILL.md +321 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/SKILL.md +74 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/bundles/antigravity-plugin-extras/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/bundles/antigravity-plugin-extras/skills/ascii-art/SKILL.md +144 -0
- package/bundles/antigravity-plugin-extras/skills/asking-questions/SKILL.md +81 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/SKILL.md +118 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/cross-service/credential-management.md +450 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/browser/README.md +363 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/code-interpreter/README.md +232 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/README.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deploy-template.sh +117 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/deployment-strategies.md +416 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/troubleshooting-guide.md +384 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/gateway/validate-deployment.sh +186 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/identity/README.md +186 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/memory/README.md +253 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/observability/README.md +517 -0
- package/bundles/antigravity-plugin-extras/skills/aws-agentic-ai/services/runtime/README.md +215 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/SKILL.md +279 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/references/cdk-patterns.md +431 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cdk-development/scripts/validate-stack.sh +240 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/SKILL.md +318 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/cloudwatch-alarms.md +567 -0
- package/bundles/antigravity-plugin-extras/skills/aws-cost-operations/references/operations-patterns.md +394 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/SKILL.md +758 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/deployment-best-practices.md +830 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/eda-patterns.md +1002 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/observability-best-practices.md +770 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/performance-optimization.md +671 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/security-best-practices.md +625 -0
- package/bundles/antigravity-plugin-extras/skills/aws-serverless-eda/references/serverless-patterns.md +838 -0
- package/bundles/antigravity-plugin-extras/skills/backend-to-frontend-handoff/SKILL.md +139 -0
- package/bundles/antigravity-plugin-extras/skills/banner-design/SKILL.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/brand-design/SKILL.md +298 -0
- package/bundles/antigravity-plugin-extras/skills/brand-guidelines/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/brand-guidelines/SKILL.md +118 -0
- package/bundles/antigravity-plugin-extras/skills/brand-voice/SKILL.md +93 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/SKILL.md +392 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/agent-patterns.md +461 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/examples.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/state-patterns.md +360 -0
- package/bundles/antigravity-plugin-extras/skills/building-ai-agent-on-cloudflare/references/troubleshooting.md +362 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/SKILL.md +266 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/examples.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +338 -0
- package/bundles/antigravity-plugin-extras/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +317 -0
- package/bundles/antigravity-plugin-extras/skills/caching-patterns/SKILL.md +385 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/SKILL.md +91 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/bundles/antigravity-plugin-extras/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/bundles/antigravity-plugin-extras/skills/changelog-generator/SKILL.md +105 -0
- package/bundles/antigravity-plugin-extras/skills/code-explainer/SKILL.md +91 -0
- package/bundles/antigravity-plugin-extras/skills/competitive-ads-extractor/SKILL.md +294 -0
- package/bundles/antigravity-plugin-extras/skills/component-testing/SKILL.md +310 -0
- package/bundles/antigravity-plugin-extras/skills/content-research-writer/SKILL.md +539 -0
- package/bundles/antigravity-plugin-extras/skills/cross-review/SKILL.md +51 -0
- package/bundles/antigravity-plugin-extras/skills/data-analysis/SKILL.md +111 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/README.md +248 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/SKILL.md +203 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/adapter.py.template +44 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/api-router.py.template +43 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/contract-test.py.template +384 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/display-dto.py.template +39 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-service.ts.template +46 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/frontend-types.ts.template +38 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/ingestion-model.py.template +42 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/mapping-doc.md.template +46 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/normalizer.py.template +48 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_requirements.md +36 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/extract_ui_demand.md +35 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/prompts/reconcile_mapping.md +66 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/assets/query-catalog.md.template +62 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/consumer-driven-contracts.md +131 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/drift-check-catalog.md +305 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/references/layer-responsibilities.md +333 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_connections.py +170 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/discover_sources.py +161 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/drift_check.py +171 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/extract_schema.py +1363 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_gap_report.py +81 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/generate_mapping_doc.py +294 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/ts_dto_compare.py +214 -0
- package/bundles/antigravity-plugin-extras/skills/data-contract-pipeline/scripts/validate_lineage.py +51 -0
- package/bundles/antigravity-plugin-extras/skills/data-loader/SKILL.md +753 -0
- package/bundles/antigravity-plugin-extras/skills/data-validation/SKILL.md +220 -0
- package/bundles/antigravity-plugin-extras/skills/db-testing/SKILL.md +117 -0
- package/bundles/antigravity-plugin-extras/skills/deploy-local/SKILL.md +259 -0
- package/bundles/antigravity-plugin-extras/skills/design-md/SKILL.md +167 -0
- package/bundles/antigravity-plugin-extras/skills/design-system-tokens/SKILL.md +240 -0
- package/bundles/antigravity-plugin-extras/skills/design-system-tokens/references/DESIGN-SYSTEM-TEMPLATE.md +577 -0
- package/bundles/antigravity-plugin-extras/skills/developer-growth-analysis/SKILL.md +323 -0
- package/bundles/antigravity-plugin-extras/skills/doc-coauthoring/SKILL.md +378 -0
- package/bundles/antigravity-plugin-extras/skills/documentation-analyzer/SKILL.md +78 -0
- package/bundles/antigravity-plugin-extras/skills/domain-name-brainstormer/SKILL.md +213 -0
- package/bundles/antigravity-plugin-extras/skills/enterprise-dashboard-aesthetic-system/SKILL.md +120 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/SKILL.md +193 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/element-types.md +497 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/excalidraw-schema.md +356 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/references/reliable-diagrams.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/README.md +60 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-arrow.py +354 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/add-icon-to-diagram.py +412 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/scripts/split-excalidraw-library.py +183 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/business-flow-swimlane-template.excalidraw +334 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/class-diagram-template.excalidraw +558 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/data-flow-diagram-template.excalidraw +279 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/er-diagram-template.excalidraw +662 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/flowchart-template.excalidraw +179 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/mindmap-template.excalidraw +244 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/relationship-template.excalidraw +145 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/reliable-flowchart.excalidraw +1 -0
- package/bundles/antigravity-plugin-extras/skills/excalidraw/templates/sequence-diagram-template.excalidraw +509 -0
- package/bundles/antigravity-plugin-extras/skills/file-organizer/SKILL.md +434 -0
- package/bundles/antigravity-plugin-extras/skills/game-changing-features/README.md +221 -0
- package/bundles/antigravity-plugin-extras/skills/game-changing-features/SKILL.md +265 -0
- package/bundles/antigravity-plugin-extras/skills/github-issues/SKILL.md +359 -0
- package/bundles/antigravity-plugin-extras/skills/github-issues/references/templates.md +90 -0
- package/bundles/antigravity-plugin-extras/skills/golden-nuggets/SKILL.md +192 -0
- package/bundles/antigravity-plugin-extras/skills/humanizer/SKILL.md +194 -0
- package/bundles/antigravity-plugin-extras/skills/image-enhancer/SKILL.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/intent-writer/SKILL.md +201 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/SKILL.md +124 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/3p-updates.md +47 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/company-newsletter.md +65 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/faq-answers.md +30 -0
- package/bundles/antigravity-plugin-extras/skills/internal-comms/examples/general-comms.md +16 -0
- package/bundles/antigravity-plugin-extras/skills/invoice-organizer/SKILL.md +447 -0
- package/bundles/antigravity-plugin-extras/skills/jira-issues/SKILL.md +182 -0
- package/bundles/antigravity-plugin-extras/skills/job-application/SKILL.md +188 -0
- package/bundles/antigravity-plugin-extras/skills/lead-research-assistant/SKILL.md +200 -0
- package/bundles/antigravity-plugin-extras/skills/llm-application-dev/SKILL.md +217 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/SKILL.md +100 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/evaluation.md +602 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/mcp_best_practices.md +915 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/node_mcp_server.md +916 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/references/python_mcp_server.md +752 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/connections.py +151 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/bundles/antigravity-plugin-extras/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/bundles/antigravity-plugin-extras/skills/meeting-insights-analyzer/SKILL.md +328 -0
- package/bundles/antigravity-plugin-extras/skills/monorepo/SKILL.md +267 -0
- package/bundles/antigravity-plugin-extras/skills/naming-analyzer/SKILL.md +376 -0
- package/bundles/antigravity-plugin-extras/skills/nextjs-app-router/SKILL.md +271 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/AUTHENTICATION.md +154 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/SKILL.md +270 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/api_reference.md +309 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/troubleshooting.md +376 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/references/usage_patterns.md +338 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/__init__.py +81 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/ask_question.py +256 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/auth_manager.py +358 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_session.py +255 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/browser_utils.py +107 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/cleanup_manager.py +302 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/config.py +44 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/notebook_manager.py +410 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/run.py +102 -0
- package/bundles/antigravity-plugin-extras/skills/notebooklm/scripts/setup_environment.py +204 -0
- package/bundles/antigravity-plugin-extras/skills/observability/SKILL.md +371 -0
- package/bundles/antigravity-plugin-extras/skills/onboard-project/SKILL.md +192 -0
- package/bundles/antigravity-plugin-extras/skills/performance-testing/SKILL.md +226 -0
- package/bundles/antigravity-plugin-extras/skills/pipeline-state/SKILL.md +208 -0
- package/bundles/antigravity-plugin-extras/skills/plantuml/SKILL.md +228 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/SKILL.md +142 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/linear.app.md +196 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/stripe.md +214 -0
- package/bundles/antigravity-plugin-extras/skills/popular-web-designs/templates/vercel.md +218 -0
- package/bundles/antigravity-plugin-extras/skills/prd-to-code/SKILL.md +127 -0
- package/bundles/antigravity-plugin-extras/skills/raffle-winner-picker/SKILL.md +159 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/README.md +320 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/SKILL.md +53 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/alternatives.md +258 -0
- package/bundles/antigravity-plugin-extras/skills/react-useeffect/anti-patterns.md +290 -0
- package/bundles/antigravity-plugin-extras/skills/receiving-code-review/SKILL.md +213 -0
- package/bundles/antigravity-plugin-extras/skills/relay/SKILL.md +246 -0
- package/bundles/antigravity-plugin-extras/skills/requesting-code-review/SKILL.md +105 -0
- package/bundles/antigravity-plugin-extras/skills/requesting-code-review/code-reviewer.md +146 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/SKILL.md +350 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/pwa-checklist.md +226 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/touch-and-interaction.md +265 -0
- package/bundles/antigravity-plugin-extras/skills/responsive-mobile-native/references/transformation-catalogue.md +326 -0
- package/bundles/antigravity-plugin-extras/skills/schema-migration/SKILL.md +275 -0
- package/bundles/antigravity-plugin-extras/skills/setup-project-ai/SKILL.md +120 -0
- package/bundles/antigravity-plugin-extras/skills/shadcn-radix/SKILL.md +330 -0
- package/bundles/antigravity-plugin-extras/skills/sketch/SKILL.md +104 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/SKILL.md +646 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/color_palettes.py +302 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/easing.py +230 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/frame_composer.py +469 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/gif_builder.py +246 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/typography.py +357 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/validators.py +264 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/core/visual_effects.py +494 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/requirements.txt +4 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/bounce.py +106 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/explode.py +331 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/fade.py +329 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/flip.py +291 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/morph.py +329 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/move.py +293 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/pulse.py +268 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/shake.py +127 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/slide.py +291 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/spin.py +269 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/wiggle.py +300 -0
- package/bundles/antigravity-plugin-extras/skills/slack-gif-creator/templates/zoom.py +312 -0
- package/bundles/antigravity-plugin-extras/skills/slides/SKILL.md +38 -0
- package/bundles/antigravity-plugin-extras/skills/state-tracking/SKILL.md +131 -0
- package/bundles/antigravity-plugin-extras/skills/streamlit-dev/SKILL.md +268 -0
- package/bundles/antigravity-plugin-extras/skills/svg-create/SKILL.md +251 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/SKILL.md +59 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/theme-showcase.pdf +0 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/desert-rose.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/golden-hour.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/LICENSE.txt +202 -0
- package/bundles/antigravity-plugin-extras/skills/ui-styling-patterns/SKILL.md +320 -0
- package/bundles/antigravity-plugin-extras/skills/ui-testing/SKILL.md +660 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/SKILL.md +660 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/_sync_all.py +414 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/app-interface.csv +31 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/charts.csv +26 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/colors.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/design.csv +1776 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/draft.csv +1779 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/google-fonts.csv +1924 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/icons.csv +106 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/landing.csv +35 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/products.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/react-performance.csv +45 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/styles.csv +85 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/typography.csv +74 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ui-reasoning.csv +162 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/data/ux-guidelines.csv +100 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/core.py +247 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/design_system.py +1067 -0
- package/bundles/antigravity-plugin-extras/skills/ui-ux-intelligence/scripts/search.py +114 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/SKILL.md +140 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/commands.md +252 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/graph-schema.md +116 -0
- package/bundles/antigravity-plugin-extras/skills/understand-anything/references/pipeline.md +331 -0
- package/bundles/antigravity-plugin-extras/skills/update-readme/SKILL.md +74 -0
- package/bundles/antigravity-plugin-extras/skills/verification-loop/SKILL.md +209 -0
- package/bundles/antigravity-plugin-extras/skills/video-downloader/SKILL.md +107 -0
- package/bundles/antigravity-plugin-extras/skills/webapp-development/SKILL.md +288 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/SKILL.md +339 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/agents/agent-interface.md +175 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/html.md +384 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/nlp-keywords.md +127 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/palettes.md +149 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/python.md +249 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/react.md +427 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/shapes.md +135 -0
- package/bundles/antigravity-plugin-extras/skills/word-cloud/references/stopwords.md +115 -0
- package/bundles/antigravity-plugin-extras/skills/youtube-transcript/SKILL.md +416 -0
- package/bundles/manifest.json +7 -0
- package/dist/cli.js +5492 -0
- package/package.json +61 -4
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: feature-plan
|
|
3
|
+
description: Create a phased, TDD-structured implementation plan that acts as the durable spine for multi-session work
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /feature-plan — phased plan (the durable spine)
|
|
7
|
+
|
|
8
|
+
Create an implementation plan for: **$ARGUMENTS**
|
|
9
|
+
|
|
10
|
+
If `$ARGUMENTS` is empty, ask what to plan and stop.
|
|
11
|
+
|
|
12
|
+
The plan file is the **durable spine of the harness** — it must let any future session (or another
|
|
13
|
+
agent, on any tool) resume with zero re-discovery. Optimize for that.
|
|
14
|
+
|
|
15
|
+
## Headless mode
|
|
16
|
+
When the invocation contains the marker **`HEADLESS RUN RULES`** (a docket runner / non-interactive
|
|
17
|
+
caller spawned this session — no human is present), the scope-check questions and any interview are
|
|
18
|
+
**suspended and forbidden**. This mode exists for one-line ideas: the card may be a short title with **no
|
|
19
|
+
description**, and there may be **no codebase, PROJECT-FACTS, or prior PRD** to read. That is expected —
|
|
20
|
+
write a complete best-effort plan anyway.
|
|
21
|
+
|
|
22
|
+
Absolute rules in this mode (they override everything below):
|
|
23
|
+
- **NEVER ask a question, request clarification, or end your turn with questions.** Replying with a list
|
|
24
|
+
of scoping questions is a hard failure. Never use AskUserQuestion, never pause, never wait for input.
|
|
25
|
+
- **A bare title (or PRD path) is sufficient input.** Where information is missing, invent a reasonable,
|
|
26
|
+
conventional interpretation, state it explicitly as an assumption in `## Constraints & decisions`, and
|
|
27
|
+
proceed. Making an explicit assumption is ALWAYS correct; asking is ALWAYS wrong here. If you feel you
|
|
28
|
+
lack information, **write an assumption and continue** — never ask.
|
|
29
|
+
- **Every unresolved decision becomes an `[TECH-DECISION OPEN]` note** (inline in the relevant phase) or
|
|
30
|
+
a bullet under `## Constraints & decisions` — never a question to the user.
|
|
31
|
+
- **Honor the caller's output path and slug** (falling back to `.caddis/plans/<feature-slug>.md`);
|
|
32
|
+
set `feature: <slug>` in the frontmatter to that slug.
|
|
33
|
+
- **Also emit a visual companion** — a self-contained, scannable HTML page at `<artifact_dir>/<slug>.html`
|
|
34
|
+
presenting the plan visually (a goal card, phases as cards with their steps, an affected-files table,
|
|
35
|
+
and a risks/decisions section). **Use inline `<style>` ONLY** — the visual is rendered in a *sandboxed*
|
|
36
|
+
iframe with no script execution, so a `<script>`/CDN (e.g. the Tailwind browser CDN) would NOT run and
|
|
37
|
+
the page would appear unstyled. Keep it fully portable — no external `<script>`/`<link>`, no local
|
|
38
|
+
asset files, no `/`-rooted paths. This is the visual the human reviews in docket alongside the markdown.
|
|
39
|
+
Write it after the `.md`; the runner finds it by the matching `<slug>.html` name.
|
|
40
|
+
- **Always write the plan file, then end with exactly one fenced `json` highlights block** — nothing
|
|
41
|
+
after it:
|
|
42
|
+
```json
|
|
43
|
+
{"artifact":"<artifact_dir>/<slug>.md","summary":"<=280 chars>","open_questions":<int>}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The only acceptable final output in this mode is the written plan plus its highlights block — never
|
|
47
|
+
questions. Everything below applies in both modes; only the interview/scope questions are skipped.
|
|
48
|
+
|
|
49
|
+
## Step 1 — Scope check
|
|
50
|
+
Read the relevant code first (don't guess). **Ground in the workspace scan:** if `.caddis/PROJECT-FACTS.md`
|
|
51
|
+
exists (setup-project-ai extracts it — run/test/build commands, env-var names, CI/deploy workflows, entry
|
|
52
|
+
points), read it first. It's a free, token-zero project fingerprint that anchors the plan in what actually
|
|
53
|
+
exists instead of assumed. If the work fits comfortably in one session, say so and offer to just do it
|
|
54
|
+
instead of planning. Only produce a plan for genuinely multi-phase work.
|
|
55
|
+
|
|
56
|
+
## Step 2 — Design phases
|
|
57
|
+
Break the work into **independently completable** phases (~30–60 min each, clear exit gate). Each phase
|
|
58
|
+
follows the harness loop: **RED → GREEN → REFACTOR → VERIFY → COMMIT**. Front-load risk.
|
|
59
|
+
|
|
60
|
+
**Derive risks from the workspace scan** (PROJECT-FACTS + a quick look), not generic boilerplate: **no test
|
|
61
|
+
setup** → every phase carries regression risk, build its tests first; **no CI/deploy workflow** → the only
|
|
62
|
+
gate is local, say so; **auth / migration / secret-handling** in scope → flag security/structural risk on
|
|
63
|
+
those phases. Put what the scan actually shows into the plan's `## Risks` table.
|
|
64
|
+
|
|
65
|
+
Before writing the plan, consider dispatching the **preflight** subagent to validate your assumptions
|
|
66
|
+
(paths, symbols, APIs, primitives) against the codebase — it routinely catches wrong assumptions early.
|
|
67
|
+
|
|
68
|
+
### Assign a model tier + effort per phase (don't default everything to the priciest)
|
|
69
|
+
Match capability to each phase's difficulty — not one model for the whole plan. Use Claude Code's
|
|
70
|
+
evergreen `/model` aliases so this never rots as model names change:
|
|
71
|
+
- **cheap** (`/model haiku`) — mechanical, fully-specced, repeat-of-an-existing-pattern phases.
|
|
72
|
+
- **mid** (`/model sonnet`) — standard feature work with clear specs. **This is the default.**
|
|
73
|
+
- **frontier** (`/model opus`) — novel architecture, tricky algorithms, security-sensitive or
|
|
74
|
+
judgment-heavy seams; also recommend a `code-reviewer` pass.
|
|
75
|
+
- **ultra** (`/model fable`) — RARE: long-horizon / multi-step / can't-self-verify work (large-codebase
|
|
76
|
+
reasoning, scientific). ~2× opus's rate-limit burn — reserve for the few phases that truly need it.
|
|
77
|
+
Default to **mid**; reserve frontier/ultra for phases that earn them. Effort is a secondary knob: leave
|
|
78
|
+
it at your session default and note **"bump to `high`"** only on a genuinely hard phase. `max` is manual
|
|
79
|
+
escalation, never a planned default.
|
|
80
|
+
|
|
81
|
+
### Assign an execution LANE per phase (which harness runs it — not just which model)
|
|
82
|
+
A tier can be served by an OSS provider instead of Anthropic (cheat sheet:
|
|
83
|
+
`docs/guide/multi-model-workflow.md`; wiring: the caddis repo's `.caddis/plans/model-access.md`):
|
|
84
|
+
- **claude** (default) — this session, `/model <alias>` as above. Required for judgment-heavy,
|
|
85
|
+
security-sensitive, or novel-architecture phases.
|
|
86
|
+
- **glm-headless** — mechanical, fully-specced phases run on GLM without touching Claude quota:
|
|
87
|
+
`claude-glm -p "/caddis:implement <plan-path> — Phase N only"` (from the repo root, on the
|
|
88
|
+
feature branch). The local-coder gate below exists exactly so these phases survive a weaker
|
|
89
|
+
implementer — a phase may only take this lane if it passes that gate.
|
|
90
|
+
- **review lane (every phase that touches code)** — cross-vendor review by a vendor that did NOT
|
|
91
|
+
write the code: `python .github/tools/oss_review.py --range main..HEAD --provider deepseek`
|
|
92
|
+
(Claude or GLM implemented) or `--provider glm` / a Claude `code-reviewer` pass (DeepSeek-adjacent
|
|
93
|
+
work). Never same-vendor.
|
|
94
|
+
|
|
95
|
+
## Step 3 — Write the plan to `.caddis/plans/<feature-slug>.md`
|
|
96
|
+
|
|
97
|
+
Create `.caddis/plans/` if it doesn't exist.
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
---
|
|
101
|
+
type: plan
|
|
102
|
+
status: draft
|
|
103
|
+
feature: <feature-slug>
|
|
104
|
+
creation-agent: caddis
|
|
105
|
+
Original Author: Claude Code
|
|
106
|
+
Creation Date: <YYYY-MM-DDTHH:MM:SSZ>
|
|
107
|
+
Creating Model: <model-id>
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
# <Feature> — Implementation Plan
|
|
111
|
+
**Created:** <ISO date> • **Status:** Phase 1 of N • **Spine for:** <one-line goal>
|
|
112
|
+
|
|
113
|
+
## Goal
|
|
114
|
+
<2–3 sentences: what we're building and why.>
|
|
115
|
+
|
|
116
|
+
## Current state
|
|
117
|
+
<What exists now that's relevant — cite real files/symbols verified against the codebase.>
|
|
118
|
+
|
|
119
|
+
## Constraints & decisions
|
|
120
|
+
- <key tech decision + rationale>
|
|
121
|
+
|
|
122
|
+
## Phases
|
|
123
|
+
|
|
124
|
+
### Phase 1 — <name> ⏳
|
|
125
|
+
> ⚠️ **Switch model/lane BEFORE starting this phase** — the *active* model does the work, not the
|
|
126
|
+
> one named here. Lane `claude`: run `/model <alias>`. Lane `glm-headless`: run the exact command below.
|
|
127
|
+
**Model:** <tier> (`/model <alias>`) — <one-line rationale tied to this phase's difficulty>
|
|
128
|
+
**Lane:** claude — this session | glm-headless — `claude-glm -p "/caddis:implement <this plan's path> — Phase 1 only"`
|
|
129
|
+
**Session:** continue | **fresh** (start a new session for this phase — note why: lane change / heavy context)
|
|
130
|
+
**Goal:** <one sentence>
|
|
131
|
+
**Touches:** `<files>`
|
|
132
|
+
**TDD:**
|
|
133
|
+
- RED: failing test(s) — `<test file>::<case>` asserting <behavior>
|
|
134
|
+
- GREEN: <minimal implementation>
|
|
135
|
+
- REFACTOR: <what to clean if needed>
|
|
136
|
+
**Verify (subagents):** dispatch `tester` (must return passed), then `code-reviewer` (verdict: approved)
|
|
137
|
+
**Cross-review:** `python .github/tools/oss_review.py --range main..HEAD --provider <vendor that did NOT implement>` → REVIEW: CLEAN
|
|
138
|
+
**Exit gate:** <specific, testable — e.g. "GET /api/x returns 200 with {shape}", not "tests pass">
|
|
139
|
+
**Commit:** `<conventional commit message>`
|
|
140
|
+
**Then:** update the Tracker row (status + hash) → `/caddis:handoff` if ending the session here.
|
|
141
|
+
|
|
142
|
+
### Phase 2 — <name> 🔲
|
|
143
|
+
<same structure>
|
|
144
|
+
|
|
145
|
+
## Execution protocol (standing rules — this plan is the memory, not anyone's head)
|
|
146
|
+
- One phase at a time: read this plan → run the phase on its **Lane** → RED→GREEN→VERIFY→CROSS-REVIEW→
|
|
147
|
+
COMMIT → update the **Tracker** row. The Tracker is the resume signal for every future session.
|
|
148
|
+
- **Session boundaries:** `/caddis:handoff` after any phase that ends a sitting. Start a FRESH
|
|
149
|
+
session (or `/clear`) before any phase marked `Session: fresh`, before a lane change, or whenever
|
|
150
|
+
context feels heavy. Resume with exactly: `read <this plan's path> and implement the next ⏳ phase`.
|
|
151
|
+
- **Ship gate:** NEVER push or merge to main from a phase — phases only commit to the feature branch.
|
|
152
|
+
When all phases are ✅: `/caddis:ship-pr` (stops at green CI), then STOP and wait for the human's
|
|
153
|
+
explicit go before `/caddis:ship-merge`.
|
|
154
|
+
|
|
155
|
+
## Affected files
|
|
156
|
+
| File | Action |
|
|
157
|
+
|---|---|
|
|
158
|
+
|
|
159
|
+
## Risks
|
|
160
|
+
| Risk | Mitigation |
|
|
161
|
+
|---|---|
|
|
162
|
+
|
|
163
|
+
## Tracker (update as you go — this is the resume signal)
|
|
164
|
+
| Phase | Model | Lane | Status | Commit | Cross-review | Notes |
|
|
165
|
+
|---|---|---|---|---|---|---|
|
|
166
|
+
| 1 | mid | claude | not started | — | — | |
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Plan quality gate — local-coder ready (MANDATORY)
|
|
170
|
+
The plan must be executable by a **low-capability local coder model** (the planner→coder handoff: a
|
|
171
|
+
strong model plans, a cheaper/local model implements). The plan carries the intelligence; the coder
|
|
172
|
+
only follows it. Before finishing, verify every phase against this gate — a phase that fails it is not
|
|
173
|
+
done:
|
|
174
|
+
- **Exact paths** — every file to create/edit is named in full (no "the relevant service file").
|
|
175
|
+
- **Exact symbols** — function/class/component names and signatures are spelled out, not described.
|
|
176
|
+
- **Pre-decided judgment** — no "choose an approach", "use a suitable library", or open options left to
|
|
177
|
+
the coder. If there's a decision, make it here with the rationale.
|
|
178
|
+
- **Explicit data bindings** — exact field paths / response shapes the code must read or produce.
|
|
179
|
+
- **Copy-paste verification** — each phase's exit gate is a literal command to run + expected output,
|
|
180
|
+
not "tests pass".
|
|
181
|
+
- **No abbreviation** — never "etc.", "similar to Phase 1", "and so on". Write every item in full.
|
|
182
|
+
- **Model tier named** — every phase names a tier (cheap/mid/frontier/ultra) + a one-line rationale; no
|
|
183
|
+
phase silently defaults to the most expensive model. Default mid; frontier/ultra only where justified.
|
|
184
|
+
- **Lane + reviewer named** — every phase names its execution lane (`claude` or `glm-headless`, with
|
|
185
|
+
the literal launch command for glm phases) and a cross-review provider that is a different vendor
|
|
186
|
+
than the implementer. A glm-headless phase MUST pass every bullet of this gate — that lane has no
|
|
187
|
+
slack for reasoning out gaps.
|
|
188
|
+
|
|
189
|
+
If any phase relies on the implementer *reasoning out* a gap, close the gap in the plan now.
|
|
190
|
+
|
|
191
|
+
## Step 4 — Report
|
|
192
|
+
Output the plan path (`.caddis/plans/<feature-slug>.md`), the phase list (one line each, with each
|
|
193
|
+
phase's model tier + lane), confirm the local-coder gate passed (or list the phases that need
|
|
194
|
+
tightening), and: *"To start: `read the plan and implement Phase 1`. To resume later: `/handoff` at
|
|
195
|
+
session end, then `read relay.md` next time. The plan's Execution protocol carries every command —
|
|
196
|
+
nothing to memorize."*
|
|
197
|
+
|
|
198
|
+
Do not start implementing — this command only produces the plan.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-design
|
|
3
|
+
description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics while strictly adhering to the user's technical standards.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frontend Design Skill
|
|
7
|
+
|
|
8
|
+
This skill guides the creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
9
|
+
|
|
10
|
+
## 1. Core Principle: Avoid "AI Slop"
|
|
11
|
+
- **Typography:** Avoid system fonts (Inter, Arial, Roboto). Pair a distinctive display font (e.g., *Cormorant Garamond*, *Playfair Display*, *Space Mono*) with a refined, readable body font. Use dramatic scale jumps ($h1 > 5rem$ vs metadata $< 0.75rem$).
|
|
12
|
+
- **Color & Theme:** Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
|
|
13
|
+
- **Visuals:** Create atmosphere and depth using textures (grain, noise), glassmorphism, or complex gradients rather than defaulting to solid flat colors.
|
|
14
|
+
|
|
15
|
+
## 2. Technical Implementation Standards
|
|
16
|
+
**CRITICAL:** You must ignore generic React patterns. Instead, you represent the specific technical architecture defined in the user's stack.
|
|
17
|
+
|
|
18
|
+
**Mandatory Reference:**
|
|
19
|
+
Before writing any component logic, state management, or hooks, you must cross-reference and apply the patterns found in:
|
|
20
|
+
`./references/my-tech-stack.md`
|
|
21
|
+
|
|
22
|
+
Specifically, you must:
|
|
23
|
+
1. **Use Composition:** Build flexible UIs using the *Composition Over Inheritance* and *Compound Component* patterns defined in the reference file.
|
|
24
|
+
2. **Use Custom Hooks:** Do not write ad-hoc logic for debouncing or toggling; use `useDebounce` and `useToggle` from the reference.
|
|
25
|
+
3. **Optimize Performance:** Apply `useMemo` and `useCallback` strictly according to the "Memoization Rules" in the reference.
|
|
26
|
+
4. **Ensure Stability:** Wrap complex or risky components in the `ErrorBoundary` pattern provided.
|
|
27
|
+
5. **Enforce Accessibility:** Follow the keyboard navigation and focus management patterns exactly as specified.
|
|
28
|
+
|
|
29
|
+
## 3. Design Thinking Process
|
|
30
|
+
Before coding, understand the context and commit to a BOLD aesthetic direction:
|
|
31
|
+
- **Tone:** Pick an extreme (Brutalist, Luxury, Retro-futuristic, Editorial, Industrial).
|
|
32
|
+
- **Motion:** Use animations for effects and micro-interactions. Focus on high-impact moments (staggered page loads) rather than scattered micro-interactions.
|
|
33
|
+
- **Differentiation:** What makes this UNFORGETTABLE? What's the one thing someone will remember?
|
|
34
|
+
|
|
35
|
+
## 4. Output Requirements
|
|
36
|
+
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
|
|
37
|
+
- **Production-grade:** Functional, responsive, and accessible.
|
|
38
|
+
- **Visually striking:** Memorable and cohesive with a clear point-of-view.
|
|
39
|
+
- **Technically compliant:** Strictly follows the architecture in `my-tech-stack.md`.
|
|
40
|
+
|
|
41
|
+
## 5. Transition Integrity (No Stale UI)
|
|
42
|
+
|
|
43
|
+
For data-heavy views that switch entities (profile A → profile B), enforce deterministic transitions:
|
|
44
|
+
|
|
45
|
+
- Use a **single render region** (e.g., Streamlit's `st.empty()`) that replaces its entire content on each render pass.
|
|
46
|
+
- **NEVER use dynamic keys** (nonce, entity ID) on containers inside `st.empty()` — dynamic keys cause the framework to create *new* DOM nodes instead of replacing existing ones, leaving ghost/shadow copies visible for 1-2 seconds until frontend reconciliation catches up.
|
|
47
|
+
- Use **stable keys** on inner containers. The render region handles content replacement; inner containers just need stable identity for in-place DOM updates.
|
|
48
|
+
- Temporarily hide high-salience identity panels/tabs during loading to avoid ghosted prior-state flashes.
|
|
49
|
+
- Execute state transitions outside container context managers to avoid interrupted cleanup.
|
|
50
|
+
|
|
51
|
+
Acceptance rule: users must only perceive `old state → loader → new state`, with no stale intermediate artifacts.
|
|
52
|
+
|
|
53
|
+
## 6. Dial System — Design Variance Controls
|
|
54
|
+
|
|
55
|
+
Calibrate these three dials per project before writing any component. Declare them in a comment at the top of the main design file.
|
|
56
|
+
|
|
57
|
+
```ts
|
|
58
|
+
// DESIGN_VARIANCE: 7 // 1 (safe/corporate) → 10 (experimental/editorial)
|
|
59
|
+
// MOTION_INTENSITY: 5 // 1 (static) → 10 (cinematic)
|
|
60
|
+
// VISUAL_DENSITY: 4 // 1 (minimal/lots of space) → 10 (data-dense/information-heavy)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
| Dial | 1–3 | 4–6 | 7–10 |
|
|
64
|
+
|---|---|---|---|
|
|
65
|
+
| `DESIGN_VARIANCE` | Standard grid, safe palette | Distinctive but accessible | Experimental layout, bold choices |
|
|
66
|
+
| `MOTION_INTENSITY` | Opacity fade only | Entrance animations, hover states | Parallax, stagger, spring physics |
|
|
67
|
+
| `VISUAL_DENSITY` | Hero + CTA, generous whitespace | Cards with secondary info | Dashboard-style, compact rows |
|
|
68
|
+
|
|
69
|
+
**Rule**: Do not override the user's declared dials. If undeclared, infer from context and state your assumption.
|
|
70
|
+
|
|
71
|
+
## 7. AI Tells — Forbidden Patterns
|
|
72
|
+
|
|
73
|
+
These are signals of generic AI output. Every instance must be eliminated:
|
|
74
|
+
|
|
75
|
+
### Generic Names
|
|
76
|
+
- ❌ `Company Name`, `Your Brand`, `Hello, World!`, `Example Corp`
|
|
77
|
+
- ✅ Invent plausible, domain-specific content: `Meridian Analytics`, `Kaspar & Voss`, `Orin Health`
|
|
78
|
+
|
|
79
|
+
### Fake Placeholder Numbers
|
|
80
|
+
- ❌ `$1,234.56`, `1,234 users`, `99.9% uptime`, `42 orders`
|
|
81
|
+
- ✅ Domain-plausible numbers with realistic variance: `$14,820`, `3,241 customers`, `99.4% uptime`, `127 orders`
|
|
82
|
+
|
|
83
|
+
### AI Copywriting Clichés
|
|
84
|
+
- ❌ "Empowering your workflow", "Seamlessly integrated", "Next-generation solution", "Unlock the power of..."
|
|
85
|
+
- ✅ Specific, functional copy: "Track invoice aging in real time", "Filter by region, team, or date"
|
|
86
|
+
|
|
87
|
+
### Oversaturated Accents
|
|
88
|
+
- ❌ `#FF6B6B` coral-pink, `#6C63FF` purple-blue gradient (the two default AI accent colors)
|
|
89
|
+
- ✅ Chosen from the brief or brand guide; if absent, pick something unexpected: amber, forest green, slate
|
|
90
|
+
|
|
91
|
+
### Generic Iconography
|
|
92
|
+
- ❌ Rocket ship for launching, lightbulb for ideas, three horizontal bars for "menu" on desktop nav
|
|
93
|
+
- ✅ Icons that match the actual function; text labels as fallback if icon meaning is ambiguous
|
|
94
|
+
|
|
95
|
+
## 8. Typography Discipline
|
|
96
|
+
|
|
97
|
+
- **Maximum 2 font families** — one display (headings), one text (body + UI). Loading 3+ is a performance and taste failure.
|
|
98
|
+
- **Optical sizing**: Headings at `6rem+` need `letter-spacing: -0.03em`. Text under `0.875rem` needs `letter-spacing: 0.01em`.
|
|
99
|
+
- **Vertical rhythm**: `line-height: 1.6` for body, `1.1–1.2` for large headings, `1.4` for UI labels.
|
|
100
|
+
- **Scale**: Use a modular scale (1.25× or 1.333×), not arbitrary sizes. Common scale: `0.75 / 0.875 / 1 / 1.125 / 1.5 / 2 / 3 / 4.5rem`.
|
|
101
|
+
- **Weight contrast**: Body at 400, labels at 500, headings at 700–800. Avoid using 4 or more weights.
|
|
102
|
+
|
|
103
|
+
```css
|
|
104
|
+
/* Correct optical sizing */
|
|
105
|
+
.hero-heading {
|
|
106
|
+
font-size: clamp(3rem, 6vw + 1rem, 6rem);
|
|
107
|
+
line-height: 1.05;
|
|
108
|
+
letter-spacing: -0.04em;
|
|
109
|
+
}
|
|
110
|
+
.body-text {
|
|
111
|
+
font-size: 1rem;
|
|
112
|
+
line-height: 1.625;
|
|
113
|
+
letter-spacing: 0;
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## 9. Color Calibration
|
|
118
|
+
|
|
119
|
+
- **Maximum 1 accent color** — two accents compete; zero creates bland work.
|
|
120
|
+
- **Palette minimum**: Background, Surface (+1 level of elevation), Text, Muted text, Border, Accent, Destructive.
|
|
121
|
+
- **Forbidden**: Purple/blue AI gradient cliché (`from-purple-500 to-blue-600` or equivalent). Use if and only if the brand explicitly requires it.
|
|
122
|
+
- **Dark mode**: Shift background to `hsl(220 15% 8%)` range, not pure black (`#000`). Pure black with white text fails contrast for long reading.
|
|
123
|
+
- **Accent contrast**: Accent on background must pass WCAG AA (4.5:1 for normal text, 3:1 for large text / UI components).
|
|
124
|
+
|
|
125
|
+
```css
|
|
126
|
+
/* ✅ Correct token setup */
|
|
127
|
+
:root {
|
|
128
|
+
--bg: hsl(220 15% 97%);
|
|
129
|
+
--surface: hsl(220 15% 100%);
|
|
130
|
+
--text: hsl(220 25% 12%);
|
|
131
|
+
--muted: hsl(220 10% 50%);
|
|
132
|
+
--border: hsl(220 15% 88%);
|
|
133
|
+
--accent: hsl(38 92% 50%); /* Amber — unexpected, not AI-default */
|
|
134
|
+
--destructive: hsl(0 72% 51%);
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 10. Layout Diversification
|
|
139
|
+
|
|
140
|
+
When `DESIGN_VARIANCE` > 4, **ban the centered-hero-with-CTA default** layout. Use instead:
|
|
141
|
+
|
|
142
|
+
| Layout Pattern | When to Use |
|
|
143
|
+
|---|---|
|
|
144
|
+
| **Editorial split** — large text left, visual right (or reversed) | Brand/marketing pages |
|
|
145
|
+
| **Bento grid** — asymmetric tiles of varying sizes | Dashboards, feature showcases |
|
|
146
|
+
| **Fullbleed scroll narrative** — content revealed on scroll sections | Storytelling, case studies |
|
|
147
|
+
| **Sidebar dock + content** — persistent nav or filter rail | Application interfaces |
|
|
148
|
+
| **Masonry** — uneven column heights | Media, portfolio grids |
|
|
149
|
+
| **Timeline / sequence** — vertical progression with connectors | Onboarding, process flows |
|
|
150
|
+
|
|
151
|
+
**Never** stack all sections centered on a 1200px `max-width` container unless `DESIGN_VARIANCE` ≤ 3.
|
|
152
|
+
|
|
153
|
+
## 11. Interactive State Completeness
|
|
154
|
+
|
|
155
|
+
Every interactive element must implement all four states before the component is done:
|
|
156
|
+
|
|
157
|
+
| State | What to Implement |
|
|
158
|
+
|---|---|
|
|
159
|
+
| **Loading** | Skeleton, spinner, or disabled appearance while data fetches |
|
|
160
|
+
| **Empty** | Non-generic empty state with context-specific message + action |
|
|
161
|
+
| **Error** | Specific error message, retry action, not just "Something went wrong" |
|
|
162
|
+
| **Tactile** | Hover + active (pressed) visual feedback — scale, shadow, or color shift |
|
|
163
|
+
|
|
164
|
+
```tsx
|
|
165
|
+
// ✅ Complete interactive state example
|
|
166
|
+
function DataCard({ id }: { id: string }) {
|
|
167
|
+
const { data, error, status } = useQuery(...)
|
|
168
|
+
|
|
169
|
+
if (status === 'pending') return <CardSkeleton />
|
|
170
|
+
if (status === 'error') return <ErrorCard message={error.message} onRetry={refetch} />
|
|
171
|
+
if (!data.items.length) return <EmptyCard title="No records yet" action={<CreateButton />} />
|
|
172
|
+
|
|
173
|
+
return (
|
|
174
|
+
<div className="group transition-all hover:shadow-md hover:-translate-y-0.5 active:scale-[0.99]">
|
|
175
|
+
{/* content */}
|
|
176
|
+
</div>
|
|
177
|
+
)
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 12. Data Realism
|
|
182
|
+
|
|
183
|
+
Never use placeholder data that signals the interface is unfinished:
|
|
184
|
+
|
|
185
|
+
| ❌ Avoid | ✅ Use Instead |
|
|
186
|
+
|---|---|
|
|
187
|
+
| "Lorem ipsum dolor sit amet" | Domain-appropriate text: "Q3 revenue shows 14% growth vs prior quarter" |
|
|
188
|
+
| User: "John Doe" | Plausible name + avatar initial: "Margot Belleview" |
|
|
189
|
+
| Date: "January 1, 2024" | Recent plausible date: "Feb 12, 2026" |
|
|
190
|
+
| Metric: "1,234" | Realistic variance: "3,817" (not round numbers with too many digits) |
|
|
191
|
+
| Chart data: constant line | Realistic noise with trend: slight growth with variance |
|
|
192
|
+
|
|
193
|
+
**Rule**: Each piece of sample data should make a reviewer believe it could be real production data, not a template. If the user provides real data patterns, use them precisely.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# My Technical Standards & Architecture Patterns
|
|
2
|
+
|
|
3
|
+
This document serves as the technical reference for all frontend implementation. When building components or pages, follow these structural patterns to ensure performance, stability, and clean code.
|
|
4
|
+
|
|
5
|
+
## 1. Component Patterns
|
|
6
|
+
|
|
7
|
+
### Composition Over Inheritance
|
|
8
|
+
Build flexible UIs by composing small, focused components rather than deep inheritance chains.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
export function Card({ children, variant = 'default' }) {
|
|
12
|
+
return <div className={`card card-${variant}`}>{children}</div>
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function CardHeader({ children }) {
|
|
16
|
+
return <div className="card-header">{children}</div>
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Usage: <Card><CardHeader>Title</CardHeader></Card>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Compound Components
|
|
23
|
+
Share implicit state between related components via context to keep logic encapsulated.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
const TabsContext = createContext(undefined)
|
|
27
|
+
|
|
28
|
+
export function Tabs({ children, defaultTab }) {
|
|
29
|
+
const [activeTab, setActiveTab] = useState(defaultTab)
|
|
30
|
+
return (
|
|
31
|
+
<TabsContext.Provider value={{ activeTab, setActiveTab }}>
|
|
32
|
+
{children}
|
|
33
|
+
</TabsContext.Provider>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function Tab({ id, children }) {
|
|
38
|
+
const ctx = useContext(TabsContext)
|
|
39
|
+
if (!ctx) throw new Error('Tab must be used within Tabs')
|
|
40
|
+
return (
|
|
41
|
+
<button
|
|
42
|
+
className={ctx.activeTab === id ? 'active' : ''}
|
|
43
|
+
onClick={() => ctx.setActiveTab(id)}
|
|
44
|
+
>
|
|
45
|
+
{children}
|
|
46
|
+
</button>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 2. Custom Utility Hooks
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
// Debounce hook for search/expensive inputs
|
|
55
|
+
export function useDebounce(value, delay) {
|
|
56
|
+
const [debounced, setDebounced] = useState(value)
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
const handler = setTimeout(() => setDebounced(value), delay)
|
|
59
|
+
return () => clearTimeout(handler)
|
|
60
|
+
}, [value, delay])
|
|
61
|
+
return debounced
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Simplified toggle hook
|
|
65
|
+
export function useToggle(initial = false) {
|
|
66
|
+
const [value, setValue] = useState(initial)
|
|
67
|
+
const toggle = useCallback(() => setValue(v => !v), [])
|
|
68
|
+
return [value, toggle]
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 3. Performance Optimization
|
|
73
|
+
|
|
74
|
+
### Memoization Rules
|
|
75
|
+
- Use `useMemo` for any data transformation or sorting of lists.
|
|
76
|
+
- Use `useCallback` for event handlers passed to components wrapped in `React.memo`.
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
// useMemo for expensive computations
|
|
80
|
+
const sorted = useMemo(() => items.sort((a, b) => b.score - a.score), [items])
|
|
81
|
+
|
|
82
|
+
// React.memo for pure leaf components
|
|
83
|
+
export const ItemCard = React.memo(({ item }) => (
|
|
84
|
+
<div className="item-card"><h3>{item.name}</h3></div>
|
|
85
|
+
))
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## 4. Accessibility Patterns
|
|
89
|
+
|
|
90
|
+
### Keyboard Navigation
|
|
91
|
+
Always handle key events for custom interactive widgets to ensure screen-reader and keyboard compatibility.
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
const handleKeyDown = (e) => {
|
|
95
|
+
switch (e.key) {
|
|
96
|
+
case 'ArrowDown': e.preventDefault(); setIndex(i => Math.min(i + 1, max)); break
|
|
97
|
+
case 'ArrowUp': e.preventDefault(); setIndex(i => Math.max(i - 1, 0)); break
|
|
98
|
+
case 'Enter': e.preventDefault(); onSelect(options[index]); break
|
|
99
|
+
case 'Escape': onClose(); break
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## 5. Error Boundary Pattern
|
|
105
|
+
Wrap complex sections (like third-party widgets) in a safety net to prevent app crashes.
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
export class ErrorBoundary extends React.Component {
|
|
109
|
+
state = { hasError: false, error: null }
|
|
110
|
+
|
|
111
|
+
static getDerivedStateFromError(error) {
|
|
112
|
+
return { hasError: true, error }
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
render() {
|
|
116
|
+
if (this.state.hasError) {
|
|
117
|
+
return (
|
|
118
|
+
<div className="error-fallback">
|
|
119
|
+
<h2>Something went wrong</h2>
|
|
120
|
+
<button onClick={() => this.setState({ hasError: false })}>Try again</button>
|
|
121
|
+
</div>
|
|
122
|
+
)
|
|
123
|
+
}
|
|
124
|
+
return this.props.children
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|