@ruaruababa/vibe-kit 1.0.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/CATALOG.md +317 -0
- package/README.md +121 -0
- package/aliases.json +65 -0
- package/bin/vibe.js +2 -0
- package/bundles.json +265 -0
- package/catalog.json +1560 -0
- package/dist/antigravity-skills/bin/cli.js +438 -0
- package/dist/antigravity-skills/lib/skill-utils.js +158 -0
- package/dist/antigravity-skills/scripts/build-catalog.js +305 -0
- package/dist/antigravity-skills/scripts/normalize-frontmatter.js +144 -0
- package/dist/antigravity-skills/scripts/validate-skills.js +230 -0
- package/dist/bin/vibe.js +2 -0
- package/dist/dist/src/cli/index.js +26 -0
- package/dist/lib/skill-utils.js +158 -0
- package/dist/scripts/build-catalog.js +50 -0
- package/dist/scripts/normalize-frontmatter.js +144 -0
- package/dist/scripts/validate-skills.js +56 -0
- package/dist/src/cli/index.js +146 -0
- package/dist/src/types/index.js +13 -0
- package/dist/src/utils/fs.js +1 -0
- package/package.json +43 -0
- package/skills/accessibility-compliance-accessibility-audit/SKILL.md +42 -0
- package/skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +502 -0
- package/skills/agent-orchestration-improve-agent/SKILL.md +349 -0
- package/skills/agent-orchestration-multi-agent-optimize/SKILL.md +239 -0
- package/skills/agent-orchestrator/SKILL.md +24 -0
- package/skills/ai-engineer/SKILL.md +171 -0
- package/skills/airflow-dag-patterns/SKILL.md +41 -0
- package/skills/airflow-dag-patterns/resources/implementation-playbook.md +509 -0
- package/skills/angular-migration/SKILL.md +428 -0
- package/skills/anti-reversing-techniques/SKILL.md +42 -0
- package/skills/anti-reversing-techniques/resources/implementation-playbook.md +539 -0
- package/skills/api-design-principles/SKILL.md +37 -0
- package/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/skills/api-design-principles/resources/implementation-playbook.md +513 -0
- package/skills/api-documenter/SKILL.md +184 -0
- package/skills/api-testing-observability-api-mock/SKILL.md +46 -0
- package/skills/api-testing-observability-api-mock/resources/implementation-playbook.md +1327 -0
- package/skills/application-performance-performance-optimization/SKILL.md +154 -0
- package/skills/architect-review/SKILL.md +174 -0
- package/skills/architecture-decision-records/SKILL.md +441 -0
- package/skills/architecture-patterns/SKILL.md +37 -0
- package/skills/architecture-patterns/resources/implementation-playbook.md +479 -0
- package/skills/arm-cortex-expert/SKILL.md +306 -0
- package/skills/async-python-patterns/SKILL.md +39 -0
- package/skills/async-python-patterns/resources/implementation-playbook.md +678 -0
- package/skills/attack-tree-construction/SKILL.md +38 -0
- package/skills/attack-tree-construction/resources/implementation-playbook.md +671 -0
- package/skills/auth-implementation-patterns/SKILL.md +39 -0
- package/skills/auth-implementation-patterns/resources/implementation-playbook.md +618 -0
- package/skills/backend-architect/SKILL.md +333 -0
- package/skills/backend-development-feature-development/SKILL.md +180 -0
- package/skills/backend-security-coder/SKILL.md +156 -0
- package/skills/backtesting-frameworks/SKILL.md +39 -0
- package/skills/backtesting-frameworks/resources/implementation-playbook.md +647 -0
- package/skills/bash-defensive-patterns/SKILL.md +43 -0
- package/skills/bash-defensive-patterns/resources/implementation-playbook.md +517 -0
- package/skills/bash-pro/SKILL.md +310 -0
- package/skills/bats-testing-patterns/SKILL.md +34 -0
- package/skills/bats-testing-patterns/resources/implementation-playbook.md +614 -0
- package/skills/bazel-build-optimization/SKILL.md +397 -0
- package/skills/billing-automation/SKILL.md +42 -0
- package/skills/billing-automation/resources/implementation-playbook.md +544 -0
- package/skills/binary-analysis-patterns/SKILL.md +450 -0
- package/skills/blockchain-developer/SKILL.md +208 -0
- package/skills/business-analyst/SKILL.md +182 -0
- package/skills/c-pro/SKILL.md +56 -0
- package/skills/c4-architecture-c4-architecture/SKILL.md +389 -0
- package/skills/c4-code/SKILL.md +244 -0
- package/skills/c4-component/SKILL.md +153 -0
- package/skills/c4-container/SKILL.md +171 -0
- package/skills/c4-context/SKILL.md +150 -0
- package/skills/changelog-automation/SKILL.md +38 -0
- package/skills/changelog-automation/resources/implementation-playbook.md +538 -0
- package/skills/cicd-automation-workflow-automate/SKILL.md +51 -0
- package/skills/cicd-automation-workflow-automate/resources/implementation-playbook.md +1333 -0
- package/skills/clean-markdown/SKILL.md +23 -0
- package/skills/cloud-architect/SKILL.md +135 -0
- package/skills/code-documentation-code-explain/SKILL.md +46 -0
- package/skills/code-documentation-code-explain/resources/implementation-playbook.md +802 -0
- package/skills/code-documentation-doc-generate/SKILL.md +48 -0
- package/skills/code-documentation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/code-refactoring-context-restore/SKILL.md +179 -0
- package/skills/code-refactoring-refactor-clean/SKILL.md +51 -0
- package/skills/code-refactoring-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/code-refactoring-tech-debt/SKILL.md +386 -0
- package/skills/code-review-ai-ai-review/SKILL.md +450 -0
- package/skills/code-review-excellence/SKILL.md +40 -0
- package/skills/code-review-excellence/resources/implementation-playbook.md +515 -0
- package/skills/code-reviewer/SKILL.md +178 -0
- package/skills/codebase-cleanup-deps-audit/SKILL.md +51 -0
- package/skills/codebase-cleanup-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/codebase-cleanup-refactor-clean/SKILL.md +51 -0
- package/skills/codebase-cleanup-refactor-clean/resources/implementation-playbook.md +879 -0
- package/skills/codebase-cleanup-tech-debt/SKILL.md +386 -0
- package/skills/competitive-landscape/SKILL.md +34 -0
- package/skills/competitive-landscape/resources/implementation-playbook.md +494 -0
- package/skills/comprehensive-review-full-review/SKILL.md +146 -0
- package/skills/comprehensive-review-pr-enhance/SKILL.md +46 -0
- package/skills/comprehensive-review-pr-enhance/resources/implementation-playbook.md +691 -0
- package/skills/conductor-implement/SKILL.md +388 -0
- package/skills/conductor-manage/SKILL.md +39 -0
- package/skills/conductor-manage/resources/implementation-playbook.md +1120 -0
- package/skills/conductor-new-track/SKILL.md +433 -0
- package/skills/conductor-revert/SKILL.md +372 -0
- package/skills/conductor-setup/SKILL.md +426 -0
- package/skills/conductor-status/SKILL.md +338 -0
- package/skills/conductor-validator/SKILL.md +62 -0
- package/skills/content-marketer/SKILL.md +170 -0
- package/skills/context-driven-development/SKILL.md +400 -0
- package/skills/context-management-context-restore/SKILL.md +179 -0
- package/skills/context-management-context-save/SKILL.md +177 -0
- package/skills/context-manager/SKILL.md +185 -0
- package/skills/cost-optimization/SKILL.md +286 -0
- package/skills/cpp-pro/SKILL.md +59 -0
- package/skills/cqrs-implementation/SKILL.md +35 -0
- package/skills/cqrs-implementation/resources/implementation-playbook.md +540 -0
- package/skills/csharp-pro/SKILL.md +59 -0
- package/skills/customer-support/SKILL.md +170 -0
- package/skills/data-engineer/SKILL.md +224 -0
- package/skills/data-engineering-data-driven-feature/SKILL.md +182 -0
- package/skills/data-engineering-data-pipeline/SKILL.md +201 -0
- package/skills/data-quality-frameworks/SKILL.md +40 -0
- package/skills/data-quality-frameworks/resources/implementation-playbook.md +573 -0
- package/skills/data-scientist/SKILL.md +199 -0
- package/skills/data-storytelling/SKILL.md +465 -0
- package/skills/database-admin/SKILL.md +165 -0
- package/skills/database-architect/SKILL.md +268 -0
- package/skills/database-cloud-optimization-cost-optimize/SKILL.md +44 -0
- package/skills/database-cloud-optimization-cost-optimize/resources/implementation-playbook.md +1441 -0
- package/skills/database-migration/SKILL.md +436 -0
- package/skills/database-migrations-migration-observability/SKILL.md +420 -0
- package/skills/database-migrations-sql-migrations/SKILL.md +53 -0
- package/skills/database-migrations-sql-migrations/resources/implementation-playbook.md +499 -0
- package/skills/database-optimizer/SKILL.md +167 -0
- package/skills/dbt-transformation-patterns/SKILL.md +34 -0
- package/skills/dbt-transformation-patterns/resources/implementation-playbook.md +547 -0
- package/skills/debugger/SKILL.md +49 -0
- package/skills/debugging-strategies/SKILL.md +34 -0
- package/skills/debugging-strategies/resources/implementation-playbook.md +511 -0
- package/skills/debugging-toolkit-smart-debug/SKILL.md +197 -0
- package/skills/defi-protocol-templates/SKILL.md +466 -0
- package/skills/dependency-management-deps-audit/SKILL.md +44 -0
- package/skills/dependency-management-deps-audit/resources/implementation-playbook.md +766 -0
- package/skills/dependency-upgrade/SKILL.md +421 -0
- package/skills/deployment-engineer/SKILL.md +170 -0
- package/skills/deployment-pipeline-design/SKILL.md +371 -0
- package/skills/deployment-validation-config-validate/SKILL.md +496 -0
- package/skills/devops-troubleshooter/SKILL.md +161 -0
- package/skills/distributed-debugging-debug-trace/SKILL.md +44 -0
- package/skills/distributed-debugging-debug-trace/resources/implementation-playbook.md +1307 -0
- package/skills/distributed-tracing/SKILL.md +450 -0
- package/skills/django-pro/SKILL.md +180 -0
- package/skills/docs-architect/SKILL.md +98 -0
- package/skills/documentation-generation-doc-generate/SKILL.md +48 -0
- package/skills/documentation-generation-doc-generate/resources/implementation-playbook.md +640 -0
- package/skills/dotnet-architect/SKILL.md +197 -0
- package/skills/dotnet-backend-patterns/SKILL.md +37 -0
- package/skills/dotnet-backend-patterns/assets/repository-template.cs +523 -0
- package/skills/dotnet-backend-patterns/assets/service-template.cs +336 -0
- package/skills/dotnet-backend-patterns/references/dapper-patterns.md +544 -0
- package/skills/dotnet-backend-patterns/references/ef-core-best-practices.md +355 -0
- package/skills/dotnet-backend-patterns/resources/implementation-playbook.md +799 -0
- package/skills/dummy-skill/SKILL.md +5 -0
- package/skills/dx-optimizer/SKILL.md +83 -0
- package/skills/e2e-testing-patterns/SKILL.md +41 -0
- package/skills/e2e-testing-patterns/resources/implementation-playbook.md +531 -0
- package/skills/elixir-pro/SKILL.md +59 -0
- package/skills/embedding-strategies/SKILL.md +491 -0
- package/skills/employment-contract-templates/SKILL.md +39 -0
- package/skills/employment-contract-templates/resources/implementation-playbook.md +493 -0
- package/skills/error-debugging-error-analysis/SKILL.md +47 -0
- package/skills/error-debugging-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-debugging-error-trace/SKILL.md +43 -0
- package/skills/error-debugging-error-trace/resources/implementation-playbook.md +1361 -0
- package/skills/error-debugging-multi-agent-review/SKILL.md +216 -0
- package/skills/error-detective/SKILL.md +53 -0
- package/skills/error-diagnostics-error-analysis/SKILL.md +47 -0
- package/skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +1143 -0
- package/skills/error-diagnostics-error-trace/SKILL.md +48 -0
- package/skills/error-diagnostics-error-trace/resources/implementation-playbook.md +1371 -0
- package/skills/error-diagnostics-smart-debug/SKILL.md +197 -0
- package/skills/error-handling-patterns/SKILL.md +35 -0
- package/skills/error-handling-patterns/resources/implementation-playbook.md +635 -0
- package/skills/event-sourcing-architect/SKILL.md +58 -0
- package/skills/event-store-design/SKILL.md +449 -0
- package/skills/fastapi-pro/SKILL.md +192 -0
- package/skills/fastapi-templates/SKILL.md +32 -0
- package/skills/fastapi-templates/resources/implementation-playbook.md +566 -0
- package/skills/final-test/SKILL.md +5 -0
- package/skills/firmware-analyst/SKILL.md +320 -0
- package/skills/flutter-expert/SKILL.md +200 -0
- package/skills/framework-migration-code-migrate/SKILL.md +48 -0
- package/skills/framework-migration-code-migrate/resources/implementation-playbook.md +1052 -0
- package/skills/framework-migration-deps-upgrade/SKILL.md +48 -0
- package/skills/framework-migration-deps-upgrade/resources/implementation-playbook.md +755 -0
- package/skills/framework-migration-legacy-modernize/SKILL.md +132 -0
- package/skills/frontend-developer/SKILL.md +171 -0
- package/skills/frontend-mobile-development-component-scaffold/SKILL.md +403 -0
- package/skills/frontend-mobile-security-xss-scan/SKILL.md +322 -0
- package/skills/frontend-security-coder/SKILL.md +170 -0
- package/skills/full-stack-orchestration-full-stack-feature/SKILL.md +135 -0
- package/skills/gdpr-data-handling/SKILL.md +33 -0
- package/skills/gdpr-data-handling/resources/implementation-playbook.md +615 -0
- package/skills/git-advanced-workflows/SKILL.md +412 -0
- package/skills/git-pr-workflows-git-workflow/SKILL.md +140 -0
- package/skills/git-pr-workflows-onboard/SKILL.md +416 -0
- package/skills/git-pr-workflows-pr-enhance/SKILL.md +48 -0
- package/skills/git-pr-workflows-pr-enhance/resources/implementation-playbook.md +701 -0
- package/skills/github-actions-templates/SKILL.md +345 -0
- package/skills/gitlab-ci-patterns/SKILL.md +283 -0
- package/skills/gitops-workflow/SKILL.md +303 -0
- package/skills/gitops-workflow/references/argocd-setup.md +134 -0
- package/skills/gitops-workflow/references/sync-policies.md +131 -0
- package/skills/go-concurrency-patterns/SKILL.md +33 -0
- package/skills/go-concurrency-patterns/resources/implementation-playbook.md +654 -0
- package/skills/godot-gdscript-patterns/SKILL.md +33 -0
- package/skills/godot-gdscript-patterns/resources/implementation-playbook.md +804 -0
- package/skills/golang-pro/SKILL.md +179 -0
- package/skills/grafana-dashboards/SKILL.md +381 -0
- package/skills/graphql-architect/SKILL.md +182 -0
- package/skills/haskell-pro/SKILL.md +56 -0
- package/skills/helm-chart-scaffolding/SKILL.md +34 -0
- package/skills/helm-chart-scaffolding/assets/Chart.yaml.template +42 -0
- package/skills/helm-chart-scaffolding/assets/values.yaml.template +185 -0
- package/skills/helm-chart-scaffolding/references/chart-structure.md +500 -0
- package/skills/helm-chart-scaffolding/resources/implementation-playbook.md +543 -0
- package/skills/helm-chart-scaffolding/scripts/validate-chart.sh +244 -0
- package/skills/hr-pro/SKILL.md +126 -0
- package/skills/hybrid-cloud-architect/SKILL.md +168 -0
- package/skills/hybrid-cloud-networking/SKILL.md +238 -0
- package/skills/hybrid-search-implementation/SKILL.md +32 -0
- package/skills/hybrid-search-implementation/resources/implementation-playbook.md +567 -0
- package/skills/incident-responder/SKILL.md +213 -0
- package/skills/incident-response-incident-response/SKILL.md +168 -0
- package/skills/incident-response-smart-fix/SKILL.md +29 -0
- package/skills/incident-response-smart-fix/resources/implementation-playbook.md +838 -0
- package/skills/incident-runbook-templates/SKILL.md +395 -0
- package/skills/ios-developer/SKILL.md +219 -0
- package/skills/istio-traffic-management/SKILL.md +337 -0
- package/skills/java-pro/SKILL.md +177 -0
- package/skills/javascript-pro/SKILL.md +57 -0
- package/skills/javascript-testing-patterns/SKILL.md +35 -0
- package/skills/javascript-testing-patterns/resources/implementation-playbook.md +1024 -0
- package/skills/javascript-typescript-typescript-scaffold/SKILL.md +361 -0
- package/skills/julia-pro/SKILL.md +209 -0
- package/skills/k8s-manifest-generator/SKILL.md +35 -0
- package/skills/k8s-manifest-generator/assets/configmap-template.yaml +296 -0
- package/skills/k8s-manifest-generator/assets/deployment-template.yaml +203 -0
- package/skills/k8s-manifest-generator/assets/service-template.yaml +171 -0
- package/skills/k8s-manifest-generator/references/deployment-spec.md +753 -0
- package/skills/k8s-manifest-generator/references/service-spec.md +724 -0
- package/skills/k8s-manifest-generator/resources/implementation-playbook.md +510 -0
- package/skills/k8s-security-policies/SKILL.md +346 -0
- package/skills/k8s-security-policies/assets/network-policy-template.yaml +177 -0
- package/skills/k8s-security-policies/references/rbac-patterns.md +187 -0
- package/skills/kpi-dashboard-design/SKILL.md +440 -0
- package/skills/kubernetes-architect/SKILL.md +170 -0
- package/skills/langchain-architecture/SKILL.md +350 -0
- package/skills/legacy-modernizer/SKILL.md +53 -0
- package/skills/legal-advisor/SKILL.md +70 -0
- package/skills/linkerd-patterns/SKILL.md +321 -0
- package/skills/llm-application-dev-ai-assistant/SKILL.md +35 -0
- package/skills/llm-application-dev-ai-assistant/resources/implementation-playbook.md +1236 -0
- package/skills/llm-application-dev-langchain-agent/SKILL.md +246 -0
- package/skills/llm-application-dev-prompt-optimize/SKILL.md +37 -0
- package/skills/llm-application-dev-prompt-optimize/resources/implementation-playbook.md +591 -0
- package/skills/llm-evaluation/SKILL.md +483 -0
- package/skills/machine-learning-ops-ml-pipeline/SKILL.md +314 -0
- package/skills/malware-analyst/SKILL.md +247 -0
- package/skills/market-sizing-analysis/SKILL.md +425 -0
- package/skills/market-sizing-analysis/examples/saas-market-sizing.md +349 -0
- package/skills/market-sizing-analysis/references/data-sources.md +360 -0
- package/skills/memory-forensics/SKILL.md +491 -0
- package/skills/memory-safety-patterns/SKILL.md +33 -0
- package/skills/memory-safety-patterns/resources/implementation-playbook.md +603 -0
- package/skills/mermaid-expert/SKILL.md +59 -0
- package/skills/microservices-patterns/SKILL.md +35 -0
- package/skills/microservices-patterns/resources/implementation-playbook.md +607 -0
- package/skills/minecraft-bukkit-pro/SKILL.md +126 -0
- package/skills/ml-engineer/SKILL.md +168 -0
- package/skills/ml-pipeline-workflow/SKILL.md +257 -0
- package/skills/mlops-engineer/SKILL.md +219 -0
- package/skills/mobile-developer/SKILL.md +205 -0
- package/skills/mobile-security-coder/SKILL.md +184 -0
- package/skills/modern-javascript-patterns/SKILL.md +35 -0
- package/skills/modern-javascript-patterns/resources/implementation-playbook.md +910 -0
- package/skills/monorepo-architect/SKILL.md +61 -0
- package/skills/monorepo-management/SKILL.md +35 -0
- package/skills/monorepo-management/resources/implementation-playbook.md +621 -0
- package/skills/mtls-configuration/SKILL.md +359 -0
- package/skills/multi-cloud-architecture/SKILL.md +189 -0
- package/skills/multi-platform-apps-multi-platform/SKILL.md +203 -0
- package/skills/network-engineer/SKILL.md +169 -0
- package/skills/nextjs-app-router-patterns/SKILL.md +33 -0
- package/skills/nextjs-app-router-patterns/resources/implementation-playbook.md +543 -0
- package/skills/nft-standards/SKILL.md +395 -0
- package/skills/node-expert/SKILL.md +23 -0
- package/skills/nodejs-backend-patterns/SKILL.md +35 -0
- package/skills/nodejs-backend-patterns/resources/implementation-playbook.md +1019 -0
- package/skills/nx-workspace-patterns/SKILL.md +464 -0
- package/skills/observability-engineer/SKILL.md +237 -0
- package/skills/observability-monitoring-monitor-setup/SKILL.md +48 -0
- package/skills/observability-monitoring-monitor-setup/resources/implementation-playbook.md +505 -0
- package/skills/observability-monitoring-slo-implement/SKILL.md +43 -0
- package/skills/observability-monitoring-slo-implement/resources/implementation-playbook.md +1077 -0
- package/skills/on-call-handoff-patterns/SKILL.md +453 -0
- package/skills/openapi-spec-generation/SKILL.md +33 -0
- package/skills/openapi-spec-generation/resources/implementation-playbook.md +1027 -0
- package/skills/payment-integration/SKILL.md +77 -0
- package/skills/paypal-integration/SKILL.md +479 -0
- package/skills/pci-compliance/SKILL.md +478 -0
- package/skills/performance-engineer/SKILL.md +180 -0
- package/skills/performance-testing-review-ai-review/SKILL.md +450 -0
- package/skills/performance-testing-review-multi-agent-review/SKILL.md +216 -0
- package/skills/php-pro/SKILL.md +63 -0
- package/skills/posix-shell-pro/SKILL.md +304 -0
- package/skills/postgresql/SKILL.md +230 -0
- package/skills/postmortem-writing/SKILL.md +386 -0
- package/skills/projection-patterns/SKILL.md +33 -0
- package/skills/projection-patterns/resources/implementation-playbook.md +501 -0
- package/skills/prometheus-configuration/SKILL.md +404 -0
- package/skills/prompt-engineer/SKILL.md +272 -0
- package/skills/prompt-engineering-patterns/SKILL.md +213 -0
- package/skills/prompt-engineering-patterns/assets/few-shot-examples.json +106 -0
- package/skills/prompt-engineering-patterns/assets/prompt-template-library.md +246 -0
- package/skills/prompt-engineering-patterns/references/chain-of-thought.md +399 -0
- package/skills/prompt-engineering-patterns/references/few-shot-learning.md +369 -0
- package/skills/prompt-engineering-patterns/references/prompt-optimization.md +414 -0
- package/skills/prompt-engineering-patterns/references/prompt-templates.md +470 -0
- package/skills/prompt-engineering-patterns/references/system-prompts.md +189 -0
- package/skills/prompt-engineering-patterns/scripts/optimize-prompt.py +279 -0
- package/skills/protocol-reverse-engineering/SKILL.md +29 -0
- package/skills/protocol-reverse-engineering/resources/implementation-playbook.md +509 -0
- package/skills/python-development-python-scaffold/SKILL.md +331 -0
- package/skills/python-packaging/SKILL.md +36 -0
- package/skills/python-packaging/resources/implementation-playbook.md +869 -0
- package/skills/python-performance-optimization/SKILL.md +36 -0
- package/skills/python-performance-optimization/resources/implementation-playbook.md +868 -0
- package/skills/python-pro/SKILL.md +158 -0
- package/skills/python-testing-patterns/SKILL.md +37 -0
- package/skills/python-testing-patterns/resources/implementation-playbook.md +906 -0
- package/skills/quant-analyst/SKILL.md +53 -0
- package/skills/rag-implementation/SKILL.md +421 -0
- package/skills/react-modernization/SKILL.md +34 -0
- package/skills/react-modernization/resources/implementation-playbook.md +512 -0
- package/skills/react-native-architecture/SKILL.md +33 -0
- package/skills/react-native-architecture/resources/implementation-playbook.md +670 -0
- package/skills/react-state-management/SKILL.md +441 -0
- package/skills/reference-builder/SKILL.md +188 -0
- package/skills/reverse-engineer/SKILL.md +173 -0
- package/skills/risk-manager/SKILL.md +61 -0
- package/skills/risk-metrics-calculation/SKILL.md +33 -0
- package/skills/risk-metrics-calculation/resources/implementation-playbook.md +554 -0
- package/skills/ruby-pro/SKILL.md +56 -0
- package/skills/rust-async-patterns/SKILL.md +33 -0
- package/skills/rust-async-patterns/resources/implementation-playbook.md +516 -0
- package/skills/rust-pro/SKILL.md +178 -0
- package/skills/saga-orchestration/SKILL.md +496 -0
- package/skills/sales-automator/SKILL.md +55 -0
- package/skills/sast-configuration/SKILL.md +212 -0
- package/skills/scala-pro/SKILL.md +82 -0
- package/skills/screen-reader-testing/SKILL.md +33 -0
- package/skills/screen-reader-testing/resources/implementation-playbook.md +544 -0
- package/skills/search-specialist/SKILL.md +80 -0
- package/skills/secrets-management/SKILL.md +364 -0
- package/skills/security-auditor/SKILL.md +169 -0
- package/skills/security-compliance-compliance-check/SKILL.md +55 -0
- package/skills/security-compliance-compliance-check/resources/implementation-playbook.md +963 -0
- package/skills/security-requirement-extraction/SKILL.md +33 -0
- package/skills/security-requirement-extraction/resources/implementation-playbook.md +676 -0
- package/skills/security-scanning-security-dependencies/SKILL.md +43 -0
- package/skills/security-scanning-security-dependencies/resources/implementation-playbook.md +544 -0
- package/skills/security-scanning-security-hardening/SKILL.md +147 -0
- package/skills/security-scanning-security-sast/SKILL.md +495 -0
- package/skills/seo-authority-builder/SKILL.md +136 -0
- package/skills/seo-cannibalization-detector/SKILL.md +123 -0
- package/skills/seo-content-auditor/SKILL.md +83 -0
- package/skills/seo-content-planner/SKILL.md +108 -0
- package/skills/seo-content-refresher/SKILL.md +118 -0
- package/skills/seo-content-writer/SKILL.md +96 -0
- package/skills/seo-keyword-strategist/SKILL.md +95 -0
- package/skills/seo-meta-optimizer/SKILL.md +92 -0
- package/skills/seo-snippet-hunter/SKILL.md +114 -0
- package/skills/seo-structure-architect/SKILL.md +108 -0
- package/skills/service-mesh-expert/SKILL.md +58 -0
- package/skills/service-mesh-observability/SKILL.md +395 -0
- package/skills/shellcheck-configuration/SKILL.md +466 -0
- package/skills/similarity-search-patterns/SKILL.md +33 -0
- package/skills/similarity-search-patterns/resources/implementation-playbook.md +557 -0
- package/skills/slo-implementation/SKILL.md +341 -0
- package/skills/solidity-security/SKILL.md +34 -0
- package/skills/solidity-security/resources/implementation-playbook.md +524 -0
- package/skills/spark-optimization/SKILL.md +427 -0
- package/skills/sql-optimization-patterns/SKILL.md +35 -0
- package/skills/sql-optimization-patterns/resources/implementation-playbook.md +504 -0
- package/skills/sql-pro/SKILL.md +173 -0
- package/skills/startup-analyst/SKILL.md +328 -0
- package/skills/startup-business-analyst-business-case/SKILL.md +487 -0
- package/skills/startup-business-analyst-financial-projections/SKILL.md +353 -0
- package/skills/startup-business-analyst-market-opportunity/SKILL.md +240 -0
- package/skills/startup-financial-modeling/SKILL.md +467 -0
- package/skills/startup-metrics-framework/SKILL.md +34 -0
- package/skills/startup-metrics-framework/resources/implementation-playbook.md +500 -0
- package/skills/stride-analysis-patterns/SKILL.md +33 -0
- package/skills/stride-analysis-patterns/resources/implementation-playbook.md +655 -0
- package/skills/stripe-integration/SKILL.md +454 -0
- package/skills/systems-programming-rust-project/SKILL.md +440 -0
- package/skills/tailwind-design-system/SKILL.md +33 -0
- package/skills/tailwind-design-system/resources/implementation-playbook.md +665 -0
- package/skills/tdd-orchestrator/SKILL.md +205 -0
- package/skills/tdd-workflows-tdd-cycle/SKILL.md +221 -0
- package/skills/tdd-workflows-tdd-green/SKILL.md +73 -0
- package/skills/tdd-workflows-tdd-green/resources/implementation-playbook.md +870 -0
- package/skills/tdd-workflows-tdd-red/SKILL.md +164 -0
- package/skills/tdd-workflows-tdd-refactor/SKILL.md +187 -0
- package/skills/team-collaboration-issue/SKILL.md +37 -0
- package/skills/team-collaboration-issue/resources/implementation-playbook.md +640 -0
- package/skills/team-collaboration-standup-notes/SKILL.md +44 -0
- package/skills/team-collaboration-standup-notes/resources/implementation-playbook.md +768 -0
- package/skills/team-composition-analysis/SKILL.md +413 -0
- package/skills/temporal-python-pro/SKILL.md +370 -0
- package/skills/temporal-python-testing/SKILL.md +170 -0
- package/skills/temporal-python-testing/resources/integration-testing.md +455 -0
- package/skills/temporal-python-testing/resources/local-setup.md +553 -0
- package/skills/temporal-python-testing/resources/replay-testing.md +462 -0
- package/skills/temporal-python-testing/resources/unit-testing.md +328 -0
- package/skills/terraform-module-library/SKILL.md +261 -0
- package/skills/terraform-module-library/references/aws-modules.md +63 -0
- package/skills/terraform-specialist/SKILL.md +166 -0
- package/skills/test-automator/SKILL.md +224 -0
- package/skills/threat-mitigation-mapping/SKILL.md +33 -0
- package/skills/threat-mitigation-mapping/resources/implementation-playbook.md +744 -0
- package/skills/threat-modeling-expert/SKILL.md +60 -0
- package/skills/track-management/SKILL.md +38 -0
- package/skills/track-management/resources/implementation-playbook.md +591 -0
- package/skills/turborepo-caching/SKILL.md +419 -0
- package/skills/tutorial-engineer/SKILL.md +139 -0
- package/skills/typescript-advanced-types/SKILL.md +35 -0
- package/skills/typescript-advanced-types/resources/implementation-playbook.md +716 -0
- package/skills/typescript-pro/SKILL.md +55 -0
- package/skills/ui-minimal/SKILL.md +23 -0
- package/skills/ui-ux-designer/SKILL.md +209 -0
- package/skills/ui-visual-validator/SKILL.md +214 -0
- package/skills/unit-testing-test-generate/SKILL.md +319 -0
- package/skills/unity-developer/SKILL.md +230 -0
- package/skills/unity-ecs-patterns/SKILL.md +33 -0
- package/skills/unity-ecs-patterns/resources/implementation-playbook.md +625 -0
- package/skills/uv-package-manager/SKILL.md +37 -0
- package/skills/uv-package-manager/resources/implementation-playbook.md +830 -0
- package/skills/vector-database-engineer/SKILL.md +60 -0
- package/skills/vector-index-tuning/SKILL.md +42 -0
- package/skills/vector-index-tuning/resources/implementation-playbook.md +507 -0
- package/skills/wcag-audit-patterns/SKILL.md +41 -0
- package/skills/wcag-audit-patterns/resources/implementation-playbook.md +541 -0
- package/skills/web3-testing/SKILL.md +427 -0
- package/skills/workflow-orchestration-patterns/SKILL.md +333 -0
- package/skills/workflow-patterns/SKILL.md +38 -0
- package/skills/workflow-patterns/resources/implementation-playbook.md +621 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vector-database-engineer
|
|
3
|
+
description: "Expert in vector databases, embedding strategies, and semantic search implementation. Masters Pinecone, Weaviate, Qdrant, Milvus, and pgvector for RAG applications, recommendation systems, and similar"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vector Database Engineer
|
|
7
|
+
|
|
8
|
+
Expert in vector databases, embedding strategies, and semantic search implementation. Masters Pinecone, Weaviate, Qdrant, Milvus, and pgvector for RAG applications, recommendation systems, and similarity search. Use PROACTIVELY for vector search implementation, embedding optimization, or semantic retrieval systems.
|
|
9
|
+
|
|
10
|
+
## Do not use this skill when
|
|
11
|
+
|
|
12
|
+
- The task is unrelated to vector database engineer
|
|
13
|
+
- You need a different domain or tool outside this scope
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
- Clarify goals, constraints, and required inputs.
|
|
18
|
+
- Apply relevant best practices and validate outcomes.
|
|
19
|
+
- Provide actionable steps and verification.
|
|
20
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
21
|
+
|
|
22
|
+
## Capabilities
|
|
23
|
+
|
|
24
|
+
- Vector database selection and architecture
|
|
25
|
+
- Embedding model selection and optimization
|
|
26
|
+
- Index configuration (HNSW, IVF, PQ)
|
|
27
|
+
- Hybrid search (vector + keyword) implementation
|
|
28
|
+
- Chunking strategies for documents
|
|
29
|
+
- Metadata filtering and pre/post-filtering
|
|
30
|
+
- Performance tuning and scaling
|
|
31
|
+
|
|
32
|
+
## Use this skill when
|
|
33
|
+
|
|
34
|
+
- Building RAG (Retrieval Augmented Generation) systems
|
|
35
|
+
- Implementing semantic search over documents
|
|
36
|
+
- Creating recommendation engines
|
|
37
|
+
- Building image/audio similarity search
|
|
38
|
+
- Optimizing vector search latency and recall
|
|
39
|
+
- Scaling vector operations to millions of vectors
|
|
40
|
+
|
|
41
|
+
## Workflow
|
|
42
|
+
|
|
43
|
+
1. Analyze data characteristics and query patterns
|
|
44
|
+
2. Select appropriate embedding model
|
|
45
|
+
3. Design chunking and preprocessing pipeline
|
|
46
|
+
4. Choose vector database and index type
|
|
47
|
+
5. Configure metadata schema for filtering
|
|
48
|
+
6. Implement hybrid search if needed
|
|
49
|
+
7. Optimize for latency/recall tradeoffs
|
|
50
|
+
8. Set up monitoring and reindexing strategies
|
|
51
|
+
|
|
52
|
+
## Best Practices
|
|
53
|
+
|
|
54
|
+
- Choose embedding dimensions based on use case (384-1536)
|
|
55
|
+
- Implement proper chunking with overlap
|
|
56
|
+
- Use metadata filtering to reduce search space
|
|
57
|
+
- Monitor embedding drift over time
|
|
58
|
+
- Plan for index rebuilding
|
|
59
|
+
- Cache frequent queries
|
|
60
|
+
- Test recall vs latency tradeoffs
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vector-index-tuning
|
|
3
|
+
description: Optimize vector index performance for latency, recall, and memory. Use when tuning HNSW parameters, selecting quantization strategies, or scaling vector search infrastructure.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vector Index Tuning
|
|
7
|
+
|
|
8
|
+
Guide to optimizing vector indexes for production performance.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Tuning HNSW parameters
|
|
13
|
+
- Implementing quantization
|
|
14
|
+
- Optimizing memory usage
|
|
15
|
+
- Reducing search latency
|
|
16
|
+
- Balancing recall vs speed
|
|
17
|
+
- Scaling to billions of vectors
|
|
18
|
+
|
|
19
|
+
## Do not use this skill when
|
|
20
|
+
|
|
21
|
+
- You only need exact search on small datasets (use a flat index)
|
|
22
|
+
- You lack workload metrics or ground truth to validate recall
|
|
23
|
+
- You need end-to-end retrieval system design beyond index tuning
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Gather workload targets (latency, recall, QPS), data size, and memory budget.
|
|
28
|
+
2. Choose an index type and establish a baseline with default parameters.
|
|
29
|
+
3. Benchmark parameter sweeps using real queries and track recall, latency, and memory.
|
|
30
|
+
4. Validate changes on a staging dataset before rolling out to production.
|
|
31
|
+
|
|
32
|
+
Refer to `resources/implementation-playbook.md` for detailed patterns, checklists, and templates.
|
|
33
|
+
|
|
34
|
+
## Safety
|
|
35
|
+
|
|
36
|
+
- Avoid reindexing in production without a rollback plan.
|
|
37
|
+
- Validate changes under realistic load before applying globally.
|
|
38
|
+
- Track recall regressions and revert if quality drops.
|
|
39
|
+
|
|
40
|
+
## Resources
|
|
41
|
+
|
|
42
|
+
- `resources/implementation-playbook.md` for detailed patterns, checklists, and templates.
|
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
# Vector Index Tuning Implementation Playbook
|
|
2
|
+
|
|
3
|
+
This file contains detailed patterns, checklists, and code samples referenced by the skill.
|
|
4
|
+
|
|
5
|
+
## Core Concepts
|
|
6
|
+
|
|
7
|
+
### 1. Index Type Selection
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Data Size Recommended Index
|
|
11
|
+
────────────────────────────────────────
|
|
12
|
+
< 10K vectors → Flat (exact search)
|
|
13
|
+
10K - 1M → HNSW
|
|
14
|
+
1M - 100M → HNSW + Quantization
|
|
15
|
+
> 100M → IVF + PQ or DiskANN
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### 2. HNSW Parameters
|
|
19
|
+
|
|
20
|
+
| Parameter | Default | Effect |
|
|
21
|
+
|-----------|---------|--------|
|
|
22
|
+
| **M** | 16 | Connections per node, ↑ = better recall, more memory |
|
|
23
|
+
| **efConstruction** | 100 | Build quality, ↑ = better index, slower build |
|
|
24
|
+
| **efSearch** | 50 | Search quality, ↑ = better recall, slower search |
|
|
25
|
+
|
|
26
|
+
### 3. Quantization Types
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Full Precision (FP32): 4 bytes × dimensions
|
|
30
|
+
Half Precision (FP16): 2 bytes × dimensions
|
|
31
|
+
INT8 Scalar: 1 byte × dimensions
|
|
32
|
+
Product Quantization: ~32-64 bytes total
|
|
33
|
+
Binary: dimensions/8 bytes
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Templates
|
|
37
|
+
|
|
38
|
+
### Template 1: HNSW Parameter Tuning
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
import numpy as np
|
|
42
|
+
from typing import List, Tuple
|
|
43
|
+
import time
|
|
44
|
+
|
|
45
|
+
def benchmark_hnsw_parameters(
|
|
46
|
+
vectors: np.ndarray,
|
|
47
|
+
queries: np.ndarray,
|
|
48
|
+
ground_truth: np.ndarray,
|
|
49
|
+
m_values: List[int] = [8, 16, 32, 64],
|
|
50
|
+
ef_construction_values: List[int] = [64, 128, 256],
|
|
51
|
+
ef_search_values: List[int] = [32, 64, 128, 256]
|
|
52
|
+
) -> List[dict]:
|
|
53
|
+
"""Benchmark different HNSW configurations."""
|
|
54
|
+
import hnswlib
|
|
55
|
+
|
|
56
|
+
results = []
|
|
57
|
+
dim = vectors.shape[1]
|
|
58
|
+
n = vectors.shape[0]
|
|
59
|
+
|
|
60
|
+
for m in m_values:
|
|
61
|
+
for ef_construction in ef_construction_values:
|
|
62
|
+
# Build index
|
|
63
|
+
index = hnswlib.Index(space='cosine', dim=dim)
|
|
64
|
+
index.init_index(max_elements=n, M=m, ef_construction=ef_construction)
|
|
65
|
+
|
|
66
|
+
build_start = time.time()
|
|
67
|
+
index.add_items(vectors)
|
|
68
|
+
build_time = time.time() - build_start
|
|
69
|
+
|
|
70
|
+
# Get memory usage
|
|
71
|
+
memory_bytes = index.element_count * (
|
|
72
|
+
dim * 4 + # Vector storage
|
|
73
|
+
m * 2 * 4 # Graph edges (approximate)
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
for ef_search in ef_search_values:
|
|
77
|
+
index.set_ef(ef_search)
|
|
78
|
+
|
|
79
|
+
# Measure search
|
|
80
|
+
search_start = time.time()
|
|
81
|
+
labels, distances = index.knn_query(queries, k=10)
|
|
82
|
+
search_time = time.time() - search_start
|
|
83
|
+
|
|
84
|
+
# Calculate recall
|
|
85
|
+
recall = calculate_recall(labels, ground_truth, k=10)
|
|
86
|
+
|
|
87
|
+
results.append({
|
|
88
|
+
"M": m,
|
|
89
|
+
"ef_construction": ef_construction,
|
|
90
|
+
"ef_search": ef_search,
|
|
91
|
+
"build_time_s": build_time,
|
|
92
|
+
"search_time_ms": search_time * 1000 / len(queries),
|
|
93
|
+
"recall@10": recall,
|
|
94
|
+
"memory_mb": memory_bytes / 1024 / 1024
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
return results
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def calculate_recall(predictions: np.ndarray, ground_truth: np.ndarray, k: int) -> float:
|
|
101
|
+
"""Calculate recall@k."""
|
|
102
|
+
correct = 0
|
|
103
|
+
for pred, truth in zip(predictions, ground_truth):
|
|
104
|
+
correct += len(set(pred[:k]) & set(truth[:k]))
|
|
105
|
+
return correct / (len(predictions) * k)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def recommend_hnsw_params(
|
|
109
|
+
num_vectors: int,
|
|
110
|
+
target_recall: float = 0.95,
|
|
111
|
+
max_latency_ms: float = 10,
|
|
112
|
+
available_memory_gb: float = 8
|
|
113
|
+
) -> dict:
|
|
114
|
+
"""Recommend HNSW parameters based on requirements."""
|
|
115
|
+
|
|
116
|
+
# Base recommendations
|
|
117
|
+
if num_vectors < 100_000:
|
|
118
|
+
m = 16
|
|
119
|
+
ef_construction = 100
|
|
120
|
+
elif num_vectors < 1_000_000:
|
|
121
|
+
m = 32
|
|
122
|
+
ef_construction = 200
|
|
123
|
+
else:
|
|
124
|
+
m = 48
|
|
125
|
+
ef_construction = 256
|
|
126
|
+
|
|
127
|
+
# Adjust ef_search based on recall target
|
|
128
|
+
if target_recall >= 0.99:
|
|
129
|
+
ef_search = 256
|
|
130
|
+
elif target_recall >= 0.95:
|
|
131
|
+
ef_search = 128
|
|
132
|
+
else:
|
|
133
|
+
ef_search = 64
|
|
134
|
+
|
|
135
|
+
return {
|
|
136
|
+
"M": m,
|
|
137
|
+
"ef_construction": ef_construction,
|
|
138
|
+
"ef_search": ef_search,
|
|
139
|
+
"notes": f"Estimated for {num_vectors:,} vectors, {target_recall:.0%} recall"
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Template 2: Quantization Strategies
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
import numpy as np
|
|
147
|
+
from typing import Optional
|
|
148
|
+
|
|
149
|
+
class VectorQuantizer:
|
|
150
|
+
"""Quantization strategies for vector compression."""
|
|
151
|
+
|
|
152
|
+
@staticmethod
|
|
153
|
+
def scalar_quantize_int8(
|
|
154
|
+
vectors: np.ndarray,
|
|
155
|
+
min_val: Optional[float] = None,
|
|
156
|
+
max_val: Optional[float] = None
|
|
157
|
+
) -> Tuple[np.ndarray, dict]:
|
|
158
|
+
"""Scalar quantization to INT8."""
|
|
159
|
+
if min_val is None:
|
|
160
|
+
min_val = vectors.min()
|
|
161
|
+
if max_val is None:
|
|
162
|
+
max_val = vectors.max()
|
|
163
|
+
|
|
164
|
+
# Scale to 0-255 range
|
|
165
|
+
scale = 255.0 / (max_val - min_val)
|
|
166
|
+
quantized = np.clip(
|
|
167
|
+
np.round((vectors - min_val) * scale),
|
|
168
|
+
0, 255
|
|
169
|
+
).astype(np.uint8)
|
|
170
|
+
|
|
171
|
+
params = {"min_val": min_val, "max_val": max_val, "scale": scale}
|
|
172
|
+
return quantized, params
|
|
173
|
+
|
|
174
|
+
@staticmethod
|
|
175
|
+
def dequantize_int8(
|
|
176
|
+
quantized: np.ndarray,
|
|
177
|
+
params: dict
|
|
178
|
+
) -> np.ndarray:
|
|
179
|
+
"""Dequantize INT8 vectors."""
|
|
180
|
+
return quantized.astype(np.float32) / params["scale"] + params["min_val"]
|
|
181
|
+
|
|
182
|
+
@staticmethod
|
|
183
|
+
def product_quantize(
|
|
184
|
+
vectors: np.ndarray,
|
|
185
|
+
n_subvectors: int = 8,
|
|
186
|
+
n_centroids: int = 256
|
|
187
|
+
) -> Tuple[np.ndarray, dict]:
|
|
188
|
+
"""Product quantization for aggressive compression."""
|
|
189
|
+
from sklearn.cluster import KMeans
|
|
190
|
+
|
|
191
|
+
n, dim = vectors.shape
|
|
192
|
+
assert dim % n_subvectors == 0
|
|
193
|
+
subvector_dim = dim // n_subvectors
|
|
194
|
+
|
|
195
|
+
codebooks = []
|
|
196
|
+
codes = np.zeros((n, n_subvectors), dtype=np.uint8)
|
|
197
|
+
|
|
198
|
+
for i in range(n_subvectors):
|
|
199
|
+
start = i * subvector_dim
|
|
200
|
+
end = (i + 1) * subvector_dim
|
|
201
|
+
subvectors = vectors[:, start:end]
|
|
202
|
+
|
|
203
|
+
kmeans = KMeans(n_clusters=n_centroids, random_state=42)
|
|
204
|
+
codes[:, i] = kmeans.fit_predict(subvectors)
|
|
205
|
+
codebooks.append(kmeans.cluster_centers_)
|
|
206
|
+
|
|
207
|
+
params = {
|
|
208
|
+
"codebooks": codebooks,
|
|
209
|
+
"n_subvectors": n_subvectors,
|
|
210
|
+
"subvector_dim": subvector_dim
|
|
211
|
+
}
|
|
212
|
+
return codes, params
|
|
213
|
+
|
|
214
|
+
@staticmethod
|
|
215
|
+
def binary_quantize(vectors: np.ndarray) -> np.ndarray:
|
|
216
|
+
"""Binary quantization (sign of each dimension)."""
|
|
217
|
+
# Convert to binary: positive = 1, negative = 0
|
|
218
|
+
binary = (vectors > 0).astype(np.uint8)
|
|
219
|
+
|
|
220
|
+
# Pack bits into bytes
|
|
221
|
+
n, dim = vectors.shape
|
|
222
|
+
packed_dim = (dim + 7) // 8
|
|
223
|
+
|
|
224
|
+
packed = np.zeros((n, packed_dim), dtype=np.uint8)
|
|
225
|
+
for i in range(dim):
|
|
226
|
+
byte_idx = i // 8
|
|
227
|
+
bit_idx = i % 8
|
|
228
|
+
packed[:, byte_idx] |= (binary[:, i] << bit_idx)
|
|
229
|
+
|
|
230
|
+
return packed
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
def estimate_memory_usage(
|
|
234
|
+
num_vectors: int,
|
|
235
|
+
dimensions: int,
|
|
236
|
+
quantization: str = "fp32",
|
|
237
|
+
index_type: str = "hnsw",
|
|
238
|
+
hnsw_m: int = 16
|
|
239
|
+
) -> dict:
|
|
240
|
+
"""Estimate memory usage for different configurations."""
|
|
241
|
+
|
|
242
|
+
# Vector storage
|
|
243
|
+
bytes_per_dimension = {
|
|
244
|
+
"fp32": 4,
|
|
245
|
+
"fp16": 2,
|
|
246
|
+
"int8": 1,
|
|
247
|
+
"pq": 0.05, # Approximate
|
|
248
|
+
"binary": 0.125
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
vector_bytes = num_vectors * dimensions * bytes_per_dimension[quantization]
|
|
252
|
+
|
|
253
|
+
# Index overhead
|
|
254
|
+
if index_type == "hnsw":
|
|
255
|
+
# Each node has ~M*2 edges, each edge is 4 bytes (int32)
|
|
256
|
+
index_bytes = num_vectors * hnsw_m * 2 * 4
|
|
257
|
+
elif index_type == "ivf":
|
|
258
|
+
# Inverted lists + centroids
|
|
259
|
+
index_bytes = num_vectors * 8 + 65536 * dimensions * 4
|
|
260
|
+
else:
|
|
261
|
+
index_bytes = 0
|
|
262
|
+
|
|
263
|
+
total_bytes = vector_bytes + index_bytes
|
|
264
|
+
|
|
265
|
+
return {
|
|
266
|
+
"vector_storage_mb": vector_bytes / 1024 / 1024,
|
|
267
|
+
"index_overhead_mb": index_bytes / 1024 / 1024,
|
|
268
|
+
"total_mb": total_bytes / 1024 / 1024,
|
|
269
|
+
"total_gb": total_bytes / 1024 / 1024 / 1024
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Template 3: Qdrant Index Configuration
|
|
274
|
+
|
|
275
|
+
```python
|
|
276
|
+
from qdrant_client import QdrantClient
|
|
277
|
+
from qdrant_client.http import models
|
|
278
|
+
|
|
279
|
+
def create_optimized_collection(
|
|
280
|
+
client: QdrantClient,
|
|
281
|
+
collection_name: str,
|
|
282
|
+
vector_size: int,
|
|
283
|
+
num_vectors: int,
|
|
284
|
+
optimize_for: str = "balanced" # "recall", "speed", "memory"
|
|
285
|
+
) -> None:
|
|
286
|
+
"""Create collection with optimized settings."""
|
|
287
|
+
|
|
288
|
+
# HNSW configuration based on optimization target
|
|
289
|
+
hnsw_configs = {
|
|
290
|
+
"recall": models.HnswConfigDiff(m=32, ef_construct=256),
|
|
291
|
+
"speed": models.HnswConfigDiff(m=16, ef_construct=64),
|
|
292
|
+
"balanced": models.HnswConfigDiff(m=16, ef_construct=128),
|
|
293
|
+
"memory": models.HnswConfigDiff(m=8, ef_construct=64)
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
# Quantization configuration
|
|
297
|
+
quantization_configs = {
|
|
298
|
+
"recall": None, # No quantization for max recall
|
|
299
|
+
"speed": models.ScalarQuantization(
|
|
300
|
+
scalar=models.ScalarQuantizationConfig(
|
|
301
|
+
type=models.ScalarType.INT8,
|
|
302
|
+
quantile=0.99,
|
|
303
|
+
always_ram=True
|
|
304
|
+
)
|
|
305
|
+
),
|
|
306
|
+
"balanced": models.ScalarQuantization(
|
|
307
|
+
scalar=models.ScalarQuantizationConfig(
|
|
308
|
+
type=models.ScalarType.INT8,
|
|
309
|
+
quantile=0.99,
|
|
310
|
+
always_ram=False
|
|
311
|
+
)
|
|
312
|
+
),
|
|
313
|
+
"memory": models.ProductQuantization(
|
|
314
|
+
product=models.ProductQuantizationConfig(
|
|
315
|
+
compression=models.CompressionRatio.X16,
|
|
316
|
+
always_ram=False
|
|
317
|
+
)
|
|
318
|
+
)
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
# Optimizer configuration
|
|
322
|
+
optimizer_configs = {
|
|
323
|
+
"recall": models.OptimizersConfigDiff(
|
|
324
|
+
indexing_threshold=10000,
|
|
325
|
+
memmap_threshold=50000
|
|
326
|
+
),
|
|
327
|
+
"speed": models.OptimizersConfigDiff(
|
|
328
|
+
indexing_threshold=5000,
|
|
329
|
+
memmap_threshold=20000
|
|
330
|
+
),
|
|
331
|
+
"balanced": models.OptimizersConfigDiff(
|
|
332
|
+
indexing_threshold=20000,
|
|
333
|
+
memmap_threshold=50000
|
|
334
|
+
),
|
|
335
|
+
"memory": models.OptimizersConfigDiff(
|
|
336
|
+
indexing_threshold=50000,
|
|
337
|
+
memmap_threshold=10000 # Use disk sooner
|
|
338
|
+
)
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
client.create_collection(
|
|
342
|
+
collection_name=collection_name,
|
|
343
|
+
vectors_config=models.VectorParams(
|
|
344
|
+
size=vector_size,
|
|
345
|
+
distance=models.Distance.COSINE
|
|
346
|
+
),
|
|
347
|
+
hnsw_config=hnsw_configs[optimize_for],
|
|
348
|
+
quantization_config=quantization_configs[optimize_for],
|
|
349
|
+
optimizers_config=optimizer_configs[optimize_for]
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
def tune_search_parameters(
|
|
354
|
+
client: QdrantClient,
|
|
355
|
+
collection_name: str,
|
|
356
|
+
target_recall: float = 0.95
|
|
357
|
+
) -> dict:
|
|
358
|
+
"""Tune search parameters for target recall."""
|
|
359
|
+
|
|
360
|
+
# Search parameter recommendations
|
|
361
|
+
if target_recall >= 0.99:
|
|
362
|
+
search_params = models.SearchParams(
|
|
363
|
+
hnsw_ef=256,
|
|
364
|
+
exact=False,
|
|
365
|
+
quantization=models.QuantizationSearchParams(
|
|
366
|
+
ignore=True, # Don't use quantization for search
|
|
367
|
+
rescore=True
|
|
368
|
+
)
|
|
369
|
+
)
|
|
370
|
+
elif target_recall >= 0.95:
|
|
371
|
+
search_params = models.SearchParams(
|
|
372
|
+
hnsw_ef=128,
|
|
373
|
+
exact=False,
|
|
374
|
+
quantization=models.QuantizationSearchParams(
|
|
375
|
+
ignore=False,
|
|
376
|
+
rescore=True,
|
|
377
|
+
oversampling=2.0
|
|
378
|
+
)
|
|
379
|
+
)
|
|
380
|
+
else:
|
|
381
|
+
search_params = models.SearchParams(
|
|
382
|
+
hnsw_ef=64,
|
|
383
|
+
exact=False,
|
|
384
|
+
quantization=models.QuantizationSearchParams(
|
|
385
|
+
ignore=False,
|
|
386
|
+
rescore=False
|
|
387
|
+
)
|
|
388
|
+
)
|
|
389
|
+
|
|
390
|
+
return search_params
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### Template 4: Performance Monitoring
|
|
394
|
+
|
|
395
|
+
```python
|
|
396
|
+
import time
|
|
397
|
+
from dataclasses import dataclass
|
|
398
|
+
from typing import List
|
|
399
|
+
import numpy as np
|
|
400
|
+
|
|
401
|
+
@dataclass
|
|
402
|
+
class SearchMetrics:
|
|
403
|
+
latency_p50_ms: float
|
|
404
|
+
latency_p95_ms: float
|
|
405
|
+
latency_p99_ms: float
|
|
406
|
+
recall: float
|
|
407
|
+
qps: float
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
class VectorSearchMonitor:
|
|
411
|
+
"""Monitor vector search performance."""
|
|
412
|
+
|
|
413
|
+
def __init__(self, ground_truth_fn=None):
|
|
414
|
+
self.latencies = []
|
|
415
|
+
self.recalls = []
|
|
416
|
+
self.ground_truth_fn = ground_truth_fn
|
|
417
|
+
|
|
418
|
+
def measure_search(
|
|
419
|
+
self,
|
|
420
|
+
search_fn,
|
|
421
|
+
query_vectors: np.ndarray,
|
|
422
|
+
k: int = 10,
|
|
423
|
+
num_iterations: int = 100
|
|
424
|
+
) -> SearchMetrics:
|
|
425
|
+
"""Benchmark search performance."""
|
|
426
|
+
latencies = []
|
|
427
|
+
|
|
428
|
+
for _ in range(num_iterations):
|
|
429
|
+
for query in query_vectors:
|
|
430
|
+
start = time.perf_counter()
|
|
431
|
+
results = search_fn(query, k=k)
|
|
432
|
+
latency = (time.perf_counter() - start) * 1000
|
|
433
|
+
latencies.append(latency)
|
|
434
|
+
|
|
435
|
+
latencies = np.array(latencies)
|
|
436
|
+
total_queries = num_iterations * len(query_vectors)
|
|
437
|
+
total_time = sum(latencies) / 1000 # seconds
|
|
438
|
+
|
|
439
|
+
return SearchMetrics(
|
|
440
|
+
latency_p50_ms=np.percentile(latencies, 50),
|
|
441
|
+
latency_p95_ms=np.percentile(latencies, 95),
|
|
442
|
+
latency_p99_ms=np.percentile(latencies, 99),
|
|
443
|
+
recall=self._calculate_recall(search_fn, query_vectors, k) if self.ground_truth_fn else 0,
|
|
444
|
+
qps=total_queries / total_time
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
def _calculate_recall(self, search_fn, queries: np.ndarray, k: int) -> float:
|
|
448
|
+
"""Calculate recall against ground truth."""
|
|
449
|
+
if not self.ground_truth_fn:
|
|
450
|
+
return 0
|
|
451
|
+
|
|
452
|
+
correct = 0
|
|
453
|
+
total = 0
|
|
454
|
+
|
|
455
|
+
for query in queries:
|
|
456
|
+
predicted = set(search_fn(query, k=k))
|
|
457
|
+
actual = set(self.ground_truth_fn(query, k=k))
|
|
458
|
+
correct += len(predicted & actual)
|
|
459
|
+
total += k
|
|
460
|
+
|
|
461
|
+
return correct / total
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
def profile_index_build(
|
|
465
|
+
build_fn,
|
|
466
|
+
vectors: np.ndarray,
|
|
467
|
+
batch_sizes: List[int] = [1000, 10000, 50000]
|
|
468
|
+
) -> dict:
|
|
469
|
+
"""Profile index build performance."""
|
|
470
|
+
results = {}
|
|
471
|
+
|
|
472
|
+
for batch_size in batch_sizes:
|
|
473
|
+
times = []
|
|
474
|
+
for i in range(0, len(vectors), batch_size):
|
|
475
|
+
batch = vectors[i:i + batch_size]
|
|
476
|
+
start = time.perf_counter()
|
|
477
|
+
build_fn(batch)
|
|
478
|
+
times.append(time.perf_counter() - start)
|
|
479
|
+
|
|
480
|
+
results[batch_size] = {
|
|
481
|
+
"avg_batch_time_s": np.mean(times),
|
|
482
|
+
"vectors_per_second": batch_size / np.mean(times)
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
return results
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
## Best Practices
|
|
489
|
+
|
|
490
|
+
### Do's
|
|
491
|
+
- **Benchmark with real queries** - Synthetic may not represent production
|
|
492
|
+
- **Monitor recall continuously** - Can degrade with data drift
|
|
493
|
+
- **Start with defaults** - Tune only when needed
|
|
494
|
+
- **Use quantization** - Significant memory savings
|
|
495
|
+
- **Consider tiered storage** - Hot/cold data separation
|
|
496
|
+
|
|
497
|
+
### Don'ts
|
|
498
|
+
- **Don't over-optimize early** - Profile first
|
|
499
|
+
- **Don't ignore build time** - Index updates have cost
|
|
500
|
+
- **Don't forget reindexing** - Plan for maintenance
|
|
501
|
+
- **Don't skip warming** - Cold indexes are slow
|
|
502
|
+
|
|
503
|
+
## Resources
|
|
504
|
+
|
|
505
|
+
- [HNSW Paper](https://arxiv.org/abs/1603.09320)
|
|
506
|
+
- [Faiss Wiki](https://github.com/facebookresearch/faiss/wiki)
|
|
507
|
+
- [ANN Benchmarks](https://ann-benchmarks.com/)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wcag-audit-patterns
|
|
3
|
+
description: Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing accessible design patterns.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# WCAG Audit Patterns
|
|
7
|
+
|
|
8
|
+
Comprehensive guide to auditing web content against WCAG 2.2 guidelines with actionable remediation strategies.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Conducting accessibility audits
|
|
13
|
+
- Fixing WCAG violations
|
|
14
|
+
- Implementing accessible components
|
|
15
|
+
- Preparing for accessibility lawsuits
|
|
16
|
+
- Meeting ADA/Section 508 requirements
|
|
17
|
+
- Achieving VPAT compliance
|
|
18
|
+
|
|
19
|
+
## Do not use this skill when
|
|
20
|
+
|
|
21
|
+
- You need legal advice or formal certification
|
|
22
|
+
- You only want a quick automated scan without manual verification
|
|
23
|
+
- You cannot access the UI or source for remediation work
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Run automated scans (axe, Lighthouse, WAVE) to collect initial findings.
|
|
28
|
+
2. Perform manual checks (keyboard navigation, focus order, screen reader flows).
|
|
29
|
+
3. Map each issue to a WCAG criterion, severity, and remediation guidance.
|
|
30
|
+
4. Re-test after fixes and document residual risk and compliance status.
|
|
31
|
+
|
|
32
|
+
Refer to `resources/implementation-playbook.md` for detailed patterns, checklists, and templates.
|
|
33
|
+
|
|
34
|
+
## Safety
|
|
35
|
+
|
|
36
|
+
- Avoid claiming legal compliance without expert review.
|
|
37
|
+
- Keep evidence of test steps and results for audit trails.
|
|
38
|
+
|
|
39
|
+
## Resources
|
|
40
|
+
|
|
41
|
+
- `resources/implementation-playbook.md` for detailed patterns, checklists, and templates.
|