@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,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tdd
|
|
3
|
+
description: Run a strict red-green-refactor TDD cycle for a unit of behavior
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /tdd — red → green → refactor
|
|
7
|
+
|
|
8
|
+
Build this behavior test-first: **$ARGUMENTS**
|
|
9
|
+
|
|
10
|
+
If empty, ask what behavior to build and stop. Read the relevant `AGENTS.md` (root + the folder you'll
|
|
11
|
+
touch, e.g. `tests/AGENTS.md`) before starting.
|
|
12
|
+
|
|
13
|
+
## The cycle — do not skip or reorder
|
|
14
|
+
|
|
15
|
+
**1. PLAN the cases.** List happy path, edge cases (empty/None/boundary), and error cases. One line each.
|
|
16
|
+
|
|
17
|
+
**2. RED.** Write the *first* failing test (or a tight parametrized set). Run it. Confirm it fails — and
|
|
18
|
+
fails for the *right reason* (asserts the missing behavior, not an import typo). Show the failure output.
|
|
19
|
+
> If it passes immediately, the test is wrong or the behavior exists — stop and reassess.
|
|
20
|
+
|
|
21
|
+
**3. GREEN.** Write the **minimum** code to pass. No extra features, no speculative abstraction. Run the
|
|
22
|
+
test. Show it green.
|
|
23
|
+
|
|
24
|
+
**4. REFACTOR.** Improve names/structure/duplication in both code and test while keeping green. Re-run.
|
|
25
|
+
|
|
26
|
+
**5. Repeat** for the next case until the behavior is complete.
|
|
27
|
+
|
|
28
|
+
**6. VERIFY.** Run the full relevant suite so you didn't regress anything. For heavier coverage or a UI
|
|
29
|
+
layer, dispatch the **tester** subagent.
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
- Never write production code with no failing test demanding it.
|
|
33
|
+
- Test behavior, not internals. Assert what a caller observes.
|
|
34
|
+
- Each test independent; shared setup in fixtures.
|
|
35
|
+
- Show real command output at RED and GREEN — don't claim a state you didn't run.
|
|
36
|
+
|
|
37
|
+
End by stating: cases covered, final command run + result, and whether a commit is warranted.
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tdd-workflow
|
|
3
|
+
description: "Test-Driven Development workflow — red-green-refactor cycle"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# TDD Workflow
|
|
7
|
+
|
|
8
|
+
Test-Driven Development using the red-green-refactor cycle. Write tests first, implement minimum code to pass, then refactor with confidence.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Writing new features or functionality
|
|
13
|
+
- Fixing bugs (write a test that reproduces it first)
|
|
14
|
+
- Refactoring existing code
|
|
15
|
+
- Adding API endpoints or service methods
|
|
16
|
+
|
|
17
|
+
## Phase 1: PLAN Tests
|
|
18
|
+
|
|
19
|
+
Map test cases before writing code. For each feature, identify:
|
|
20
|
+
|
|
21
|
+
1. **Happy path** — expected successful behavior
|
|
22
|
+
2. **Edge cases** — empty input, boundary values, None/null
|
|
23
|
+
3. **Error cases** — invalid input, missing resources, timeouts
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Feature: Shorten URL
|
|
27
|
+
- Happy: valid URL returns short code
|
|
28
|
+
- Happy: same URL returns same code (idempotent)
|
|
29
|
+
- Edge: very long URL (2048+ chars)
|
|
30
|
+
- Error: invalid URL format
|
|
31
|
+
- Error: empty string
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Phase 2: WRITE Failing Test (Red)
|
|
35
|
+
|
|
36
|
+
Write one test at a time. It must fail — this proves it tests something real.
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import pytest
|
|
40
|
+
from myapp.shortener import shorten_url
|
|
41
|
+
|
|
42
|
+
class TestShortenURL:
|
|
43
|
+
def test_returns_short_code_for_valid_url(self):
|
|
44
|
+
result = shorten_url("https://example.com/long/path")
|
|
45
|
+
assert result is not None
|
|
46
|
+
assert len(result) == 8
|
|
47
|
+
|
|
48
|
+
def test_same_url_returns_same_code(self):
|
|
49
|
+
code1 = shorten_url("https://example.com")
|
|
50
|
+
code2 = shorten_url("https://example.com")
|
|
51
|
+
assert code1 == code2
|
|
52
|
+
|
|
53
|
+
def test_rejects_invalid_url(self):
|
|
54
|
+
with pytest.raises(ValueError, match="Invalid URL"):
|
|
55
|
+
shorten_url("not-a-url")
|
|
56
|
+
|
|
57
|
+
@pytest.mark.parametrize("bad_input", ["", "ftp://wrong", None])
|
|
58
|
+
def test_rejects_bad_inputs(self, bad_input):
|
|
59
|
+
with pytest.raises(ValueError):
|
|
60
|
+
shorten_url(bad_input)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Run and confirm failure:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pytest tests/test_shortener.py -v
|
|
67
|
+
# Expected: FAILED (module or assertions fail)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Phase 3: IMPLEMENT Minimum Code (Green)
|
|
71
|
+
|
|
72
|
+
Write the simplest code that makes the failing test pass. No extras, no optimization.
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
import hashlib, re
|
|
76
|
+
|
|
77
|
+
_store: dict[str, str] = {}
|
|
78
|
+
|
|
79
|
+
def shorten_url(url: str) -> str:
|
|
80
|
+
if not url or not re.match(r"https?://\S+", url):
|
|
81
|
+
raise ValueError("Invalid URL")
|
|
82
|
+
code = hashlib.sha256(url.encode()).hexdigest()[:8]
|
|
83
|
+
_store[code] = url
|
|
84
|
+
return code
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Run and confirm green:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
pytest tests/test_shortener.py -v
|
|
91
|
+
# Expected: PASSED
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Phase 4: REFACTOR
|
|
95
|
+
|
|
96
|
+
Improve code quality while keeping all tests green.
|
|
97
|
+
|
|
98
|
+
**Production code:** extract helpers, improve naming, add type hints, remove duplication.
|
|
99
|
+
|
|
100
|
+
**Test code:** extract fixtures, use `conftest.py`:
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
# tests/conftest.py
|
|
104
|
+
import pytest
|
|
105
|
+
|
|
106
|
+
@pytest.fixture(autouse=True)
|
|
107
|
+
def reset_store():
|
|
108
|
+
from myapp.shortener import _store
|
|
109
|
+
_store.clear()
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Run after refactoring — still green:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
pytest tests/test_shortener.py -v
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Phase 5: VERIFY Coverage
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pip install pytest-cov
|
|
122
|
+
pytest --cov=myapp --cov-report=term-missing tests/
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Enforce in CI:
|
|
126
|
+
|
|
127
|
+
```ini
|
|
128
|
+
# pyproject.toml
|
|
129
|
+
[tool.pytest.ini_options]
|
|
130
|
+
addopts = "--cov=myapp --cov-fail-under=80"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Look at the `Missing` column for untested lines. Common gaps: exception handlers, fallback branches, cleanup code.
|
|
134
|
+
|
|
135
|
+
## Testing Patterns
|
|
136
|
+
|
|
137
|
+
### Mocking External Dependencies
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
from unittest.mock import patch, MagicMock
|
|
141
|
+
|
|
142
|
+
def test_fetches_remote_data():
|
|
143
|
+
mock_resp = MagicMock()
|
|
144
|
+
mock_resp.json.return_value = {"status": "ok"}
|
|
145
|
+
mock_resp.status_code = 200
|
|
146
|
+
with patch("myapp.client.requests.get", return_value=mock_resp):
|
|
147
|
+
result = fetch_data("https://api.example.com/data")
|
|
148
|
+
assert result == {"status": "ok"}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Database Tests
|
|
152
|
+
|
|
153
|
+
```python
|
|
154
|
+
@pytest.fixture
|
|
155
|
+
def db_session():
|
|
156
|
+
engine = create_engine("sqlite:///:memory:")
|
|
157
|
+
Base.metadata.create_all(engine)
|
|
158
|
+
session = Session(engine)
|
|
159
|
+
yield session
|
|
160
|
+
session.close()
|
|
161
|
+
|
|
162
|
+
def test_creates_user(db_session):
|
|
163
|
+
user = User(name="Alice", email="alice@test.com")
|
|
164
|
+
db_session.add(user)
|
|
165
|
+
db_session.commit()
|
|
166
|
+
assert db_session.query(User).count() == 1
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Common Mistakes
|
|
170
|
+
|
|
171
|
+
| Mistake | Fix |
|
|
172
|
+
|---------|-----|
|
|
173
|
+
| Testing internal state (`obj._count`) | Test observable behavior (`obj.get_value()`) |
|
|
174
|
+
| Tests depend on each other | Each test sets up its own data |
|
|
175
|
+
| No assertions in test | Every test must assert something |
|
|
176
|
+
| Testing implementation details | Test what users/callers see |
|
|
177
|
+
|
|
178
|
+
## Quick Reference
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
pytest # Run all tests
|
|
182
|
+
pytest tests/test_x.py -v # Run specific file, verbose
|
|
183
|
+
pytest tests/test_x.py::TestClass::test_y # Run single test
|
|
184
|
+
pytest --cov=myapp --cov-report=term-missing # Coverage
|
|
185
|
+
pytest -x # Stop at first failure
|
|
186
|
+
pytest --lf # Re-run last failures
|
|
187
|
+
ptw -- --cov=myapp # Watch mode (pytest-watch)
|
|
188
|
+
```
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: technical-writing
|
|
3
|
+
context: fork
|
|
4
|
+
description: Technical documentation best practices for READMEs, API docs, architecture docs, runbooks, and developer guides. Use when writing or reviewing documentation, creating onboarding guides, or establishing documentation standards.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Technical Writing Skill
|
|
8
|
+
|
|
9
|
+
Good documentation is the difference between a project that scales and one that stalls. Write for the reader who has zero context.
|
|
10
|
+
|
|
11
|
+
## 1. When to Apply This Skill
|
|
12
|
+
|
|
13
|
+
**Trigger conditions:**
|
|
14
|
+
- Writing or updating a README
|
|
15
|
+
- Creating API documentation
|
|
16
|
+
- Writing architecture decision records (ADRs)
|
|
17
|
+
- Building runbooks or incident playbooks
|
|
18
|
+
- Creating onboarding/developer guides
|
|
19
|
+
- Reviewing documentation for clarity
|
|
20
|
+
|
|
21
|
+
## 2. Document Types and Templates
|
|
22
|
+
|
|
23
|
+
### Document Provenance Frontmatter
|
|
24
|
+
|
|
25
|
+
All descriptive Markdown docs must follow `.github/instructions/document-frontmatter.instructions.md`.
|
|
26
|
+
|
|
27
|
+
- **New docs**: include `Original Author`, `Creation Date`, and `Creating Model` in YAML frontmatter.
|
|
28
|
+
- **Updated docs**: preserve those original fields and add or update `Last Author`, `Last Updated`, and `Last Model Used`.
|
|
29
|
+
- Use full ISO 8601 UTC timestamps for `Creation Date` and `Last Updated` values.
|
|
30
|
+
- Merge these fields into existing frontmatter instead of replacing document-specific metadata.
|
|
31
|
+
|
|
32
|
+
### README Structure
|
|
33
|
+
|
|
34
|
+
Every project README follows this order:
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
# Project Name
|
|
38
|
+
One-sentence description of what this does and who it's for.
|
|
39
|
+
|
|
40
|
+
## Quick Start
|
|
41
|
+
Minimum steps to run the project locally (≤5 commands).
|
|
42
|
+
|
|
43
|
+
## Prerequisites
|
|
44
|
+
- Runtime versions (Python 3.12+, Node 22+)
|
|
45
|
+
- Required tools (Docker, pnpm)
|
|
46
|
+
- Required accounts/access
|
|
47
|
+
|
|
48
|
+
## Installation
|
|
49
|
+
Step-by-step setup with copy-pasteable commands.
|
|
50
|
+
|
|
51
|
+
## Usage
|
|
52
|
+
Common tasks with examples.
|
|
53
|
+
|
|
54
|
+
## Architecture
|
|
55
|
+
Brief overview with a diagram (link to detailed docs).
|
|
56
|
+
|
|
57
|
+
## Contributing
|
|
58
|
+
How to submit changes, run tests, and follow conventions.
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Rules:**
|
|
64
|
+
- Quick Start must work on a fresh machine in under 5 minutes
|
|
65
|
+
- Every command must be copy-pasteable (no `<placeholder>` without explanation)
|
|
66
|
+
- Test the README by following it literally on a clean environment
|
|
67
|
+
|
|
68
|
+
### Architecture Decision Record (ADR)
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
# ADR-{NNN}: {Decision Title}
|
|
72
|
+
|
|
73
|
+
## Status
|
|
74
|
+
Accepted | Superseded by ADR-{NNN} | Deprecated
|
|
75
|
+
|
|
76
|
+
## Context
|
|
77
|
+
What problem are we solving? What constraints exist?
|
|
78
|
+
|
|
79
|
+
## Decision
|
|
80
|
+
What did we decide and why?
|
|
81
|
+
|
|
82
|
+
## Alternatives Considered
|
|
83
|
+
| Option | Pros | Cons | Why Not |
|
|
84
|
+
|--------|------|------|---------|
|
|
85
|
+
|
|
86
|
+
## Consequences
|
|
87
|
+
What changes as a result? What new constraints are introduced?
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Runbook/Playbook
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
# Runbook: {Incident Type}
|
|
94
|
+
|
|
95
|
+
## Symptoms
|
|
96
|
+
What does the user/monitor see?
|
|
97
|
+
|
|
98
|
+
## Impact
|
|
99
|
+
Who is affected? What's the blast radius?
|
|
100
|
+
|
|
101
|
+
## Diagnosis Steps
|
|
102
|
+
1. Check {metric/log/dashboard} — expected: {value}
|
|
103
|
+
2. Run `{command}` — look for {pattern}
|
|
104
|
+
3. ...
|
|
105
|
+
|
|
106
|
+
## Resolution Steps
|
|
107
|
+
1. {Step with exact command}
|
|
108
|
+
2. {Verification step}
|
|
109
|
+
3. ...
|
|
110
|
+
|
|
111
|
+
## Escalation
|
|
112
|
+
If not resolved in {time}, contact {team/person}.
|
|
113
|
+
|
|
114
|
+
## Post-Incident
|
|
115
|
+
- [ ] Update this runbook with new learnings
|
|
116
|
+
- [ ] File ticket for permanent fix
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## 3. Writing Principles
|
|
120
|
+
|
|
121
|
+
### Know Your Reader
|
|
122
|
+
|
|
123
|
+
| Reader | Needs | Writing Style |
|
|
124
|
+
|--------|-------|--------------|
|
|
125
|
+
| **New developer** | Setup, concepts, where things are | Step-by-step, no assumptions |
|
|
126
|
+
| **Experienced dev** | API reference, edge cases, configuration | Concise, scannable, tables |
|
|
127
|
+
| **Ops/SRE** | Runbooks, monitoring, deployment | Commands, checklists, decision trees |
|
|
128
|
+
| **Stakeholder** | What it does, status, decisions | High-level, diagrams, outcomes |
|
|
129
|
+
|
|
130
|
+
### The Inverted Pyramid
|
|
131
|
+
|
|
132
|
+
Put the most important information first. Readers scan, they don't read.
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
┌─────────────────────────┐
|
|
136
|
+
│ What + Why (lead) │ ← First paragraph answers the key question
|
|
137
|
+
├─────────────────────────┤
|
|
138
|
+
│ How (details) │ ← Supporting details, steps, configuration
|
|
139
|
+
├─────────────────────────┤
|
|
140
|
+
│ Reference (appendix) │ ← Edge cases, history, alternatives
|
|
141
|
+
└─────────────────────────┘
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Plain Language Rules
|
|
145
|
+
|
|
146
|
+
| Do | Don't |
|
|
147
|
+
|----|-------|
|
|
148
|
+
| "This function returns the user's name" | "This function facilitates the retrieval of the nomenclature associated with the user entity" |
|
|
149
|
+
| "Run `npm install`" | "Execute the package installation command" |
|
|
150
|
+
| "Fails if the file doesn't exist" | "In the event that the specified file is not present in the filesystem, the operation will not succeed" |
|
|
151
|
+
| Short sentences (< 25 words) | Run-on sentences with multiple clauses |
|
|
152
|
+
| Active voice | Passive voice |
|
|
153
|
+
|
|
154
|
+
## 4. Code Examples in Documentation
|
|
155
|
+
|
|
156
|
+
### Rules for Code Samples
|
|
157
|
+
|
|
158
|
+
```python
|
|
159
|
+
# ✅ GOOD: Complete, runnable example with imports
|
|
160
|
+
from datetime import datetime
|
|
161
|
+
from myapp.models import User
|
|
162
|
+
|
|
163
|
+
def create_user(name: str, email: str) -> User:
|
|
164
|
+
"""Create a user and return the saved instance."""
|
|
165
|
+
user = User(name=name, email=email, created_at=datetime.now())
|
|
166
|
+
user.save()
|
|
167
|
+
return user
|
|
168
|
+
|
|
169
|
+
# Usage
|
|
170
|
+
user = create_user("Alice", "alice@example.com")
|
|
171
|
+
print(user.id) # => "usr_abc123"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
# ❌ BAD: Incomplete snippet, no context
|
|
176
|
+
def create_user(name, email):
|
|
177
|
+
user = User(name=name, email=email) # What is User? Where is it imported?
|
|
178
|
+
user.save() # Does this return something?
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Rules:**
|
|
182
|
+
- Include imports
|
|
183
|
+
- Show expected output in comments
|
|
184
|
+
- Use realistic data (not "foo", "bar", "test")
|
|
185
|
+
- Every example must be copy-pasteable and runnable
|
|
186
|
+
|
|
187
|
+
## 5. Diagrams
|
|
188
|
+
|
|
189
|
+
Use diagrams for architecture, data flow, and sequences. Text alone fails for spatial relationships.
|
|
190
|
+
|
|
191
|
+
### When to Use Each Type
|
|
192
|
+
|
|
193
|
+
| Diagram | Use For |
|
|
194
|
+
|---------|---------|
|
|
195
|
+
| **Flowchart** | Decision trees, process flows |
|
|
196
|
+
| **Sequence** | API call chains, auth flows |
|
|
197
|
+
| **Architecture** | System overview, service boundaries |
|
|
198
|
+
| **ERD** | Database schema relationships |
|
|
199
|
+
| **State** | Lifecycle transitions (order, ticket) |
|
|
200
|
+
|
|
201
|
+
### Diagram Rules
|
|
202
|
+
- Label every arrow (what data flows, what triggers the transition)
|
|
203
|
+
- Include a legend if using color coding
|
|
204
|
+
- Keep to 7±2 elements — decompose larger diagrams
|
|
205
|
+
- Store diagrams as code (Mermaid, PlantUML) for version control
|
|
206
|
+
|
|
207
|
+
## 6. API Documentation
|
|
208
|
+
|
|
209
|
+
### Endpoint Documentation Template
|
|
210
|
+
|
|
211
|
+
```markdown
|
|
212
|
+
### `POST /api/v1/customers`
|
|
213
|
+
|
|
214
|
+
Create a new customer record.
|
|
215
|
+
|
|
216
|
+
**Auth:** Bearer token required
|
|
217
|
+
|
|
218
|
+
**Request Body:**
|
|
219
|
+
| Field | Type | Required | Description |
|
|
220
|
+
|-------|------|----------|-------------|
|
|
221
|
+
| name | string | Yes | Customer full name (1-200 chars) |
|
|
222
|
+
| email | string | Yes | Valid email address |
|
|
223
|
+
|
|
224
|
+
**Response:** `201 Created`
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"data": { "id": "cust_abc", "name": "Alice", "email": "alice@example.com" }
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Errors:**
|
|
232
|
+
| Code | When |
|
|
233
|
+
|------|------|
|
|
234
|
+
| 400 | Missing required field |
|
|
235
|
+
| 409 | Email already exists |
|
|
236
|
+
| 422 | Invalid email format |
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## 7. Documentation Maintenance
|
|
240
|
+
|
|
241
|
+
### Keep Docs Near Code
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
src/
|
|
245
|
+
auth/
|
|
246
|
+
login.py
|
|
247
|
+
README.md ← Auth module docs live with auth code
|
|
248
|
+
docs/
|
|
249
|
+
architecture.md ← System-level docs in docs/
|
|
250
|
+
runbooks/ ← Operational docs
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Freshness Rules
|
|
254
|
+
|
|
255
|
+
| Trigger | Action |
|
|
256
|
+
|---------|--------|
|
|
257
|
+
| API endpoint changed | Update API docs in same PR |
|
|
258
|
+
| New environment variable | Update README + .env.example |
|
|
259
|
+
| Architecture decision | Write or update ADR |
|
|
260
|
+
| Production incident | Update or create runbook |
|
|
261
|
+
| New developer onboarded | Test README, fix gaps found |
|
|
262
|
+
|
|
263
|
+
## 8. Review Checklist
|
|
264
|
+
|
|
265
|
+
When reviewing documentation:
|
|
266
|
+
|
|
267
|
+
- [ ] Answers "what does this do?" in the first paragraph
|
|
268
|
+
- [ ] Document frontmatter is present and current
|
|
269
|
+
- [ ] Code examples are complete and runnable
|
|
270
|
+
- [ ] Commands are copy-pasteable
|
|
271
|
+
- [ ] No stale references to old code, endpoints, or config
|
|
272
|
+
- [ ] Diagrams are up to date
|
|
273
|
+
- [ ] Written for the target audience (not the author)
|
|
274
|
+
- [ ] No jargon without definition
|
|
275
|
+
- [ ] Links work and point to current resources
|
|
276
|
+
|
|
277
|
+
## 9. Anti-Patterns
|
|
278
|
+
|
|
279
|
+
| Anti-Pattern | Problem | Fix |
|
|
280
|
+
|---|---|---|
|
|
281
|
+
| Docs written once, never updated | Stale docs are worse than no docs | Update in same PR as code changes |
|
|
282
|
+
| Wall of text | Nobody reads it | Use headings, tables, code blocks, diagrams |
|
|
283
|
+
| Documenting obvious code | Noise, maintenance burden | Document "why", not "what" |
|
|
284
|
+
| Screenshots of terminal output | Can't copy-paste, hard to update | Use code blocks with text output |
|
|
285
|
+
| "See the code for details" | Reader has to reverse-engineer | Write the explanation |
|
|
286
|
+
| Assuming reader context | "Just run the usual setup" | Spell out every step |
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-strategy
|
|
3
|
+
context: fork
|
|
4
|
+
description: Test planning and strategy for projects of any size. Use when defining what to test, choosing test types, setting coverage goals, building test pyramids, or planning quality gates. Produces TEST-STRATEGY.md with prioritized test plan. Routes to Tester agent for execution.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Test Strategy Skill
|
|
8
|
+
|
|
9
|
+
Define what to test, at what level, and why — before writing a single test. Strategy first, implementation second.
|
|
10
|
+
|
|
11
|
+
## 1. When to Apply This Skill
|
|
12
|
+
|
|
13
|
+
**Trigger conditions:**
|
|
14
|
+
- "What should we test?"
|
|
15
|
+
- "Create a test plan for this feature"
|
|
16
|
+
- "We need a testing strategy"
|
|
17
|
+
- New project or major feature without existing test coverage
|
|
18
|
+
- Before a Tester agent handoff where scope is unclear
|
|
19
|
+
|
|
20
|
+
**Do not skip strategy** — writing tests without a plan leads to low-value tests that cover the wrong things.
|
|
21
|
+
|
|
22
|
+
## 2. The Test Pyramid
|
|
23
|
+
|
|
24
|
+
Map every test to the right level. Cost increases as you go up.
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
┌──────────┐
|
|
28
|
+
│ E2E │ ← Fewest: critical user journeys only
|
|
29
|
+
│ (Slow) │ 5-10% of total tests
|
|
30
|
+
─┼──────────┼─
|
|
31
|
+
│Integration │ ← Middle: API contracts, DB queries, service boundaries
|
|
32
|
+
│ (Medium) │ 20-30% of total tests
|
|
33
|
+
─┼────────────┼─
|
|
34
|
+
│ Unit │ ← Most: pure functions, business logic, edge cases
|
|
35
|
+
│ (Fast) │ 60-70% of total tests
|
|
36
|
+
└──────────────┘
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Level Selection Rules
|
|
40
|
+
|
|
41
|
+
| Level | Test When | Do NOT Test |
|
|
42
|
+
|-------|-----------|-------------|
|
|
43
|
+
| **Unit** | Pure logic, calculations, transformations, validators, parsers | Framework glue, wrappers with no logic |
|
|
44
|
+
| **Integration** | DB queries, API endpoints, service interactions, auth flows | Simple CRUD with no business rules |
|
|
45
|
+
| **E2E** | Critical user journeys (login → action → result), payment flows | Every page variation, admin-only features |
|
|
46
|
+
|
|
47
|
+
## 3. Strategy Template
|
|
48
|
+
|
|
49
|
+
Produce this for every feature or project:
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
# Test Strategy: {Feature Name}
|
|
53
|
+
|
|
54
|
+
## Risk Assessment
|
|
55
|
+
| Component | Risk Level | Why |
|
|
56
|
+
|-----------|-----------|-----|
|
|
57
|
+
| {component} | High/Med/Low | {data loss, revenue, security, UX} |
|
|
58
|
+
|
|
59
|
+
## Coverage Plan
|
|
60
|
+
| Layer | Target | What's Covered |
|
|
61
|
+
|-------|--------|----------------|
|
|
62
|
+
| Unit | {n} tests | {list of modules/functions} |
|
|
63
|
+
| Integration | {n} tests | {list of API/DB interactions} |
|
|
64
|
+
| E2E | {n} tests | {list of user journeys} |
|
|
65
|
+
|
|
66
|
+
## Priority Order (implement in this sequence)
|
|
67
|
+
1. {highest-risk component} — unit tests
|
|
68
|
+
2. {API contracts} — integration tests
|
|
69
|
+
3. {critical journey} — E2E test
|
|
70
|
+
4. ... remaining by descending risk
|
|
71
|
+
|
|
72
|
+
## Quality Gates
|
|
73
|
+
- [ ] All unit tests pass
|
|
74
|
+
- [ ] Integration tests pass with test DB
|
|
75
|
+
- [ ] E2E critical path passes
|
|
76
|
+
- [ ] Coverage ≥ {target}% on changed files
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 4. Risk-Based Prioritisation
|
|
80
|
+
|
|
81
|
+
Not all code deserves equal test investment. Prioritise by risk:
|
|
82
|
+
|
|
83
|
+
### High Risk (test thoroughly)
|
|
84
|
+
- Money/payment logic
|
|
85
|
+
- Authentication and authorisation
|
|
86
|
+
- Data mutations (writes, deletes, migrations)
|
|
87
|
+
- External API integrations
|
|
88
|
+
- Security-sensitive code (input validation, sanitisation)
|
|
89
|
+
|
|
90
|
+
### Medium Risk (test key paths)
|
|
91
|
+
- Business logic with branching conditions
|
|
92
|
+
- Data transformations and aggregations
|
|
93
|
+
- State management (complex reducers, stores)
|
|
94
|
+
- Error handling and recovery
|
|
95
|
+
|
|
96
|
+
### Low Risk (test selectively)
|
|
97
|
+
- Display components with no logic
|
|
98
|
+
- Configuration files
|
|
99
|
+
- Static content
|
|
100
|
+
- Simple pass-through functions
|
|
101
|
+
|
|
102
|
+
## 5. Coverage Goals
|
|
103
|
+
|
|
104
|
+
Set coverage targets by component risk, not a blanket number.
|
|
105
|
+
|
|
106
|
+
| Component Type | Minimum Coverage | Rationale |
|
|
107
|
+
|---------------|-----------------|-----------|
|
|
108
|
+
| Business logic / calculations | 90%+ | High cost of bugs |
|
|
109
|
+
| API endpoints / routes | 80%+ | Contract stability |
|
|
110
|
+
| Data access layer | 75%+ | Data integrity |
|
|
111
|
+
| UI components with logic | 70%+ | User-facing bugs |
|
|
112
|
+
| Utility functions | 85%+ | Widely reused |
|
|
113
|
+
| Configuration / glue code | — | Not worth unit testing |
|
|
114
|
+
|
|
115
|
+
## 6. Test Naming Convention
|
|
116
|
+
|
|
117
|
+
Every test name answers three questions:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
test_{what}_{condition}_{expected_outcome}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Examples:
|
|
124
|
+
```python
|
|
125
|
+
def test_calculate_discount_with_expired_coupon_returns_zero():
|
|
126
|
+
def test_login_with_invalid_password_returns_401():
|
|
127
|
+
def test_export_csv_with_empty_dataset_creates_headers_only():
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 7. When to Update the Strategy
|
|
131
|
+
|
|
132
|
+
- New risk identified (security audit, incident, production bug)
|
|
133
|
+
- Architecture change (new service, DB migration, API version)
|
|
134
|
+
- Coverage drops below target on consecutive PRs
|
|
135
|
+
- Feature scope expands significantly
|
|
136
|
+
|
|
137
|
+
## 8. Anti-Patterns to Avoid
|
|
138
|
+
|
|
139
|
+
| Anti-Pattern | Problem | Fix |
|
|
140
|
+
|---|---|---|
|
|
141
|
+
| Testing implementation details | Brittle, breaks on refactor | Test behaviour and outputs |
|
|
142
|
+
| 100% coverage target | Leads to low-value tests | Risk-based targets per component |
|
|
143
|
+
| Only happy path | Misses edge cases that cause incidents | Add error/boundary tests per risk |
|
|
144
|
+
| Shared mutable state between tests | Flaky, order-dependent | Isolate with setup/teardown |
|
|
145
|
+
| Slow test suite | Developers skip running tests | Keep unit tests under 30s total |
|
|
146
|
+
| Testing mocked-only code | False confidence | Mix unit + integration testing |
|
|
147
|
+
|
|
148
|
+
## 9. Output Artefact
|
|
149
|
+
|
|
150
|
+
Produce `TEST-STRATEGY.md` in the project docs or agent-docs directory. Ensure it includes:
|
|
151
|
+
1. Risk assessment table
|
|
152
|
+
2. Coverage plan with test counts per layer
|
|
153
|
+
3. Priority order for implementation
|
|
154
|
+
4. Quality gate checklist
|
|
155
|
+
5. Named test cases for the top 10 highest-risk areas
|