@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,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: elixir-pro
|
|
3
|
+
description: Write idiomatic Elixir code with OTP patterns, supervision trees,
|
|
4
|
+
and Phoenix LiveView. Masters concurrency, fault tolerance, and distributed
|
|
5
|
+
systems. Use PROACTIVELY for Elixir refactoring, OTP design, or complex BEAM
|
|
6
|
+
optimizations.
|
|
7
|
+
metadata:
|
|
8
|
+
model: inherit
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Use this skill when
|
|
12
|
+
|
|
13
|
+
- Working on elixir pro tasks or workflows
|
|
14
|
+
- Needing guidance, best practices, or checklists for elixir pro
|
|
15
|
+
|
|
16
|
+
## Do not use this skill when
|
|
17
|
+
|
|
18
|
+
- The task is unrelated to elixir pro
|
|
19
|
+
- You need a different domain or tool outside this scope
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
|
|
23
|
+
- Clarify goals, constraints, and required inputs.
|
|
24
|
+
- Apply relevant best practices and validate outcomes.
|
|
25
|
+
- Provide actionable steps and verification.
|
|
26
|
+
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
27
|
+
|
|
28
|
+
You are an Elixir expert specializing in concurrent, fault-tolerant, and distributed systems.
|
|
29
|
+
|
|
30
|
+
## Focus Areas
|
|
31
|
+
|
|
32
|
+
- OTP patterns (GenServer, Supervisor, Application)
|
|
33
|
+
- Phoenix framework and LiveView real-time features
|
|
34
|
+
- Ecto for database interactions and changesets
|
|
35
|
+
- Pattern matching and guard clauses
|
|
36
|
+
- Concurrent programming with processes and Tasks
|
|
37
|
+
- Distributed systems with nodes and clustering
|
|
38
|
+
- Performance optimization on the BEAM VM
|
|
39
|
+
|
|
40
|
+
## Approach
|
|
41
|
+
|
|
42
|
+
1. Embrace "let it crash" philosophy with proper supervision
|
|
43
|
+
2. Use pattern matching over conditional logic
|
|
44
|
+
3. Design with processes for isolation and concurrency
|
|
45
|
+
4. Leverage immutability for predictable state
|
|
46
|
+
5. Test with ExUnit, focusing on property-based testing
|
|
47
|
+
6. Profile with :observer and :recon for bottlenecks
|
|
48
|
+
|
|
49
|
+
## Output
|
|
50
|
+
|
|
51
|
+
- Idiomatic Elixir following community style guide
|
|
52
|
+
- OTP applications with proper supervision trees
|
|
53
|
+
- Phoenix apps with contexts and clean boundaries
|
|
54
|
+
- ExUnit tests with doctests and async where possible
|
|
55
|
+
- Dialyzer specs for type safety
|
|
56
|
+
- Performance benchmarks with Benchee
|
|
57
|
+
- Telemetry instrumentation for observability
|
|
58
|
+
|
|
59
|
+
Follow Elixir conventions. Design for fault tolerance and horizontal scaling.
|
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: embedding-strategies
|
|
3
|
+
description: Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Embedding Strategies
|
|
7
|
+
|
|
8
|
+
Guide to selecting and optimizing embedding models for vector search applications.
|
|
9
|
+
|
|
10
|
+
## Do not use this skill when
|
|
11
|
+
|
|
12
|
+
- The task is unrelated to embedding strategies
|
|
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
|
+
## Use this skill when
|
|
23
|
+
|
|
24
|
+
- Choosing embedding models for RAG
|
|
25
|
+
- Optimizing chunking strategies
|
|
26
|
+
- Fine-tuning embeddings for domains
|
|
27
|
+
- Comparing embedding model performance
|
|
28
|
+
- Reducing embedding dimensions
|
|
29
|
+
- Handling multilingual content
|
|
30
|
+
|
|
31
|
+
## Core Concepts
|
|
32
|
+
|
|
33
|
+
### 1. Embedding Model Comparison
|
|
34
|
+
|
|
35
|
+
| Model | Dimensions | Max Tokens | Best For |
|
|
36
|
+
|-------|------------|------------|----------|
|
|
37
|
+
| **text-embedding-3-large** | 3072 | 8191 | High accuracy |
|
|
38
|
+
| **text-embedding-3-small** | 1536 | 8191 | Cost-effective |
|
|
39
|
+
| **voyage-2** | 1024 | 4000 | Code, legal |
|
|
40
|
+
| **bge-large-en-v1.5** | 1024 | 512 | Open source |
|
|
41
|
+
| **all-MiniLM-L6-v2** | 384 | 256 | Fast, lightweight |
|
|
42
|
+
| **multilingual-e5-large** | 1024 | 512 | Multi-language |
|
|
43
|
+
|
|
44
|
+
### 2. Embedding Pipeline
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Document → Chunking → Preprocessing → Embedding Model → Vector
|
|
48
|
+
↓
|
|
49
|
+
[Overlap, Size] [Clean, Normalize] [API/Local]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Templates
|
|
53
|
+
|
|
54
|
+
### Template 1: OpenAI Embeddings
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
from openai import OpenAI
|
|
58
|
+
from typing import List
|
|
59
|
+
import numpy as np
|
|
60
|
+
|
|
61
|
+
client = OpenAI()
|
|
62
|
+
|
|
63
|
+
def get_embeddings(
|
|
64
|
+
texts: List[str],
|
|
65
|
+
model: str = "text-embedding-3-small",
|
|
66
|
+
dimensions: int = None
|
|
67
|
+
) -> List[List[float]]:
|
|
68
|
+
"""Get embeddings from OpenAI."""
|
|
69
|
+
# Handle batching for large lists
|
|
70
|
+
batch_size = 100
|
|
71
|
+
all_embeddings = []
|
|
72
|
+
|
|
73
|
+
for i in range(0, len(texts), batch_size):
|
|
74
|
+
batch = texts[i:i + batch_size]
|
|
75
|
+
|
|
76
|
+
kwargs = {"input": batch, "model": model}
|
|
77
|
+
if dimensions:
|
|
78
|
+
kwargs["dimensions"] = dimensions
|
|
79
|
+
|
|
80
|
+
response = client.embeddings.create(**kwargs)
|
|
81
|
+
embeddings = [item.embedding for item in response.data]
|
|
82
|
+
all_embeddings.extend(embeddings)
|
|
83
|
+
|
|
84
|
+
return all_embeddings
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def get_embedding(text: str, **kwargs) -> List[float]:
|
|
88
|
+
"""Get single embedding."""
|
|
89
|
+
return get_embeddings([text], **kwargs)[0]
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
# Dimension reduction with OpenAI
|
|
93
|
+
def get_reduced_embedding(text: str, dimensions: int = 512) -> List[float]:
|
|
94
|
+
"""Get embedding with reduced dimensions (Matryoshka)."""
|
|
95
|
+
return get_embedding(
|
|
96
|
+
text,
|
|
97
|
+
model="text-embedding-3-small",
|
|
98
|
+
dimensions=dimensions
|
|
99
|
+
)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Template 2: Local Embeddings with Sentence Transformers
|
|
103
|
+
|
|
104
|
+
```python
|
|
105
|
+
from sentence_transformers import SentenceTransformer
|
|
106
|
+
from typing import List, Optional
|
|
107
|
+
import numpy as np
|
|
108
|
+
|
|
109
|
+
class LocalEmbedder:
|
|
110
|
+
"""Local embedding with sentence-transformers."""
|
|
111
|
+
|
|
112
|
+
def __init__(
|
|
113
|
+
self,
|
|
114
|
+
model_name: str = "BAAI/bge-large-en-v1.5",
|
|
115
|
+
device: str = "cuda"
|
|
116
|
+
):
|
|
117
|
+
self.model = SentenceTransformer(model_name, device=device)
|
|
118
|
+
|
|
119
|
+
def embed(
|
|
120
|
+
self,
|
|
121
|
+
texts: List[str],
|
|
122
|
+
normalize: bool = True,
|
|
123
|
+
show_progress: bool = False
|
|
124
|
+
) -> np.ndarray:
|
|
125
|
+
"""Embed texts with optional normalization."""
|
|
126
|
+
embeddings = self.model.encode(
|
|
127
|
+
texts,
|
|
128
|
+
normalize_embeddings=normalize,
|
|
129
|
+
show_progress_bar=show_progress,
|
|
130
|
+
convert_to_numpy=True
|
|
131
|
+
)
|
|
132
|
+
return embeddings
|
|
133
|
+
|
|
134
|
+
def embed_query(self, query: str) -> np.ndarray:
|
|
135
|
+
"""Embed a query with BGE-style prefix."""
|
|
136
|
+
# BGE models benefit from query prefix
|
|
137
|
+
if "bge" in self.model.get_sentence_embedding_dimension():
|
|
138
|
+
query = f"Represent this sentence for searching relevant passages: {query}"
|
|
139
|
+
return self.embed([query])[0]
|
|
140
|
+
|
|
141
|
+
def embed_documents(self, documents: List[str]) -> np.ndarray:
|
|
142
|
+
"""Embed documents for indexing."""
|
|
143
|
+
return self.embed(documents)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
# E5 model with instructions
|
|
147
|
+
class E5Embedder:
|
|
148
|
+
def __init__(self, model_name: str = "intfloat/multilingual-e5-large"):
|
|
149
|
+
self.model = SentenceTransformer(model_name)
|
|
150
|
+
|
|
151
|
+
def embed_query(self, query: str) -> np.ndarray:
|
|
152
|
+
return self.model.encode(f"query: {query}")
|
|
153
|
+
|
|
154
|
+
def embed_document(self, document: str) -> np.ndarray:
|
|
155
|
+
return self.model.encode(f"passage: {document}")
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Template 3: Chunking Strategies
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
from typing import List, Tuple
|
|
162
|
+
import re
|
|
163
|
+
|
|
164
|
+
def chunk_by_tokens(
|
|
165
|
+
text: str,
|
|
166
|
+
chunk_size: int = 512,
|
|
167
|
+
chunk_overlap: int = 50,
|
|
168
|
+
tokenizer=None
|
|
169
|
+
) -> List[str]:
|
|
170
|
+
"""Chunk text by token count."""
|
|
171
|
+
import tiktoken
|
|
172
|
+
tokenizer = tokenizer or tiktoken.get_encoding("cl100k_base")
|
|
173
|
+
|
|
174
|
+
tokens = tokenizer.encode(text)
|
|
175
|
+
chunks = []
|
|
176
|
+
|
|
177
|
+
start = 0
|
|
178
|
+
while start < len(tokens):
|
|
179
|
+
end = start + chunk_size
|
|
180
|
+
chunk_tokens = tokens[start:end]
|
|
181
|
+
chunk_text = tokenizer.decode(chunk_tokens)
|
|
182
|
+
chunks.append(chunk_text)
|
|
183
|
+
start = end - chunk_overlap
|
|
184
|
+
|
|
185
|
+
return chunks
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
def chunk_by_sentences(
|
|
189
|
+
text: str,
|
|
190
|
+
max_chunk_size: int = 1000,
|
|
191
|
+
min_chunk_size: int = 100
|
|
192
|
+
) -> List[str]:
|
|
193
|
+
"""Chunk text by sentences, respecting size limits."""
|
|
194
|
+
import nltk
|
|
195
|
+
sentences = nltk.sent_tokenize(text)
|
|
196
|
+
|
|
197
|
+
chunks = []
|
|
198
|
+
current_chunk = []
|
|
199
|
+
current_size = 0
|
|
200
|
+
|
|
201
|
+
for sentence in sentences:
|
|
202
|
+
sentence_size = len(sentence)
|
|
203
|
+
|
|
204
|
+
if current_size + sentence_size > max_chunk_size and current_chunk:
|
|
205
|
+
chunks.append(" ".join(current_chunk))
|
|
206
|
+
current_chunk = []
|
|
207
|
+
current_size = 0
|
|
208
|
+
|
|
209
|
+
current_chunk.append(sentence)
|
|
210
|
+
current_size += sentence_size
|
|
211
|
+
|
|
212
|
+
if current_chunk:
|
|
213
|
+
chunks.append(" ".join(current_chunk))
|
|
214
|
+
|
|
215
|
+
return chunks
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
def chunk_by_semantic_sections(
|
|
219
|
+
text: str,
|
|
220
|
+
headers_pattern: str = r'^#{1,3}\s+.+$'
|
|
221
|
+
) -> List[Tuple[str, str]]:
|
|
222
|
+
"""Chunk markdown by headers, preserving hierarchy."""
|
|
223
|
+
lines = text.split('\n')
|
|
224
|
+
chunks = []
|
|
225
|
+
current_header = ""
|
|
226
|
+
current_content = []
|
|
227
|
+
|
|
228
|
+
for line in lines:
|
|
229
|
+
if re.match(headers_pattern, line, re.MULTILINE):
|
|
230
|
+
if current_content:
|
|
231
|
+
chunks.append((current_header, '\n'.join(current_content)))
|
|
232
|
+
current_header = line
|
|
233
|
+
current_content = []
|
|
234
|
+
else:
|
|
235
|
+
current_content.append(line)
|
|
236
|
+
|
|
237
|
+
if current_content:
|
|
238
|
+
chunks.append((current_header, '\n'.join(current_content)))
|
|
239
|
+
|
|
240
|
+
return chunks
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
def recursive_character_splitter(
|
|
244
|
+
text: str,
|
|
245
|
+
chunk_size: int = 1000,
|
|
246
|
+
chunk_overlap: int = 200,
|
|
247
|
+
separators: List[str] = None
|
|
248
|
+
) -> List[str]:
|
|
249
|
+
"""LangChain-style recursive splitter."""
|
|
250
|
+
separators = separators or ["\n\n", "\n", ". ", " ", ""]
|
|
251
|
+
|
|
252
|
+
def split_text(text: str, separators: List[str]) -> List[str]:
|
|
253
|
+
if not text:
|
|
254
|
+
return []
|
|
255
|
+
|
|
256
|
+
separator = separators[0]
|
|
257
|
+
remaining_separators = separators[1:]
|
|
258
|
+
|
|
259
|
+
if separator == "":
|
|
260
|
+
# Character-level split
|
|
261
|
+
return [text[i:i+chunk_size] for i in range(0, len(text), chunk_size - chunk_overlap)]
|
|
262
|
+
|
|
263
|
+
splits = text.split(separator)
|
|
264
|
+
chunks = []
|
|
265
|
+
current_chunk = []
|
|
266
|
+
current_length = 0
|
|
267
|
+
|
|
268
|
+
for split in splits:
|
|
269
|
+
split_length = len(split) + len(separator)
|
|
270
|
+
|
|
271
|
+
if current_length + split_length > chunk_size and current_chunk:
|
|
272
|
+
chunk_text = separator.join(current_chunk)
|
|
273
|
+
|
|
274
|
+
# Recursively split if still too large
|
|
275
|
+
if len(chunk_text) > chunk_size and remaining_separators:
|
|
276
|
+
chunks.extend(split_text(chunk_text, remaining_separators))
|
|
277
|
+
else:
|
|
278
|
+
chunks.append(chunk_text)
|
|
279
|
+
|
|
280
|
+
# Start new chunk with overlap
|
|
281
|
+
overlap_splits = []
|
|
282
|
+
overlap_length = 0
|
|
283
|
+
for s in reversed(current_chunk):
|
|
284
|
+
if overlap_length + len(s) <= chunk_overlap:
|
|
285
|
+
overlap_splits.insert(0, s)
|
|
286
|
+
overlap_length += len(s)
|
|
287
|
+
else:
|
|
288
|
+
break
|
|
289
|
+
current_chunk = overlap_splits
|
|
290
|
+
current_length = overlap_length
|
|
291
|
+
|
|
292
|
+
current_chunk.append(split)
|
|
293
|
+
current_length += split_length
|
|
294
|
+
|
|
295
|
+
if current_chunk:
|
|
296
|
+
chunks.append(separator.join(current_chunk))
|
|
297
|
+
|
|
298
|
+
return chunks
|
|
299
|
+
|
|
300
|
+
return split_text(text, separators)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Template 4: Domain-Specific Embedding Pipeline
|
|
304
|
+
|
|
305
|
+
```python
|
|
306
|
+
class DomainEmbeddingPipeline:
|
|
307
|
+
"""Pipeline for domain-specific embeddings."""
|
|
308
|
+
|
|
309
|
+
def __init__(
|
|
310
|
+
self,
|
|
311
|
+
embedding_model: str = "text-embedding-3-small",
|
|
312
|
+
chunk_size: int = 512,
|
|
313
|
+
chunk_overlap: int = 50,
|
|
314
|
+
preprocessing_fn=None
|
|
315
|
+
):
|
|
316
|
+
self.embedding_model = embedding_model
|
|
317
|
+
self.chunk_size = chunk_size
|
|
318
|
+
self.chunk_overlap = chunk_overlap
|
|
319
|
+
self.preprocess = preprocessing_fn or self._default_preprocess
|
|
320
|
+
|
|
321
|
+
def _default_preprocess(self, text: str) -> str:
|
|
322
|
+
"""Default preprocessing."""
|
|
323
|
+
# Remove excessive whitespace
|
|
324
|
+
text = re.sub(r'\s+', ' ', text)
|
|
325
|
+
# Remove special characters
|
|
326
|
+
text = re.sub(r'[^\w\s.,!?-]', '', text)
|
|
327
|
+
return text.strip()
|
|
328
|
+
|
|
329
|
+
async def process_documents(
|
|
330
|
+
self,
|
|
331
|
+
documents: List[dict],
|
|
332
|
+
id_field: str = "id",
|
|
333
|
+
content_field: str = "content",
|
|
334
|
+
metadata_fields: List[str] = None
|
|
335
|
+
) -> List[dict]:
|
|
336
|
+
"""Process documents for vector storage."""
|
|
337
|
+
processed = []
|
|
338
|
+
|
|
339
|
+
for doc in documents:
|
|
340
|
+
content = doc[content_field]
|
|
341
|
+
doc_id = doc[id_field]
|
|
342
|
+
|
|
343
|
+
# Preprocess
|
|
344
|
+
cleaned = self.preprocess(content)
|
|
345
|
+
|
|
346
|
+
# Chunk
|
|
347
|
+
chunks = chunk_by_tokens(
|
|
348
|
+
cleaned,
|
|
349
|
+
self.chunk_size,
|
|
350
|
+
self.chunk_overlap
|
|
351
|
+
)
|
|
352
|
+
|
|
353
|
+
# Create embeddings
|
|
354
|
+
embeddings = get_embeddings(chunks, self.embedding_model)
|
|
355
|
+
|
|
356
|
+
# Create records
|
|
357
|
+
for i, (chunk, embedding) in enumerate(zip(chunks, embeddings)):
|
|
358
|
+
record = {
|
|
359
|
+
"id": f"{doc_id}_chunk_{i}",
|
|
360
|
+
"document_id": doc_id,
|
|
361
|
+
"chunk_index": i,
|
|
362
|
+
"text": chunk,
|
|
363
|
+
"embedding": embedding
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
# Add metadata
|
|
367
|
+
if metadata_fields:
|
|
368
|
+
for field in metadata_fields:
|
|
369
|
+
if field in doc:
|
|
370
|
+
record[field] = doc[field]
|
|
371
|
+
|
|
372
|
+
processed.append(record)
|
|
373
|
+
|
|
374
|
+
return processed
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
# Code-specific pipeline
|
|
378
|
+
class CodeEmbeddingPipeline:
|
|
379
|
+
"""Specialized pipeline for code embeddings."""
|
|
380
|
+
|
|
381
|
+
def __init__(self, model: str = "voyage-code-2"):
|
|
382
|
+
self.model = model
|
|
383
|
+
|
|
384
|
+
def chunk_code(self, code: str, language: str) -> List[dict]:
|
|
385
|
+
"""Chunk code by functions/classes."""
|
|
386
|
+
import tree_sitter
|
|
387
|
+
|
|
388
|
+
# Parse with tree-sitter
|
|
389
|
+
# Extract functions, classes, methods
|
|
390
|
+
# Return chunks with context
|
|
391
|
+
pass
|
|
392
|
+
|
|
393
|
+
def embed_with_context(self, chunk: str, context: str) -> List[float]:
|
|
394
|
+
"""Embed code with surrounding context."""
|
|
395
|
+
combined = f"Context: {context}\n\nCode:\n{chunk}"
|
|
396
|
+
return get_embedding(combined, model=self.model)
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### Template 5: Embedding Quality Evaluation
|
|
400
|
+
|
|
401
|
+
```python
|
|
402
|
+
import numpy as np
|
|
403
|
+
from typing import List, Tuple
|
|
404
|
+
|
|
405
|
+
def evaluate_retrieval_quality(
|
|
406
|
+
queries: List[str],
|
|
407
|
+
relevant_docs: List[List[str]], # List of relevant doc IDs per query
|
|
408
|
+
retrieved_docs: List[List[str]], # List of retrieved doc IDs per query
|
|
409
|
+
k: int = 10
|
|
410
|
+
) -> dict:
|
|
411
|
+
"""Evaluate embedding quality for retrieval."""
|
|
412
|
+
|
|
413
|
+
def precision_at_k(relevant: set, retrieved: List[str], k: int) -> float:
|
|
414
|
+
retrieved_k = retrieved[:k]
|
|
415
|
+
relevant_retrieved = len(set(retrieved_k) & relevant)
|
|
416
|
+
return relevant_retrieved / k
|
|
417
|
+
|
|
418
|
+
def recall_at_k(relevant: set, retrieved: List[str], k: int) -> float:
|
|
419
|
+
retrieved_k = retrieved[:k]
|
|
420
|
+
relevant_retrieved = len(set(retrieved_k) & relevant)
|
|
421
|
+
return relevant_retrieved / len(relevant) if relevant else 0
|
|
422
|
+
|
|
423
|
+
def mrr(relevant: set, retrieved: List[str]) -> float:
|
|
424
|
+
for i, doc in enumerate(retrieved):
|
|
425
|
+
if doc in relevant:
|
|
426
|
+
return 1 / (i + 1)
|
|
427
|
+
return 0
|
|
428
|
+
|
|
429
|
+
def ndcg_at_k(relevant: set, retrieved: List[str], k: int) -> float:
|
|
430
|
+
dcg = sum(
|
|
431
|
+
1 / np.log2(i + 2) if doc in relevant else 0
|
|
432
|
+
for i, doc in enumerate(retrieved[:k])
|
|
433
|
+
)
|
|
434
|
+
ideal_dcg = sum(1 / np.log2(i + 2) for i in range(min(len(relevant), k)))
|
|
435
|
+
return dcg / ideal_dcg if ideal_dcg > 0 else 0
|
|
436
|
+
|
|
437
|
+
metrics = {
|
|
438
|
+
f"precision@{k}": [],
|
|
439
|
+
f"recall@{k}": [],
|
|
440
|
+
"mrr": [],
|
|
441
|
+
f"ndcg@{k}": []
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
for relevant, retrieved in zip(relevant_docs, retrieved_docs):
|
|
445
|
+
relevant_set = set(relevant)
|
|
446
|
+
metrics[f"precision@{k}"].append(precision_at_k(relevant_set, retrieved, k))
|
|
447
|
+
metrics[f"recall@{k}"].append(recall_at_k(relevant_set, retrieved, k))
|
|
448
|
+
metrics["mrr"].append(mrr(relevant_set, retrieved))
|
|
449
|
+
metrics[f"ndcg@{k}"].append(ndcg_at_k(relevant_set, retrieved, k))
|
|
450
|
+
|
|
451
|
+
return {name: np.mean(values) for name, values in metrics.items()}
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
def compute_embedding_similarity(
|
|
455
|
+
embeddings1: np.ndarray,
|
|
456
|
+
embeddings2: np.ndarray,
|
|
457
|
+
metric: str = "cosine"
|
|
458
|
+
) -> np.ndarray:
|
|
459
|
+
"""Compute similarity matrix between embedding sets."""
|
|
460
|
+
if metric == "cosine":
|
|
461
|
+
# Normalize
|
|
462
|
+
norm1 = embeddings1 / np.linalg.norm(embeddings1, axis=1, keepdims=True)
|
|
463
|
+
norm2 = embeddings2 / np.linalg.norm(embeddings2, axis=1, keepdims=True)
|
|
464
|
+
return norm1 @ norm2.T
|
|
465
|
+
elif metric == "euclidean":
|
|
466
|
+
from scipy.spatial.distance import cdist
|
|
467
|
+
return -cdist(embeddings1, embeddings2, metric='euclidean')
|
|
468
|
+
elif metric == "dot":
|
|
469
|
+
return embeddings1 @ embeddings2.T
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
## Best Practices
|
|
473
|
+
|
|
474
|
+
### Do's
|
|
475
|
+
- **Match model to use case** - Code vs prose vs multilingual
|
|
476
|
+
- **Chunk thoughtfully** - Preserve semantic boundaries
|
|
477
|
+
- **Normalize embeddings** - For cosine similarity
|
|
478
|
+
- **Batch requests** - More efficient than one-by-one
|
|
479
|
+
- **Cache embeddings** - Avoid recomputing
|
|
480
|
+
|
|
481
|
+
### Don'ts
|
|
482
|
+
- **Don't ignore token limits** - Truncation loses info
|
|
483
|
+
- **Don't mix embedding models** - Incompatible spaces
|
|
484
|
+
- **Don't skip preprocessing** - Garbage in, garbage out
|
|
485
|
+
- **Don't over-chunk** - Lose context
|
|
486
|
+
|
|
487
|
+
## Resources
|
|
488
|
+
|
|
489
|
+
- [OpenAI Embeddings](https://platform.openai.com/docs/guides/embeddings)
|
|
490
|
+
- [Sentence Transformers](https://www.sbert.net/)
|
|
491
|
+
- [MTEB Benchmark](https://huggingface.co/spaces/mteb/leaderboard)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: employment-contract-templates
|
|
3
|
+
description: Create employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or standardizing employment documentation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Employment Contract Templates
|
|
7
|
+
|
|
8
|
+
Templates and patterns for creating legally sound employment documentation including contracts, offer letters, and HR policies.
|
|
9
|
+
|
|
10
|
+
## Use this skill when
|
|
11
|
+
|
|
12
|
+
- Drafting employment contracts
|
|
13
|
+
- Creating offer letters
|
|
14
|
+
- Writing employee handbooks
|
|
15
|
+
- Developing HR policies
|
|
16
|
+
- Standardizing employment documentation
|
|
17
|
+
- Preparing onboarding documentation
|
|
18
|
+
|
|
19
|
+
## Do not use this skill when
|
|
20
|
+
|
|
21
|
+
- You need jurisdiction-specific legal advice
|
|
22
|
+
- The task requires licensed counsel review
|
|
23
|
+
- The request is unrelated to employment documentation
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
- Confirm jurisdiction, employment type, and required clauses.
|
|
28
|
+
- Choose a document template and tailor role-specific terms.
|
|
29
|
+
- Validate compensation, benefits, and compliance requirements.
|
|
30
|
+
- Add signature, confidentiality, and IP assignment terms as needed.
|
|
31
|
+
- If detailed templates are required, open `resources/implementation-playbook.md`.
|
|
32
|
+
|
|
33
|
+
## Safety
|
|
34
|
+
|
|
35
|
+
- These templates are not legal advice; consult qualified counsel before use.
|
|
36
|
+
|
|
37
|
+
## Resources
|
|
38
|
+
|
|
39
|
+
- `resources/implementation-playbook.md` for detailed templates and checklists.
|