@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,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboard-project
|
|
3
|
+
context: fork
|
|
4
|
+
description: Bootstrap a new project's AI configuration by generating copilot-instructions.md and populating project-config.md. Idempotent — safe to re-run on existing projects.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Onboard Project Skill
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Entry point for the portable AI resources pool. When copied to a new project, this skill bootstraps the project-specific configuration that agents need to function correctly.
|
|
12
|
+
|
|
13
|
+
**What it produces:**
|
|
14
|
+
1. `copilot-instructions.md` — project-specific context for the AI assistant
|
|
15
|
+
2. `project-config.md` — populated with project values (profile + placeholders)
|
|
16
|
+
3. `agent-docs/ARTIFACTS.md` — artifact manifest (if missing)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
- Setting up AI resources on a **new project** for the first time
|
|
23
|
+
- After copying the `.github/` (or `.cursor/`) portable pool to a new repo
|
|
24
|
+
- When `project-config.md` has a blank profile and empty placeholder values
|
|
25
|
+
- To add missing sections to an existing `copilot-instructions.md`
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Behavior: Idempotent & Non-Destructive
|
|
30
|
+
|
|
31
|
+
> **CRITICAL**: This skill NEVER overwrites or degrades existing content.
|
|
32
|
+
|
|
33
|
+
| Scenario | Behavior |
|
|
34
|
+
|----------|----------|
|
|
35
|
+
| `copilot-instructions.md` does not exist | Create from template, populate from user Q&A |
|
|
36
|
+
| `copilot-instructions.md` exists | Read it, compare sections vs. template, append ONLY missing sections with `<!-- Added by onboard-project -->` marker |
|
|
37
|
+
| `project-config.md` has blank profile | Ask user for values, populate |
|
|
38
|
+
| `project-config.md` has profile set | Skip — already configured |
|
|
39
|
+
| `agent-docs/ARTIFACTS.md` missing | Create from template |
|
|
40
|
+
| `agent-docs/ARTIFACTS.md` exists | Skip — already configured |
|
|
41
|
+
|
|
42
|
+
**Conflict resolution**: If existing content contradicts template defaults, **keep the user's version**. It's more battle-tested.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Steps
|
|
47
|
+
|
|
48
|
+
### Step 1: Check Current State
|
|
49
|
+
|
|
50
|
+
Read the following files (if they exist):
|
|
51
|
+
1. `project-config.md` — check if profile is set, if placeholders are filled
|
|
52
|
+
2. `copilot-instructions.md` — check which sections already exist
|
|
53
|
+
3. `agent-docs/ARTIFACTS.md` — check if manifest exists
|
|
54
|
+
|
|
55
|
+
Report what exists and what's missing before proceeding.
|
|
56
|
+
|
|
57
|
+
### Step 2: Gather Project Information
|
|
58
|
+
|
|
59
|
+
Ask the user for information needed to populate the configuration. Skip questions where answers can be inferred from existing files.
|
|
60
|
+
|
|
61
|
+
**Required information:**
|
|
62
|
+
|
|
63
|
+
| Category | Questions |
|
|
64
|
+
|----------|-----------|
|
|
65
|
+
| **Identity** | Project name? Organization name? One-line description? |
|
|
66
|
+
| **Tech Stack** | Language(s)? Frontend framework? Backend framework? Database type? |
|
|
67
|
+
| **Branding** | Primary brand color (hex)? Dark color? Light color? Additional brand colors? |
|
|
68
|
+
| **Infrastructure** | Deployment environment (cloud/on-premise/hybrid)? Air-gapped? Authentication method? |
|
|
69
|
+
| **Logging** | Logging library? (loguru, logging, structlog, etc.) |
|
|
70
|
+
| **Shared Libraries** | Any shared/internal libraries? Paths? |
|
|
71
|
+
| **Project Structure** | Entry point file? Source root? Key directories? |
|
|
72
|
+
| **Data Sources** | Database name(s)? Connection method? Key tables? |
|
|
73
|
+
| **Key Conventions** | Query externalization? Path resolution patterns? CSS scoping method? Component reuse patterns? |
|
|
74
|
+
| **Commands** | How to run the app? Run tests? Lint? Build? |
|
|
75
|
+
| **Recipe** | Delivery workflow pattern? (`enterprise-dashboard` for data-to-UI dashboards, or blank for generic projects) |
|
|
76
|
+
|
|
77
|
+
### Step 3: Populate project-config.md
|
|
78
|
+
|
|
79
|
+
1. Set the `profile` field (use org name slug, e.g., `acme`, `myorg`, or leave blank if no profile needed)
|
|
80
|
+
2. If using a profile, create a Profile Definition section with:
|
|
81
|
+
- Core Placeholders table (`<ORG_NAME>`, `<BRAND_PRIMARY>`, `<BRAND_DARK>`, `<BRAND_LIGHT>`, `<DB_TYPE>`, `<DEPLOY_ENV>`, `<LOGGING_LIB>`, `<SHARED_LIBS>`)
|
|
82
|
+
- Brand Color Palette table (if provided)
|
|
83
|
+
- Tech Stack table
|
|
84
|
+
- Data Sources table
|
|
85
|
+
- Project Structure block
|
|
86
|
+
- Key Conventions list
|
|
87
|
+
3. If not using a profile, fill in the "Step 2: Project Values" table directly
|
|
88
|
+
4. If user specified a recipe:
|
|
89
|
+
- Verify `.github/recipes/{recipe}.recipe.md` exists in the pool
|
|
90
|
+
- Set the `recipe` field in the Step 1 table: `| **recipe** | {recipe} |`
|
|
91
|
+
- If recipe file is missing, warn but continue — recipe is optional
|
|
92
|
+
|
|
93
|
+
### Step 4: Create or Update copilot-instructions.md
|
|
94
|
+
|
|
95
|
+
**Template sections** (check each — add only what's missing):
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
# {Project Name} — AI Assistant Context
|
|
99
|
+
|
|
100
|
+
## Project Overview
|
|
101
|
+
{One paragraph: what the project does, who it's for, key goals}
|
|
102
|
+
|
|
103
|
+
## Architecture
|
|
104
|
+
{High-level architecture: components, data flow, key patterns}
|
|
105
|
+
|
|
106
|
+
## Tech Stack
|
|
107
|
+
{Table: Layer → Technology}
|
|
108
|
+
|
|
109
|
+
## Data Sources
|
|
110
|
+
{Table: Source → Table/Collection → Description}
|
|
111
|
+
|
|
112
|
+
## Key Patterns & Conventions
|
|
113
|
+
{Bullet list of project-specific patterns the AI must follow}
|
|
114
|
+
|
|
115
|
+
## Database Access
|
|
116
|
+
{Connection method, query patterns, ORM/raw SQL, caching}
|
|
117
|
+
|
|
118
|
+
## Project Structure
|
|
119
|
+
{Directory tree of key folders}
|
|
120
|
+
|
|
121
|
+
## Deployment
|
|
122
|
+
{How the app is deployed, environment specifics}
|
|
123
|
+
|
|
124
|
+
## Key Commands
|
|
125
|
+
{Run, test, lint, build commands}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Merge logic for existing files:**
|
|
129
|
+
1. Parse existing `copilot-instructions.md` into sections (by `##` headings)
|
|
130
|
+
2. If the file contains `<!-- junai:start -->` … `<!-- junai:end -->` sentinel markers, leave that block untouched — it is managed by the junai extension
|
|
131
|
+
3. For each template section, check if an equivalent heading exists outside the managed block (fuzzy match — "Tech Stack" matches "Technology Stack", "Stack", etc.)
|
|
132
|
+
4. If section exists → **skip it** (preserve user's content entirely)
|
|
133
|
+
5. If section is missing → **append it** before the managed section (or at the end if no managed section) with marker:
|
|
134
|
+
```markdown
|
|
135
|
+
<!-- Added by onboard-project — review and customize -->
|
|
136
|
+
## {Section Title}
|
|
137
|
+
{Template content populated with project values}
|
|
138
|
+
```
|
|
139
|
+
5. Never reorder, rewrite, or delete existing sections
|
|
140
|
+
|
|
141
|
+
### Step 5: Create agent-docs/ARTIFACTS.md (if missing)
|
|
142
|
+
|
|
143
|
+
If `agent-docs/ARTIFACTS.md` does not exist, create it using the standard template:
|
|
144
|
+
|
|
145
|
+
```markdown
|
|
146
|
+
# Agent Artifacts
|
|
147
|
+
|
|
148
|
+
> **For agents**: Only read artifacts with status `current`. Ignore `superseded` and `archived`.
|
|
149
|
+
> **For humans**: This is a working directory for inter-agent communication. Do not include in project documentation.
|
|
150
|
+
|
|
151
|
+
## How to Read This Manifest
|
|
152
|
+
|
|
153
|
+
- **chain_id**: Links all artifacts in a feature chain (format: `FEAT-YYYY-MMDD-{slug}`)
|
|
154
|
+
- **status**: `current` (active) | `superseded` (replaced) | `archived` (historical) | `completed` (done)
|
|
155
|
+
- **approval**: `pending` (awaiting review) | `approved` (proceed) | `revision-requested` (needs changes)
|
|
156
|
+
|
|
157
|
+
## Artifacts
|
|
158
|
+
|
|
159
|
+
| Date | Agent | Type | Description | Path | Status | Approval | Chain ID |
|
|
160
|
+
|------|-------|------|-------------|------|--------|----------|----------|
|
|
161
|
+
| | | | | | | | |
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Also create the subfolder structure if missing:
|
|
165
|
+
- `agent-docs/intents/`
|
|
166
|
+
- `agent-docs/escalations/`
|
|
167
|
+
- `agent-docs/prd/`
|
|
168
|
+
- `agent-docs/architecture/`
|
|
169
|
+
- `agent-docs/ux/mockups/`
|
|
170
|
+
- `agent-docs/ux/reviews/`
|
|
171
|
+
- `agent-docs/security/`
|
|
172
|
+
- `agent-docs/reviews/`
|
|
173
|
+
- `agent-docs/debug/`
|
|
174
|
+
- `agent-docs/testing/`
|
|
175
|
+
- `agent-docs/.archive/`
|
|
176
|
+
|
|
177
|
+
### Step 6: Summary
|
|
178
|
+
|
|
179
|
+
Report what was done:
|
|
180
|
+
- Files created vs. updated
|
|
181
|
+
- Sections added to existing `copilot-instructions.md` (if any)
|
|
182
|
+
- Profile set in `project-config.md`
|
|
183
|
+
- Next steps (e.g., "Review the added sections and customize them")
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Important Notes
|
|
188
|
+
|
|
189
|
+
- All paths in this skill are relative. The skill works regardless of whether the AI resources folder is at `.github/`, `.cursor/`, or any other location.
|
|
190
|
+
- The `copilot-instructions.md` file is project-specific and should NOT be committed to the portable pool. It stays in the project repo. The junai extension manages only a sentinel-delimited `<!-- junai:start -->` … `<!-- junai:end -->` section — never edit content inside those markers (it will be refreshed on the next Update). Add your project content outside the markers.
|
|
191
|
+
- `project-config.md` IS part of the portable pool as a template. When the profile section is filled in, it becomes project-specific.
|
|
192
|
+
- The `recipe` field in `project-config.md` is optional. Projects without a recipe work exactly as before — agents use their built-in expertise and plan-embedded skills. Recipes add automatic cross-project baseline loading for repeatable delivery patterns.
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-testing
|
|
3
|
+
description: Performance testing, load testing, and benchmarking for APIs, databases, and web applications. Use when planning load tests, setting performance budgets, profiling bottlenecks, or validating scalability. Covers Locust, k6, pytest-benchmark, browser performance, and database query profiling.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Performance Testing Skill
|
|
7
|
+
|
|
8
|
+
Measure before you optimise. This skill covers how to define performance budgets, write load tests, benchmark critical paths, and profile bottlenecks.
|
|
9
|
+
|
|
10
|
+
## 1. When to Apply This Skill
|
|
11
|
+
|
|
12
|
+
**Trigger conditions:**
|
|
13
|
+
- "How will this perform under load?"
|
|
14
|
+
- "We need load testing"
|
|
15
|
+
- "Set performance budgets"
|
|
16
|
+
- "Profile this slow endpoint"
|
|
17
|
+
- Pre-launch performance validation
|
|
18
|
+
- After performance incidents or SLA breaches
|
|
19
|
+
|
|
20
|
+
## 2. Performance Budget Template
|
|
21
|
+
|
|
22
|
+
Define budgets before testing. Every metric needs a target.
|
|
23
|
+
|
|
24
|
+
```markdown
|
|
25
|
+
# Performance Budget: {Service/Feature}
|
|
26
|
+
|
|
27
|
+
## Response Time Targets
|
|
28
|
+
| Endpoint / Action | p50 | p95 | p99 | Max |
|
|
29
|
+
|-------------------|-----|-----|-----|-----|
|
|
30
|
+
| GET /api/items | <100ms | <250ms | <500ms | <1s |
|
|
31
|
+
| POST /api/orders | <200ms | <500ms | <1s | <2s |
|
|
32
|
+
| Dashboard page load | <1.5s | <3s | <5s | <8s |
|
|
33
|
+
|
|
34
|
+
## Throughput Targets
|
|
35
|
+
| Scenario | Target RPS | Concurrent Users |
|
|
36
|
+
|----------|-----------|-----------------|
|
|
37
|
+
| Normal load | 100 rps | 50 |
|
|
38
|
+
| Peak load | 500 rps | 200 |
|
|
39
|
+
| Stress test | 1000 rps | 500 |
|
|
40
|
+
|
|
41
|
+
## Resource Limits
|
|
42
|
+
| Resource | Threshold |
|
|
43
|
+
|----------|-----------|
|
|
44
|
+
| CPU | <70% at normal load |
|
|
45
|
+
| Memory | <80% at peak load |
|
|
46
|
+
| DB connections | <80% of pool size |
|
|
47
|
+
| Error rate | <0.1% at normal load |
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 3. Load Testing with Locust (Python)
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
from locust import HttpUser, task, between
|
|
54
|
+
|
|
55
|
+
class APIUser(HttpUser):
|
|
56
|
+
wait_time = between(1, 3)
|
|
57
|
+
|
|
58
|
+
@task(3)
|
|
59
|
+
def list_items(self):
|
|
60
|
+
self.client.get("/api/items", name="GET /api/items")
|
|
61
|
+
|
|
62
|
+
@task(1)
|
|
63
|
+
def create_item(self):
|
|
64
|
+
self.client.post(
|
|
65
|
+
"/api/items",
|
|
66
|
+
json={"name": "test", "value": 42},
|
|
67
|
+
name="POST /api/items",
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
def on_start(self):
|
|
71
|
+
"""Authenticate once per simulated user."""
|
|
72
|
+
resp = self.client.post("/api/auth/login", json={
|
|
73
|
+
"username": "loadtest",
|
|
74
|
+
"password": "test-password", # Use env var in real tests
|
|
75
|
+
})
|
|
76
|
+
self.client.headers["Authorization"] = f"Bearer {resp.json()['token']}"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Run: `locust -f load_test.py --host=http://localhost:8000 --users=100 --spawn-rate=10`
|
|
80
|
+
|
|
81
|
+
## 4. Load Testing with k6 (JavaScript)
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
import http from 'k6/http';
|
|
85
|
+
import { check, sleep } from 'k6';
|
|
86
|
+
|
|
87
|
+
export const options = {
|
|
88
|
+
stages: [
|
|
89
|
+
{ duration: '1m', target: 50 }, // Ramp up
|
|
90
|
+
{ duration: '3m', target: 50 }, // Sustain
|
|
91
|
+
{ duration: '1m', target: 200 }, // Peak
|
|
92
|
+
{ duration: '2m', target: 200 }, // Sustain peak
|
|
93
|
+
{ duration: '1m', target: 0 }, // Ramp down
|
|
94
|
+
],
|
|
95
|
+
thresholds: {
|
|
96
|
+
http_req_duration: ['p(95)<500', 'p(99)<1000'],
|
|
97
|
+
http_req_failed: ['rate<0.01'],
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export default function () {
|
|
102
|
+
const res = http.get('http://localhost:8000/api/items');
|
|
103
|
+
check(res, {
|
|
104
|
+
'status is 200': (r) => r.status === 200,
|
|
105
|
+
'response time < 500ms': (r) => r.timings.duration < 500,
|
|
106
|
+
});
|
|
107
|
+
sleep(1);
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 5. Python Benchmarking with pytest-benchmark
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
import pytest
|
|
115
|
+
|
|
116
|
+
def fibonacci(n: int) -> int:
|
|
117
|
+
if n <= 1:
|
|
118
|
+
return n
|
|
119
|
+
a, b = 0, 1
|
|
120
|
+
for _ in range(2, n + 1):
|
|
121
|
+
a, b = b, a + b
|
|
122
|
+
return b
|
|
123
|
+
|
|
124
|
+
def test_fibonacci_benchmark(benchmark):
|
|
125
|
+
result = benchmark(fibonacci, 100)
|
|
126
|
+
assert result == 354224848179261915075
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Run: `pytest --benchmark-only --benchmark-sort=mean`
|
|
130
|
+
|
|
131
|
+
## 6. Database Query Profiling
|
|
132
|
+
|
|
133
|
+
### SQL Server
|
|
134
|
+
```sql
|
|
135
|
+
-- Enable actual execution plan + IO statistics
|
|
136
|
+
SET STATISTICS IO ON;
|
|
137
|
+
SET STATISTICS TIME ON;
|
|
138
|
+
|
|
139
|
+
-- Run the slow query
|
|
140
|
+
SELECT ...
|
|
141
|
+
|
|
142
|
+
-- Check for table scans, missing indexes
|
|
143
|
+
-- Key metrics: logical reads, CPU time, elapsed time
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Python profiling with cProfile
|
|
147
|
+
```python
|
|
148
|
+
import cProfile
|
|
149
|
+
import pstats
|
|
150
|
+
|
|
151
|
+
def profile_function(func, *args):
|
|
152
|
+
"""Profile a function and print top 20 cumulative time entries."""
|
|
153
|
+
profiler = cProfile.Profile()
|
|
154
|
+
profiler.enable()
|
|
155
|
+
result = func(*args)
|
|
156
|
+
profiler.disable()
|
|
157
|
+
|
|
158
|
+
stats = pstats.Stats(profiler)
|
|
159
|
+
stats.sort_stats("cumulative")
|
|
160
|
+
stats.print_stats(20)
|
|
161
|
+
return result
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## 7. Browser Performance Testing
|
|
165
|
+
|
|
166
|
+
### Core Web Vitals Targets
|
|
167
|
+
|
|
168
|
+
| Metric | Good | Needs Improvement | Poor |
|
|
169
|
+
|--------|------|-------------------|------|
|
|
170
|
+
| LCP (Largest Contentful Paint) | ≤2.5s | ≤4.0s | >4.0s |
|
|
171
|
+
| INP (Interaction to Next Paint) | ≤200ms | ≤500ms | >500ms |
|
|
172
|
+
| CLS (Cumulative Layout Shift) | ≤0.1 | ≤0.25 | >0.25 |
|
|
173
|
+
|
|
174
|
+
### Lighthouse CI Check
|
|
175
|
+
```bash
|
|
176
|
+
npx @lhci/cli autorun --collect.url=http://localhost:3000 \
|
|
177
|
+
--assert.preset=lighthouse:recommended \
|
|
178
|
+
--assert.assertions.categories:performance=error:minScore:0.9
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## 8. Test Types and When to Use Them
|
|
182
|
+
|
|
183
|
+
| Type | Purpose | Tool | When |
|
|
184
|
+
|------|---------|------|------|
|
|
185
|
+
| **Load test** | Validate normal traffic capacity | Locust, k6 | Pre-launch, after scaling changes |
|
|
186
|
+
| **Stress test** | Find breaking point | k6 (ramping) | Capacity planning |
|
|
187
|
+
| **Soak test** | Detect memory leaks, connection exhaustion | Locust (long run) | Before major releases |
|
|
188
|
+
| **Spike test** | Validate autoscaling / recovery | k6 (sudden ramp) | Event-driven apps |
|
|
189
|
+
| **Benchmark** | Compare implementations | pytest-benchmark | During optimisation |
|
|
190
|
+
| **Profile** | Find hotspots | cProfile, py-spy | After identifying slow endpoint |
|
|
191
|
+
|
|
192
|
+
## 9. Reporting Template
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
# Performance Test Report: {Date}
|
|
196
|
+
|
|
197
|
+
## Test Configuration
|
|
198
|
+
- Tool: {Locust/k6}
|
|
199
|
+
- Duration: {minutes}
|
|
200
|
+
- Peak users: {n}
|
|
201
|
+
- Environment: {staging/production-like}
|
|
202
|
+
|
|
203
|
+
## Results vs Budget
|
|
204
|
+
| Metric | Budget | Actual | Status |
|
|
205
|
+
|--------|--------|--------|--------|
|
|
206
|
+
| p95 response time | <500ms | {n}ms | ✅/❌ |
|
|
207
|
+
| Error rate | <0.1% | {n}% | ✅/❌ |
|
|
208
|
+
| Throughput | >100 rps | {n} rps | ✅/❌ |
|
|
209
|
+
|
|
210
|
+
## Bottlenecks Found
|
|
211
|
+
1. {description} — {root cause} — {recommendation}
|
|
212
|
+
|
|
213
|
+
## Recommendations
|
|
214
|
+
- {action items}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## 10. Anti-Patterns
|
|
218
|
+
|
|
219
|
+
| Anti-Pattern | Problem | Fix |
|
|
220
|
+
|---|---|---|
|
|
221
|
+
| Testing against localhost only | Misses network latency, DNS, TLS | Test against staging environment |
|
|
222
|
+
| No warm-up phase | Cold caches skew results | Add 1-2 min ramp-up |
|
|
223
|
+
| Ignoring error rate | High throughput ≠ success | Always check error rate alongside latency |
|
|
224
|
+
| Single-metric focus | p50 looks fine but p99 is 10s | Report p50, p95, p99, and max |
|
|
225
|
+
| Testing with empty database | Production has millions of rows | Use production-sized test data |
|
|
226
|
+
| No baseline comparison | Can't tell if results are better/worse | Always compare against previous run |
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-state
|
|
3
|
+
description: Read and write `.github/pipeline-state.json` to track stage progress, artefacts, supervision gates, and handoff payloads in the agent pipeline.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pipeline State Skill
|
|
7
|
+
|
|
8
|
+
**Skill ID:** `workflow/pipeline-state`
|
|
9
|
+
**Used by:** Orchestrator, Plan, Implement, Tester, Code Reviewer
|
|
10
|
+
**Purpose:** Read and write `.github/pipeline-state.json` to track pipeline position, stage status, and supervision gates.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## When to Use This Skill
|
|
15
|
+
|
|
16
|
+
Load this skill when:
|
|
17
|
+
- Starting the Orchestrator agent on a new or resuming pipeline
|
|
18
|
+
- An agent completes its stage and needs to mark it done
|
|
19
|
+
- Checking if upstream gates are approved before proceeding
|
|
20
|
+
- Setting `blocked_by` when a validation failure is detected
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Pipeline State File Location
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
.github/pipeline-state.json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
This file is **project-specific** — it lives in the project repo, NOT in junai. Use `.github/pipeline-state.template.json` from junai as the blank starting template.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Schema Reference
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"project": "<project-name>",
|
|
39
|
+
"feature": "<feature-slug>",
|
|
40
|
+
"pipeline_version": "1.0",
|
|
41
|
+
"current_stage": "<stage-name>",
|
|
42
|
+
"stages": {
|
|
43
|
+
"intent": { "status": "not_started | in_progress | complete | blocked", "artefact": "<path-or-null>", "completed_at": "<ISO-timestamp-or-null>" },
|
|
44
|
+
"prd": { "status": "...", "artefact": "...", "completed_at": "..." },
|
|
45
|
+
"architect": { "status": "...", "artefact": "...", "completed_at": "..." },
|
|
46
|
+
"plan": { "status": "...", "artefact": "...", "completed_at": "..." },
|
|
47
|
+
"implement": { "status": "...", "artefact": "...", "completed_at": "..." },
|
|
48
|
+
"tester": { "status": "...", "artefact": "...", "completed_at": "..." },
|
|
49
|
+
"review": { "status": "...", "artefact": "...", "completed_at": "..." }
|
|
50
|
+
},
|
|
51
|
+
"supervision_gates": {
|
|
52
|
+
"intent_approved": false,
|
|
53
|
+
"adr_approved": false,
|
|
54
|
+
"plan_approved": false,
|
|
55
|
+
"review_approved": false
|
|
56
|
+
},
|
|
57
|
+
"blocked_by": null,
|
|
58
|
+
"last_updated": "<ISO-timestamp>"
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Stage Status Values
|
|
63
|
+
| Value | Meaning |
|
|
64
|
+
|-------|---------|
|
|
65
|
+
| `not_started` | Stage not yet begun |
|
|
66
|
+
| `in_progress` | Agent is actively working on this stage |
|
|
67
|
+
| `complete` | Artefact produced and `approval: approved` confirmed |
|
|
68
|
+
| `blocked` | Cannot proceed — see `blocked_by` field |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Read Operations
|
|
73
|
+
|
|
74
|
+
### Check current stage
|
|
75
|
+
```
|
|
76
|
+
Read: .github/pipeline-state.json → .current_stage
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Check if a gate is approved
|
|
80
|
+
```
|
|
81
|
+
Read: .github/pipeline-state.json → .supervision_gates.<gate_name>
|
|
82
|
+
Returns: true | false
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Check upstream artefact approval
|
|
86
|
+
```
|
|
87
|
+
Read: <artefact_path from previous stage> → YAML header → approval field
|
|
88
|
+
Expected value: "approved"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Check for blocking escalations
|
|
92
|
+
```
|
|
93
|
+
List files in: agent-docs/escalations/
|
|
94
|
+
If any file contains severity: "blocking" → surface to user, do NOT proceed
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Write Operations
|
|
100
|
+
|
|
101
|
+
### Mark stage as in_progress
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"current_stage": "<new-stage>",
|
|
105
|
+
"stages": {
|
|
106
|
+
"<new-stage>": { "status": "in_progress" }
|
|
107
|
+
},
|
|
108
|
+
"last_updated": "<current-ISO-timestamp>"
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Mark stage as complete
|
|
113
|
+
```json
|
|
114
|
+
{
|
|
115
|
+
"stages": {
|
|
116
|
+
"<completed-stage>": {
|
|
117
|
+
"status": "complete",
|
|
118
|
+
"artefact": "<path-to-artefact>",
|
|
119
|
+
"completed_at": "<current-ISO-timestamp>"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"last_updated": "<current-ISO-timestamp>"
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Set blocked state
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"stages": {
|
|
130
|
+
"<stage>": { "status": "blocked" }
|
|
131
|
+
},
|
|
132
|
+
"blocked_by": "<reason: e.g., 'artefact missing approval field'>",
|
|
133
|
+
"last_updated": "<current-ISO-timestamp>"
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Approve a supervision gate
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"supervision_gates": {
|
|
141
|
+
"<gate_name>": true
|
|
142
|
+
},
|
|
143
|
+
"last_updated": "<current-ISO-timestamp>"
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Clear a blocked state
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"blocked_by": null,
|
|
151
|
+
"stages": {
|
|
152
|
+
"<stage>": { "status": "in_progress" }
|
|
153
|
+
},
|
|
154
|
+
"last_updated": "<current-ISO-timestamp>"
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Write handoff payload before routing (GAP-H6 + GAP-I1)
|
|
159
|
+
|
|
160
|
+
Before routing to `plan`, `implement`, `tester`, or `code-reviewer`, the Orchestrator writes to `_notes.handoff_payload`:
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"_notes": {
|
|
165
|
+
"handoff_payload": {
|
|
166
|
+
"target_agent": "<implement|tester|code-reviewer|plan>",
|
|
167
|
+
"scope": "<one-line description of what the agent must do>",
|
|
168
|
+
"summary": "<brief context from upstream stage>",
|
|
169
|
+
"required_tests": ["<test 1>", "<test 2>"],
|
|
170
|
+
"exit_criteria": "<what done looks like>",
|
|
171
|
+
"upstream_artefact": "<path to artefact produced by the current/previous stage>",
|
|
172
|
+
"coverage_requirements": [
|
|
173
|
+
"<component or requirement the receiving agent MUST cover>",
|
|
174
|
+
"<e.g.: component: Search API integration>",
|
|
175
|
+
"<e.g.: NFR: WCAG 2.1 AA compliance>"
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
> **`coverage_requirements[]` rule (GAP-I1):** Must be non-empty whenever an upstream artefact exists (architecture doc → plan, plan → implement, implement → tester, etc.). The receiving agent maps every item to its output and flags `COVERAGE_GAP: <item>` for any item not covered before starting work.
|
|
183
|
+
>
|
|
184
|
+
> **`pipeline_mode` field:** Set `"pipeline_mode": "supervised"` (default) or `"auto"` in the root of `pipeline-state.json`. Orchestrator §1 reads this to determine whether to HARD STOP after presenting the handoff button (`supervised`) or call `notify_orchestrator()` MCP tool and continue (`auto`). Always default to `supervised` on new pipelines — `auto` is an explicit opt-in.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Initialisation
|
|
189
|
+
|
|
190
|
+
When `.github/pipeline-state.json` does not exist:
|
|
191
|
+
1. Copy from `.github/pipeline-state.template.json` (available in the junai pool)
|
|
192
|
+
2. Replace `<project-name>` with the value from `project-config.md → profile → project_name`
|
|
193
|
+
3. Replace `<feature-slug>` with the kebab-case feature name from the Intent Document or user input
|
|
194
|
+
4. Set `current_stage` to `"intent"` or the appropriate starting stage
|
|
195
|
+
5. Set `last_updated` to current ISO timestamp
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Validation Rules
|
|
200
|
+
|
|
201
|
+
Before routing to any agent, the Orchestrator MUST verify:
|
|
202
|
+
|
|
203
|
+
1. **Artefact exists** — the file at `stages[previous_stage].artefact` exists on disk
|
|
204
|
+
2. **Artefact approved** — the YAML header of that artefact contains `approval: approved`
|
|
205
|
+
3. **No blocking escalations** — `agent-docs/escalations/` has no files with `severity: blocking`
|
|
206
|
+
4. **Gate check** — if the transition requires a supervision gate, that gate is `true` in `supervision_gates`
|
|
207
|
+
|
|
208
|
+
If ANY check fails → set `blocked_by`, report to user, do NOT proceed.
|