opencode-skills-collection 3.1.12 → 3.1.13
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/bundled-skills/.antigravity-install-manifest.json +192 -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/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/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/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/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 +36 -10
- package/bundled-skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +30 -52
- 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/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/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/scripts/weaviate_conn.py +16 -6
- 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/package.json +1 -1
- package/skills_index.json +4320 -132
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-servicebus-rust
|
|
3
|
+
description: 'Azure Service Bus library for Rust. Send and receive messages using queues, topics, and subscriptions. Triggers: "service bus rust", "ServiceBusClient rust", "send message servicebus rust", "receive message servicebus rust", "queue rust messaging", "topic subscription rust".'
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-rust/skills/azure-servicebus-rust
|
|
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 Service Bus library for Rust
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Use this skill when you need azure Service Bus library for Rust. Send and receive messages using queues, topics, and subscriptions. Triggers: "service bus rust", "ServiceBusClient rust", "send message servicebus rust", "receive message servicebus rust", "queue rust messaging", "topic subscription rust".
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Client library for Azure Service Bus — enterprise message broker with queues and publish-subscribe topics.
|
|
20
|
+
|
|
21
|
+
> **⚠️ WARNING:** This crate is in early development and **SHOULD NOT** be used in production. APIs may change without notice.
|
|
22
|
+
|
|
23
|
+
Use this skill when:
|
|
24
|
+
|
|
25
|
+
- An app needs to send or receive messages via Azure Service Bus from Rust
|
|
26
|
+
- You need queue-based messaging with competing consumers
|
|
27
|
+
- You need publish-subscribe messaging with topics and subscriptions
|
|
28
|
+
- You need reliable message delivery with completion semantics
|
|
29
|
+
|
|
30
|
+
> **IMPORTANT:** Only use the official `azure_messaging_servicebus` crate published by the [azure-sdk](https://crates.io/users/azure-sdk) crates.io user. Do NOT use unofficial or community crates. Official crates use underscores in names and none have version 0.21.0.
|
|
31
|
+
|
|
32
|
+
## Installation
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
cargo add azure_messaging_servicebus azure_identity tokio
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> If your code uses `azure_core` types directly, add `azure_core` to `Cargo.toml`. If you only use `azure_messaging_servicebus` re-exports, direct `azure_core` dependency is optional.
|
|
39
|
+
|
|
40
|
+
## Environment Variables
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
SERVICEBUS_NAMESPACE=<namespace>.servicebus.windows.net # Required — fully qualified namespace
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Key Concepts
|
|
47
|
+
|
|
48
|
+
| Concept | Description |
|
|
49
|
+
| ---------------- | --------------------------------------------------------------- |
|
|
50
|
+
| **Namespace** | Container for all messaging components |
|
|
51
|
+
| **Queue** | Point-to-point messaging with competing consumers |
|
|
52
|
+
| **Topic** | Publish-subscribe messaging — one sender, many subscribers |
|
|
53
|
+
| **Subscription** | Receives messages from a topic |
|
|
54
|
+
| **Message** | Package of data and metadata, with completion/abandon semantics |
|
|
55
|
+
|
|
56
|
+
## Authentication
|
|
57
|
+
|
|
58
|
+
```rust
|
|
59
|
+
use azure_identity::DeveloperToolsCredential;
|
|
60
|
+
use azure_messaging_servicebus::ServiceBusClient;
|
|
61
|
+
|
|
62
|
+
#[tokio::main]
|
|
63
|
+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
64
|
+
// Local dev: DeveloperToolsCredential. Production: use ManagedIdentityCredential.
|
|
65
|
+
let credential = DeveloperToolsCredential::new(None)?;
|
|
66
|
+
let client = ServiceBusClient::builder()
|
|
67
|
+
.open("your_namespace.servicebus.windows.net", credential.clone())
|
|
68
|
+
.await?;
|
|
69
|
+
Ok(())
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Core Workflow
|
|
74
|
+
|
|
75
|
+
### Send a Message to a Queue
|
|
76
|
+
|
|
77
|
+
```rust
|
|
78
|
+
use azure_identity::DeveloperToolsCredential;
|
|
79
|
+
use azure_messaging_servicebus::{ServiceBusClient, Message};
|
|
80
|
+
|
|
81
|
+
#[tokio::main]
|
|
82
|
+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
83
|
+
let credential = DeveloperToolsCredential::new(None)?;
|
|
84
|
+
let client = ServiceBusClient::builder()
|
|
85
|
+
.open("your_namespace.servicebus.windows.net", credential.clone())
|
|
86
|
+
.await?;
|
|
87
|
+
let sender = client.create_sender("my_queue", None).await?;
|
|
88
|
+
|
|
89
|
+
let message = Message::from("Hello, Service Bus!");
|
|
90
|
+
sender.send_message(message, None).await?;
|
|
91
|
+
Ok(())
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Receive Messages from a Queue
|
|
96
|
+
|
|
97
|
+
```rust
|
|
98
|
+
use azure_identity::DeveloperToolsCredential;
|
|
99
|
+
use azure_messaging_servicebus::ServiceBusClient;
|
|
100
|
+
|
|
101
|
+
#[tokio::main]
|
|
102
|
+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
103
|
+
let credential = DeveloperToolsCredential::new(None)?;
|
|
104
|
+
let client = ServiceBusClient::builder()
|
|
105
|
+
.open("your_namespace.servicebus.windows.net", credential.clone())
|
|
106
|
+
.await?;
|
|
107
|
+
let receiver = client.create_receiver("my_queue", None).await?;
|
|
108
|
+
|
|
109
|
+
let messages = receiver.receive_messages(5, None).await?;
|
|
110
|
+
for message in messages {
|
|
111
|
+
println!("Received: {}", message.body_as_string()?);
|
|
112
|
+
receiver.complete_message(&message, None).await?;
|
|
113
|
+
}
|
|
114
|
+
Ok(())
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Send a Message to a Topic
|
|
119
|
+
|
|
120
|
+
```rust
|
|
121
|
+
let sender = client.create_sender("my_topic", None).await?;
|
|
122
|
+
let message = Message::from("Hello, Topic subscribers!");
|
|
123
|
+
sender.send_message(message, None).await?;
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Receive Messages from a Subscription
|
|
127
|
+
|
|
128
|
+
```rust
|
|
129
|
+
let receiver = client
|
|
130
|
+
.create_receiver_for_subscription("my_topic", "my_subscription", None)
|
|
131
|
+
.await?;
|
|
132
|
+
|
|
133
|
+
let messages = receiver.receive_messages(5, None).await?;
|
|
134
|
+
for message in messages {
|
|
135
|
+
println!("Received: {}", message.body_as_string()?);
|
|
136
|
+
receiver.complete_message(&message, None).await?;
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Message Settlement
|
|
141
|
+
|
|
142
|
+
| Action | Purpose |
|
|
143
|
+
| ---------- | -------------------------------------------------- |
|
|
144
|
+
| `complete` | Remove message from queue — processing succeeded |
|
|
145
|
+
| `abandon` | Release lock — message becomes available for retry |
|
|
146
|
+
|
|
147
|
+
Always complete messages after successful processing to prevent redelivery.
|
|
148
|
+
|
|
149
|
+
## RBAC Roles
|
|
150
|
+
|
|
151
|
+
For Entra ID auth, assign one of these roles:
|
|
152
|
+
|
|
153
|
+
| Role | Access |
|
|
154
|
+
| --------------------------------- | ---------------- |
|
|
155
|
+
| `Azure Service Bus Data Sender` | Send messages |
|
|
156
|
+
| `Azure Service Bus Data Receiver` | Receive messages |
|
|
157
|
+
| `Azure Service Bus Data Owner` | Full access |
|
|
158
|
+
|
|
159
|
+
## Best Practices
|
|
160
|
+
|
|
161
|
+
1. **Use `cargo add` to manage dependencies, never edit `Cargo.toml` directly.** Add and remove Rust SDK dependencies with cargo commands instead of manual manifest edits.
|
|
162
|
+
2. **Add `azure_core` only when importing `azure_core` types directly.** If your code imports `azure_core::http::Url`, `azure_core::http::RequestContent`, or `azure_core::error::ErrorKind`, include `azure_core`; otherwise a direct dependency is optional.
|
|
163
|
+
3. **Use `DeveloperToolsCredential`** for local dev, **`ManagedIdentityCredential`** for production — Rust does not provide a single `DefaultAzureCredential` type
|
|
164
|
+
4. **Never hardcode credentials** — use environment variables or managed identity
|
|
165
|
+
5. **Assign RBAC roles** — ensure the identity has appropriate Service Bus data roles
|
|
166
|
+
6. **Always complete messages** — call `complete_message` after processing to remove from queue
|
|
167
|
+
7. **Use topics for fan-out** — when multiple consumers need the same messages, use topics with subscriptions
|
|
168
|
+
8. **This crate is pre-production** — APIs may change; pin your dependency version with cargo commands in your dependency workflow
|
|
169
|
+
|
|
170
|
+
## Reference Links
|
|
171
|
+
|
|
172
|
+
| Resource | Link |
|
|
173
|
+
| ------------- | ----------------------------------------------------------------------------------------------- |
|
|
174
|
+
| API Reference | https://docs.rs/azure_messaging_servicebus/latest/azure_messaging_servicebus |
|
|
175
|
+
| crates.io | https://crates.io/crates/azure_messaging_servicebus |
|
|
176
|
+
| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/servicebus/azure_messaging_servicebus |
|
|
177
|
+
|
|
178
|
+
## Limitations
|
|
179
|
+
|
|
180
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
181
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
182
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-storage-queue-rust
|
|
3
|
+
description: 'Azure Queue Storage library for Rust. Send, receive, and manage queue messages. Triggers: "queue storage rust", "QueueClient rust", "send message rust", "receive messages rust", "QueueServiceClient rust", "queue rust".'
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-rust/skills/azure-storage-queue-rust
|
|
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 Queue Storage library for Rust
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Use this skill when you need azure Queue Storage library for Rust. Send, receive, and manage queue messages. Triggers: "queue storage rust", "QueueClient rust", "send message rust", "receive messages rust", "QueueServiceClient rust", "queue rust".
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
Client library for Azure Queue Storage — send, receive, and manage queue messages.
|
|
20
|
+
|
|
21
|
+
Use this skill when:
|
|
22
|
+
|
|
23
|
+
- An app needs to send or receive messages from Azure Queue Storage in Rust
|
|
24
|
+
- You need to create or manage queues
|
|
25
|
+
- You need to peek, receive, or delete queue messages
|
|
26
|
+
- You need RBAC-based auth for queue operations
|
|
27
|
+
|
|
28
|
+
> **IMPORTANT:** Only use the official `azure_storage_queue` crate published by the [azure-sdk](https://crates.io/users/azure-sdk) crates.io user. Do NOT use unofficial or community crates. Official crates use underscores in names and none have version 0.21.0.
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
cargo add azure_storage_queue azure_identity azure_core tokio
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
> If your code uses `azure_core` types directly, add `azure_core` to `Cargo.toml`. If you only use `azure_storage_queue` re-exports, direct `azure_core` dependency is optional.
|
|
37
|
+
|
|
38
|
+
## Environment Variables
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
AZURE_STORAGE_QUEUE_ENDPOINT=https://<account>.queue.core.windows.net/ # Required for all operations
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Authentication
|
|
45
|
+
|
|
46
|
+
```rust
|
|
47
|
+
use azure_core::http::Url;
|
|
48
|
+
use azure_identity::DeveloperToolsCredential;
|
|
49
|
+
use azure_storage_queue::QueueServiceClient;
|
|
50
|
+
|
|
51
|
+
#[tokio::main]
|
|
52
|
+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
53
|
+
// Local dev: DeveloperToolsCredential. Production: use ManagedIdentityCredential.
|
|
54
|
+
let credential = DeveloperToolsCredential::new(None)?;
|
|
55
|
+
let service_url = Url::parse("https://<storage_account_name>.queue.core.windows.net/")?;
|
|
56
|
+
let service_client = QueueServiceClient::new(service_url, Some(credential), None)?;
|
|
57
|
+
|
|
58
|
+
// Derive a queue client by name.
|
|
59
|
+
let queue_client = service_client.queue_client("<queue_name>")?;
|
|
60
|
+
Ok(())
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Client Types
|
|
65
|
+
|
|
66
|
+
| Client | Purpose | Access |
|
|
67
|
+
| -------------------- | ------------------------------------- | ---------------------------------------- |
|
|
68
|
+
| `QueueServiceClient` | Account-level operations, list queues | `QueueServiceClient::new()` |
|
|
69
|
+
| `QueueClient` | Queue operations, send/receive/delete | `service_client.queue_client("<name>")?` |
|
|
70
|
+
|
|
71
|
+
## Core Workflow
|
|
72
|
+
|
|
73
|
+
### Send a Message
|
|
74
|
+
|
|
75
|
+
```rust
|
|
76
|
+
use azure_core::http::Url;
|
|
77
|
+
use azure_identity::DeveloperToolsCredential;
|
|
78
|
+
use azure_storage_queue::{models::QueueMessage, QueueServiceClient};
|
|
79
|
+
|
|
80
|
+
#[tokio::main]
|
|
81
|
+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
82
|
+
let credential = DeveloperToolsCredential::new(None)?;
|
|
83
|
+
let service_url = Url::parse("https://<storage_account_name>.queue.core.windows.net/")?;
|
|
84
|
+
let service_client = QueueServiceClient::new(service_url, Some(credential), None)?;
|
|
85
|
+
let queue_client = service_client.queue_client("<queue_name>")?;
|
|
86
|
+
|
|
87
|
+
let message = QueueMessage {
|
|
88
|
+
message_text: Some("hello world".to_string()),
|
|
89
|
+
};
|
|
90
|
+
queue_client.send_message(message.try_into()?, None).await?;
|
|
91
|
+
Ok(())
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Receive Messages
|
|
96
|
+
|
|
97
|
+
```rust
|
|
98
|
+
use azure_core::http::Url;
|
|
99
|
+
use azure_identity::DeveloperToolsCredential;
|
|
100
|
+
use azure_storage_queue::QueueServiceClient;
|
|
101
|
+
|
|
102
|
+
#[tokio::main]
|
|
103
|
+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
104
|
+
let credential = DeveloperToolsCredential::new(None)?;
|
|
105
|
+
let service_url = Url::parse("https://<storage_account_name>.queue.core.windows.net/")?;
|
|
106
|
+
let service_client = QueueServiceClient::new(service_url, Some(credential), None)?;
|
|
107
|
+
let queue_client = service_client.queue_client("<queue_name>")?;
|
|
108
|
+
|
|
109
|
+
let response = queue_client.receive_messages(None).await?;
|
|
110
|
+
let messages = response.into_model()?;
|
|
111
|
+
for msg in messages.items.unwrap_or_default() {
|
|
112
|
+
println!("{}", msg.message_text.as_deref().unwrap_or("<empty>"));
|
|
113
|
+
}
|
|
114
|
+
Ok(())
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Delete a Message
|
|
119
|
+
|
|
120
|
+
After receiving a message, delete it using the message ID and pop receipt:
|
|
121
|
+
|
|
122
|
+
```rust
|
|
123
|
+
let response = queue_client.receive_messages(None).await?;
|
|
124
|
+
let messages = response.into_model()?;
|
|
125
|
+
for msg in messages.items.unwrap_or_default() {
|
|
126
|
+
if let (Some(id), Some(pop_receipt)) = (&msg.message_id, &msg.pop_receipt) {
|
|
127
|
+
queue_client.delete_message(id, pop_receipt, None).await?;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Peek Messages
|
|
133
|
+
|
|
134
|
+
Peek at messages without removing them from the queue:
|
|
135
|
+
|
|
136
|
+
```rust
|
|
137
|
+
let response = queue_client.peek_messages(None).await?;
|
|
138
|
+
let messages = response.into_model()?;
|
|
139
|
+
for msg in messages.items.unwrap_or_default() {
|
|
140
|
+
println!("Peeked: {}", msg.message_text.as_deref().unwrap_or("<empty>"));
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## RBAC Roles
|
|
145
|
+
|
|
146
|
+
For Entra ID auth, assign one of these roles to the identity:
|
|
147
|
+
|
|
148
|
+
| Role | Access |
|
|
149
|
+
| -------------------------------------- | ---------------------- |
|
|
150
|
+
| `Storage Queue Data Reader` | Read and peek messages |
|
|
151
|
+
| `Storage Queue Data Contributor` | Read/write messages |
|
|
152
|
+
| `Storage Queue Data Message Sender` | Send messages only |
|
|
153
|
+
| `Storage Queue Data Message Processor` | Receive and delete |
|
|
154
|
+
|
|
155
|
+
## Best Practices
|
|
156
|
+
|
|
157
|
+
1. **Use `cargo add` to manage dependencies, never edit `Cargo.toml` directly.** Add and remove Rust SDK dependencies with cargo commands instead of manual manifest edits.
|
|
158
|
+
2. **Add `azure_core` only when importing `azure_core` types directly.** If your code imports `azure_core::http::Url`, `azure_core::http::RequestContent`, or `azure_core::error::ErrorKind`, include `azure_core`; otherwise a direct dependency is optional.
|
|
159
|
+
3. **Use `DeveloperToolsCredential`** for local dev, **`ManagedIdentityCredential`** for production — Rust does not provide a single `DefaultAzureCredential` type
|
|
160
|
+
4. **Never hardcode credentials** — use environment variables or managed identity
|
|
161
|
+
5. **Assign RBAC roles** — ensure appropriate queue data roles for the identity
|
|
162
|
+
6. **Use `QueueServiceClient` as the entry point** and derive `QueueClient` from it via `queue_client()`
|
|
163
|
+
7. **Delete messages after processing** — use the message ID and pop receipt from `receive_messages`
|
|
164
|
+
8. **Reuse clients** — clients are thread-safe; create once, share across tasks
|
|
165
|
+
|
|
166
|
+
## Reference Links
|
|
167
|
+
|
|
168
|
+
| Resource | Link |
|
|
169
|
+
| ------------- | ------------------------------------------------------------------------------------- |
|
|
170
|
+
| API Reference | https://docs.rs/crate/azure_storage_queue/latest |
|
|
171
|
+
| crates.io | https://crates.io/crates/azure_storage_queue |
|
|
172
|
+
| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/storage/azure_storage_queue |
|
|
173
|
+
|
|
174
|
+
## Limitations
|
|
175
|
+
|
|
176
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
177
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
178
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: baseline-ui
|
|
3
|
-
description:
|
|
3
|
+
description: Quickly deslop UI code by fixing spacing, hierarchy, typography, and small layout issues. Use when the interface needs a fast cleanup or polish pass.
|
|
4
4
|
risk: unknown
|
|
5
|
-
source:
|
|
5
|
+
source: https://github.com/ibelick/ui-skills/tree/main/skills/baseline-ui
|
|
6
|
+
source_repo: ibelick/ui-skills
|
|
7
|
+
source_type: community
|
|
8
|
+
date_added: 2026-07-01
|
|
9
|
+
license: MIT
|
|
10
|
+
license_source: https://github.com/ibelick/ui-skills/blob/main/LICENSE
|
|
6
11
|
---
|
|
7
12
|
|
|
8
13
|
# Baseline UI
|
|
14
|
+
## When to Use
|
|
9
15
|
|
|
10
|
-
|
|
16
|
+
Use this skill when you need quickly deslop UI code by fixing spacing, hierarchy, typography, and small layout issues. Use when the interface needs a fast cleanup or polish pass.
|
|
11
17
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- The task is to prevent generic or sloppy AI-generated interface decisions before they spread through the codebase.
|
|
15
|
-
- You need concrete UI constraints to apply to a file review or an ongoing frontend implementation.
|
|
18
|
+
|
|
19
|
+
Enforces an opinionated UI baseline to prevent AI-generated interface slop.
|
|
16
20
|
|
|
17
21
|
## How to use
|
|
18
22
|
|
|
@@ -92,6 +96,7 @@ Enforces an opinionated UI baseline to prevent AI-generated interface slop.
|
|
|
92
96
|
- SHOULD use existing theme or Tailwind CSS color tokens before introducing new ones
|
|
93
97
|
|
|
94
98
|
## Limitations
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
99
|
+
|
|
100
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
101
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
102
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brooks-audit
|
|
3
|
+
description: "Architecture audit that maps module dependencies, checks layering integrity, and flags structural decay across a codebase, drawing on twelve classic engineering books. Triggers when: user asks to audit architecture, review folder/module structure, check for circular imports, understand..."
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: https://github.com/hyhmrright/brooks-lint/tree/main/skills/brooks-audit
|
|
6
|
+
source_repo: hyhmrright/brooks-lint
|
|
7
|
+
source_type: community
|
|
8
|
+
date_added: 2026-07-01
|
|
9
|
+
license: MIT
|
|
10
|
+
license_source: https://github.com/hyhmrright/brooks-lint/blob/main/LICENSE
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Brooks-Lint — Architecture Audit
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
Use this skill when you need architecture audit that maps module dependencies, checks layering integrity, and flags structural decay across a codebase, drawing on twelve classic engineering books. Triggers when: user asks to audit architecture, review folder/module structure, check for circular imports, understand...
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Setup
|
|
20
|
+
|
|
21
|
+
1. Read `../_shared/common.md` for the Iron Law, Project Config, Report Template, and Health Score rules
|
|
22
|
+
2. Read `../_shared/source-coverage.md` for book-level coverage, exceptions, and tradeoffs
|
|
23
|
+
3. Read `../_shared/decay-risks.md` for symptom definitions and source attributions
|
|
24
|
+
4. Read `architecture-guide.md` in this directory for the audit framework
|
|
25
|
+
|
|
26
|
+
## Process
|
|
27
|
+
|
|
28
|
+
**Onboarding mode:** If the user asks for an onboarding report, codebase tour, or
|
|
29
|
+
"explain this codebase to a new developer", read `onboarding-guide.md` from this
|
|
30
|
+
directory and follow it instead of `architecture-guide.md`. This mode explains rather
|
|
31
|
+
than diagnoses — no Health Score, no Iron Law findings.
|
|
32
|
+
|
|
33
|
+
**If the user has not specified files or a directory to audit:** apply Auto Scope
|
|
34
|
+
Detection from `../_shared/common.md` to determine the audit scope before proceeding.
|
|
35
|
+
|
|
36
|
+
1. Gather codebase context and draw the module dependency graph as Mermaid (Steps 0–1 of the guide)
|
|
37
|
+
2. Scan for each decay risk in the order specified (Steps 2–4 of the guide)
|
|
38
|
+
3. Assign node colors in the Mermaid diagram based on findings (red/yellow/green) — after Step 4
|
|
39
|
+
4. Run the Testability Seam Assessment (Step 5 of the guide)
|
|
40
|
+
5. Run the Conway's Law check (Step 6 of the guide)
|
|
41
|
+
6. Output using the Report Template from common.md — Mermaid graph FIRST, then Findings
|
|
42
|
+
|
|
43
|
+
**Mode line in report:** `Architecture Audit`
|
|
44
|
+
|
|
45
|
+
## Limitations
|
|
46
|
+
|
|
47
|
+
- Use this skill only when the task clearly matches its upstream source and local project context.
|
|
48
|
+
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
|
|
49
|
+
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# Architecture Audit Guide — Mode 2
|
|
2
|
+
|
|
3
|
+
**Purpose:** Analyze the module and dependency structure of a system for decay risks that
|
|
4
|
+
operate at the architectural level. Every finding must follow the Iron Law:
|
|
5
|
+
Symptom → Source → Consequence → Remedy.
|
|
6
|
+
|
|
7
|
+
**Monorepo note:** Treat each deployable service or library as a top-level module. Draw
|
|
8
|
+
dependencies between services, not between their internal packages. Apply the Conway's Law
|
|
9
|
+
check at the service ownership level. Within a single service, apply standard module-level analysis.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Analysis Process
|
|
14
|
+
|
|
15
|
+
Work through these six steps in order.
|
|
16
|
+
|
|
17
|
+
### Step 0: Gather Codebase Context
|
|
18
|
+
|
|
19
|
+
Before drawing anything, establish what you can see.
|
|
20
|
+
|
|
21
|
+
**If the user provided a full directory tree or pasted relevant file contents:** skip the
|
|
22
|
+
proactive reading below and proceed to Step 1.
|
|
23
|
+
|
|
24
|
+
**Otherwise, proactively read the project using these tools:**
|
|
25
|
+
|
|
26
|
+
1. **Top-level structure** — glob top two levels to identify module boundaries:
|
|
27
|
+
```
|
|
28
|
+
Glob: **/*(depth 2, directories only)
|
|
29
|
+
```
|
|
30
|
+
2. **Entry points** — read the package manifest or main config file (e.g., `package.json`,
|
|
31
|
+
`go.mod`, `pom.xml`, `Cargo.toml`, `pyproject.toml`) to confirm language, framework,
|
|
32
|
+
and declared dependencies.
|
|
33
|
+
3. **Dependency edges** — grep import statements to discover inter-module calls. Run once
|
|
34
|
+
per language present; limit to the first 200 matches to avoid token overrun:
|
|
35
|
+
```
|
|
36
|
+
Grep: "^\s*(import|from|require\(|use )" across *.ts|*.py|*.go|*.rs|*.java
|
|
37
|
+
```
|
|
38
|
+
4. **Large modules** — for any top-level directory with > 10 files, read the file matching
|
|
39
|
+
`index.*`, `main.*`, or `__init__.*` to understand its stated responsibility.
|
|
40
|
+
|
|
41
|
+
**Stop when you can answer all three:**
|
|
42
|
+
- What are the top-level modules (names and count)?
|
|
43
|
+
- Which modules import from which other modules?
|
|
44
|
+
- Which module has the highest fan-in or fan-out?
|
|
45
|
+
|
|
46
|
+
If the project has > 100 top-level files or > 4 levels of nesting, note which areas were
|
|
47
|
+
sampled vs. inferred, and flag this in the report scope line.
|
|
48
|
+
|
|
49
|
+
### Step 1: Draw the Module Dependency Graph (Mermaid)
|
|
50
|
+
|
|
51
|
+
Before evaluating any risk, map the dependencies as a Mermaid diagram. Use this format:
|
|
52
|
+
|
|
53
|
+
````mermaid
|
|
54
|
+
graph TD
|
|
55
|
+
subgraph UI
|
|
56
|
+
WebApp
|
|
57
|
+
MobileApp
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
subgraph Domain
|
|
61
|
+
AuthService
|
|
62
|
+
OrderService
|
|
63
|
+
PaymentService
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
subgraph Infrastructure
|
|
67
|
+
Database
|
|
68
|
+
MessageQueue
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
WebApp --> AuthService
|
|
72
|
+
WebApp --> OrderService
|
|
73
|
+
MobileApp --> AuthService
|
|
74
|
+
MobileApp --> OrderService
|
|
75
|
+
OrderService --> PaymentService
|
|
76
|
+
OrderService --> Database
|
|
77
|
+
OrderService --> MessageQueue
|
|
78
|
+
PaymentService --> Database
|
|
79
|
+
AuthService -.->|circular| OrderService
|
|
80
|
+
|
|
81
|
+
classDef critical fill:#ff6b6b,stroke:#c92a2a,color:#fff
|
|
82
|
+
classDef warning fill:#ffd43b,stroke:#e67700
|
|
83
|
+
classDef clean fill:#51cf66,stroke:#2b8a3e,color:#fff
|
|
84
|
+
|
|
85
|
+
class PaymentService critical
|
|
86
|
+
class OrderService warning
|
|
87
|
+
class Database,MessageQueue,AuthService,WebApp,MobileApp clean
|
|
88
|
+
````
|
|
89
|
+
|
|
90
|
+
Draw the graph structure first — nodes, subgraphs, and edges — without any `classDef` or
|
|
91
|
+
`class` lines. You cannot assign colors until you have completed the risk scan in Steps 2–4.
|
|
92
|
+
|
|
93
|
+
**After completing Step 4**, return to this graph and add the `classDef` and `class` lines
|
|
94
|
+
based on findings. The example above shows the final colored output.
|
|
95
|
+
|
|
96
|
+
Rules:
|
|
97
|
+
1. **Nodes** — Use top-level directories or services as nodes, not individual files
|
|
98
|
+
2. **Grouping** — One `subgraph` per architectural layer or top-level directory (e.g., UI, Domain, Infrastructure)
|
|
99
|
+
3. **Edges** — Solid arrows (`-->`) point FROM the depending module TO the dependency; use dotted arrows with label (`-.->|circular|`) for circular dependencies. If no circular dependencies exist, use only solid arrows
|
|
100
|
+
4. **Node limit** — Keep the graph to ~50 nodes maximum; collapse low-risk leaf modules into their parent if needed
|
|
101
|
+
5. **Fan-out** — For any node with fan-out > 5, use a descriptive label: `HighFanOutModule["ModuleName (fan-out: 7)"]`
|
|
102
|
+
6. **Colors** — Apply `classDef` colors AFTER completing Steps 2-4: `critical` (red `#ff6b6b`) for nodes with Critical findings, `warning` (yellow `#ffd43b`) for Warning findings, `clean` (green `#51cf66`) for nodes with no findings or only Suggestions. If no findings at all, classify all nodes as `clean`
|
|
103
|
+
7. **Direction** — Default to `graph TD` (top-down); use `graph LR` only if the architecture is clearly a left-to-right pipeline
|
|
104
|
+
|
|
105
|
+
### Step 2: Scan for Dependency Disorder
|
|
106
|
+
|
|
107
|
+
*The most architecturally consequential risk — scan this first.*
|
|
108
|
+
|
|
109
|
+
Look for:
|
|
110
|
+
- Circular dependencies (any `-.->|circular|` edge in the map above)
|
|
111
|
+
- Arrows flowing upward (high-level domain depending on low-level infrastructure)
|
|
112
|
+
- Stable, widely-depended-on modules that import from frequently-changing modules
|
|
113
|
+
- Modules with fan-out > 5
|
|
114
|
+
- Absence of a clear layering rule (no consistent answer to "what depends on what?")
|
|
115
|
+
|
|
116
|
+
### Step 3: Scan for Domain Model Distortion
|
|
117
|
+
|
|
118
|
+
Look for:
|
|
119
|
+
- Do module names match the business domain vocabulary?
|
|
120
|
+
- Is there a layer called "services" that contains all the business logic while domain objects
|
|
121
|
+
are pure data structures?
|
|
122
|
+
- Are there modules that cross bounded context boundaries (e.g., billing logic in the user module)?
|
|
123
|
+
- Is there an anti-corruption layer where external systems interface with the domain?
|
|
124
|
+
|
|
125
|
+
### Step 4: Scan for Remaining Four Risks
|
|
126
|
+
|
|
127
|
+
Check each in turn:
|
|
128
|
+
|
|
129
|
+
**Knowledge Duplication:**
|
|
130
|
+
- Are there multiple modules implementing the same concept independently?
|
|
131
|
+
- Does the same domain concept appear under different names in different modules?
|
|
132
|
+
|
|
133
|
+
**Accidental Complexity:**
|
|
134
|
+
- Are there entire layers in the architecture that do not add value?
|
|
135
|
+
- Are there modules whose responsibility cannot be stated in one sentence?
|
|
136
|
+
|
|
137
|
+
**Change Propagation:**
|
|
138
|
+
- Which modules are "blast radius hotspots"? (A change here requires changes in many other modules)
|
|
139
|
+
- Does the dependency map reveal why certain features are slow to develop?
|
|
140
|
+
|
|
141
|
+
**Cognitive Overload:**
|
|
142
|
+
- Can the module responsibility of each module be stated in one sentence from its name alone?
|
|
143
|
+
- Would a new developer know which module to add a new feature to?
|
|
144
|
+
|
|
145
|
+
### Step 5: Testability Seam Assessment
|
|
146
|
+
|
|
147
|
+
A *seam* is a place in the architecture where behavior can be altered without editing source
|
|
148
|
+
code — typically an interface, a configuration point, or a dependency injection boundary.
|
|
149
|
+
Seam density is a proxy for testability and evolvability.
|
|
150
|
+
|
|
151
|
+
Scan for:
|
|
152
|
+
- **No seam at the infrastructure boundary**: can you replace a real database, file system,
|
|
153
|
+
or HTTP client with a test double without editing the module under test? If not, the
|
|
154
|
+
architecture forces integration tests where unit tests would suffice.
|
|
155
|
+
- **Seam collapse**: a module that was once testable in isolation has had its seams removed
|
|
156
|
+
(e.g., direct constructor instantiation replaced a dependency injection point, or a global
|
|
157
|
+
singleton replaced an injected collaborator).
|
|
158
|
+
- **Missing seam in legacy areas**: modules without an obvious injection point or interface
|
|
159
|
+
boundary — any change requires touching the entire call stack to substitute behavior.
|
|
160
|
+
|
|
161
|
+
If all modules have clear seams at their infrastructure boundaries → no finding.
|
|
162
|
+
|
|
163
|
+
If seams are absent or collapsed: flag as 🟡 Warning with a Remedy pointing to the specific
|
|
164
|
+
module and the injection point that needs to be restored or introduced.
|
|
165
|
+
|
|
166
|
+
Source: Feathers — Working Effectively with Legacy Code, Ch. 4: The Seam Model
|
|
167
|
+
|
|
168
|
+
### Step 6: Conway's Law Check
|
|
169
|
+
|
|
170
|
+
After the six-risk scan, assess the relationship between architecture and team structure:
|
|
171
|
+
|
|
172
|
+
- Does the module/service structure reflect the team structure?
|
|
173
|
+
(Conway's Law: "Organizations design systems that mirror their communication structure")
|
|
174
|
+
- If yes: is this intentional design or accidental coupling?
|
|
175
|
+
- A mismatch that causes cross-team coordination overhead for every feature is 🔴 Critical.
|
|
176
|
+
- A mismatch that is theoretical but not yet causing pain is 🟡 Warning.
|
|
177
|
+
- If team structure is unknown, note this as context missing and skip the check.
|
|
178
|
+
|
|
179
|
+
**Calibration examples:**
|
|
180
|
+
- 🔴 Critical: the Payments module is owned by Team A but contains auth logic owned by Team B —
|
|
181
|
+
every Payments change requires a sync meeting with Team B
|
|
182
|
+
- 🟡 Warning: two separate teams own the `utils/` and `helpers/` directories which do the same
|
|
183
|
+
things — theoretically painful but not yet causing release coordination issues
|
|
184
|
+
- Not a finding: a single team owns a monorepo with multiple logical modules — Conway's Law
|
|
185
|
+
misalignment requires *separate teams* to be meaningful
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Output
|
|
190
|
+
|
|
191
|
+
Use the standard Report Template from `../_shared/common.md`. Mode: Architecture Audit.
|
|
192
|
+
|
|
193
|
+
Place the Mermaid dependency graph FIRST under "Module Dependency Graph". Reference
|
|
194
|
+
relevant node names in findings. Add `classDef` color assignments LAST, after all
|
|
195
|
+
findings are identified.
|