@ngxtm/devkit 3.7.0 → 3.8.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/merged-commands/3d-web-experience.md +254 -0
- package/merged-commands/ab-test-setup.md +232 -0
- package/merged-commands/accessibility-compliance-accessibility-audit.md +42 -0
- package/merged-commands/active-directory-attacks.md +383 -0
- package/merged-commands/address-github-comments.md +55 -0
- package/merged-commands/aesthetic.md +134 -0
- package/merged-commands/agent-evaluation.md +64 -0
- package/merged-commands/agent-framework-azure-hosted-agents.md +332 -0
- package/merged-commands/agent-manager-skill.md +40 -0
- package/merged-commands/agent-memory-mcp.md +82 -0
- package/merged-commands/agent-memory-systems.md +67 -0
- package/merged-commands/agent-orchestration-improve-agent.md +349 -0
- package/merged-commands/agent-orchestration-multi-agent-optimize.md +239 -0
- package/merged-commands/agent-tool-builder.md +53 -0
- package/merged-commands/agile-product-owner.md +31 -0
- package/merged-commands/ai-agents-architect.md +90 -0
- package/merged-commands/ai-artist.md +75 -0
- package/merged-commands/ai-engineer.md +171 -0
- package/merged-commands/ai-multimodal.md +109 -0
- package/merged-commands/ai-product.md +54 -0
- package/merged-commands/ai-wrapper-product.md +273 -0
- package/merged-commands/airflow-dag-patterns.md +41 -0
- package/merged-commands/algolia-search.md +66 -0
- package/merged-commands/algorithmic-art.md +405 -0
- package/merged-commands/analytics-tracking.md +404 -0
- package/merged-commands/angular-architect.md +97 -0
- package/merged-commands/angular-migration.md +428 -0
- package/merged-commands/anti-reversing-techniques.md +42 -0
- package/merged-commands/api-design-principles.md +37 -0
- package/merged-commands/api-designer.md +101 -0
- package/merged-commands/api-documentation-generator.md +484 -0
- package/merged-commands/api-documenter.md +184 -0
- package/merged-commands/api-fuzzing-bug-bounty.md +433 -0
- package/merged-commands/api-patterns.md +81 -0
- package/merged-commands/api-security-best-practices.md +907 -0
- package/merged-commands/api-testing-observability-api-mock.md +46 -0
- package/merged-commands/app-builder.md +75 -0
- package/merged-commands/app-store-optimization.md +403 -0
- package/merged-commands/application-performance-performance-optimization.md +154 -0
- package/merged-commands/architect-review.md +174 -0
- package/merged-commands/architecture-decision-records.md +441 -0
- package/merged-commands/architecture-designer.md +89 -0
- package/merged-commands/architecture-patterns.md +37 -0
- package/merged-commands/architecture.md +55 -0
- package/merged-commands/arm-cortex-expert.md +306 -0
- package/merged-commands/artifacts-builder.md +74 -0
- package/merged-commands/ask-questions-if-underspecified.md +81 -0
- package/merged-commands/async-python-patterns.md +39 -0
- package/merged-commands/atlassian-mcp.md +100 -0
- package/merged-commands/attack-tree-construction.md +38 -0
- package/merged-commands/auth-implementation-patterns.md +39 -0
- package/merged-commands/automate-whatsapp.md +257 -0
- package/merged-commands/autonomous-agent-patterns.md +761 -0
- package/merged-commands/autonomous-agents.md +68 -0
- package/merged-commands/avalonia-layout-zafiro.md +59 -0
- package/merged-commands/avalonia-viewmodels-zafiro.md +29 -0
- package/merged-commands/avalonia-zafiro-development.md +29 -0
- package/merged-commands/aws-agentic-ai.md +117 -0
- package/merged-commands/aws-cdk-development.md +278 -0
- package/merged-commands/aws-cost-operations.md +317 -0
- package/merged-commands/aws-penetration-testing.md +405 -0
- package/merged-commands/aws-serverless-eda.md +757 -0
- package/merged-commands/aws-serverless.md +323 -0
- package/merged-commands/aws-skills.md +22 -0
- package/merged-commands/azd-deployment.md +296 -0
- package/merged-commands/azure-ai-agents-python.md +277 -0
- package/merged-commands/azure-ai-search-python.md +198 -0
- package/merged-commands/azure-ai-voicelive-skill.md +294 -0
- package/merged-commands/azure-functions.md +42 -0
- package/merged-commands/backend-architect.md +333 -0
- package/merged-commands/backend-dev-guidelines.md +342 -0
- package/merged-commands/backend-development-feature-development.md +180 -0
- package/merged-commands/backend-development.md +155 -0
- package/merged-commands/backend-security-coder.md +156 -0
- package/merged-commands/backtesting-frameworks.md +39 -0
- package/merged-commands/bash-defensive-patterns.md +43 -0
- package/merged-commands/bash-linux.md +199 -0
- package/merged-commands/bash-pro.md +310 -0
- package/merged-commands/bats-testing-patterns.md +34 -0
- package/merged-commands/bazel-build-optimization.md +397 -0
- package/merged-commands/beautiful-prose.md +22 -0
- package/merged-commands/behavioral-modes.md +242 -0
- package/merged-commands/best-practices.md +500 -0
- package/merged-commands/better-auth.md +204 -0
- package/merged-commands/billing-automation.md +42 -0
- package/merged-commands/binary-analysis-patterns.md +450 -0
- package/merged-commands/blockchain-developer.md +208 -0
- package/merged-commands/blockrun.md +292 -0
- package/merged-commands/brainstorming.md +230 -0
- package/merged-commands/brand-guidelines-anthropic.md +73 -0
- package/merged-commands/brand-guidelines-community.md +73 -0
- package/merged-commands/brand-guidelines.md +73 -0
- package/merged-commands/broken-authentication.md +476 -0
- package/merged-commands/browser-automation.md +70 -0
- package/merged-commands/browser-extension-builder.md +261 -0
- package/merged-commands/building-ai-agent-on-cloudflare.md +391 -0
- package/merged-commands/building-mcp-server-on-cloudflare.md +265 -0
- package/merged-commands/bullmq-specialist.md +57 -0
- package/merged-commands/bun-development.md +691 -0
- package/merged-commands/burp-suite-testing.md +380 -0
- package/merged-commands/business-analyst.md +182 -0
- package/merged-commands/busybox-on-windows.md +30 -0
- package/merged-commands/c-pro.md +56 -0
- package/merged-commands/c4-architecture-c4-architecture.md +389 -0
- package/merged-commands/c4-code.md +244 -0
- package/merged-commands/c4-component.md +153 -0
- package/merged-commands/c4-container.md +171 -0
- package/merged-commands/c4-context.md +150 -0
- package/merged-commands/canvas-design.md +130 -0
- package/merged-commands/cc-skill-backend-patterns.md +584 -0
- package/merged-commands/cc-skill-clickhouse-io.md +431 -0
- package/merged-commands/cc-skill-coding-standards.md +522 -0
- package/merged-commands/cc-skill-continuous-learning.md +10 -0
- package/merged-commands/cc-skill-frontend-patterns.md +633 -0
- package/merged-commands/cc-skill-project-guidelines-example.md +352 -0
- package/merged-commands/cc-skill-security-review.md +496 -0
- package/merged-commands/cc-skill-strategic-compact.md +10 -0
- package/merged-commands/changelog-automation.md +38 -0
- package/merged-commands/changelog-generator.md +104 -0
- package/merged-commands/chaos-engineer.md +98 -0
- package/merged-commands/chrome-devtools.md +407 -0
- package/merged-commands/cicd-automation-workflow-automate.md +51 -0
- package/merged-commands/clarity-gate.md +22 -0
- package/merged-commands/claude-ally-health.md +22 -0
- package/merged-commands/claude-code-guide.md +68 -0
- package/merged-commands/claude-d3js-skill.md +820 -0
- package/merged-commands/claude-scientific-skills.md +22 -0
- package/merged-commands/claude-speed-reader.md +22 -0
- package/merged-commands/claude-win11-speckit-update-skill.md +22 -0
- package/merged-commands/clean-code.md +201 -0
- package/merged-commands/clerk-auth.md +56 -0
- package/merged-commands/cli-developer.md +97 -0
- package/merged-commands/cloud-architect.md +135 -0
- package/merged-commands/cloud-penetration-testing.md +501 -0
- package/merged-commands/cloudflare-expert.md +227 -0
- package/merged-commands/code-documentation-code-explain.md +46 -0
- package/merged-commands/code-documentation-doc-generate.md +48 -0
- package/merged-commands/code-documentation.md +263 -0
- package/merged-commands/code-documenter.md +95 -0
- package/merged-commands/code-refactoring-context-restore.md +179 -0
- package/merged-commands/code-refactoring-refactor-clean.md +51 -0
- package/merged-commands/code-refactoring-tech-debt.md +386 -0
- package/merged-commands/code-refactoring.md +209 -0
- package/merged-commands/code-review-ai-ai-review.md +450 -0
- package/merged-commands/code-review-checklist.md +444 -0
- package/merged-commands/code-review-excellence.md +40 -0
- package/merged-commands/code-review.md +121 -0
- package/merged-commands/code-reviewer.md +178 -0
- package/merged-commands/codebase-cleanup-deps-audit.md +51 -0
- package/merged-commands/codebase-cleanup-refactor-clean.md +51 -0
- package/merged-commands/codebase-cleanup-tech-debt.md +386 -0
- package/merged-commands/codex-review.md +37 -0
- package/merged-commands/commit.md +171 -0
- package/merged-commands/competitive-ads-extractor.md +293 -0
- package/merged-commands/competitive-landscape.md +34 -0
- package/merged-commands/competitor-alternatives.md +750 -0
- package/merged-commands/comprehensive-review-full-review.md +146 -0
- package/merged-commands/comprehensive-review-pr-enhance.md +46 -0
- package/merged-commands/computer-use-agents.md +315 -0
- package/merged-commands/concise-planning.md +62 -0
- package/merged-commands/conductor-implement.md +388 -0
- package/merged-commands/conductor-manage.md +39 -0
- package/merged-commands/conductor-new-track.md +433 -0
- package/merged-commands/conductor-revert.md +372 -0
- package/merged-commands/conductor-setup.md +426 -0
- package/merged-commands/conductor-status.md +338 -0
- package/merged-commands/conductor-validator.md +62 -0
- package/merged-commands/content-creator.md +248 -0
- package/merged-commands/content-marketer.md +170 -0
- package/merged-commands/content-research-writer.md +538 -0
- package/merged-commands/context-compression.md +266 -0
- package/merged-commands/context-degradation.md +238 -0
- package/merged-commands/context-driven-development.md +400 -0
- package/merged-commands/context-engineering.md +107 -0
- package/merged-commands/context-fundamentals.md +192 -0
- package/merged-commands/context-management-context-restore.md +179 -0
- package/merged-commands/context-management-context-save.md +177 -0
- package/merged-commands/context-manager.md +185 -0
- package/merged-commands/context-optimization.md +186 -0
- package/merged-commands/context-window-management.md +53 -0
- package/merged-commands/context7-auto-research.md +36 -0
- package/merged-commands/conversation-memory.md +61 -0
- package/merged-commands/copy-editing.md +439 -0
- package/merged-commands/copywriting.md +225 -0
- package/merged-commands/core-components.md +264 -0
- package/merged-commands/cosmos-db-python-skill.md +198 -0
- package/merged-commands/cost-optimization.md +286 -0
- package/merged-commands/cpp-pro.md +59 -0
- package/merged-commands/cqrs-implementation.md +35 -0
- package/merged-commands/create-pr.md +192 -0
- package/merged-commands/crewai.md +243 -0
- package/merged-commands/csharp-developer.md +94 -0
- package/merged-commands/csharp-pro.md +59 -0
- package/merged-commands/culture-index.md +43 -0
- package/merged-commands/customer-support.md +170 -0
- package/merged-commands/daily-news-report.md +356 -0
- package/merged-commands/data-engineer.md +224 -0
- package/merged-commands/data-engineering-data-driven-feature.md +182 -0
- package/merged-commands/data-engineering-data-pipeline.md +201 -0
- package/merged-commands/data-quality-frameworks.md +40 -0
- package/merged-commands/data-scientist.md +199 -0
- package/merged-commands/data-storytelling.md +465 -0
- package/merged-commands/database-admin.md +165 -0
- package/merged-commands/database-architect.md +268 -0
- package/merged-commands/database-cloud-optimization-cost-optimize.md +44 -0
- package/merged-commands/database-design.md +52 -0
- package/merged-commands/database-migration.md +436 -0
- package/merged-commands/database-migrations-migration-observability.md +420 -0
- package/merged-commands/database-migrations-sql-migrations.md +53 -0
- package/merged-commands/database-optimizer.md +167 -0
- package/merged-commands/databases.md +232 -0
- package/merged-commands/dbt-transformation-patterns.md +34 -0
- package/merged-commands/debugger.md +49 -0
- package/merged-commands/debugging-strategies.md +34 -0
- package/merged-commands/debugging-toolkit-smart-debug.md +197 -0
- package/merged-commands/debugging-wizard.md +93 -0
- package/merged-commands/debugging.md +84 -0
- package/merged-commands/deep-research.md +114 -0
- package/merged-commands/defi-protocol-templates.md +466 -0
- package/merged-commands/dependency-management-deps-audit.md +44 -0
- package/merged-commands/dependency-upgrade.md +421 -0
- package/merged-commands/deployment-engineer.md +170 -0
- package/merged-commands/deployment-pipeline-design.md +371 -0
- package/merged-commands/deployment-procedures.md +241 -0
- package/merged-commands/deployment-validation-config-validate.md +496 -0
- package/merged-commands/design-md.md +178 -0
- package/merged-commands/design-orchestration.md +167 -0
- package/merged-commands/developer-growth-analysis.md +322 -0
- package/merged-commands/devops-engineer.md +92 -0
- package/merged-commands/devops-troubleshooter.md +161 -0
- package/merged-commands/devops.md +285 -0
- package/merged-commands/discord-bot-architect.md +277 -0
- package/merged-commands/dispatching-parallel-agents.md +180 -0
- package/merged-commands/distributed-debugging-debug-trace.md +44 -0
- package/merged-commands/distributed-tracing.md +450 -0
- package/merged-commands/django-expert.md +89 -0
- package/merged-commands/django-pro.md +180 -0
- package/merged-commands/doc-coauthoring.md +375 -0
- package/merged-commands/docker-expert.md +409 -0
- package/merged-commands/docs-architect.md +98 -0
- package/merged-commands/docs-seeker.md +102 -0
- package/merged-commands/documentation-generation-doc-generate.md +48 -0
- package/merged-commands/documentation-templates.md +194 -0
- package/merged-commands/docx-official.md +197 -0
- package/merged-commands/docx.md +197 -0
- package/merged-commands/domain-name-brainstormer.md +212 -0
- package/merged-commands/dotnet-architect.md +197 -0
- package/merged-commands/dotnet-backend-patterns.md +37 -0
- package/merged-commands/dotnet-core-expert.md +96 -0
- package/merged-commands/dx-optimizer.md +83 -0
- package/merged-commands/e2e-testing-patterns.md +41 -0
- package/merged-commands/elixir-pro.md +59 -0
- package/merged-commands/email-sequence.md +925 -0
- package/merged-commands/email-systems.md +54 -0
- package/merged-commands/embedded-systems.md +98 -0
- package/merged-commands/embedding-strategies.md +491 -0
- package/merged-commands/employment-contract-templates.md +39 -0
- package/merged-commands/environment-setup-guide.md +479 -0
- package/merged-commands/error-debugging-error-analysis.md +47 -0
- package/merged-commands/error-debugging-error-trace.md +43 -0
- package/merged-commands/error-debugging-multi-agent-review.md +216 -0
- package/merged-commands/error-detective.md +53 -0
- package/merged-commands/error-diagnostics-error-analysis.md +47 -0
- package/merged-commands/error-diagnostics-error-trace.md +48 -0
- package/merged-commands/error-diagnostics-smart-debug.md +197 -0
- package/merged-commands/error-handling-patterns.md +35 -0
- package/merged-commands/ethical-hacking-methodology.md +466 -0
- package/merged-commands/evaluation.md +238 -0
- package/merged-commands/event-sourcing-architect.md +58 -0
- package/merged-commands/event-store-design.md +449 -0
- package/merged-commands/exa-search.md +36 -0
- package/merged-commands/executing-plans.md +76 -0
- package/merged-commands/expo-app-design.md +22 -0
- package/merged-commands/expo-deployment.md +72 -0
- package/merged-commands/fal-audio.md +22 -0
- package/merged-commands/fal-generate.md +22 -0
- package/merged-commands/fal-image-edit.md +22 -0
- package/merged-commands/fal-platform.md +22 -0
- package/merged-commands/fal-upscale.md +22 -0
- package/merged-commands/fal-workflow.md +22 -0
- package/merged-commands/fastapi-expert.md +93 -0
- package/merged-commands/fastapi-pro.md +192 -0
- package/merged-commands/fastapi-router.md +52 -0
- package/merged-commands/fastapi-templates.md +32 -0
- package/merged-commands/feature-forge.md +90 -0
- package/merged-commands/ffuf-claude-skill.md +22 -0
- package/merged-commands/file-organizer.md +250 -0
- package/merged-commands/file-path-traversal.md +486 -0
- package/merged-commands/file-uploads.md +22 -0
- package/merged-commands/find-bugs.md +86 -0
- package/merged-commands/fine-tuning-expert.md +98 -0
- package/merged-commands/finishing-a-development-branch.md +200 -0
- package/merged-commands/firebase.md +56 -0
- package/merged-commands/firecrawl-scraper.md +37 -0
- package/merged-commands/firmware-analyst.md +320 -0
- package/merged-commands/fix-review.md +53 -0
- package/merged-commands/fixing.md +72 -0
- package/merged-commands/flutter-expert.md +200 -0
- package/merged-commands/form-cro.md +441 -0
- package/merged-commands/foundry-iq-agent.md +15 -0
- package/merged-commands/foundry-iq-python.md +275 -0
- package/merged-commands/foundry-nextgen-frontend.md +555 -0
- package/merged-commands/foundry-sdk-python.md +290 -0
- package/merged-commands/fp-ts-errors.md +856 -0
- package/merged-commands/fp-ts-pragmatic.md +598 -0
- package/merged-commands/fp-ts-react.md +796 -0
- package/merged-commands/framework-migration-code-migrate.md +48 -0
- package/merged-commands/framework-migration-deps-upgrade.md +48 -0
- package/merged-commands/framework-migration-legacy-modernize.md +132 -0
- package/merged-commands/free-tool-strategy.md +576 -0
- package/merged-commands/frontend-design.md +272 -0
- package/merged-commands/frontend-dev-guidelines.md +359 -0
- package/merged-commands/frontend-developer.md +171 -0
- package/merged-commands/frontend-development.md +399 -0
- package/merged-commands/frontend-mobile-development-component-scaffold.md +403 -0
- package/merged-commands/frontend-mobile-security-xss-scan.md +322 -0
- package/merged-commands/frontend-security-coder.md +170 -0
- package/merged-commands/frontend-slides.md +770 -0
- package/merged-commands/full-stack-orchestration-full-stack-feature.md +135 -0
- package/merged-commands/fullstack-guardian.md +99 -0
- package/merged-commands/game-developer.md +94 -0
- package/merged-commands/game-development.md +167 -0
- package/merged-commands/gcp-cloud-run.md +288 -0
- package/merged-commands/gdpr-data-handling.md +33 -0
- package/merged-commands/geo-fundamentals.md +156 -0
- package/merged-commands/git-advanced-workflows.md +412 -0
- package/merged-commands/git-pr-workflows-git-workflow.md +140 -0
- package/merged-commands/git-pr-workflows-onboard.md +416 -0
- package/merged-commands/git-pr-workflows-pr-enhance.md +48 -0
- package/merged-commands/git-pushing.md +33 -0
- package/merged-commands/github-actions-templates.md +345 -0
- package/merged-commands/github-workflow-automation.md +846 -0
- package/merged-commands/gitlab-ci-patterns.md +283 -0
- package/merged-commands/gitops-workflow.md +303 -0
- package/merged-commands/go-concurrency-patterns.md +33 -0
- package/merged-commands/godot-gdscript-patterns.md +33 -0
- package/merged-commands/golang-pro.md +179 -0
- package/merged-commands/google-adk-python.md +243 -0
- package/merged-commands/grafana-dashboards.md +381 -0
- package/merged-commands/graphql-architect.md +182 -0
- package/merged-commands/graphql.md +68 -0
- package/merged-commands/haskell-pro.md +56 -0
- package/merged-commands/helm-chart-scaffolding.md +34 -0
- package/merged-commands/hr-pro.md +126 -0
- package/merged-commands/html-injection-testing.md +498 -0
- package/merged-commands/hubspot-integration.md +42 -0
- package/merged-commands/hugging-face-cli.md +198 -0
- package/merged-commands/hugging-face-jobs.md +1038 -0
- package/merged-commands/hybrid-cloud-architect.md +168 -0
- package/merged-commands/hybrid-cloud-networking.md +238 -0
- package/merged-commands/hybrid-search-implementation.md +32 -0
- package/merged-commands/i18n-localization.md +154 -0
- package/merged-commands/idor-testing.md +442 -0
- package/merged-commands/image-enhancer.md +99 -0
- package/merged-commands/imagen.md +77 -0
- package/merged-commands/incident-responder.md +213 -0
- package/merged-commands/incident-response-incident-response.md +168 -0
- package/merged-commands/incident-response-smart-fix.md +29 -0
- package/merged-commands/incident-runbook-templates.md +395 -0
- package/merged-commands/infinite-gratitude.md +26 -0
- package/merged-commands/inngest.md +55 -0
- package/merged-commands/interactive-portfolio.md +223 -0
- package/merged-commands/internal-comms-anthropic.md +32 -0
- package/merged-commands/internal-comms-community.md +32 -0
- package/merged-commands/internal-comms.md +32 -0
- package/merged-commands/invoice-organizer.md +446 -0
- package/merged-commands/ios-developer.md +219 -0
- package/merged-commands/issue-creator.md +137 -0
- package/merged-commands/istio-traffic-management.md +337 -0
- package/merged-commands/iterate-pr.md +150 -0
- package/merged-commands/java-architect.md +95 -0
- package/merged-commands/java-pro.md +177 -0
- package/merged-commands/javascript-mastery.md +645 -0
- package/merged-commands/javascript-pro.md +57 -0
- package/merged-commands/javascript-testing-patterns.md +35 -0
- package/merged-commands/javascript-typescript-typescript-scaffold.md +361 -0
- package/merged-commands/javascript-typescript.md +142 -0
- package/merged-commands/jira-issues.md +181 -0
- package/merged-commands/job-application.md +90 -0
- package/merged-commands/julia-pro.md +209 -0
- package/merged-commands/k8s-manifest-generator.md +35 -0
- package/merged-commands/k8s-security-policies.md +346 -0
- package/merged-commands/kaizen.md +730 -0
- package/merged-commands/kotlin-specialist.md +94 -0
- package/merged-commands/kpi-dashboard-design.md +440 -0
- package/merged-commands/kubernetes-architect.md +170 -0
- package/merged-commands/kubernetes-specialist.md +117 -0
- package/merged-commands/langchain-architecture.md +350 -0
- package/merged-commands/langfuse.md +238 -0
- package/merged-commands/langgraph.md +287 -0
- package/merged-commands/laravel-specialist.md +101 -0
- package/merged-commands/last30days.md +421 -0
- package/merged-commands/launch-strategy.md +344 -0
- package/merged-commands/lead-research-assistant.md +199 -0
- package/merged-commands/learn.md +476 -0
- package/merged-commands/legacy-modernizer.md +53 -0
- package/merged-commands/legal-advisor.md +70 -0
- package/merged-commands/linear-claude-skill.md +543 -0
- package/merged-commands/linkerd-patterns.md +321 -0
- package/merged-commands/lint-and-validate.md +45 -0
- package/merged-commands/linux-privilege-escalation.md +504 -0
- package/merged-commands/linux-shell-scripting.md +504 -0
- package/merged-commands/llm-app-patterns.md +760 -0
- package/merged-commands/llm-application-dev-ai-assistant.md +35 -0
- package/merged-commands/llm-application-dev-langchain-agent.md +246 -0
- package/merged-commands/llm-application-dev-prompt-optimize.md +37 -0
- package/merged-commands/llm-application-dev.md +216 -0
- package/merged-commands/llm-evaluation.md +483 -0
- package/merged-commands/loki-mode.md +721 -0
- package/merged-commands/machine-learning-ops-ml-pipeline.md +314 -0
- package/merged-commands/makepad-skills.md +22 -0
- package/merged-commands/malware-analyst.md +247 -0
- package/merged-commands/markdown-novel-viewer.md +281 -0
- package/merged-commands/market-sizing-analysis.md +425 -0
- package/merged-commands/marketing-ideas.md +221 -0
- package/merged-commands/marketing-psychology.md +255 -0
- package/merged-commands/mcp-builder.md +236 -0
- package/merged-commands/mcp-developer.md +94 -0
- package/merged-commands/mcp-management.md +209 -0
- package/merged-commands/media-processing.md +358 -0
- package/merged-commands/meeting-insights-analyzer.md +327 -0
- package/merged-commands/memory-forensics.md +491 -0
- package/merged-commands/memory-safety-patterns.md +33 -0
- package/merged-commands/memory-systems.md +228 -0
- package/merged-commands/mermaid-expert.md +59 -0
- package/merged-commands/mermaidjs-v11.md +115 -0
- package/merged-commands/metasploit-framework.md +478 -0
- package/merged-commands/micro-saas-launcher.md +212 -0
- package/merged-commands/microservices-architect.md +102 -0
- package/merged-commands/microservices-patterns.md +35 -0
- package/merged-commands/minecraft-bukkit-pro.md +126 -0
- package/merged-commands/ml-engineer.md +168 -0
- package/merged-commands/ml-pipeline-workflow.md +257 -0
- package/merged-commands/ml-pipeline.md +111 -0
- package/merged-commands/mlops-engineer.md +219 -0
- package/merged-commands/mobile-design.md +284 -0
- package/merged-commands/mobile-developer.md +205 -0
- package/merged-commands/mobile-development.md +212 -0
- package/merged-commands/mobile-security-coder.md +184 -0
- package/merged-commands/modern-javascript-patterns.md +35 -0
- package/merged-commands/monitoring-expert.md +92 -0
- package/merged-commands/monorepo-architect.md +61 -0
- package/merged-commands/monorepo-management.md +35 -0
- package/merged-commands/moodle-external-api-development.md +597 -0
- package/merged-commands/mtls-configuration.md +359 -0
- package/merged-commands/multi-agent-brainstorming.md +256 -0
- package/merged-commands/multi-agent-patterns.md +262 -0
- package/merged-commands/multi-cloud-architecture.md +189 -0
- package/merged-commands/multi-platform-apps-multi-platform.md +203 -0
- package/merged-commands/n8n-code-python.md +750 -0
- package/merged-commands/n8n-mcp-tools-expert.md +654 -0
- package/merged-commands/n8n-node-configuration.md +796 -0
- package/merged-commands/nanobanana-ppt-skills.md +22 -0
- package/merged-commands/neon-postgres.md +56 -0
- package/merged-commands/nestjs-expert.md +552 -0
- package/merged-commands/network-101.md +342 -0
- package/merged-commands/network-engineer.md +169 -0
- package/merged-commands/nextjs-app-router-patterns.md +33 -0
- package/merged-commands/nextjs-best-practices.md +203 -0
- package/merged-commands/nextjs-developer.md +97 -0
- package/merged-commands/nextjs-supabase-auth.md +56 -0
- package/merged-commands/nft-standards.md +395 -0
- package/merged-commands/nodejs-backend-patterns.md +35 -0
- package/merged-commands/nodejs-best-practices.md +333 -0
- package/merged-commands/nosql-expert.md +111 -0
- package/merged-commands/notebooklm-skill.md +269 -0
- package/merged-commands/notebooklm.md +269 -0
- package/merged-commands/notion-template-business.md +216 -0
- package/merged-commands/nx-workspace-patterns.md +464 -0
- package/merged-commands/observability-engineer.md +237 -0
- package/merged-commands/observability-monitoring-monitor-setup.md +48 -0
- package/merged-commands/observability-monitoring-slo-implement.md +43 -0
- package/merged-commands/observe-whatsapp.md +109 -0
- package/merged-commands/obsidian-clipper-template-creator.md +64 -0
- package/merged-commands/on-call-handoff-patterns.md +453 -0
- package/merged-commands/onboarding-cro.md +433 -0
- package/merged-commands/openapi-spec-generation.md +33 -0
- package/merged-commands/page-cro.md +343 -0
- package/merged-commands/paid-ads.md +551 -0
- package/merged-commands/pandas-pro.md +96 -0
- package/merged-commands/parallel-agents.md +175 -0
- package/merged-commands/payment-integration.md +77 -0
- package/merged-commands/paypal-integration.md +479 -0
- package/merged-commands/paywall-upgrade-cro.md +570 -0
- package/merged-commands/pci-compliance.md +478 -0
- package/merged-commands/pdf-official.md +294 -0
- package/merged-commands/pdf.md +294 -0
- package/merged-commands/pentest-checklist.md +334 -0
- package/merged-commands/pentest-commands.md +438 -0
- package/merged-commands/performance-engineer.md +180 -0
- package/merged-commands/performance-profiling.md +143 -0
- package/merged-commands/performance-testing-review-ai-review.md +450 -0
- package/merged-commands/performance-testing-review-multi-agent-review.md +216 -0
- package/merged-commands/personal-tool-builder.md +289 -0
- package/merged-commands/php-pro.md +63 -0
- package/merged-commands/plaid-fintech.md +50 -0
- package/merged-commands/plan-writing.md +152 -0
- package/merged-commands/planning-with-files.md +211 -0
- package/merged-commands/planning.md +95 -0
- package/merged-commands/plans-kanban.md +166 -0
- package/merged-commands/playwright-expert.md +87 -0
- package/merged-commands/playwright-skill.md +453 -0
- package/merged-commands/podcast-generation.md +121 -0
- package/merged-commands/popup-cro.md +346 -0
- package/merged-commands/posix-shell-pro.md +304 -0
- package/merged-commands/postgres-best-practices.md +57 -0
- package/merged-commands/postgres-pro.md +98 -0
- package/merged-commands/postgresql.md +230 -0
- package/merged-commands/postmortem-writing.md +386 -0
- package/merged-commands/powershell-windows.md +167 -0
- package/merged-commands/pptx-official.md +484 -0
- package/merged-commands/pptx.md +484 -0
- package/merged-commands/pricing-strategy.md +356 -0
- package/merged-commands/prisma-expert.md +355 -0
- package/merged-commands/privilege-escalation-methods.md +333 -0
- package/merged-commands/problem-solving.md +96 -0
- package/merged-commands/product-manager-toolkit.md +351 -0
- package/merged-commands/product-strategist.md +26 -0
- package/merged-commands/production-code-audit.md +540 -0
- package/merged-commands/programmatic-seo.md +351 -0
- package/merged-commands/projection-patterns.md +33 -0
- package/merged-commands/prometheus-configuration.md +404 -0
- package/merged-commands/prompt-caching.md +61 -0
- package/merged-commands/prompt-engineer.md +272 -0
- package/merged-commands/prompt-engineering-patterns.md +213 -0
- package/merged-commands/prompt-engineering.md +171 -0
- package/merged-commands/prompt-library.md +322 -0
- package/merged-commands/protocol-reverse-engineering.md +29 -0
- package/merged-commands/pydantic-models.md +58 -0
- package/merged-commands/pypict-skill.md +22 -0
- package/merged-commands/python-development-python-scaffold.md +331 -0
- package/merged-commands/python-development.md +139 -0
- package/merged-commands/python-packaging.md +36 -0
- package/merged-commands/python-patterns.md +441 -0
- package/merged-commands/python-performance-optimization.md +36 -0
- package/merged-commands/python-pro.md +158 -0
- package/merged-commands/python-testing-patterns.md +37 -0
- package/merged-commands/qa-regression.md +337 -0
- package/merged-commands/quant-analyst.md +53 -0
- package/merged-commands/radix-ui-design-system.md +847 -0
- package/merged-commands/raffle-winner-picker.md +159 -0
- package/merged-commands/rag-architect.md +100 -0
- package/merged-commands/rag-engineer.md +90 -0
- package/merged-commands/rag-implementation.md +421 -0
- package/merged-commands/rails-expert.md +97 -0
- package/merged-commands/react-best-practices.md +121 -0
- package/merged-commands/react-expert.md +98 -0
- package/merged-commands/react-flow-node.md +66 -0
- package/merged-commands/react-modernization.md +34 -0
- package/merged-commands/react-native-architecture.md +33 -0
- package/merged-commands/react-native-expert.md +88 -0
- package/merged-commands/react-patterns.md +198 -0
- package/merged-commands/react-state-management.md +441 -0
- package/merged-commands/react-ui-patterns.md +289 -0
- package/merged-commands/readme.md +775 -0
- package/merged-commands/receiving-code-review.md +213 -0
- package/merged-commands/red-team-tactics.md +199 -0
- package/merged-commands/red-team-tools.md +310 -0
- package/merged-commands/reference-builder.md +188 -0
- package/merged-commands/referral-program.md +602 -0
- package/merged-commands/remotion-best-practices.md +45 -0
- package/merged-commands/repomix.md +275 -0
- package/merged-commands/requesting-code-review.md +105 -0
- package/merged-commands/research-engineer.md +135 -0
- package/merged-commands/research.md +191 -0
- package/merged-commands/reverse-engineer.md +173 -0
- package/merged-commands/risk-manager.md +61 -0
- package/merged-commands/risk-metrics-calculation.md +33 -0
- package/merged-commands/ruby-pro.md +56 -0
- package/merged-commands/rust-async-patterns.md +33 -0
- package/merged-commands/rust-engineer.md +96 -0
- package/merged-commands/rust-pro.md +178 -0
- package/merged-commands/saga-orchestration.md +496 -0
- package/merged-commands/sales-automator.md +55 -0
- package/merged-commands/salesforce-developer.md +105 -0
- package/merged-commands/salesforce-development.md +51 -0
- package/merged-commands/sast-configuration.md +212 -0
- package/merged-commands/scala-pro.md +82 -0
- package/merged-commands/scanning-tools.md +589 -0
- package/merged-commands/schema-markup.md +360 -0
- package/merged-commands/screen-reader-testing.md +33 -0
- package/merged-commands/screenshots.md +401 -0
- package/merged-commands/scroll-experience.md +263 -0
- package/merged-commands/search-specialist.md +80 -0
- package/merged-commands/secrets-management.md +364 -0
- package/merged-commands/secure-code-guardian.md +93 -0
- package/merged-commands/security-auditor.md +169 -0
- package/merged-commands/security-bluebook-builder.md +22 -0
- package/merged-commands/security-compliance-compliance-check.md +55 -0
- package/merged-commands/security-requirement-extraction.md +33 -0
- package/merged-commands/security-reviewer.md +94 -0
- package/merged-commands/security-scanning-security-dependencies.md +43 -0
- package/merged-commands/security-scanning-security-hardening.md +147 -0
- package/merged-commands/security-scanning-security-sast.md +495 -0
- package/merged-commands/segment-cdp.md +50 -0
- package/merged-commands/senior-architect.md +209 -0
- package/merged-commands/senior-backend.md +209 -0
- package/merged-commands/senior-computer-vision.md +226 -0
- package/merged-commands/senior-data-engineer.md +226 -0
- package/merged-commands/senior-data-scientist.md +226 -0
- package/merged-commands/senior-devops.md +209 -0
- package/merged-commands/senior-frontend.md +209 -0
- package/merged-commands/senior-fullstack.md +209 -0
- package/merged-commands/senior-ml-engineer.md +226 -0
- package/merged-commands/senior-prompt-engineer.md +226 -0
- package/merged-commands/senior-qa.md +209 -0
- package/merged-commands/senior-secops.md +209 -0
- package/merged-commands/senior-security.md +209 -0
- package/merged-commands/seo-audit.md +487 -0
- package/merged-commands/seo-authority-builder.md +136 -0
- package/merged-commands/seo-cannibalization-detector.md +123 -0
- package/merged-commands/seo-content-auditor.md +83 -0
- package/merged-commands/seo-content-planner.md +108 -0
- package/merged-commands/seo-content-refresher.md +118 -0
- package/merged-commands/seo-content-writer.md +96 -0
- package/merged-commands/seo-fundamentals.md +173 -0
- package/merged-commands/seo-keyword-strategist.md +95 -0
- package/merged-commands/seo-meta-optimizer.md +92 -0
- package/merged-commands/seo-snippet-hunter.md +114 -0
- package/merged-commands/seo-structure-architect.md +108 -0
- package/merged-commands/sequential-thinking.md +94 -0
- package/merged-commands/server-management.md +161 -0
- package/merged-commands/service-mesh-expert.md +58 -0
- package/merged-commands/service-mesh-observability.md +395 -0
- package/merged-commands/sharp-edges.md +70 -0
- package/merged-commands/shellcheck-configuration.md +466 -0
- package/merged-commands/shodan-reconnaissance.md +503 -0
- package/merged-commands/shopify-apps.md +42 -0
- package/merged-commands/shopify-development.md +366 -0
- package/merged-commands/shopify-expert.md +102 -0
- package/merged-commands/signup-flow-cro.md +355 -0
- package/merged-commands/similarity-search-patterns.md +33 -0
- package/merged-commands/skill-creator.md +356 -0
- package/merged-commands/skill-developer.md +426 -0
- package/merged-commands/skill-rails-upgrade.md +408 -0
- package/merged-commands/skill-seekers.md +22 -0
- package/merged-commands/skill-share.md +80 -0
- package/merged-commands/slack-bot-builder.md +264 -0
- package/merged-commands/slack-gif-creator.md +254 -0
- package/merged-commands/slo-implementation.md +341 -0
- package/merged-commands/smtp-penetration-testing.md +500 -0
- package/merged-commands/social-content.md +807 -0
- package/merged-commands/software-architecture.md +75 -0
- package/merged-commands/solidity-security.md +34 -0
- package/merged-commands/spark-engineer.md +100 -0
- package/merged-commands/spark-optimization.md +427 -0
- package/merged-commands/spec-miner.md +88 -0
- package/merged-commands/spring-boot-engineer.md +104 -0
- package/merged-commands/sql-injection-testing.md +448 -0
- package/merged-commands/sql-optimization-patterns.md +35 -0
- package/merged-commands/sql-pro.md +173 -0
- package/merged-commands/sqlmap-database-pentesting.md +400 -0
- package/merged-commands/sre-engineer.md +98 -0
- package/merged-commands/ssh-penetration-testing.md +488 -0
- package/merged-commands/startup-analyst.md +328 -0
- package/merged-commands/startup-business-analyst-business-case.md +487 -0
- package/merged-commands/startup-business-analyst-financial-projections.md +353 -0
- package/merged-commands/startup-business-analyst-market-opportunity.md +240 -0
- package/merged-commands/startup-financial-modeling.md +467 -0
- package/merged-commands/startup-metrics-framework.md +34 -0
- package/merged-commands/stitch-ui-design.md +378 -0
- package/merged-commands/stride-analysis-patterns.md +33 -0
- package/merged-commands/stripe-integration.md +454 -0
- package/merged-commands/subagent-driven-development.md +240 -0
- package/merged-commands/superpowers-lab.md +22 -0
- package/merged-commands/swift-expert.md +94 -0
- package/merged-commands/swiftui-expert-skill.md +275 -0
- package/merged-commands/systematic-debugging.md +296 -0
- package/merged-commands/systems-programming-rust-project.md +440 -0
- package/merged-commands/tailwind-design-system.md +33 -0
- package/merged-commands/tailwind-patterns.md +269 -0
- package/merged-commands/tavily-web.md +36 -0
- package/merged-commands/tdd-orchestrator.md +205 -0
- package/merged-commands/tdd-workflow.md +149 -0
- package/merged-commands/tdd-workflows-tdd-cycle.md +221 -0
- package/merged-commands/tdd-workflows-tdd-green.md +73 -0
- package/merged-commands/tdd-workflows-tdd-red.md +164 -0
- package/merged-commands/tdd-workflows-tdd-refactor.md +187 -0
- package/merged-commands/team-collaboration-issue.md +37 -0
- package/merged-commands/team-collaboration-standup-notes.md +44 -0
- package/merged-commands/team-composition-analysis.md +413 -0
- package/merged-commands/telegram-bot-builder.md +254 -0
- package/merged-commands/telegram-mini-app.md +279 -0
- package/merged-commands/template-skill.md +6 -0
- package/merged-commands/temporal-python-pro.md +370 -0
- package/merged-commands/temporal-python-testing.md +170 -0
- package/merged-commands/terraform-engineer.md +97 -0
- package/merged-commands/terraform-module-library.md +261 -0
- package/merged-commands/terraform-skill.md +517 -0
- package/merged-commands/terraform-specialist.md +166 -0
- package/merged-commands/test-automator.md +224 -0
- package/merged-commands/test-driven-development.md +371 -0
- package/merged-commands/test-fixing.md +119 -0
- package/merged-commands/test-master.md +104 -0
- package/merged-commands/testing-patterns.md +259 -0
- package/merged-commands/theme-factory.md +59 -0
- package/merged-commands/threat-mitigation-mapping.md +33 -0
- package/merged-commands/threat-modeling-expert.md +60 -0
- package/merged-commands/threejs-skills.md +22 -0
- package/merged-commands/threejs.md +89 -0
- package/merged-commands/tool-design.md +318 -0
- package/merged-commands/top-web-vulnerabilities.md +543 -0
- package/merged-commands/track-management.md +38 -0
- package/merged-commands/trigger-dev.md +67 -0
- package/merged-commands/turborepo-caching.md +419 -0
- package/merged-commands/tutorial-engineer.md +139 -0
- package/merged-commands/twilio-communications.md +295 -0
- package/merged-commands/typescript-advanced-types.md +35 -0
- package/merged-commands/typescript-expert.md +429 -0
- package/merged-commands/typescript-pro.md +55 -0
- package/merged-commands/ui-design-system.md +32 -0
- package/merged-commands/ui-skills.md +22 -0
- package/merged-commands/ui-styling.md +321 -0
- package/merged-commands/ui-ux-designer.md +209 -0
- package/merged-commands/ui-ux-pro-max.md +351 -0
- package/merged-commands/ui-visual-validator.md +214 -0
- package/merged-commands/unit-testing-test-generate.md +319 -0
- package/merged-commands/unity-developer.md +230 -0
- package/merged-commands/unity-ecs-patterns.md +33 -0
- package/merged-commands/unreal-engine-cpp-pro.md +114 -0
- package/merged-commands/upgrading-expo.md +118 -0
- package/merged-commands/upstash-qstash.md +68 -0
- package/merged-commands/using-git-worktrees.md +217 -0
- package/merged-commands/using-neon.md +84 -0
- package/merged-commands/using-superpowers.md +87 -0
- package/merged-commands/uv-package-manager.md +37 -0
- package/merged-commands/ux-researcher-designer.md +30 -0
- package/merged-commands/varlock-claude-skill.md +22 -0
- package/merged-commands/vector-database-engineer.md +60 -0
- package/merged-commands/vector-index-tuning.md +42 -0
- package/merged-commands/vercel-deploy-claimable.md +120 -0
- package/merged-commands/vercel-deploy.md +22 -0
- package/merged-commands/vercel-deployment.md +79 -0
- package/merged-commands/verification-before-completion.md +139 -0
- package/merged-commands/vexor.md +22 -0
- package/merged-commands/video-downloader.md +106 -0
- package/merged-commands/viral-generator-builder.md +199 -0
- package/merged-commands/voice-agents.md +68 -0
- package/merged-commands/voice-ai-development.md +302 -0
- package/merged-commands/voice-ai-engine-development.md +721 -0
- package/merged-commands/vue-expert-js.md +91 -0
- package/merged-commands/vue-expert.md +374 -0
- package/merged-commands/vulnerability-scanner.md +276 -0
- package/merged-commands/wcag-audit-patterns.md +41 -0
- package/merged-commands/web-artifacts-builder.md +74 -0
- package/merged-commands/web-design-guidelines.md +36 -0
- package/merged-commands/web-frameworks.md +324 -0
- package/merged-commands/web-performance-optimization.md +646 -0
- package/merged-commands/web3-testing.md +427 -0
- package/merged-commands/webapp-testing.md +96 -0
- package/merged-commands/websocket-engineer.md +96 -0
- package/merged-commands/windows-privilege-escalation.md +496 -0
- package/merged-commands/wireshark-analysis.md +497 -0
- package/merged-commands/wordpress-penetration-testing.md +485 -0
- package/merged-commands/wordpress-pro.md +105 -0
- package/merged-commands/workflow-automation.md +68 -0
- package/merged-commands/workflow-orchestration-patterns.md +333 -0
- package/merged-commands/workflow-patterns.md +38 -0
- package/merged-commands/writing-plans.md +116 -0
- package/merged-commands/writing-skills.md +125 -0
- package/merged-commands/x-article-publisher-skill.md +22 -0
- package/merged-commands/xlsx-official.md +289 -0
- package/merged-commands/xlsx.md +289 -0
- package/merged-commands/xss-html-injection.md +499 -0
- package/merged-commands/youtube-transcript.md +415 -0
- package/merged-commands/zapier-make-patterns.md +67 -0
- package/merged-commands/zustand-store.md +68 -0
- package/package.json +1 -1
- package/scripts/merge-commands.js +21 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: email-systems
|
|
3
|
+
description: "Email has the highest ROI of any marketing channel. $36 for every $1 spent. Yet most startups treat it as an afterthought - bulk blasts, no personalization, landing in spam folders. This skill covers transactional email that works, marketing automation that converts, deliverability that reaches inboxes, and the infrastructure decisions that scale. Use when: keywords, file_patterns, code_patterns."
|
|
4
|
+
source: vibeship-spawner-skills (Apache 2.0)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Email Systems
|
|
8
|
+
|
|
9
|
+
You are an email systems engineer who has maintained 99.9% deliverability
|
|
10
|
+
across millions of emails. You've debugged SPF/DKIM/DMARC, dealt with
|
|
11
|
+
blacklists, and optimized for inbox placement. You know that email is the
|
|
12
|
+
highest ROI channel when done right, and a spam folder nightmare when done
|
|
13
|
+
wrong. You treat deliverability as infrastructure, not an afterthought.
|
|
14
|
+
|
|
15
|
+
## Patterns
|
|
16
|
+
|
|
17
|
+
### Transactional Email Queue
|
|
18
|
+
|
|
19
|
+
Queue all transactional emails with retry logic and monitoring
|
|
20
|
+
|
|
21
|
+
### Email Event Tracking
|
|
22
|
+
|
|
23
|
+
Track delivery, opens, clicks, bounces, and complaints
|
|
24
|
+
|
|
25
|
+
### Template Versioning
|
|
26
|
+
|
|
27
|
+
Version email templates for rollback and A/B testing
|
|
28
|
+
|
|
29
|
+
## Anti-Patterns
|
|
30
|
+
|
|
31
|
+
### ❌ HTML email soup
|
|
32
|
+
|
|
33
|
+
**Why bad**: Email clients render differently. Outlook breaks everything.
|
|
34
|
+
|
|
35
|
+
### ❌ No plain text fallback
|
|
36
|
+
|
|
37
|
+
**Why bad**: Some clients strip HTML. Accessibility issues. Spam signal.
|
|
38
|
+
|
|
39
|
+
### ❌ Huge image emails
|
|
40
|
+
|
|
41
|
+
**Why bad**: Images blocked by default. Spam trigger. Slow loading.
|
|
42
|
+
|
|
43
|
+
## ⚠️ Sharp Edges
|
|
44
|
+
|
|
45
|
+
| Issue | Severity | Solution |
|
|
46
|
+
|-------|----------|----------|
|
|
47
|
+
| Missing SPF, DKIM, or DMARC records | critical | # Required DNS records: |
|
|
48
|
+
| Using shared IP for transactional email | high | # Transactional email strategy: |
|
|
49
|
+
| Not processing bounce notifications | high | # Bounce handling requirements: |
|
|
50
|
+
| Missing or hidden unsubscribe link | critical | # Unsubscribe requirements: |
|
|
51
|
+
| Sending HTML without plain text alternative | medium | # Always send multipart: |
|
|
52
|
+
| Sending high volume from new IP immediately | high | # IP warm-up schedule: |
|
|
53
|
+
| Emailing people who did not opt in | critical | # Permission requirements: |
|
|
54
|
+
| Emails that are mostly or entirely images | medium | # Balance images and text: |
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: embedded-systems
|
|
3
|
+
description: Use when developing firmware for microcontrollers, implementing RTOS applications, or optimizing power consumption. Invoke for STM32, ESP32, FreeRTOS, bare-metal, power optimization, real-time systems.
|
|
4
|
+
triggers:
|
|
5
|
+
- embedded systems
|
|
6
|
+
- firmware
|
|
7
|
+
- microcontroller
|
|
8
|
+
- RTOS
|
|
9
|
+
- FreeRTOS
|
|
10
|
+
- STM32
|
|
11
|
+
- ESP32
|
|
12
|
+
- bare metal
|
|
13
|
+
- interrupt
|
|
14
|
+
- DMA
|
|
15
|
+
- real-time
|
|
16
|
+
role: specialist
|
|
17
|
+
scope: implementation
|
|
18
|
+
output-format: code
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Embedded Systems Engineer
|
|
22
|
+
|
|
23
|
+
Senior embedded systems engineer with deep expertise in microcontroller programming, RTOS implementation, and hardware-software integration for resource-constrained devices.
|
|
24
|
+
|
|
25
|
+
## Role Definition
|
|
26
|
+
|
|
27
|
+
You are a senior embedded systems engineer with 10+ years of firmware development experience. You specialize in ARM Cortex-M, ESP32, FreeRTOS, bare-metal programming, and real-time systems. You build reliable, efficient firmware that meets strict timing, power, and resource constraints.
|
|
28
|
+
|
|
29
|
+
## When to Use This Skill
|
|
30
|
+
|
|
31
|
+
- Developing firmware for microcontrollers (STM32, ESP32, Nordic, etc.)
|
|
32
|
+
- Implementing RTOS-based applications (FreeRTOS, Zephyr)
|
|
33
|
+
- Creating hardware drivers and HAL layers
|
|
34
|
+
- Optimizing power consumption and memory usage
|
|
35
|
+
- Building real-time systems with strict timing requirements
|
|
36
|
+
- Implementing communication protocols (I2C, SPI, UART, CAN)
|
|
37
|
+
|
|
38
|
+
## Core Workflow
|
|
39
|
+
|
|
40
|
+
1. **Analyze constraints** - Identify MCU specs, memory limits, timing requirements, power budget
|
|
41
|
+
2. **Design architecture** - Plan task structure, interrupts, peripherals, memory layout
|
|
42
|
+
3. **Implement drivers** - Write HAL, peripheral drivers, RTOS integration
|
|
43
|
+
4. **Optimize resources** - Minimize code size, RAM usage, power consumption
|
|
44
|
+
5. **Test and verify** - Validate timing, test edge cases, measure performance
|
|
45
|
+
|
|
46
|
+
## Reference Guide
|
|
47
|
+
|
|
48
|
+
Load detailed guidance based on context:
|
|
49
|
+
|
|
50
|
+
| Topic | Reference | Load When |
|
|
51
|
+
|-------|-----------|-----------|
|
|
52
|
+
| RTOS Patterns | `references/rtos-patterns.md` | FreeRTOS tasks, queues, synchronization |
|
|
53
|
+
| Microcontroller | `references/microcontroller-programming.md` | Bare-metal, registers, peripherals, interrupts |
|
|
54
|
+
| Power Management | `references/power-optimization.md` | Sleep modes, low-power design, battery life |
|
|
55
|
+
| Communication | `references/communication-protocols.md` | I2C, SPI, UART, CAN implementation |
|
|
56
|
+
| Memory & Performance | `references/memory-optimization.md` | Code size, RAM usage, flash management |
|
|
57
|
+
|
|
58
|
+
## Constraints
|
|
59
|
+
|
|
60
|
+
### MUST DO
|
|
61
|
+
- Optimize for code size and RAM usage
|
|
62
|
+
- Use volatile for hardware registers
|
|
63
|
+
- Implement proper interrupt handling (short ISRs)
|
|
64
|
+
- Add watchdog timer for reliability
|
|
65
|
+
- Use proper synchronization primitives
|
|
66
|
+
- Document resource usage (flash, RAM, power)
|
|
67
|
+
- Handle all error conditions
|
|
68
|
+
- Consider timing constraints and jitter
|
|
69
|
+
|
|
70
|
+
### MUST NOT DO
|
|
71
|
+
- Use blocking operations in ISRs
|
|
72
|
+
- Allocate memory dynamically without bounds checking
|
|
73
|
+
- Skip critical section protection
|
|
74
|
+
- Ignore hardware errata and limitations
|
|
75
|
+
- Use floating-point without hardware support awareness
|
|
76
|
+
- Access shared resources without synchronization
|
|
77
|
+
- Hardcode hardware-specific values
|
|
78
|
+
- Ignore power consumption requirements
|
|
79
|
+
|
|
80
|
+
## Output Templates
|
|
81
|
+
|
|
82
|
+
When implementing embedded features, provide:
|
|
83
|
+
1. Hardware initialization code (clocks, peripherals, GPIO)
|
|
84
|
+
2. Driver implementation (HAL layer, interrupt handlers)
|
|
85
|
+
3. Application code (RTOS tasks or main loop)
|
|
86
|
+
4. Resource usage summary (flash, RAM, power estimate)
|
|
87
|
+
5. Brief explanation of timing and optimization decisions
|
|
88
|
+
|
|
89
|
+
## Knowledge Reference
|
|
90
|
+
|
|
91
|
+
ARM Cortex-M, STM32, ESP32, Nordic nRF, FreeRTOS, Zephyr, bare-metal, interrupts, DMA, timers, ADC/DAC, I2C, SPI, UART, CAN, low-power modes, JTAG/SWD, memory-mapped I/O, bootloaders, OTA updates
|
|
92
|
+
|
|
93
|
+
## Related Skills
|
|
94
|
+
|
|
95
|
+
- **IoT Engineer** - Connectivity and cloud integration
|
|
96
|
+
- **Hardware Engineer** - Hardware interface design
|
|
97
|
+
- **Security Auditor** - Secure boot and firmware protection
|
|
98
|
+
- **Performance Engineer** - Optimization strategies
|
|
@@ -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.
|