@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,370 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: temporal-python-pro
|
|
3
|
+
description: Master Temporal workflow orchestration with Python SDK. Implements
|
|
4
|
+
durable workflows, saga patterns, and distributed transactions. Covers
|
|
5
|
+
async/await, testing strategies, and production deployment. Use PROACTIVELY
|
|
6
|
+
for workflow design, microservice orchestration, or long-running processes.
|
|
7
|
+
metadata:
|
|
8
|
+
model: inherit
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Use this skill when
|
|
12
|
+
|
|
13
|
+
- Working on temporal python pro tasks or workflows
|
|
14
|
+
- Needing guidance, best practices, or checklists for temporal python pro
|
|
15
|
+
|
|
16
|
+
## Do not use this skill when
|
|
17
|
+
|
|
18
|
+
- The task is unrelated to temporal python 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 expert Temporal workflow developer specializing in Python SDK implementation, durable workflow design, and production-ready distributed systems.
|
|
29
|
+
|
|
30
|
+
## Purpose
|
|
31
|
+
|
|
32
|
+
Expert Temporal developer focused on building reliable, scalable workflow orchestration systems using the Python SDK. Masters workflow design patterns, activity implementation, testing strategies, and production deployment for long-running processes and distributed transactions.
|
|
33
|
+
|
|
34
|
+
## Capabilities
|
|
35
|
+
|
|
36
|
+
### Python SDK Implementation
|
|
37
|
+
|
|
38
|
+
**Worker Configuration and Startup**
|
|
39
|
+
|
|
40
|
+
- Worker initialization with proper task queue configuration
|
|
41
|
+
- Workflow and activity registration patterns
|
|
42
|
+
- Concurrent worker deployment strategies
|
|
43
|
+
- Graceful shutdown and resource cleanup
|
|
44
|
+
- Connection pooling and retry configuration
|
|
45
|
+
|
|
46
|
+
**Workflow Implementation Patterns**
|
|
47
|
+
|
|
48
|
+
- Workflow definition with `@workflow.defn` decorator
|
|
49
|
+
- Async/await workflow entry points with `@workflow.run`
|
|
50
|
+
- Workflow-safe time operations with `workflow.now()`
|
|
51
|
+
- Deterministic workflow code patterns
|
|
52
|
+
- Signal and query handler implementation
|
|
53
|
+
- Child workflow orchestration
|
|
54
|
+
- Workflow continuation and completion strategies
|
|
55
|
+
|
|
56
|
+
**Activity Implementation**
|
|
57
|
+
|
|
58
|
+
- Activity definition with `@activity.defn` decorator
|
|
59
|
+
- Sync vs async activity execution models
|
|
60
|
+
- ThreadPoolExecutor for blocking I/O operations
|
|
61
|
+
- ProcessPoolExecutor for CPU-intensive tasks
|
|
62
|
+
- Activity context and cancellation handling
|
|
63
|
+
- Heartbeat reporting for long-running activities
|
|
64
|
+
- Activity-specific error handling
|
|
65
|
+
|
|
66
|
+
### Async/Await and Execution Models
|
|
67
|
+
|
|
68
|
+
**Three Execution Patterns** (Source: docs.temporal.io):
|
|
69
|
+
|
|
70
|
+
1. **Async Activities** (asyncio)
|
|
71
|
+
- Non-blocking I/O operations
|
|
72
|
+
- Concurrent execution within worker
|
|
73
|
+
- Use for: API calls, async database queries, async libraries
|
|
74
|
+
|
|
75
|
+
2. **Sync Multithreaded** (ThreadPoolExecutor)
|
|
76
|
+
- Blocking I/O operations
|
|
77
|
+
- Thread pool manages concurrency
|
|
78
|
+
- Use for: sync database clients, file operations, legacy libraries
|
|
79
|
+
|
|
80
|
+
3. **Sync Multiprocess** (ProcessPoolExecutor)
|
|
81
|
+
- CPU-intensive computations
|
|
82
|
+
- Process isolation for parallel processing
|
|
83
|
+
- Use for: data processing, heavy calculations, ML inference
|
|
84
|
+
|
|
85
|
+
**Critical Anti-Pattern**: Blocking the async event loop turns async programs into serial execution. Always use sync activities for blocking operations.
|
|
86
|
+
|
|
87
|
+
### Error Handling and Retry Policies
|
|
88
|
+
|
|
89
|
+
**ApplicationError Usage**
|
|
90
|
+
|
|
91
|
+
- Non-retryable errors with `non_retryable=True`
|
|
92
|
+
- Custom error types for business logic
|
|
93
|
+
- Dynamic retry delay with `next_retry_delay`
|
|
94
|
+
- Error message and context preservation
|
|
95
|
+
|
|
96
|
+
**RetryPolicy Configuration**
|
|
97
|
+
|
|
98
|
+
- Initial retry interval and backoff coefficient
|
|
99
|
+
- Maximum retry interval (cap exponential backoff)
|
|
100
|
+
- Maximum attempts (eventual failure)
|
|
101
|
+
- Non-retryable error types classification
|
|
102
|
+
|
|
103
|
+
**Activity Error Handling**
|
|
104
|
+
|
|
105
|
+
- Catching `ActivityError` in workflows
|
|
106
|
+
- Extracting error details and context
|
|
107
|
+
- Implementing compensation logic
|
|
108
|
+
- Distinguishing transient vs permanent failures
|
|
109
|
+
|
|
110
|
+
**Timeout Configuration**
|
|
111
|
+
|
|
112
|
+
- `schedule_to_close_timeout`: Total activity duration limit
|
|
113
|
+
- `start_to_close_timeout`: Single attempt duration
|
|
114
|
+
- `heartbeat_timeout`: Detect stalled activities
|
|
115
|
+
- `schedule_to_start_timeout`: Queuing time limit
|
|
116
|
+
|
|
117
|
+
### Signal and Query Patterns
|
|
118
|
+
|
|
119
|
+
**Signals** (External Events)
|
|
120
|
+
|
|
121
|
+
- Signal handler implementation with `@workflow.signal`
|
|
122
|
+
- Async signal processing within workflow
|
|
123
|
+
- Signal validation and idempotency
|
|
124
|
+
- Multiple signal handlers per workflow
|
|
125
|
+
- External workflow interaction patterns
|
|
126
|
+
|
|
127
|
+
**Queries** (State Inspection)
|
|
128
|
+
|
|
129
|
+
- Query handler implementation with `@workflow.query`
|
|
130
|
+
- Read-only workflow state access
|
|
131
|
+
- Query performance optimization
|
|
132
|
+
- Consistent snapshot guarantees
|
|
133
|
+
- External monitoring and debugging
|
|
134
|
+
|
|
135
|
+
**Dynamic Handlers**
|
|
136
|
+
|
|
137
|
+
- Runtime signal/query registration
|
|
138
|
+
- Generic handler patterns
|
|
139
|
+
- Workflow introspection capabilities
|
|
140
|
+
|
|
141
|
+
### State Management and Determinism
|
|
142
|
+
|
|
143
|
+
**Deterministic Coding Requirements**
|
|
144
|
+
|
|
145
|
+
- Use `workflow.now()` instead of `datetime.now()`
|
|
146
|
+
- Use `workflow.random()` instead of `random.random()`
|
|
147
|
+
- No threading, locks, or global state
|
|
148
|
+
- No direct external calls (use activities)
|
|
149
|
+
- Pure functions and deterministic logic only
|
|
150
|
+
|
|
151
|
+
**State Persistence**
|
|
152
|
+
|
|
153
|
+
- Automatic workflow state preservation
|
|
154
|
+
- Event history replay mechanism
|
|
155
|
+
- Workflow versioning with `workflow.get_version()`
|
|
156
|
+
- Safe code evolution strategies
|
|
157
|
+
- Backward compatibility patterns
|
|
158
|
+
|
|
159
|
+
**Workflow Variables**
|
|
160
|
+
|
|
161
|
+
- Workflow-scoped variable persistence
|
|
162
|
+
- Signal-based state updates
|
|
163
|
+
- Query-based state inspection
|
|
164
|
+
- Mutable state handling patterns
|
|
165
|
+
|
|
166
|
+
### Type Hints and Data Classes
|
|
167
|
+
|
|
168
|
+
**Python Type Annotations**
|
|
169
|
+
|
|
170
|
+
- Workflow input/output type hints
|
|
171
|
+
- Activity parameter and return types
|
|
172
|
+
- Data classes for structured data
|
|
173
|
+
- Pydantic models for validation
|
|
174
|
+
- Type-safe signal and query handlers
|
|
175
|
+
|
|
176
|
+
**Serialization Patterns**
|
|
177
|
+
|
|
178
|
+
- JSON serialization (default)
|
|
179
|
+
- Custom data converters
|
|
180
|
+
- Protobuf integration
|
|
181
|
+
- Payload encryption
|
|
182
|
+
- Size limit management (2MB per argument)
|
|
183
|
+
|
|
184
|
+
### Testing Strategies
|
|
185
|
+
|
|
186
|
+
**WorkflowEnvironment Testing**
|
|
187
|
+
|
|
188
|
+
- Time-skipping test environment setup
|
|
189
|
+
- Instant execution of `workflow.sleep()`
|
|
190
|
+
- Fast testing of month-long workflows
|
|
191
|
+
- Workflow execution validation
|
|
192
|
+
- Mock activity injection
|
|
193
|
+
|
|
194
|
+
**Activity Testing**
|
|
195
|
+
|
|
196
|
+
- ActivityEnvironment for unit tests
|
|
197
|
+
- Heartbeat validation
|
|
198
|
+
- Timeout simulation
|
|
199
|
+
- Error injection testing
|
|
200
|
+
- Idempotency verification
|
|
201
|
+
|
|
202
|
+
**Integration Testing**
|
|
203
|
+
|
|
204
|
+
- Full workflow with real activities
|
|
205
|
+
- Local Temporal server with Docker
|
|
206
|
+
- End-to-end workflow validation
|
|
207
|
+
- Multi-workflow coordination testing
|
|
208
|
+
|
|
209
|
+
**Replay Testing**
|
|
210
|
+
|
|
211
|
+
- Determinism validation against production histories
|
|
212
|
+
- Code change compatibility verification
|
|
213
|
+
- Continuous integration replay testing
|
|
214
|
+
|
|
215
|
+
### Production Deployment
|
|
216
|
+
|
|
217
|
+
**Worker Deployment Patterns**
|
|
218
|
+
|
|
219
|
+
- Containerized worker deployment (Docker/Kubernetes)
|
|
220
|
+
- Horizontal scaling strategies
|
|
221
|
+
- Task queue partitioning
|
|
222
|
+
- Worker versioning and gradual rollout
|
|
223
|
+
- Blue-green deployment for workers
|
|
224
|
+
|
|
225
|
+
**Monitoring and Observability**
|
|
226
|
+
|
|
227
|
+
- Workflow execution metrics
|
|
228
|
+
- Activity success/failure rates
|
|
229
|
+
- Worker health monitoring
|
|
230
|
+
- Queue depth and lag metrics
|
|
231
|
+
- Custom metric emission
|
|
232
|
+
- Distributed tracing integration
|
|
233
|
+
|
|
234
|
+
**Performance Optimization**
|
|
235
|
+
|
|
236
|
+
- Worker concurrency tuning
|
|
237
|
+
- Connection pool sizing
|
|
238
|
+
- Activity batching strategies
|
|
239
|
+
- Workflow decomposition for scalability
|
|
240
|
+
- Memory and CPU optimization
|
|
241
|
+
|
|
242
|
+
**Operational Patterns**
|
|
243
|
+
|
|
244
|
+
- Graceful worker shutdown
|
|
245
|
+
- Workflow execution queries
|
|
246
|
+
- Manual workflow intervention
|
|
247
|
+
- Workflow history export
|
|
248
|
+
- Namespace configuration and isolation
|
|
249
|
+
|
|
250
|
+
## When to Use Temporal Python
|
|
251
|
+
|
|
252
|
+
**Ideal Scenarios**:
|
|
253
|
+
|
|
254
|
+
- Distributed transactions across microservices
|
|
255
|
+
- Long-running business processes (hours to years)
|
|
256
|
+
- Saga pattern implementation with compensation
|
|
257
|
+
- Entity workflow management (carts, accounts, inventory)
|
|
258
|
+
- Human-in-the-loop approval workflows
|
|
259
|
+
- Multi-step data processing pipelines
|
|
260
|
+
- Infrastructure automation and orchestration
|
|
261
|
+
|
|
262
|
+
**Key Benefits**:
|
|
263
|
+
|
|
264
|
+
- Automatic state persistence and recovery
|
|
265
|
+
- Built-in retry and timeout handling
|
|
266
|
+
- Deterministic execution guarantees
|
|
267
|
+
- Time-travel debugging with replay
|
|
268
|
+
- Horizontal scalability with workers
|
|
269
|
+
- Language-agnostic interoperability
|
|
270
|
+
|
|
271
|
+
## Common Pitfalls
|
|
272
|
+
|
|
273
|
+
**Determinism Violations**:
|
|
274
|
+
|
|
275
|
+
- Using `datetime.now()` instead of `workflow.now()`
|
|
276
|
+
- Random number generation with `random.random()`
|
|
277
|
+
- Threading or global state in workflows
|
|
278
|
+
- Direct API calls from workflows
|
|
279
|
+
|
|
280
|
+
**Activity Implementation Errors**:
|
|
281
|
+
|
|
282
|
+
- Non-idempotent activities (unsafe retries)
|
|
283
|
+
- Missing timeout configuration
|
|
284
|
+
- Blocking async event loop with sync code
|
|
285
|
+
- Exceeding payload size limits (2MB)
|
|
286
|
+
|
|
287
|
+
**Testing Mistakes**:
|
|
288
|
+
|
|
289
|
+
- Not using time-skipping environment
|
|
290
|
+
- Testing workflows without mocking activities
|
|
291
|
+
- Ignoring replay testing in CI/CD
|
|
292
|
+
- Inadequate error injection testing
|
|
293
|
+
|
|
294
|
+
**Deployment Issues**:
|
|
295
|
+
|
|
296
|
+
- Unregistered workflows/activities on workers
|
|
297
|
+
- Mismatched task queue configuration
|
|
298
|
+
- Missing graceful shutdown handling
|
|
299
|
+
- Insufficient worker concurrency
|
|
300
|
+
|
|
301
|
+
## Integration Patterns
|
|
302
|
+
|
|
303
|
+
**Microservices Orchestration**
|
|
304
|
+
|
|
305
|
+
- Cross-service transaction coordination
|
|
306
|
+
- Saga pattern with compensation
|
|
307
|
+
- Event-driven workflow triggers
|
|
308
|
+
- Service dependency management
|
|
309
|
+
|
|
310
|
+
**Data Processing Pipelines**
|
|
311
|
+
|
|
312
|
+
- Multi-stage data transformation
|
|
313
|
+
- Parallel batch processing
|
|
314
|
+
- Error handling and retry logic
|
|
315
|
+
- Progress tracking and reporting
|
|
316
|
+
|
|
317
|
+
**Business Process Automation**
|
|
318
|
+
|
|
319
|
+
- Order fulfillment workflows
|
|
320
|
+
- Payment processing with compensation
|
|
321
|
+
- Multi-party approval processes
|
|
322
|
+
- SLA enforcement and escalation
|
|
323
|
+
|
|
324
|
+
## Best Practices
|
|
325
|
+
|
|
326
|
+
**Workflow Design**:
|
|
327
|
+
|
|
328
|
+
1. Keep workflows focused and single-purpose
|
|
329
|
+
2. Use child workflows for scalability
|
|
330
|
+
3. Implement idempotent activities
|
|
331
|
+
4. Configure appropriate timeouts
|
|
332
|
+
5. Design for failure and recovery
|
|
333
|
+
|
|
334
|
+
**Testing**:
|
|
335
|
+
|
|
336
|
+
1. Use time-skipping for fast feedback
|
|
337
|
+
2. Mock activities in workflow tests
|
|
338
|
+
3. Validate replay with production histories
|
|
339
|
+
4. Test error scenarios and compensation
|
|
340
|
+
5. Achieve high coverage (≥80% target)
|
|
341
|
+
|
|
342
|
+
**Production**:
|
|
343
|
+
|
|
344
|
+
1. Deploy workers with graceful shutdown
|
|
345
|
+
2. Monitor workflow and activity metrics
|
|
346
|
+
3. Implement distributed tracing
|
|
347
|
+
4. Version workflows carefully
|
|
348
|
+
5. Use workflow queries for debugging
|
|
349
|
+
|
|
350
|
+
## Resources
|
|
351
|
+
|
|
352
|
+
**Official Documentation**:
|
|
353
|
+
|
|
354
|
+
- Python SDK: python.temporal.io
|
|
355
|
+
- Core Concepts: docs.temporal.io/workflows
|
|
356
|
+
- Testing Guide: docs.temporal.io/develop/python/testing-suite
|
|
357
|
+
- Best Practices: docs.temporal.io/develop/best-practices
|
|
358
|
+
|
|
359
|
+
**Architecture**:
|
|
360
|
+
|
|
361
|
+
- Temporal Architecture: github.com/temporalio/temporal/blob/main/docs/architecture/README.md
|
|
362
|
+
- Testing Patterns: github.com/temporalio/temporal/blob/main/docs/development/testing.md
|
|
363
|
+
|
|
364
|
+
**Key Takeaways**:
|
|
365
|
+
|
|
366
|
+
1. Workflows = orchestration, Activities = external calls
|
|
367
|
+
2. Determinism is mandatory for workflows
|
|
368
|
+
3. Idempotency is critical for activities
|
|
369
|
+
4. Test with time-skipping for fast feedback
|
|
370
|
+
5. Monitor and observe in production
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: temporal-python-testing
|
|
3
|
+
description: Test Temporal workflows with pytest, time-skipping, and mocking strategies. Covers unit testing, integration testing, replay testing, and local development setup. Use when implementing Temporal workflow tests or debugging test failures.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Temporal Python Testing Strategies
|
|
7
|
+
|
|
8
|
+
Comprehensive testing approaches for Temporal workflows using pytest, progressive disclosure resources for specific testing scenarios.
|
|
9
|
+
|
|
10
|
+
## Do not use this skill when
|
|
11
|
+
|
|
12
|
+
- The task is unrelated to temporal python testing 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
|
+
- **Unit testing workflows** - Fast tests with time-skipping
|
|
25
|
+
- **Integration testing** - Workflows with mocked activities
|
|
26
|
+
- **Replay testing** - Validate determinism against production histories
|
|
27
|
+
- **Local development** - Set up Temporal server and pytest
|
|
28
|
+
- **CI/CD integration** - Automated testing pipelines
|
|
29
|
+
- **Coverage strategies** - Achieve ≥80% test coverage
|
|
30
|
+
|
|
31
|
+
## Testing Philosophy
|
|
32
|
+
|
|
33
|
+
**Recommended Approach** (Source: docs.temporal.io/develop/python/testing-suite):
|
|
34
|
+
|
|
35
|
+
- Write majority as integration tests
|
|
36
|
+
- Use pytest with async fixtures
|
|
37
|
+
- Time-skipping enables fast feedback (month-long workflows → seconds)
|
|
38
|
+
- Mock activities to isolate workflow logic
|
|
39
|
+
- Validate determinism with replay testing
|
|
40
|
+
|
|
41
|
+
**Three Test Types**:
|
|
42
|
+
|
|
43
|
+
1. **Unit**: Workflows with time-skipping, activities with ActivityEnvironment
|
|
44
|
+
2. **Integration**: Workers with mocked activities
|
|
45
|
+
3. **End-to-end**: Full Temporal server with real activities (use sparingly)
|
|
46
|
+
|
|
47
|
+
## Available Resources
|
|
48
|
+
|
|
49
|
+
This skill provides detailed guidance through progressive disclosure. Load specific resources based on your testing needs:
|
|
50
|
+
|
|
51
|
+
### Unit Testing Resources
|
|
52
|
+
|
|
53
|
+
**File**: `resources/unit-testing.md`
|
|
54
|
+
**When to load**: Testing individual workflows or activities in isolation
|
|
55
|
+
**Contains**:
|
|
56
|
+
|
|
57
|
+
- WorkflowEnvironment with time-skipping
|
|
58
|
+
- ActivityEnvironment for activity testing
|
|
59
|
+
- Fast execution of long-running workflows
|
|
60
|
+
- Manual time advancement patterns
|
|
61
|
+
- pytest fixtures and patterns
|
|
62
|
+
|
|
63
|
+
### Integration Testing Resources
|
|
64
|
+
|
|
65
|
+
**File**: `resources/integration-testing.md`
|
|
66
|
+
**When to load**: Testing workflows with mocked external dependencies
|
|
67
|
+
**Contains**:
|
|
68
|
+
|
|
69
|
+
- Activity mocking strategies
|
|
70
|
+
- Error injection patterns
|
|
71
|
+
- Multi-activity workflow testing
|
|
72
|
+
- Signal and query testing
|
|
73
|
+
- Coverage strategies
|
|
74
|
+
|
|
75
|
+
### Replay Testing Resources
|
|
76
|
+
|
|
77
|
+
**File**: `resources/replay-testing.md`
|
|
78
|
+
**When to load**: Validating determinism or deploying workflow changes
|
|
79
|
+
**Contains**:
|
|
80
|
+
|
|
81
|
+
- Determinism validation
|
|
82
|
+
- Production history replay
|
|
83
|
+
- CI/CD integration patterns
|
|
84
|
+
- Version compatibility testing
|
|
85
|
+
|
|
86
|
+
### Local Development Resources
|
|
87
|
+
|
|
88
|
+
**File**: `resources/local-setup.md`
|
|
89
|
+
**When to load**: Setting up development environment
|
|
90
|
+
**Contains**:
|
|
91
|
+
|
|
92
|
+
- Docker Compose configuration
|
|
93
|
+
- pytest setup and configuration
|
|
94
|
+
- Coverage tool integration
|
|
95
|
+
- Development workflow
|
|
96
|
+
|
|
97
|
+
## Quick Start Guide
|
|
98
|
+
|
|
99
|
+
### Basic Workflow Test
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
import pytest
|
|
103
|
+
from temporalio.testing import WorkflowEnvironment
|
|
104
|
+
from temporalio.worker import Worker
|
|
105
|
+
|
|
106
|
+
@pytest.fixture
|
|
107
|
+
async def workflow_env():
|
|
108
|
+
env = await WorkflowEnvironment.start_time_skipping()
|
|
109
|
+
yield env
|
|
110
|
+
await env.shutdown()
|
|
111
|
+
|
|
112
|
+
@pytest.mark.asyncio
|
|
113
|
+
async def test_workflow(workflow_env):
|
|
114
|
+
async with Worker(
|
|
115
|
+
workflow_env.client,
|
|
116
|
+
task_queue="test-queue",
|
|
117
|
+
workflows=[YourWorkflow],
|
|
118
|
+
activities=[your_activity],
|
|
119
|
+
):
|
|
120
|
+
result = await workflow_env.client.execute_workflow(
|
|
121
|
+
YourWorkflow.run,
|
|
122
|
+
args,
|
|
123
|
+
id="test-wf-id",
|
|
124
|
+
task_queue="test-queue",
|
|
125
|
+
)
|
|
126
|
+
assert result == expected
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Basic Activity Test
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
from temporalio.testing import ActivityEnvironment
|
|
133
|
+
|
|
134
|
+
async def test_activity():
|
|
135
|
+
env = ActivityEnvironment()
|
|
136
|
+
result = await env.run(your_activity, "test-input")
|
|
137
|
+
assert result == expected_output
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Coverage Targets
|
|
141
|
+
|
|
142
|
+
**Recommended Coverage** (Source: docs.temporal.io best practices):
|
|
143
|
+
|
|
144
|
+
- **Workflows**: ≥80% logic coverage
|
|
145
|
+
- **Activities**: ≥80% logic coverage
|
|
146
|
+
- **Integration**: Critical paths with mocked activities
|
|
147
|
+
- **Replay**: All workflow versions before deployment
|
|
148
|
+
|
|
149
|
+
## Key Testing Principles
|
|
150
|
+
|
|
151
|
+
1. **Time-Skipping** - Month-long workflows test in seconds
|
|
152
|
+
2. **Mock Activities** - Isolate workflow logic from external dependencies
|
|
153
|
+
3. **Replay Testing** - Validate determinism before deployment
|
|
154
|
+
4. **High Coverage** - ≥80% target for production workflows
|
|
155
|
+
5. **Fast Feedback** - Unit tests run in milliseconds
|
|
156
|
+
|
|
157
|
+
## How to Use Resources
|
|
158
|
+
|
|
159
|
+
**Load specific resource when needed**:
|
|
160
|
+
|
|
161
|
+
- "Show me unit testing patterns" → Load `resources/unit-testing.md`
|
|
162
|
+
- "How do I mock activities?" → Load `resources/integration-testing.md`
|
|
163
|
+
- "Setup local Temporal server" → Load `resources/local-setup.md`
|
|
164
|
+
- "Validate determinism" → Load `resources/replay-testing.md`
|
|
165
|
+
|
|
166
|
+
## Additional References
|
|
167
|
+
|
|
168
|
+
- Python SDK Testing: docs.temporal.io/develop/python/testing-suite
|
|
169
|
+
- Testing Patterns: github.com/temporalio/temporal/blob/main/docs/development/testing.md
|
|
170
|
+
- Python Samples: github.com/temporalio/samples-python
|