opencode-skills-collection 3.1.12 → 3.1.14
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/README.md +4 -6
- package/bundled-skills/.antigravity-install-manifest.json +195 -1
- package/bundled-skills/ab-testing/SKILL.md +368 -0
- package/bundled-skills/ab-testing/evals/evals.json +105 -0
- package/bundled-skills/ab-testing/references/sample-size-guide.md +263 -0
- package/bundled-skills/ab-testing/references/test-templates.md +277 -0
- package/bundled-skills/accint-commitments/SKILL.md +32 -0
- package/bundled-skills/accint-frames/SKILL.md +35 -0
- package/bundled-skills/accint-solve/SKILL.md +22 -192
- package/bundled-skills/add-app-clip/SKILL.md +297 -0
- package/bundled-skills/add-app-clip/agents/openai.yaml +4 -0
- package/bundled-skills/add-app-clip/references/native-module.md +96 -0
- package/bundled-skills/agent-memory/SKILL.md +84 -0
- package/bundled-skills/alternatives-pages/README.md +46 -0
- package/bundled-skills/alternatives-pages/SKILL.md +376 -0
- package/bundled-skills/analytics/SKILL.md +324 -0
- package/bundled-skills/analytics/evals/evals.json +90 -0
- package/bundled-skills/analytics/references/event-library.md +260 -0
- package/bundled-skills/analytics/references/ga4-implementation.md +300 -0
- package/bundled-skills/analytics/references/gtm-implementation.md +390 -0
- package/bundled-skills/anti-deception/SKILL.md +50 -0
- package/bundled-skills/api-analyzer/SKILL.md +101 -0
- package/bundled-skills/api-and-interface-design/SKILL.md +307 -0
- package/bundled-skills/api-designer/SKILL.md +167 -0
- package/bundled-skills/api-integration/SKILL.md +175 -0
- package/bundled-skills/api-onboarding/README.md +47 -0
- package/bundled-skills/api-onboarding/SKILL.md +473 -0
- package/bundled-skills/api-sdk-generator/SKILL.md +223 -0
- package/bundled-skills/appium-skill/SKILL.md +317 -0
- package/bundled-skills/applicationinsights-web-ts/SKILL.md +477 -0
- package/bundled-skills/automated-triage/SKILL.md +189 -0
- package/bundled-skills/aws-agentic-ai/SKILL.md +141 -0
- package/bundled-skills/aws-cdk-development/SKILL.md +275 -0
- package/bundled-skills/aws-cost-operations/SKILL.md +273 -0
- package/bundled-skills/aws-mcp-setup/SKILL.md +192 -0
- package/bundled-skills/aws-serverless-eda/SKILL.md +394 -0
- package/bundled-skills/aws-sst-development/SKILL.md +175 -0
- package/bundled-skills/azure-ai-language-conversations-py/SKILL.md +112 -0
- package/bundled-skills/azure-servicebus-rust/SKILL.md +182 -0
- package/bundled-skills/azure-storage-queue-rust/SKILL.md +178 -0
- package/bundled-skills/baseline-ui/SKILL.md +15 -10
- package/bundled-skills/before-you-build/SKILL.md +111 -0
- package/bundled-skills/brooks-audit/SKILL.md +49 -0
- package/bundled-skills/brooks-audit/architecture-guide.md +195 -0
- package/bundled-skills/brooks-audit/onboarding-guide.md +89 -0
- package/bundled-skills/brooks-debt/SKILL.md +42 -0
- package/bundled-skills/brooks-debt/debt-guide.md +125 -0
- package/bundled-skills/brooks-harness/SKILL.md +139 -0
- package/bundled-skills/brooks-review/SKILL.md +42 -0
- package/bundled-skills/brooks-review/pr-review-guide.md +163 -0
- package/bundled-skills/brooks-sweep/SKILL.md +44 -0
- package/bundled-skills/brooks-sweep/sweep-guide.md +264 -0
- package/bundled-skills/brooks-test/SKILL.md +41 -0
- package/bundled-skills/brooks-test/test-guide.md +147 -0
- package/bundled-skills/bug-hunt-swarm/SKILL.md +189 -0
- package/bundled-skills/bug-hunt-swarm/agents/openai.yaml +4 -0
- package/bundled-skills/building-native-ui/SKILL.md +77 -18
- package/bundled-skills/building-native-ui/agents/openai.yaml +4 -0
- package/bundled-skills/building-native-ui/references/animations.md +220 -0
- package/bundled-skills/building-native-ui/references/controls.md +270 -0
- package/bundled-skills/building-native-ui/references/form-sheet.md +253 -0
- package/bundled-skills/building-native-ui/references/gradients.md +106 -0
- package/bundled-skills/building-native-ui/references/icons.md +213 -0
- package/bundled-skills/building-native-ui/references/media.md +198 -0
- package/bundled-skills/building-native-ui/references/route-structure.md +229 -0
- package/bundled-skills/building-native-ui/references/search.md +248 -0
- package/bundled-skills/building-native-ui/references/storage.md +121 -0
- package/bundled-skills/building-native-ui/references/tabs.md +433 -0
- package/bundled-skills/building-native-ui/references/toolbar-and-headers.md +284 -0
- package/bundled-skills/building-native-ui/references/visual-effects.md +197 -0
- package/bundled-skills/building-native-ui/references/webgpu-three.md +605 -0
- package/bundled-skills/building-native-ui/references/zoom-transitions.md +158 -0
- package/bundled-skills/changelog-updates/README.md +53 -0
- package/bundled-skills/changelog-updates/SKILL.md +552 -0
- package/bundled-skills/ci-cd-and-automation/SKILL.md +403 -0
- package/bundled-skills/claimable-postgres/SKILL.md +91 -59
- package/bundled-skills/co-marketing/SKILL.md +301 -0
- package/bundled-skills/co-marketing/evals/evals.json +84 -0
- package/bundled-skills/code-review-and-quality/SKILL.md +394 -0
- package/bundled-skills/code-showcase-core-components/SKILL.md +281 -0
- package/bundled-skills/code-showcase-react-ui-patterns/SKILL.md +306 -0
- package/bundled-skills/code-showcase-systematic-debugging/SKILL.md +167 -0
- package/bundled-skills/code-showcase-testing-patterns/SKILL.md +276 -0
- package/bundled-skills/code-simplification/SKILL.md +344 -0
- package/bundled-skills/community-building/README.md +102 -0
- package/bundled-skills/community-building/SKILL.md +415 -0
- package/bundled-skills/competitor-profiling/SKILL.md +427 -0
- package/bundled-skills/competitor-profiling/evals/evals.json +85 -0
- package/bundled-skills/competitor-profiling/references/templates.md +167 -0
- package/bundled-skills/competitor-profiling/references/tool-reference.md +179 -0
- package/bundled-skills/competitor-tracking/README.md +40 -0
- package/bundled-skills/competitor-tracking/SKILL.md +322 -0
- package/bundled-skills/context-engineering/SKILL.md +302 -0
- package/bundled-skills/cro/SKILL.md +202 -0
- package/bundled-skills/cro/evals/evals.json +111 -0
- package/bundled-skills/cro/references/experiments.md +248 -0
- package/bundled-skills/cro/references/form.md +422 -0
- package/bundled-skills/cron-doctor/scripts/cron-engine.js +10 -7
- package/bundled-skills/cucumber-skill/SKILL.md +235 -0
- package/bundled-skills/customer-research/SKILL.md +287 -0
- package/bundled-skills/customer-research/evals/evals.json +162 -0
- package/bundled-skills/customer-research/references/source-guides.md +401 -0
- package/bundled-skills/cypress-skill/SKILL.md +235 -0
- package/bundled-skills/debugging-and-error-recovery/SKILL.md +313 -0
- package/bundled-skills/debugging-code/SKILL.md +284 -0
- package/bundled-skills/debugging-code/references/advanced-techniques.md +50 -0
- package/bundled-skills/debugging-code/references/installing-debuggers.md +67 -0
- package/bundled-skills/debugging-code/scripts/install-dap.sh +87 -0
- package/bundled-skills/deprecation-and-migration/SKILL.md +219 -0
- package/bundled-skills/design-philosophy/SKILL.md +40 -0
- package/bundled-skills/design-philosophy/reference.md +19 -0
- package/bundled-skills/design-spatial/SKILL.md +271 -0
- package/bundled-skills/design-spatial/scripts/layout-audit.js +138 -0
- package/bundled-skills/design-system/SKILL.md +140 -0
- package/bundled-skills/design-system/references/motion-choreography.md +111 -0
- package/bundled-skills/design-thinking/SKILL.md +109 -0
- package/bundled-skills/design-ux/SKILL.md +75 -0
- package/bundled-skills/dev-to-hashnode/README.md +62 -0
- package/bundled-skills/dev-to-hashnode/SKILL.md +399 -0
- package/bundled-skills/developer-advocacy/README.md +102 -0
- package/bundled-skills/developer-advocacy/SKILL.md +423 -0
- package/bundled-skills/developer-audience-context/README.md +61 -0
- package/bundled-skills/developer-audience-context/SKILL.md +271 -0
- package/bundled-skills/developer-audience-context/references/example-apitest.md +175 -0
- package/bundled-skills/developer-audience-context/references/template.md +152 -0
- package/bundled-skills/developer-churn/README.md +80 -0
- package/bundled-skills/developer-churn/SKILL.md +652 -0
- package/bundled-skills/developer-listening/README.md +30 -0
- package/bundled-skills/developer-listening/SKILL.md +232 -0
- package/bundled-skills/developer-newsletter/README.md +84 -0
- package/bundled-skills/developer-newsletter/SKILL.md +376 -0
- package/bundled-skills/developer-onboarding/README.md +35 -0
- package/bundled-skills/developer-onboarding/SKILL.md +530 -0
- package/bundled-skills/developer-sandbox/README.md +47 -0
- package/bundled-skills/developer-sandbox/SKILL.md +504 -0
- package/bundled-skills/developer-seo/README.md +36 -0
- package/bundled-skills/developer-seo/SKILL.md +296 -0
- package/bundled-skills/developer-signup-flow/README.md +36 -0
- package/bundled-skills/developer-signup-flow/SKILL.md +397 -0
- package/bundled-skills/devrel-content/README.md +81 -0
- package/bundled-skills/devrel-content/SKILL.md +428 -0
- package/bundled-skills/dispatch/SKILL.md +130 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/faq.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +8 -8
- package/bundled-skills/docs/users/visual-guide.md +8 -8
- package/bundled-skills/docs-as-marketing/README.md +37 -0
- package/bundled-skills/docs-as-marketing/SKILL.md +398 -0
- package/bundled-skills/documentation-and-adrs/SKILL.md +291 -0
- package/bundled-skills/doubt-driven-development/SKILL.md +256 -0
- package/bundled-skills/eas-update-insights/SKILL.md +232 -0
- package/bundled-skills/eas-update-insights/agents/openai.yaml +4 -0
- package/bundled-skills/eas-update-insights/references/channel-insights-schema.md +47 -0
- package/bundled-skills/eas-update-insights/references/update-insights-schema.md +69 -0
- package/bundled-skills/expo-api-routes/SKILL.md +9 -5
- package/bundled-skills/expo-api-routes/agents/openai.yaml +4 -0
- package/bundled-skills/expo-brownfield/SKILL.md +71 -0
- package/bundled-skills/expo-brownfield/agents/openai.yaml +4 -0
- package/bundled-skills/expo-brownfield/references/brownfield-integrated.md +526 -0
- package/bundled-skills/expo-brownfield/references/brownfield-isolated.md +402 -0
- package/bundled-skills/expo-brownfield/references/comparison.md +63 -0
- package/bundled-skills/expo-brownfield/references/troubleshooting.md +88 -0
- package/bundled-skills/expo-cicd-workflows/SKILL.md +18 -16
- package/bundled-skills/expo-cicd-workflows/agents/openai.yaml +4 -0
- package/bundled-skills/expo-cicd-workflows/scripts/fetch.js +109 -0
- package/bundled-skills/expo-cicd-workflows/scripts/package.json +11 -0
- package/bundled-skills/expo-cicd-workflows/scripts/validate.js +84 -0
- package/bundled-skills/expo-deployment/SKILL.md +157 -53
- package/bundled-skills/expo-deployment/agents/openai.yaml +4 -0
- package/bundled-skills/expo-deployment/references/app-store-metadata.md +497 -0
- package/bundled-skills/expo-deployment/references/ios-app-store.md +371 -0
- package/bundled-skills/expo-deployment/references/play-store.md +246 -0
- package/bundled-skills/expo-deployment/references/testflight.md +58 -0
- package/bundled-skills/expo-deployment/references/workflows.md +160 -0
- package/bundled-skills/expo-dev-client/SKILL.md +25 -14
- package/bundled-skills/expo-dev-client/agents/openai.yaml +4 -0
- package/bundled-skills/expo-examples/SKILL.md +111 -0
- package/bundled-skills/expo-examples/references/catalog.md +105 -0
- package/bundled-skills/expo-module/SKILL.md +152 -0
- package/bundled-skills/expo-module/agents/openai.yaml +4 -0
- package/bundled-skills/expo-module/references/config-plugin.md +90 -0
- package/bundled-skills/expo-module/references/create-expo-module.md +206 -0
- package/bundled-skills/expo-module/references/lifecycle.md +127 -0
- package/bundled-skills/expo-module/references/module-config.md +48 -0
- package/bundled-skills/expo-module/references/native-module.md +286 -0
- package/bundled-skills/expo-module/references/native-view.md +171 -0
- package/bundled-skills/expo-observe/SKILL.md +44 -0
- package/bundled-skills/expo-observe/references/metrics.md +47 -0
- package/bundled-skills/expo-observe/references/queries.md +342 -0
- package/bundled-skills/expo-observe/references/setup.md +255 -0
- package/bundled-skills/expo-tailwind-setup/SKILL.md +13 -10
- package/bundled-skills/expo-tailwind-setup/agents/openai.yaml +4 -0
- package/bundled-skills/expo-ui/SKILL.md +61 -0
- package/bundled-skills/expo-ui/agents/openai.yaml +4 -0
- package/bundled-skills/expo-ui/references/drop-in-replacements.md +27 -0
- package/bundled-skills/expo-ui/references/jetpack-compose.md +73 -0
- package/bundled-skills/expo-ui/references/swift-ui.md +73 -0
- package/bundled-skills/expo-ui/references/universal.md +73 -0
- package/bundled-skills/expo-ui/scripts/list-components.js +193 -0
- package/bundled-skills/faf-context/SKILL.md +106 -0
- package/bundled-skills/faf-go/SKILL.md +336 -0
- package/bundled-skills/fixing-accessibility/SKILL.md +16 -5
- package/bundled-skills/fixing-metadata/SKILL.md +18 -8
- package/bundled-skills/fixing-motion-performance/SKILL.md +17 -6
- package/bundled-skills/formik-patterns/SKILL.md +379 -0
- package/bundled-skills/free-tier-strategy/README.md +39 -0
- package/bundled-skills/free-tier-strategy/SKILL.md +462 -0
- package/bundled-skills/frontend-architecture/SKILL.md +419 -0
- package/bundled-skills/frontend-data-contracts/SKILL.md +331 -0
- package/bundled-skills/frontend-observability/SKILL.md +434 -0
- package/bundled-skills/frontend-optimistic-mutations/SKILL.md +278 -0
- package/bundled-skills/frontend-seo/SKILL.md +710 -0
- package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +397 -0
- package/bundled-skills/frontend-ui-engineering/SKILL.md +341 -0
- package/bundled-skills/gemini-api-dev/SKILL.md +96 -53
- package/bundled-skills/gemini-live-api-dev/SKILL.md +339 -0
- package/bundled-skills/gemini-omni-flash-api/SKILL.md +335 -0
- package/bundled-skills/gemini-omni-flash-api/scripts/upload_file.py +218 -0
- package/bundled-skills/gemini-omni-flash-api/scripts/video/generate_video.py +439 -0
- package/bundled-skills/gemini-omni-flash-api/scripts/video/inspect_video.py +197 -0
- package/bundled-skills/gemini-omni-flash-api/scripts/video/prep_video.py +255 -0
- package/bundled-skills/gh-image/SKILL.md +10 -2
- package/bundled-skills/git-workflow-and-versioning/SKILL.md +313 -0
- package/bundled-skills/github-presence/README.md +67 -0
- package/bundled-skills/github-presence/SKILL.md +484 -0
- package/bundled-skills/graphql-schema/SKILL.md +309 -0
- package/bundled-skills/hf-mcp/SKILL.md +195 -0
- package/bundled-skills/hf-mem/SKILL.md +92 -0
- package/bundled-skills/hugging-face-cli/SKILL.md +155 -115
- package/bundled-skills/hugging-face-community-evals/SKILL.md +14 -7
- package/bundled-skills/hugging-face-dataset-viewer/SKILL.md +30 -37
- package/bundled-skills/hugging-face-gradio/SKILL.md +14 -7
- package/bundled-skills/hugging-face-model-trainer/SKILL.md +42 -11
- package/bundled-skills/hugging-face-model-trainer/references/gguf_conversion.md +5 -0
- package/bundled-skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +57 -51
- package/bundled-skills/hugging-face-model-trainer/scripts/hf_benchmarks.py +659 -0
- package/bundled-skills/hugging-face-paper-publisher/SKILL.md +13 -6
- package/bundled-skills/hugging-face-papers/SKILL.md +12 -5
- package/bundled-skills/hugging-face-trackio/SKILL.md +11 -5
- package/bundled-skills/hugging-face-vision-trainer/SKILL.md +11 -5
- package/bundled-skills/huggingface-best/SKILL.md +143 -0
- package/bundled-skills/huggingface-local-models/SKILL.md +130 -0
- package/bundled-skills/huggingface-local-models/references/hardware.md +38 -0
- package/bundled-skills/huggingface-local-models/references/hub-discovery.md +178 -0
- package/bundled-skills/huggingface-local-models/references/quantization.md +256 -0
- package/bundled-skills/huggingface-lora-space-builder/SKILL.md +409 -0
- package/bundled-skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
- package/bundled-skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
- package/bundled-skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
- package/bundled-skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
- package/bundled-skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
- package/bundled-skills/huggingface-lora-space-builder/references/tasks.md +124 -0
- package/bundled-skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +194 -0
- package/bundled-skills/huggingface-spaces/SKILL.md +247 -0
- package/bundled-skills/huggingface-spaces/references/buckets.md +89 -0
- package/bundled-skills/huggingface-spaces/references/debugging.md +234 -0
- package/bundled-skills/huggingface-spaces/references/gradio.md +171 -0
- package/bundled-skills/huggingface-spaces/references/grants.md +56 -0
- package/bundled-skills/huggingface-spaces/references/inference-providers.md +85 -0
- package/bundled-skills/huggingface-spaces/references/known-errors.md +232 -0
- package/bundled-skills/huggingface-spaces/references/requirements.md +153 -0
- package/bundled-skills/huggingface-spaces/references/zerogpu.md +276 -0
- package/bundled-skills/huggingface-tool-builder/SKILL.md +137 -0
- package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
- package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
- package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
- package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
- package/bundled-skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
- package/bundled-skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
- package/bundled-skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
- package/bundled-skills/huggingface-zerogpu/SKILL.md +306 -0
- package/bundled-skills/huggingface-zerogpu/references/concurrency.md +79 -0
- package/bundled-skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
- package/bundled-skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
- package/bundled-skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
- package/bundled-skills/hugo-to-markdown/SKILL.md +201 -0
- package/bundled-skills/hugo-to-markdown/agents/openai.yaml +4 -0
- package/bundled-skills/hugo-to-markdown/references/conversion-workflow.md +143 -0
- package/bundled-skills/hugo-to-markdown/references/front-matter-and-content.md +145 -0
- package/bundled-skills/hugo-to-markdown/references/links-assets-and-validation.md +106 -0
- package/bundled-skills/hugo-to-markdown/references/shortcodes-and-render-hooks.md +281 -0
- package/bundled-skills/hugo-to-markdown/scripts/check_standard_markdown.py +70 -0
- package/bundled-skills/hugo-to-markdown/scripts/inventory_hugo_rules.py +188 -0
- package/bundled-skills/hyperexecute-skill/SKILL.md +65 -0
- package/bundled-skills/idea-refine/SKILL.md +195 -0
- package/bundled-skills/idea-refine/examples.md +238 -0
- package/bundled-skills/idea-refine/frameworks.md +99 -0
- package/bundled-skills/idea-refine/refinement-criteria.md +113 -0
- package/bundled-skills/idea-refine/scripts/idea-refine.sh +15 -0
- package/bundled-skills/implement/SKILL.md +32 -0
- package/bundled-skills/incremental-implementation/SKILL.md +262 -0
- package/bundled-skills/jest-skill/SKILL.md +182 -0
- package/bundled-skills/junit-5-skill/SKILL.md +236 -0
- package/bundled-skills/logic-diff/SKILL.md +50 -0
- package/bundled-skills/logic-diff/logic-diff-guide.md +75 -0
- package/bundled-skills/logic-explain/SKILL.md +50 -0
- package/bundled-skills/logic-explain/logic-explain-guide.md +74 -0
- package/bundled-skills/logic-fix-all/SKILL.md +87 -0
- package/bundled-skills/logic-fix-all/guide-phases-0-2-consent-scope-health.md +113 -0
- package/bundled-skills/logic-fix-all/guide-phases-3-5-review-locate-clarify.md +47 -0
- package/bundled-skills/logic-fix-all/guide-phases-6-9-fix-iterate-report.md +143 -0
- package/bundled-skills/logic-fix-all/logic-fix-all-guide.md +60 -0
- package/bundled-skills/logic-locate/SKILL.md +52 -0
- package/bundled-skills/logic-locate/logic-locate-guide.md +85 -0
- package/bundled-skills/logic-review/SKILL.md +100 -0
- package/bundled-skills/logic-review/logic-review-guide.md +296 -0
- package/bundled-skills/longbridge-content/SKILL.md +87 -0
- package/bundled-skills/longbridge-fundamentals/SKILL.md +134 -0
- package/bundled-skills/longbridge-market-data/SKILL.md +129 -0
- package/bundled-skills/loopy/SKILL.md +289 -0
- package/bundled-skills/loopy/agents/openai.yaml +4 -0
- package/bundled-skills/loopy/references/audit.md +61 -0
- package/bundled-skills/loopy/references/debrief.md +43 -0
- package/bundled-skills/loopy/references/discover.md +72 -0
- package/bundled-skills/loopy/references/publish.md +65 -0
- package/bundled-skills/loopy/references/run.md +73 -0
- package/bundled-skills/marketing-plan/SKILL.md +283 -0
- package/bundled-skills/marketing-plan/evals/evals.json +96 -0
- package/bundled-skills/marketing-plan/references/aarrr-framework.md +180 -0
- package/bundled-skills/marketing-plan/references/budget-planning.md +168 -0
- package/bundled-skills/marketing-plan/references/client-types.md +373 -0
- package/bundled-skills/marketing-plan/references/current-state-rubric.md +255 -0
- package/bundled-skills/marketing-plan/references/example-quietude.md +972 -0
- package/bundled-skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
- package/bundled-skills/marketing-plan/references/growth-patterns.md +148 -0
- package/bundled-skills/marketing-plan/references/idea-cross-reference.md +265 -0
- package/bundled-skills/marketing-plan/references/measurement-framework.md +213 -0
- package/bundled-skills/marketing-plan/references/methodology.md +363 -0
- package/bundled-skills/marketing-plan/references/ops-stack-mapping.md +197 -0
- package/bundled-skills/marketing-plan/references/plan-template.md +494 -0
- package/bundled-skills/marketing-plan/references/team-and-agency-model.md +278 -0
- package/bundled-skills/mdpr-skill/SKILL.md +233 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +229 -0
- package/bundled-skills/monte-carlo-asset-health/SKILL.md +200 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +317 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +153 -0
- package/bundled-skills/monte-carlo-remediation/SKILL.md +359 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +162 -0
- package/bundled-skills/native-data-fetching/SKILL.md +11 -8
- package/bundled-skills/native-data-fetching/agents/openai.yaml +4 -0
- package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +341 -0
- package/bundled-skills/neon-ai-gateway/SKILL.md +237 -0
- package/bundled-skills/neon-functions/SKILL.md +465 -0
- package/bundled-skills/neon-functions/references/ai-sdk.md +139 -0
- package/bundled-skills/neon-functions/references/hono-websockets.md +145 -0
- package/bundled-skills/neon-functions/references/mastra-studio.md +132 -0
- package/bundled-skills/neon-functions/references/mcp.md +137 -0
- package/bundled-skills/neon-functions/references/sentry.md +131 -0
- package/bundled-skills/neon-functions/references/sse.md +143 -0
- package/bundled-skills/neon-object-storage/SKILL.md +200 -0
- package/bundled-skills/neon-postgres/SKILL.md +234 -469
- package/bundled-skills/neon-postgres-branches/SKILL.md +292 -0
- package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +256 -0
- package/bundled-skills/newman-cicd-integration/SKILL.md +330 -0
- package/bundled-skills/observability-and-instrumentation/SKILL.md +216 -0
- package/bundled-skills/odw/SKILL.md +57 -0
- package/bundled-skills/offers/SKILL.md +168 -0
- package/bundled-skills/offers/references/bonus-stacking.md +150 -0
- package/bundled-skills/offers/references/examples.md +215 -0
- package/bundled-skills/offers/references/guarantee-design.md +172 -0
- package/bundled-skills/offers/references/offer-anatomy.md +203 -0
- package/bundled-skills/offers/references/offer-formats.md +240 -0
- package/bundled-skills/offers/references/scarcity-urgency.md +175 -0
- package/bundled-skills/offers/references/value-equation.md +134 -0
- package/bundled-skills/onboarding/SKILL.md +235 -0
- package/bundled-skills/onboarding/evals/evals.json +92 -0
- package/bundled-skills/onboarding/references/experiments.md +258 -0
- package/bundled-skills/open-source-marketing/README.md +100 -0
- package/bundled-skills/open-source-marketing/SKILL.md +466 -0
- package/bundled-skills/openapi-spec-generator/SKILL.md +335 -0
- package/bundled-skills/performance-optimization/SKILL.md +363 -0
- package/bundled-skills/planning-and-task-breakdown/SKILL.md +240 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +170 -0
- package/bundled-skills/postgresql-cli/SKILL.md +498 -0
- package/bundled-skills/postgresql-cli/references/cli-options-and-variables.md +444 -0
- package/bundled-skills/postgresql-cli/references/meta-commands-core.md +466 -0
- package/bundled-skills/postgresql-cli/references/meta-commands-formatting.md +154 -0
- package/bundled-skills/postgresql-cli/references/meta-commands-inspection.md +134 -0
- package/bundled-skills/postgresql-cli/references/tips-advanced.md +289 -0
- package/bundled-skills/postgresql-cli/references/tips-workflows.md +407 -0
- package/bundled-skills/postman-collection-generator/SKILL.md +184 -0
- package/bundled-skills/postman-newman-automation/SKILL.md +311 -0
- package/bundled-skills/postman-openapi-converter/SKILL.md +174 -0
- package/bundled-skills/power-user-cultivation/README.md +78 -0
- package/bundled-skills/power-user-cultivation/SKILL.md +598 -0
- package/bundled-skills/pricing/SKILL.md +246 -0
- package/bundled-skills/pricing/evals/evals.json +90 -0
- package/bundled-skills/pricing/references/research-methods.md +152 -0
- package/bundled-skills/pricing/references/tier-structure.md +232 -0
- package/bundled-skills/privacy-mask/SKILL.md +96 -0
- package/bundled-skills/product-marketing/SKILL.md +256 -0
- package/bundled-skills/product-marketing/evals/evals.json +85 -0
- package/bundled-skills/public-relations/SKILL.md +146 -0
- package/bundled-skills/public-relations/references/journalist-pitching.md +368 -0
- package/bundled-skills/public-relations/references/media-outlets.md +207 -0
- package/bundled-skills/public-relations/references/newsjacking.md +218 -0
- package/bundled-skills/public-relations/references/press-platforms.md +188 -0
- package/bundled-skills/puppeteer-skill/SKILL.md +143 -0
- package/bundled-skills/pytest-skill/SKILL.md +201 -0
- package/bundled-skills/rclone-cli/SKILL.md +351 -0
- package/bundled-skills/rclone-cli/references/bisync.md +2003 -0
- package/bundled-skills/rclone-cli/references/cache.md +726 -0
- package/bundled-skills/rclone-cli/references/chunker.md +484 -0
- package/bundled-skills/rclone-cli/references/combine.md +187 -0
- package/bundled-skills/rclone-cli/references/commands/rclone.md +1169 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_about.md +89 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_archive.md +49 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_archive_create.md +97 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_archive_extract.md +83 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_archive_list.md +98 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_authorize.md +53 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_backend.md +82 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_bisync.md +160 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_cat.md +122 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_check.md +134 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_checksum.md +120 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_cleanup.md +49 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_completion.md +40 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_completion_bash.md +70 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_completion_fish.md +57 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_completion_powershell.md +49 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_completion_zsh.md +57 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config.md +56 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_create.md +150 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_delete.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_disconnect.md +40 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_dump.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_edit.md +39 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption.md +36 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_check.md +43 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_remove.md +44 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_set.md +54 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_file.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_password.md +49 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_paths.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_providers.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_reconnect.md +40 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_redacted.md +45 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_show.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_string.md +57 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_touch.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_update.md +150 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_config_userinfo.md +38 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_convmv.md +440 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_copy.md +258 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_copyto.md +219 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_copyurl.md +91 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_cryptcheck.md +141 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_cryptdecode.md +51 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_dedupe.md +166 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_delete.md +117 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_deletefile.md +50 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_gendocs.md +39 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_gitannex.md +113 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_hashsum.md +120 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_link.md +60 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_listremotes.md +55 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_ls.md +114 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_lsd.md +127 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_lsf.md +241 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_lsjson.md +195 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_lsl.md +115 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_md5sum.md +96 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_mkdir.md +43 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_mount.md +1105 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_move.md +223 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_moveto.md +218 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_ncdu.md +140 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_nfsmount.md +1111 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_obscure.md +60 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_purge.md +58 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_rc.md +111 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_rcat.md +79 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_rcd.md +219 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_rmdir.md +52 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_rmdirs.md +66 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_selfupdate.md +91 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve.md +61 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_dlna.md +619 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_docker.md +653 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_ftp.md +698 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_http.md +837 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_nfs.md +670 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_restic.md +246 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_s3.md +867 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_sftp.md +745 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_serve_webdav.md +896 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_settier.md +63 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_sha1sum.md +99 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_size.md +94 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_sync.md +252 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test.md +51 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_changenotify.md +34 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_histogram.md +41 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_info.md +51 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_makefile.md +39 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_makefiles.md +47 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_memory.md +33 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_test_speed.md +66 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_touch.md +110 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_tree.md +121 -0
- package/bundled-skills/rclone-cli/references/commands/rclone_version.md +83 -0
- package/bundled-skills/rclone-cli/references/crypt.md +844 -0
- package/bundled-skills/rclone-cli/references/docker.md +615 -0
- package/bundled-skills/rclone-cli/references/faq.md +364 -0
- package/bundled-skills/rclone-cli/references/filtering.md +991 -0
- package/bundled-skills/rclone-cli/references/flags.md +1221 -0
- package/bundled-skills/rclone-cli/references/hasher.md +383 -0
- package/bundled-skills/rclone-cli/references/install.md +686 -0
- package/bundled-skills/rclone-cli/references/overview.md +620 -0
- package/bundled-skills/rclone-cli/references/providers/alias.md +141 -0
- package/bundled-skills/rclone-cli/references/providers/archive.md +287 -0
- package/bundled-skills/rclone-cli/references/providers/azureblob.md +1140 -0
- package/bundled-skills/rclone-cli/references/providers/azurefiles.md +834 -0
- package/bundled-skills/rclone-cli/references/providers/b2.md +879 -0
- package/bundled-skills/rclone-cli/references/providers/box.md +573 -0
- package/bundled-skills/rclone-cli/references/providers/cloudinary.md +259 -0
- package/bundled-skills/rclone-cli/references/providers/compress.md +222 -0
- package/bundled-skills/rclone-cli/references/providers/drime.md +319 -0
- package/bundled-skills/rclone-cli/references/providers/drive.md +2032 -0
- package/bundled-skills/rclone-cli/references/providers/dropbox.md +661 -0
- package/bundled-skills/rclone-cli/references/providers/fichier.md +230 -0
- package/bundled-skills/rclone-cli/references/providers/filefabric.md +298 -0
- package/bundled-skills/rclone-cli/references/providers/filelu.md +256 -0
- package/bundled-skills/rclone-cli/references/providers/filen.md +243 -0
- package/bundled-skills/rclone-cli/references/providers/filescom.md +209 -0
- package/bundled-skills/rclone-cli/references/providers/ftp.md +621 -0
- package/bundled-skills/rclone-cli/references/providers/gofile.md +274 -0
- package/bundled-skills/rclone-cli/references/providers/googlecloudstorage.md +846 -0
- package/bundled-skills/rclone-cli/references/providers/googlephotos.md +676 -0
- package/bundled-skills/rclone-cli/references/providers/hdfs.md +263 -0
- package/bundled-skills/rclone-cli/references/providers/hidrive.md +487 -0
- package/bundled-skills/rclone-cli/references/providers/http.md +323 -0
- package/bundled-skills/rclone-cli/references/providers/iclouddrive.md +212 -0
- package/bundled-skills/rclone-cli/references/providers/internetarchive.md +355 -0
- package/bundled-skills/rclone-cli/references/providers/internxt.md +189 -0
- package/bundled-skills/rclone-cli/references/providers/jottacloud.md +604 -0
- package/bundled-skills/rclone-cli/references/providers/koofr.md +395 -0
- package/bundled-skills/rclone-cli/references/providers/linkbox.md +117 -0
- package/bundled-skills/rclone-cli/references/providers/local.md +749 -0
- package/bundled-skills/rclone-cli/references/providers/mailru.md +470 -0
- package/bundled-skills/rclone-cli/references/providers/mega.md +361 -0
- package/bundled-skills/rclone-cli/references/providers/memory.md +109 -0
- package/bundled-skills/rclone-cli/references/providers/netstorage.md +371 -0
- package/bundled-skills/rclone-cli/references/providers/onedrive.md +1322 -0
- package/bundled-skills/rclone-cli/references/providers/opendrive.md +222 -0
- package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/_index.md +932 -0
- package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/tutorial_mount.md +503 -0
- package/bundled-skills/rclone-cli/references/providers/pcloud.md +373 -0
- package/bundled-skills/rclone-cli/references/providers/pikpak.md +373 -0
- package/bundled-skills/rclone-cli/references/providers/pixeldrain.md +182 -0
- package/bundled-skills/rclone-cli/references/providers/premiumizeme.md +253 -0
- package/bundled-skills/rclone-cli/references/providers/protondrive.md +397 -0
- package/bundled-skills/rclone-cli/references/providers/putio.md +246 -0
- package/bundled-skills/rclone-cli/references/providers/qingstor.md +346 -0
- package/bundled-skills/rclone-cli/references/providers/quatrix.md +295 -0
- package/bundled-skills/rclone-cli/references/providers/s3.md +9687 -0
- package/bundled-skills/rclone-cli/references/providers/seafile.md +432 -0
- package/bundled-skills/rclone-cli/references/providers/sftp.md +1277 -0
- package/bundled-skills/rclone-cli/references/providers/shade.md +267 -0
- package/bundled-skills/rclone-cli/references/providers/sharefile.md +357 -0
- package/bundled-skills/rclone-cli/references/providers/sia.md +223 -0
- package/bundled-skills/rclone-cli/references/providers/smb.md +309 -0
- package/bundled-skills/rclone-cli/references/providers/storj.md +503 -0
- package/bundled-skills/rclone-cli/references/providers/sugarsync.md +305 -0
- package/bundled-skills/rclone-cli/references/providers/swift.md +744 -0
- package/bundled-skills/rclone-cli/references/providers/ulozto.md +283 -0
- package/bundled-skills/rclone-cli/references/providers/webdav.md +565 -0
- package/bundled-skills/rclone-cli/references/providers/yandex.md +283 -0
- package/bundled-skills/rclone-cli/references/providers/zoho.md +305 -0
- package/bundled-skills/rclone-cli/references/rc.md +2725 -0
- package/bundled-skills/rclone-cli/references/union.md +336 -0
- package/bundled-skills/rclone-cli/references/usage.md +3555 -0
- package/bundled-skills/rclone-cli/scripts/install.sh +204 -0
- package/bundled-skills/redis-cli/SKILL.md +392 -0
- package/bundled-skills/redis-cli/references/advanced-features.md +338 -0
- package/bundled-skills/redis-cli/references/connection-and-options.md +258 -0
- package/bundled-skills/redis-cli/references/data-query-commands.md +417 -0
- package/bundled-skills/redis-cli/references/inspection-and-monitoring.md +309 -0
- package/bundled-skills/redis-cli/references/key-management.md +252 -0
- package/bundled-skills/redis-cli/references/module-data-types.md +429 -0
- package/bundled-skills/redis-cli/references/server-administration.md +366 -0
- package/bundled-skills/repo-maintainer/SKILL.md +480 -0
- package/bundled-skills/resolving-merge-conflicts/SKILL.md +32 -0
- package/bundled-skills/review-and-simplify-changes/SKILL.md +202 -0
- package/bundled-skills/review-swarm/SKILL.md +185 -0
- package/bundled-skills/review-swarm/agents/openai.yaml +4 -0
- package/bundled-skills/riffkit/SKILL.md +122 -0
- package/bundled-skills/robot-framework-skill/SKILL.md +153 -0
- package/bundled-skills/sdk-dx/README.md +39 -0
- package/bundled-skills/sdk-dx/SKILL.md +541 -0
- package/bundled-skills/security-and-hardening/SKILL.md +474 -0
- package/bundled-skills/selenium-skill/SKILL.md +258 -0
- package/bundled-skills/shipping-and-launch/SKILL.md +323 -0
- package/bundled-skills/smartui-skill/SKILL.md +149 -0
- package/bundled-skills/source-driven-development/SKILL.md +207 -0
- package/bundled-skills/spec-driven-development/SKILL.md +217 -0
- package/bundled-skills/sql-sentinel/SKILL.md +12 -3
- package/bundled-skills/styleseed-design-review/SKILL.md +126 -0
- package/bundled-skills/supabase/CHANGELOG.md +35 -0
- package/bundled-skills/supabase/SKILL.md +149 -0
- package/bundled-skills/supabase/assets/feedback-issue-template.md +17 -0
- package/bundled-skills/supabase/references/skill-feedback.md +17 -0
- package/bundled-skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
- package/bundled-skills/supabase-postgres-best-practices/SKILL.md +74 -0
- package/bundled-skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/bundled-skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/bundled-skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/bundled-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/bundled-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/bundled-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/bundled-skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/bundled-skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/bundled-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/bundled-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/bundled-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/bundled-skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/bundled-skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/bundled-skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/bundled-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/bundled-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/bundled-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/bundled-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/bundled-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/bundled-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/bundled-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/bundled-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/bundled-skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/bundled-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/bundled-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/bundled-skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/bundled-skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/bundled-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/bundled-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/bundled-skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/bundled-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/bundled-skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/bundled-skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/bundled-skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/bundled-skills/swiftui-expert-skill/SKILL.md +175 -242
- package/bundled-skills/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
- package/bundled-skills/swiftui-expert-skill/references/animation-advanced.md +428 -0
- package/bundled-skills/swiftui-expert-skill/references/animation-basics.md +284 -0
- package/bundled-skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
- package/bundled-skills/swiftui-expert-skill/references/charts-accessibility.md +135 -0
- package/bundled-skills/swiftui-expert-skill/references/charts.md +602 -0
- package/bundled-skills/swiftui-expert-skill/references/focus-patterns.md +299 -0
- package/bundled-skills/swiftui-expert-skill/references/image-optimization.md +203 -0
- package/bundled-skills/swiftui-expert-skill/references/latest-apis.md +528 -0
- package/bundled-skills/swiftui-expert-skill/references/layout-best-practices.md +266 -0
- package/bundled-skills/swiftui-expert-skill/references/liquid-glass.md +423 -0
- package/bundled-skills/swiftui-expert-skill/references/list-patterns.md +467 -0
- package/bundled-skills/swiftui-expert-skill/references/localization.md +194 -0
- package/bundled-skills/swiftui-expert-skill/references/macos-scenes.md +318 -0
- package/bundled-skills/swiftui-expert-skill/references/macos-views.md +357 -0
- package/bundled-skills/swiftui-expert-skill/references/macos-window-styling.md +303 -0
- package/bundled-skills/swiftui-expert-skill/references/performance-patterns.md +417 -0
- package/bundled-skills/swiftui-expert-skill/references/previews.md +313 -0
- package/bundled-skills/swiftui-expert-skill/references/scroll-patterns.md +293 -0
- package/bundled-skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
- package/bundled-skills/swiftui-expert-skill/references/soft-deprecation.md +39 -0
- package/bundled-skills/swiftui-expert-skill/references/state-management.md +492 -0
- package/bundled-skills/swiftui-expert-skill/references/text-patterns.md +34 -0
- package/bundled-skills/swiftui-expert-skill/references/trace-analysis.md +295 -0
- package/bundled-skills/swiftui-expert-skill/references/trace-recording.md +134 -0
- package/bundled-skills/swiftui-expert-skill/references/view-structure.md +854 -0
- package/bundled-skills/swiftui-expert-skill/scripts/analyze_trace.py +301 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/__init__.py +1 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/causes.py +187 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/correlate.py +179 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/events.py +291 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hangs.py +108 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hitches.py +145 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/summary.py +243 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/swiftui.py +195 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/time_profiler.py +135 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xctrace.py +117 -0
- package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xml_utils.py +224 -0
- package/bundled-skills/swiftui-expert-skill/scripts/record_trace.py +252 -0
- package/bundled-skills/technical-tutorials/README.md +90 -0
- package/bundled-skills/technical-tutorials/SKILL.md +581 -0
- package/bundled-skills/test-framework-migration-skill/SKILL.md +122 -0
- package/bundled-skills/testng-skill/SKILL.md +163 -0
- package/bundled-skills/train-sentence-transformers/SKILL.md +118 -0
- package/bundled-skills/train-sentence-transformers/references/base_model_selection.md +79 -0
- package/bundled-skills/train-sentence-transformers/references/dataset_formats.md +128 -0
- package/bundled-skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
- package/bundled-skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
- package/bundled-skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
- package/bundled-skills/train-sentence-transformers/references/hardware_guide.md +105 -0
- package/bundled-skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
- package/bundled-skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
- package/bundled-skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
- package/bundled-skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
- package/bundled-skills/train-sentence-transformers/references/model_architectures.md +178 -0
- package/bundled-skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
- package/bundled-skills/train-sentence-transformers/references/training_args.md +269 -0
- package/bundled-skills/train-sentence-transformers/references/troubleshooting.md +225 -0
- package/bundled-skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
- package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
- package/bundled-skills/transformers-js/SKILL.md +83 -29
- package/bundled-skills/transformers-js/references/CONFIGURATION.md +55 -7
- package/bundled-skills/transformers-js/references/EXAMPLES.md +98 -83
- package/bundled-skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
- package/bundled-skills/transformers-js/references/PIPELINE_OPTIONS.md +31 -19
- package/bundled-skills/transformers-js/references/TEXT_GENERATION.md +18 -18
- package/bundled-skills/trl-training/SKILL.md +327 -0
- package/bundled-skills/tune-monitor/SKILL.md +268 -0
- package/bundled-skills/ui-a11y/SKILL.md +76 -68
- package/bundled-skills/ui-component/SKILL.md +54 -82
- package/bundled-skills/ui-lint/SKILL.md +111 -0
- package/bundled-skills/ui-motion/SKILL.md +181 -0
- package/bundled-skills/ui-page/SKILL.md +80 -90
- package/bundled-skills/ui-pattern/SKILL.md +50 -68
- package/bundled-skills/ui-review/SKILL.md +95 -77
- package/bundled-skills/ui-score/SKILL.md +145 -0
- package/bundled-skills/ui-setup/SKILL.md +196 -88
- package/bundled-skills/ui-skills-root/SKILL.md +72 -0
- package/bundled-skills/ui-tokens/SKILL.md +44 -52
- package/bundled-skills/ui-update/SKILL.md +167 -0
- package/bundled-skills/unslop-commit/SKILL.md +113 -0
- package/bundled-skills/unslop-file/SKILL.md +157 -0
- package/bundled-skills/unslop-review/SKILL.md +102 -0
- package/bundled-skills/update-swiftui-apis/SKILL.md +120 -0
- package/bundled-skills/update-swiftui-apis/references/scan-manifest.md +230 -0
- package/bundled-skills/upgrading-expo/SKILL.md +107 -82
- package/bundled-skills/upgrading-expo/agents/openai.yaml +4 -0
- package/bundled-skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
- package/bundled-skills/upgrading-expo/references/expo-av-to-video.md +160 -0
- package/bundled-skills/upgrading-expo/references/native-tabs.md +124 -0
- package/bundled-skills/upgrading-expo/references/new-architecture.md +79 -0
- package/bundled-skills/upgrading-expo/references/react-19.md +79 -0
- package/bundled-skills/upgrading-expo/references/react-compiler.md +59 -0
- package/bundled-skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
- package/bundled-skills/usage-based-pricing/README.md +40 -0
- package/bundled-skills/usage-based-pricing/SKILL.md +547 -0
- package/bundled-skills/use-dom/SKILL.md +428 -0
- package/bundled-skills/use-dom/agents/openai.yaml +4 -0
- package/bundled-skills/ux-audit/SKILL.md +112 -44
- package/bundled-skills/ux-copy/SKILL.md +105 -73
- package/bundled-skills/ux-feedback/SKILL.md +106 -58
- package/bundled-skills/ux-flow/SKILL.md +51 -50
- package/bundled-skills/vitest-skill/SKILL.md +165 -0
- package/bundled-skills/weaviate/references/environment_requirements.md +4 -1
- package/bundled-skills/weaviate/scripts/weaviate_conn.py +51 -17
- package/bundled-skills/webdriverio-skill/SKILL.md +157 -0
- package/bundled-skills/wjttc-builder/SKILL.md +355 -0
- package/bundled-skills/wjttc-tester/SKILL.md +190 -0
- package/bundled-skills/youtube-notetaker/scripts/serve.py +20 -11
- package/package.json +1 -1
- package/skills_index.json +4404 -146
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aws-serverless-eda
|
|
3
|
+
description: AWS serverless and event-driven architecture expert based on Well-Architected Framework. Use when building serverless APIs, Lambda functions, REST APIs, microservices, or async workflows. Covers Lambda with TypeScript/Python, API Gateway (REST/HTTP), DynamoDB, Step Functions,...
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: https://github.com/zxkane/aws-skills/tree/main/plugins/serverless-eda/skills/aws-serverless-eda
|
|
6
|
+
source_repo: zxkane/aws-skills
|
|
7
|
+
source_type: community
|
|
8
|
+
date_added: 2026-07-01
|
|
9
|
+
license: MIT
|
|
10
|
+
license_source: https://github.com/zxkane/aws-skills/blob/main/LICENSE
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# AWS Serverless & Event-Driven Architecture
|
|
14
|
+
|
|
15
|
+
This skill provides comprehensive guidance for building serverless applications and event-driven architectures on AWS based on Well-Architected Framework principles.
|
|
16
|
+
|
|
17
|
+
## AWS Documentation Requirement
|
|
18
|
+
|
|
19
|
+
Always verify AWS facts using MCP tools (`mcp__aws-mcp__*` or `mcp__*awsdocs*__*`) before answering. The `aws-mcp-setup` dependency is auto-loaded — if MCP tools are unavailable, guide the user through that skill's setup flow.
|
|
20
|
+
|
|
21
|
+
## Serverless MCP Servers
|
|
22
|
+
|
|
23
|
+
This skill leverages the CDK MCP server (provided via `aws-cdk-development` dependency) and AWS Documentation MCP for serverless guidance.
|
|
24
|
+
|
|
25
|
+
> **Note**: The following AWS MCP servers are available separately via the Full AWS MCP Server (see `aws-mcp-setup` skill) and are not bundled with this plugin:
|
|
26
|
+
> - AWS Serverless MCP — SAM CLI lifecycle (init, deploy, local test)
|
|
27
|
+
> - AWS Lambda Tool MCP — Direct Lambda invocation
|
|
28
|
+
> - AWS Step Functions MCP — Workflow orchestration
|
|
29
|
+
> - Amazon SNS/SQS MCP — Messaging and queue management
|
|
30
|
+
|
|
31
|
+
## When to Use This Skill
|
|
32
|
+
|
|
33
|
+
Use this skill when:
|
|
34
|
+
- Building serverless applications with Lambda
|
|
35
|
+
- Designing event-driven architectures
|
|
36
|
+
- Implementing microservices patterns
|
|
37
|
+
- Creating asynchronous processing workflows
|
|
38
|
+
- Orchestrating multi-service transactions
|
|
39
|
+
- Building real-time data processing pipelines
|
|
40
|
+
- Implementing saga patterns for distributed transactions
|
|
41
|
+
- Designing for scale and resilience
|
|
42
|
+
|
|
43
|
+
## AWS Well-Architected Serverless Design Principles
|
|
44
|
+
|
|
45
|
+
### 1. Speedy, Simple, Singular
|
|
46
|
+
|
|
47
|
+
**Functions should be concise and single-purpose**
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
// ✅ GOOD - Single purpose, focused function
|
|
51
|
+
export const processOrder = async (event: OrderEvent) => {
|
|
52
|
+
// Only handles order processing
|
|
53
|
+
const order = await validateOrder(event);
|
|
54
|
+
await saveOrder(order);
|
|
55
|
+
await publishOrderCreatedEvent(order);
|
|
56
|
+
return { statusCode: 200, body: JSON.stringify({ orderId: order.id }) };
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// ❌ BAD - Function does too much
|
|
60
|
+
export const handleEverything = async (event: any) => {
|
|
61
|
+
// Handles orders, inventory, payments, shipping...
|
|
62
|
+
// Too many responsibilities
|
|
63
|
+
};
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Keep functions environmentally efficient and cost-aware**:
|
|
67
|
+
- Minimize cold start times
|
|
68
|
+
- Optimize memory allocation
|
|
69
|
+
- Use provisioned concurrency only when needed
|
|
70
|
+
- Leverage connection reuse
|
|
71
|
+
|
|
72
|
+
### 2. Think Concurrent Requests, Not Total Requests
|
|
73
|
+
|
|
74
|
+
**Design for concurrency, not volume**
|
|
75
|
+
|
|
76
|
+
Lambda scales horizontally - design considerations should focus on:
|
|
77
|
+
- Concurrent execution limits
|
|
78
|
+
- Downstream service throttling
|
|
79
|
+
- Shared resource contention
|
|
80
|
+
- Connection pool sizing
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
// Consider concurrent Lambda executions accessing DynamoDB
|
|
84
|
+
const table = new dynamodb.Table(this, 'Table', {
|
|
85
|
+
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, // Auto-scales with load
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
// Or with provisioned capacity + auto-scaling
|
|
89
|
+
const table = new dynamodb.Table(this, 'Table', {
|
|
90
|
+
billingMode: dynamodb.BillingMode.PROVISIONED,
|
|
91
|
+
readCapacity: 5,
|
|
92
|
+
writeCapacity: 5,
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// Enable auto-scaling for concurrent load
|
|
96
|
+
table.autoScaleReadCapacity({ minCapacity: 5, maxCapacity: 100 });
|
|
97
|
+
table.autoScaleWriteCapacity({ minCapacity: 5, maxCapacity: 100 });
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 3. Share Nothing
|
|
101
|
+
|
|
102
|
+
**Function runtime environments are short-lived**
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
// ❌ BAD - Relying on local file system
|
|
106
|
+
export const handler = async (event: any) => {
|
|
107
|
+
fs.writeFileSync('/tmp/data.json', JSON.stringify(data)); // Lost after execution
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
// ✅ GOOD - Use persistent storage
|
|
111
|
+
export const handler = async (event: any) => {
|
|
112
|
+
await s3.putObject({
|
|
113
|
+
Bucket: process.env.BUCKET_NAME,
|
|
114
|
+
Key: 'data.json',
|
|
115
|
+
Body: JSON.stringify(data),
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**State management**:
|
|
121
|
+
- Use DynamoDB for persistent state
|
|
122
|
+
- Use Step Functions for workflow state
|
|
123
|
+
- Use ElastiCache for session state
|
|
124
|
+
- Use S3 for file storage
|
|
125
|
+
|
|
126
|
+
### 4. Assume No Hardware Affinity
|
|
127
|
+
|
|
128
|
+
**Applications must be hardware-agnostic**
|
|
129
|
+
|
|
130
|
+
Infrastructure can change without notice:
|
|
131
|
+
- Lambda functions can run on different hardware
|
|
132
|
+
- Container instances can be replaced
|
|
133
|
+
- No assumption about underlying infrastructure
|
|
134
|
+
|
|
135
|
+
**Design for portability**:
|
|
136
|
+
- Use environment variables for configuration
|
|
137
|
+
- Avoid hardware-specific optimizations
|
|
138
|
+
- Test across different environments
|
|
139
|
+
|
|
140
|
+
### 5. Orchestrate with State Machines, Not Function Chaining
|
|
141
|
+
|
|
142
|
+
**Use Step Functions for orchestration**
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
// ❌ BAD - Lambda function chaining
|
|
146
|
+
export const handler1 = async (event: any) => {
|
|
147
|
+
const result = await processStep1(event);
|
|
148
|
+
await lambda.invoke({
|
|
149
|
+
FunctionName: 'handler2',
|
|
150
|
+
Payload: JSON.stringify(result),
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// ✅ GOOD - Step Functions orchestration
|
|
155
|
+
const stateMachine = new stepfunctions.StateMachine(this, 'OrderWorkflow', {
|
|
156
|
+
definition: stepfunctions.Chain
|
|
157
|
+
.start(validateOrder)
|
|
158
|
+
.next(processPayment)
|
|
159
|
+
.next(shipOrder)
|
|
160
|
+
.next(sendConfirmation),
|
|
161
|
+
});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Benefits of Step Functions**:
|
|
165
|
+
- Visual workflow representation
|
|
166
|
+
- Built-in error handling and retries
|
|
167
|
+
- Execution history and debugging
|
|
168
|
+
- Parallel and sequential execution
|
|
169
|
+
- Service integrations without code
|
|
170
|
+
|
|
171
|
+
### 6. Use Events to Trigger Transactions
|
|
172
|
+
|
|
173
|
+
**Event-driven over synchronous request/response**
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
// Pattern: Event-driven processing
|
|
177
|
+
const bucket = new s3.Bucket(this, 'DataBucket');
|
|
178
|
+
|
|
179
|
+
bucket.addEventNotification(
|
|
180
|
+
s3.EventType.OBJECT_CREATED,
|
|
181
|
+
new s3n.LambdaDestination(processFunction),
|
|
182
|
+
{ prefix: 'uploads/' }
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
// Pattern: EventBridge integration
|
|
186
|
+
const rule = new events.Rule(this, 'OrderRule', {
|
|
187
|
+
eventPattern: {
|
|
188
|
+
source: ['orders'],
|
|
189
|
+
detailType: ['OrderPlaced'],
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
rule.addTarget(new targets.LambdaFunction(processOrderFunction));
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Benefits**:
|
|
197
|
+
- Loose coupling between services
|
|
198
|
+
- Asynchronous processing
|
|
199
|
+
- Better fault tolerance
|
|
200
|
+
- Independent scaling
|
|
201
|
+
|
|
202
|
+
### 7. Design for Failures and Duplicates
|
|
203
|
+
|
|
204
|
+
**Operations must be idempotent**
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
// ✅ GOOD - Idempotent operation
|
|
208
|
+
export const handler = async (event: SQSEvent) => {
|
|
209
|
+
for (const record of event.Records) {
|
|
210
|
+
const orderId = JSON.parse(record.body).orderId;
|
|
211
|
+
|
|
212
|
+
// Check if already processed (idempotency)
|
|
213
|
+
const existing = await dynamodb.getItem({
|
|
214
|
+
TableName: process.env.TABLE_NAME,
|
|
215
|
+
Key: { orderId },
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
if (existing.Item) {
|
|
219
|
+
console.log('Order already processed:', orderId);
|
|
220
|
+
continue; // Skip duplicate
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// Process order
|
|
224
|
+
await processOrder(orderId);
|
|
225
|
+
|
|
226
|
+
// Mark as processed
|
|
227
|
+
await dynamodb.putItem({
|
|
228
|
+
TableName: process.env.TABLE_NAME,
|
|
229
|
+
Item: { orderId, processedAt: Date.now() },
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Implement retry logic with exponential backoff**:
|
|
236
|
+
```typescript
|
|
237
|
+
async function withRetry<T>(fn: () => Promise<T>, maxRetries = 3): Promise<T> {
|
|
238
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
239
|
+
try {
|
|
240
|
+
return await fn();
|
|
241
|
+
} catch (error) {
|
|
242
|
+
if (i === maxRetries - 1) throw error;
|
|
243
|
+
await new Promise(resolve => setTimeout(resolve, Math.pow(2, i) * 1000));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
throw new Error('Max retries exceeded');
|
|
247
|
+
}
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Architecture Patterns
|
|
251
|
+
|
|
252
|
+
For detailed implementation patterns with full code examples, see the reference documentation:
|
|
253
|
+
|
|
254
|
+
### Event-Driven Architecture Patterns
|
|
255
|
+
**File**: `references/eda-patterns.md`
|
|
256
|
+
- Event Router with EventBridge (custom event bus, schema registry, rule-based routing)
|
|
257
|
+
- Queue-Based Processing with SQS (standard/FIFO, DLQ, Lambda consumers)
|
|
258
|
+
- Pub/Sub Fan-Out with SNS + SQS (multi-consumer, filtering)
|
|
259
|
+
- Saga Pattern with Step Functions (distributed transactions, compensating actions)
|
|
260
|
+
- Event Sourcing with DynamoDB Streams (append-only event store, projections)
|
|
261
|
+
|
|
262
|
+
### Serverless Architecture Patterns
|
|
263
|
+
**File**: `references/serverless-patterns.md`
|
|
264
|
+
- API-Driven Microservices (REST API + Lambda backend)
|
|
265
|
+
- Stream Processing with Kinesis (real-time, batch windowing, bisect on error)
|
|
266
|
+
- Async Task Processing with SQS (background jobs, concurrency control)
|
|
267
|
+
- Scheduled Jobs with EventBridge (cron/rate schedules)
|
|
268
|
+
- Webhook Processing (signature validation, async queue forwarding)
|
|
269
|
+
|
|
270
|
+
> **Important**: When using CDK code examples from references, avoid hardcoding resource names (e.g., `restApiName`, `eventBusName`). Let CDK generate unique names automatically to enable reusability and parallel deployments. See `aws-cdk-development` skill for details.
|
|
271
|
+
|
|
272
|
+
## Best Practices
|
|
273
|
+
|
|
274
|
+
### Error Handling
|
|
275
|
+
|
|
276
|
+
**Implement comprehensive error handling**:
|
|
277
|
+
|
|
278
|
+
```typescript
|
|
279
|
+
export const handler = async (event: SQSEvent) => {
|
|
280
|
+
const failures: SQSBatchItemFailure[] = [];
|
|
281
|
+
|
|
282
|
+
for (const record of event.Records) {
|
|
283
|
+
try {
|
|
284
|
+
await processRecord(record);
|
|
285
|
+
} catch (error) {
|
|
286
|
+
console.error('Failed to process record:', record.messageId, error);
|
|
287
|
+
failures.push({ itemIdentifier: record.messageId });
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Return partial batch failures for retry
|
|
292
|
+
return { batchItemFailures: failures };
|
|
293
|
+
};
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Dead Letter Queues
|
|
297
|
+
|
|
298
|
+
**Always configure DLQs for error handling**:
|
|
299
|
+
|
|
300
|
+
```typescript
|
|
301
|
+
const dlq = new sqs.Queue(this, 'DLQ', {
|
|
302
|
+
retentionPeriod: Duration.days(14),
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
const queue = new sqs.Queue(this, 'Queue', {
|
|
306
|
+
deadLetterQueue: {
|
|
307
|
+
queue: dlq,
|
|
308
|
+
maxReceiveCount: 3,
|
|
309
|
+
},
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
// Monitor DLQ depth
|
|
313
|
+
new cloudwatch.Alarm(this, 'DLQAlarm', {
|
|
314
|
+
metric: dlq.metricApproximateNumberOfMessagesVisible(),
|
|
315
|
+
threshold: 1,
|
|
316
|
+
evaluationPeriods: 1,
|
|
317
|
+
alarmDescription: 'Messages in DLQ require attention',
|
|
318
|
+
});
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Observability
|
|
322
|
+
|
|
323
|
+
**Enable tracing and monitoring**:
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
new NodejsFunction(this, 'Function', {
|
|
327
|
+
entry: 'src/handler.ts',
|
|
328
|
+
tracing: lambda.Tracing.ACTIVE, // X-Ray tracing
|
|
329
|
+
environment: {
|
|
330
|
+
POWERTOOLS_SERVICE_NAME: 'order-service',
|
|
331
|
+
POWERTOOLS_METRICS_NAMESPACE: 'MyApp',
|
|
332
|
+
LOG_LEVEL: 'INFO',
|
|
333
|
+
},
|
|
334
|
+
});
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Using MCP Servers Effectively
|
|
338
|
+
|
|
339
|
+
Use the CDK MCP server (via `aws-cdk-development` dependency) for construct recommendations and CDK-specific guidance when building serverless infrastructure.
|
|
340
|
+
|
|
341
|
+
Use AWS Documentation MCP to verify service features, regional availability, and API specifications before implementing.
|
|
342
|
+
|
|
343
|
+
## Additional Resources
|
|
344
|
+
|
|
345
|
+
This skill includes comprehensive reference documentation based on AWS best practices:
|
|
346
|
+
|
|
347
|
+
- **Serverless Patterns**: `references/serverless-patterns.md`
|
|
348
|
+
- Core serverless architectures and API patterns
|
|
349
|
+
- Data processing and integration patterns
|
|
350
|
+
- Orchestration with Step Functions
|
|
351
|
+
- Anti-patterns to avoid
|
|
352
|
+
|
|
353
|
+
- **Event-Driven Architecture Patterns**: `references/eda-patterns.md`
|
|
354
|
+
- Event routing and processing patterns
|
|
355
|
+
- Event sourcing and saga patterns
|
|
356
|
+
- Idempotency and error handling
|
|
357
|
+
- Message ordering and deduplication
|
|
358
|
+
|
|
359
|
+
- **Security Best Practices**: `references/security-best-practices.md`
|
|
360
|
+
- Shared responsibility model
|
|
361
|
+
- IAM least privilege patterns
|
|
362
|
+
- Data protection and encryption
|
|
363
|
+
- Network security with VPC
|
|
364
|
+
|
|
365
|
+
- **Observability Best Practices**: `references/observability-best-practices.md`
|
|
366
|
+
- Three pillars: metrics, logs, traces
|
|
367
|
+
- Structured logging with Lambda Powertools
|
|
368
|
+
- X-Ray distributed tracing
|
|
369
|
+
- CloudWatch alarms and dashboards
|
|
370
|
+
|
|
371
|
+
- **Performance Optimization**: `references/performance-optimization.md`
|
|
372
|
+
- Cold start optimization techniques
|
|
373
|
+
- Memory and CPU optimization
|
|
374
|
+
- Package size reduction
|
|
375
|
+
- Provisioned concurrency patterns
|
|
376
|
+
|
|
377
|
+
- **Deployment Best Practices**: `references/deployment-best-practices.md`
|
|
378
|
+
- CI/CD pipeline design
|
|
379
|
+
- Testing strategies (unit, integration, load)
|
|
380
|
+
- Deployment strategies (canary, blue/green)
|
|
381
|
+
- Rollback and safety mechanisms
|
|
382
|
+
|
|
383
|
+
**External Resources**:
|
|
384
|
+
- **AWS Well-Architected Serverless Lens**: https://docs.aws.amazon.com/wellarchitected/latest/serverless-applications-lens/
|
|
385
|
+
- **ServerlessLand.com**: Pre-built serverless patterns
|
|
386
|
+
- **AWS Serverless Workshops**: https://serverlessland.com/learn?type=Workshops
|
|
387
|
+
|
|
388
|
+
For detailed implementation patterns, anti-patterns, and code examples, refer to the comprehensive references in the skill directory.
|
|
389
|
+
|
|
390
|
+
## Limitations
|
|
391
|
+
|
|
392
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
393
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
394
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aws-sst-development
|
|
3
|
+
description: SST v4 (Ion) expert for managing AWS resources as code with the Pulumi-backed framework. Use when writing or editing sst.config.ts, building infra/ modules (sst.aws.Function/Bucket/Dynamo/Cron/Service/Router, sst.Secret, sst.Linkable, raw aws.* Pulumi resources), wiring resource links,...
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: https://github.com/zxkane/aws-skills/tree/main/plugins/aws-iac/skills/aws-sst-development
|
|
6
|
+
source_repo: zxkane/aws-skills
|
|
7
|
+
source_type: community
|
|
8
|
+
date_added: 2026-07-01
|
|
9
|
+
license: MIT
|
|
10
|
+
license_source: https://github.com/zxkane/aws-skills/blob/main/LICENSE
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# SST v4 for AWS
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Use this skill when you need sST v4 (Ion) expert for managing AWS resources as code with the Pulumi-backed framework. Use when writing or editing sst.config.ts, building infra/ modules (sst.aws.Function/Bucket/Dynamo/Cron/Service/Router, sst.Secret, sst.Linkable, raw aws.* Pulumi resources), wiring resource links,...
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
SST v4 (the "Ion" engine) is a Pulumi-backed IaC framework: you describe AWS
|
|
20
|
+
resources in TypeScript and SST/Pulumi reconciles them into your account. It
|
|
21
|
+
gives you high-level `sst.aws.*` components (Function, Bucket, Dynamo, Cron,
|
|
22
|
+
Service, …) that expand into many underlying resources, plus an escape hatch to
|
|
23
|
+
*any* raw Pulumi `aws.*` resource for the long tail. This skill encodes a
|
|
24
|
+
production-proven way to author, link, test, deploy, and troubleshoot SST
|
|
25
|
+
stacks on AWS — distilled from real multi-stack projects that have paid for
|
|
26
|
+
each lesson with a prod incident.
|
|
27
|
+
|
|
28
|
+
**SST and Pulumi are third-party — verify current syntax with Context7**
|
|
29
|
+
(`resolve-library-id` → `query-docs` for `sst` or `pulumi-aws`) when you're
|
|
30
|
+
unsure about a component's options. Verify AWS-side facts (service limits,
|
|
31
|
+
model IDs, IAM action names, region availability) with the AWS docs MCP, never
|
|
32
|
+
from memory. The patterns here are the *how*; the docs are the *what*.
|
|
33
|
+
|
|
34
|
+
## When you're invoked
|
|
35
|
+
|
|
36
|
+
Figure out which mode you're in and jump to the right reference:
|
|
37
|
+
|
|
38
|
+
| Situation | Go to |
|
|
39
|
+
|-----------|-------|
|
|
40
|
+
| New project, or adding a resource/module to an existing SST app | **Author** → `references/authoring.md` |
|
|
41
|
+
| Wiring one module's output into another (links, SSM, IAM scope) | **Author** → `references/authoring.md` § Sharing |
|
|
42
|
+
| Writing tests for infra so changes don't silently break | **Test** → `references/testing.md` |
|
|
43
|
+
| Running a deploy, or a deploy just failed | **Deploy/Operate** → `references/deploy-and-troubleshoot.md` |
|
|
44
|
+
| Migrating a resource between Pulumi types, renaming a physical name | **Deploy/Operate** → `references/deploy-and-troubleshoot.md` § Migrations |
|
|
45
|
+
|
|
46
|
+
Always read the relevant reference before editing — they carry the *why* behind
|
|
47
|
+
each rule, which matters more than the rule itself.
|
|
48
|
+
|
|
49
|
+
## Orientation: read the repo before you touch it
|
|
50
|
+
|
|
51
|
+
SST projects are conventional but not identical. Before editing, build a quick
|
|
52
|
+
map so your change matches the house style instead of fighting it:
|
|
53
|
+
|
|
54
|
+
1. **`sst.config.ts`** — the app name, `home`, providers/region, `defaultTags`,
|
|
55
|
+
any global `$transform` (Node runtime pin, bundle fixups), and the order in
|
|
56
|
+
which `run()` imports `infra/` modules. The import order *is* the dependency
|
|
57
|
+
order; respect it.
|
|
58
|
+
2. **`infra/`** — one file per domain (storage, functions, api, observability…).
|
|
59
|
+
This is where resources are declared. Check for an `infra/CLAUDE.md` — these
|
|
60
|
+
projects keep IaC-specific rules there, and it's the single most valuable
|
|
61
|
+
file to read first.
|
|
62
|
+
3. **`infra/tests/`** — source-level Vitest assertions that pin resource
|
|
63
|
+
invariants. If they exist, your change must keep them green and probably
|
|
64
|
+
needs a new assertion.
|
|
65
|
+
4. **`package.json` / `.nvmrc`** — package manager (npm vs pnpm), Node version,
|
|
66
|
+
and the `sst`/`pulumi` versions actually installed.
|
|
67
|
+
|
|
68
|
+
Run `npx sst version` to confirm you're on v4/Ion (the `$config` + `.sst/platform/`
|
|
69
|
+
signature). v2/v3 ("SST Classic", CDK-based) is a different framework — these
|
|
70
|
+
patterns don't apply there.
|
|
71
|
+
|
|
72
|
+
## The conventions, and which are universal vs tunable
|
|
73
|
+
|
|
74
|
+
The projects this skill is built from share a deliberate house style. Some of it
|
|
75
|
+
is **universal** (true for any SST v4 + AWS project — apply it everywhere); some
|
|
76
|
+
is **project-specific** (a sensible default these projects chose — adopt it for
|
|
77
|
+
consistency, but recognize a project may differ).
|
|
78
|
+
|
|
79
|
+
**Universal — these principles hold for any SST v4 + AWS project:**
|
|
80
|
+
|
|
81
|
+
- **Control the Node runtime deliberately, in one place.** Don't leave it to
|
|
82
|
+
whatever the installed SST happens to default to. The idiom is a single global
|
|
83
|
+
`$transform(sst.aws.Function, (args) => { args.runtime ??= "nodejs24.x" })` in
|
|
84
|
+
`run()` — `??=` is correct here (the transform runs before the component
|
|
85
|
+
applies its own default, so it fills in only when the user didn't set one).
|
|
86
|
+
Recent SST already defaults to a current Node runtime, so check the installed
|
|
87
|
+
default first (Context7); the transform is then version-independence insurance
|
|
88
|
+
so a future SST downgrade can't silently move your fleet. See
|
|
89
|
+
`references/authoring.md`.
|
|
90
|
+
- **Never interpolate a Pulumi `Output<T>` into a plain JS template literal.**
|
|
91
|
+
Use `$interpolate` (or `pulumi.interpolate`). A bare top-level
|
|
92
|
+
`` `${bucket.arn}/*` `` stringifies the `Output` to a `[Output<T>]` placeholder
|
|
93
|
+
and produces a broken ARN that only fails at deploy time (it type-checks and
|
|
94
|
+
`sst dev` runs fine). The fix is `$interpolate``` `${bucket.arn}/*` ``. This
|
|
95
|
+
has caused prod deploy outages. See `references/authoring.md` § Outputs.
|
|
96
|
+
- **Migrating a resource between Pulumi *types* should default to two PRs** —
|
|
97
|
+
Pulumi creates-before-destroys, so for a uniqueness-constrained AWS name
|
|
98
|
+
(bucket, IAM role, gateway) the old resource still owns it and the create
|
|
99
|
+
fails with `ConflictException`. Two sequential deploys (teardown, then
|
|
100
|
+
recreate) is the conservative default; `aliases:` / `pulumi import` / state
|
|
101
|
+
surgery can bridge identity in some cases but only with a reviewed plan. See
|
|
102
|
+
`references/deploy-and-troubleshoot.md` § Migrations.
|
|
103
|
+
- **Prefer typed `sst.aws.*` / `aws.*` resources over the
|
|
104
|
+
`aws.cloudcontrol.Resource` escape hatch.** CloudControl outputs are
|
|
105
|
+
stringly-typed and `oneOf` fields don't patch cleanly. Use it only when no
|
|
106
|
+
typed resource exists yet, and migrate off it when one ships.
|
|
107
|
+
|
|
108
|
+
**Project-specific defaults — adopt for consistency, but confirm per repo:**
|
|
109
|
+
|
|
110
|
+
- **Region `ap-northeast-1`**, `home: "aws"`, and `defaultTags` carrying
|
|
111
|
+
`Project` / `Stage` / `ManagedBy: "sst"`.
|
|
112
|
+
- **Stage-gated lifecycle**: `removal: stage === "prod" ? "retain" : "remove"`
|
|
113
|
+
and `protect: stage === "prod"` so prod resources survive a stack tear-down
|
|
114
|
+
and non-prod previews clean up.
|
|
115
|
+
- **SSM Parameter Store as the out-of-graph contract** under a
|
|
116
|
+
`/{app}/{stage}/{domain}/...` prefix — for consumers that aren't in the
|
|
117
|
+
Pulumi graph (CI scripts, sibling apps, operators). For *same-app* Lambdas,
|
|
118
|
+
prefer SST `link:` (it wires a real dependency edge and grants IAM); don't
|
|
119
|
+
route same-app sharing through SSM. See `references/authoring.md` § Sharing.
|
|
120
|
+
- **Lazy `await import("./infra/<module>")` inside `run()`** so `sst dev`
|
|
121
|
+
hot-reload stays light. (For testing, a module export still runs its top-level
|
|
122
|
+
`new sst.aws.*` unless it's wrapped in a factory function — see
|
|
123
|
+
`references/testing.md` for how to test infra.)
|
|
124
|
+
- **Source-level Vitest tests** on every infra module — a lightweight,
|
|
125
|
+
house-style regression net asserting on the *source text* (resource names,
|
|
126
|
+
index shapes, IAM scopes). It's a deliberate choice, not an SST limit: Pulumi
|
|
127
|
+
*does* support runtime mocks (`@pulumi/pulumi/runtime`) for behavioral graph
|
|
128
|
+
tests when a module has real logic. Source assertions don't replace a
|
|
129
|
+
preview-deploy + smoke test. See `references/testing.md`.
|
|
130
|
+
- **An observability gate**: every new Lambda/queue/schedule gets an alarm and
|
|
131
|
+
structured logging before merge. Whether you enforce this depends on the
|
|
132
|
+
project, but it's cheap insurance. See `references/deploy-and-troubleshoot.md`
|
|
133
|
+
§ Observability.
|
|
134
|
+
|
|
135
|
+
When you introduce a convention, say which bucket it's in ("this is universal"
|
|
136
|
+
vs "matching this repo's house style") so the user can override the
|
|
137
|
+
project-specific ones deliberately.
|
|
138
|
+
|
|
139
|
+
## Working rhythm
|
|
140
|
+
|
|
141
|
+
1. **Orient** (above) — map config, modules, tests, tooling.
|
|
142
|
+
2. **Verify syntax** with Context7 / AWS docs MCP if anything is non-obvious.
|
|
143
|
+
Don't guess at a component's option name.
|
|
144
|
+
3. **Author** the resource/module following `references/authoring.md`. Match the
|
|
145
|
+
surrounding file's commenting density and naming — these projects comment the
|
|
146
|
+
*why* heavily, and a terse one-liner in a heavily-annotated file reads as a
|
|
147
|
+
regression.
|
|
148
|
+
4. **Test** — add or update source-level assertions (`references/testing.md`) and
|
|
149
|
+
run `npx vitest` (or the repo's `test` script). Run `npx sst diff` and/or
|
|
150
|
+
`tsc --noEmit` to catch type and plan errors before deploying.
|
|
151
|
+
5. **Deploy/operate** per `references/deploy-and-troubleshoot.md`. Confirm the
|
|
152
|
+
target account with `aws sts get-caller-identity` before any `sst deploy`.
|
|
153
|
+
6. **Clean up** any exported state files — they contain account IDs and ARNs and
|
|
154
|
+
must not linger in `/tmp` or chat history.
|
|
155
|
+
|
|
156
|
+
## What good looks like
|
|
157
|
+
|
|
158
|
+
- The change is the smallest diff that satisfies the requirement, in the right
|
|
159
|
+
`infra/` module, wired into `run()` in dependency order.
|
|
160
|
+
- Every Lambda gets the right runtime via the global transform (you didn't
|
|
161
|
+
hand-set `runtime` unless intentionally diverging — e.g. a Python function).
|
|
162
|
+
- Cross-resource references use `link:` (in-graph) and/or `$interpolate`-scoped
|
|
163
|
+
IAM; outputs other tools consume are published to SSM under the stage prefix.
|
|
164
|
+
- New infra has a matching source-level test, and the existing suite stays green.
|
|
165
|
+
- You confirmed AWS-side facts via the docs MCP and SST/Pulumi syntax via
|
|
166
|
+
Context7 rather than relying on recall.
|
|
167
|
+
- Anything irreversible (deploy, `sst remove`, a resource-type migration) was
|
|
168
|
+
flagged to the user with the account it targets, and migrations were planned
|
|
169
|
+
as two PRs, not one.
|
|
170
|
+
|
|
171
|
+
## Limitations
|
|
172
|
+
|
|
173
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
174
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
175
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-ai-language-conversations-py
|
|
3
|
+
description: Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-python/skills/azure-ai-language-conversations-py
|
|
6
|
+
source_repo: microsoft/skills
|
|
7
|
+
source_type: official
|
|
8
|
+
date_added: 2026-07-01
|
|
9
|
+
license: MIT
|
|
10
|
+
license_source: https://github.com/microsoft/skills/blob/main/LICENSE
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Azure AI Language Conversations for Python
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Use this skill when you need implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## System Prompt
|
|
20
|
+
You are an expert Python developer specializing in Azure AI Services and Natural Language Processing.
|
|
21
|
+
Your task is to help users implement Conversational Language Understanding (CLU) using the `azure-ai-language-conversations` SDK.
|
|
22
|
+
|
|
23
|
+
When responding to requests about Azure AI Language Conversations:
|
|
24
|
+
1. Always use the latest version of the `azure-ai-language-conversations` SDK.
|
|
25
|
+
2. Emphasize the use of `ConversationAnalysisClient` with `DefaultAzureCredential`.
|
|
26
|
+
3. Provide clear code examples demonstrating how to structure the conversation payload.
|
|
27
|
+
4. Handle exceptions properly.
|
|
28
|
+
|
|
29
|
+
## Authentication & Lifecycle
|
|
30
|
+
|
|
31
|
+
> **🔑 Two rules apply to every code sample below:**
|
|
32
|
+
>
|
|
33
|
+
> 1. **Prefer `DefaultAzureCredential`.** It works locally (Azure CLI / VS Code / Developer CLI) and in Azure (managed identity, workload identity) with no code change. Avoid connection strings, account/API keys — they bypass Entra audit and rotation.
|
|
34
|
+
> - Local dev: `DefaultAzureCredential` works as-is.
|
|
35
|
+
> - Production: set `AZURE_TOKEN_CREDENTIALS=prod` (or `AZURE_TOKEN_CREDENTIALS=<specific_credential>`) to constrain the credential chain to production-safe credentials.
|
|
36
|
+
> 2. **Wrap every client in a context manager** so HTTP transports, sockets, and token caches are released deterministically:
|
|
37
|
+
> - Sync: `with <Client>(...) as client:`
|
|
38
|
+
> - Async: `async with <Client>(...) as client:` **and** `async with DefaultAzureCredential() as credential:` (from `azure.identity.aio`)
|
|
39
|
+
>
|
|
40
|
+
> Snippets may abbreviate this setup, but production code should always follow both rules.
|
|
41
|
+
|
|
42
|
+
`ConversationAnalysisClient` accepts a `TokenCredential` such as `DefaultAzureCredential`. Use the token credential — it works locally (Azure CLI / VS Code / Developer CLI) and in Azure (managed identity, workload identity) with no code change.
|
|
43
|
+
|
|
44
|
+
### Legacy: API Key (existing keyed deployments)
|
|
45
|
+
|
|
46
|
+
New code should use `DefaultAzureCredential`. Use `AzureKeyCredential` only if you have an existing keyed deployment that hasn't been migrated to Entra ID yet — for example, regulated environments still completing their Entra rollout.
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
import os
|
|
50
|
+
from azure.core.credentials import AzureKeyCredential
|
|
51
|
+
from azure.ai.language.conversations import ConversationAnalysisClient
|
|
52
|
+
|
|
53
|
+
endpoint = os.environ["AZURE_CONVERSATIONS_ENDPOINT"]
|
|
54
|
+
key = os.environ["AZURE_CONVERSATIONS_KEY"]
|
|
55
|
+
|
|
56
|
+
with ConversationAnalysisClient(endpoint, AzureKeyCredential(key)) as client:
|
|
57
|
+
# See "Basic Conversation Analysis" below for the analyze_conversation payload
|
|
58
|
+
...
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Best Practices
|
|
62
|
+
- **Pick sync OR async and stay consistent.** Do not mix `azure.ai.language.conversations` sync clients with `azure.ai.language.conversations.aio` async clients in the same call path. Choose one mode per module.
|
|
63
|
+
- **Always use context managers for clients and async credentials.** Wrap every client in `with ConversationAnalysisClient(...) as client:` (sync) or `async with ConversationAnalysisClient(...) as client:` (async). For async `DefaultAzureCredential` from `azure.identity.aio`, also use `async with credential:` so tokens and transports are cleaned up.
|
|
64
|
+
- **Use `DefaultAzureCredential`** for portable auth across local dev and Azure (avoid API keys; they bypass Entra audit and rotation).
|
|
65
|
+
- Use environment variables for the endpoint, project name, and deployment name.
|
|
66
|
+
- Clearly map the `participantId` and `id` in the `conversationItem` payload.
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
### Basic Conversation Analysis
|
|
71
|
+
```python
|
|
72
|
+
import os
|
|
73
|
+
from azure.identity import DefaultAzureCredential
|
|
74
|
+
from azure.ai.language.conversations import ConversationAnalysisClient
|
|
75
|
+
|
|
76
|
+
endpoint = os.environ["AZURE_CONVERSATIONS_ENDPOINT"]
|
|
77
|
+
project_name = os.environ["AZURE_CONVERSATIONS_PROJECT"]
|
|
78
|
+
deployment_name = os.environ["AZURE_CONVERSATIONS_DEPLOYMENT"]
|
|
79
|
+
|
|
80
|
+
# DefaultAzureCredential works locally and in Azure with no code change.
|
|
81
|
+
credential = DefaultAzureCredential()
|
|
82
|
+
|
|
83
|
+
with ConversationAnalysisClient(endpoint, credential) as client:
|
|
84
|
+
query = "Send an email to Carol about the tomorrow's meeting"
|
|
85
|
+
result = client.analyze_conversation(
|
|
86
|
+
task={
|
|
87
|
+
"kind": "Conversation",
|
|
88
|
+
"analysisInput": {
|
|
89
|
+
"conversationItem": {
|
|
90
|
+
"participantId": "1",
|
|
91
|
+
"id": "1",
|
|
92
|
+
"modality": "text",
|
|
93
|
+
"language": "en",
|
|
94
|
+
"text": query
|
|
95
|
+
},
|
|
96
|
+
"isLoggingEnabled": False
|
|
97
|
+
},
|
|
98
|
+
"parameters": {
|
|
99
|
+
"projectName": project_name,
|
|
100
|
+
"deploymentName": deployment_name,
|
|
101
|
+
"verbose": True
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
print(f"Top intent: {result['result']['prediction']['topIntent']}")
|
|
107
|
+
|
|
108
|
+
## Limitations
|
|
109
|
+
|
|
110
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
111
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
112
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|