opencode-skills-collection 4.1.14 → 4.1.16
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 +4 -1
- package/bundled-skills/00-andruia-consultant/SKILL.md +23 -10
- package/bundled-skills/10-andruia-skill-smith/SKILL.md +18 -14
- package/bundled-skills/20-andruia-niche-intelligence/SKILL.md +40 -15
- package/bundled-skills/360-feedback-system/SKILL.md +7 -10
- package/bundled-skills/3d-web-experience/SKILL.md +91 -47
- package/bundled-skills/acceptance-orchestrator/SKILL.md +6 -7
- package/bundled-skills/access-matrix/SKILL.md +8 -7
- package/bundled-skills/accessibility-compliance-accessibility-audit/SKILL.md +10 -4
- package/bundled-skills/accessibility-compliance-accessibility-audit/resources/implementation-playbook.md +29 -76
- package/bundled-skills/accesslint-audit/SKILL.md +13 -7
- package/bundled-skills/accesslint-diff/SKILL.md +15 -47
- package/bundled-skills/accesslint-scan/SKILL.md +24 -8
- package/bundled-skills/activecampaign-automation/SKILL.md +8 -4
- package/bundled-skills/ad-campaign-analyzer/SKILL.md +11 -9
- package/bundled-skills/address-github-comments/SKILL.md +12 -6
- package/bundled-skills/adhx/SKILL.md +12 -9
- package/bundled-skills/admin-access-register/SKILL.md +20 -26
- package/bundled-skills/advanced-analytics-dashboard/SKILL.md +12 -13
- package/bundled-skills/advanced-evaluation/SKILL.md +21 -44
- package/bundled-skills/aegisops-ai/SKILL.md +19 -19
- package/bundled-skills/agent-creator/SKILL.md +13 -14
- package/bundled-skills/agent-evals/SKILL.md +27 -22
- package/bundled-skills/agent-framework-azure-ai-py/SKILL.md +3 -0
- package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/agent-framework-azure-ai-py/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/advanced.md +512 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/mcp.md +301 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/threads.md +300 -0
- package/bundled-skills/agent-framework-azure-ai-py/references/tools.md +278 -0
- package/bundled-skills/agent-manager-skill/SKILL.md +10 -4
- package/bundled-skills/agent-memory/SKILL.md +39 -8
- package/bundled-skills/agent-memory-mcp/SKILL.md +11 -2
- package/bundled-skills/agent-memory-systems/SKILL.md +13 -28
- package/bundled-skills/agent-memory-systems/references/detailed-guide.md +59 -257
- package/bundled-skills/agent-orchestration-improve-agent/SKILL.md +12 -7
- package/bundled-skills/agent-orchestration-multi-agent-optimize/SKILL.md +14 -24
- package/bundled-skills/agent-orchestrator/SKILL.md +30 -20
- package/bundled-skills/agent-orchestrator/references/capability-taxonomy.md +9 -9
- package/bundled-skills/agent-orchestrator/references/orchestration-patterns.md +2 -2
- package/bundled-skills/agent-orchestrator/scripts/match_skills.py +49 -51
- package/bundled-skills/agent-orchestrator/scripts/orchestrate.py +71 -32
- package/bundled-skills/agent-orchestrator/scripts/scan_registry.py +92 -68
- package/bundled-skills/agent-self-scheduling/SKILL.md +11 -8
- package/bundled-skills/agent-squad/alex/SKILL.md +6 -1
- package/bundled-skills/agent-squad/aria/SKILL.md +7 -2
- package/bundled-skills/agent-squad/dep/SKILL.md +11 -4
- package/bundled-skills/agent-squad/luna/SKILL.md +10 -5
- package/bundled-skills/agent-squad/mason/SKILL.md +10 -5
- package/bundled-skills/agent-squad/max/SKILL.md +10 -3
- package/bundled-skills/agent-squad/quinn/SKILL.md +12 -5
- package/bundled-skills/agent-squad/rex/SKILL.md +7 -2
- package/bundled-skills/agentflow/SKILL.md +22 -15
- package/bundled-skills/agentfolio/SKILL.md +3 -2
- package/bundled-skills/agentic-actions-auditor/SKILL.md +35 -27
- package/bundled-skills/agentmail/SKILL.md +33 -58
- package/bundled-skills/agents-md/SKILL.md +1 -3
- package/bundled-skills/agents-v2-py/SKILL.md +57 -58
- package/bundled-skills/agenttrace-session-audit/SKILL.md +3 -2
- package/bundled-skills/agy-auto/SKILL.md +11 -10
- package/bundled-skills/ai-agent-development/SKILL.md +6 -0
- package/bundled-skills/ai-agent-evaluation-benchmarking/SKILL.md +15 -10
- package/bundled-skills/ai-agent-tool-routing/SKILL.md +98 -116
- package/bundled-skills/ai-agents-architect/SKILL.md +2 -2
- package/bundled-skills/ai-analyzer/SKILL.md +25 -10
- package/bundled-skills/ai-code-generation-guardrails/SKILL.md +99 -126
- package/bundled-skills/ai-dev-jobs-mcp/SKILL.md +8 -4
- package/bundled-skills/ai-engineer/SKILL.md +13 -7
- package/bundled-skills/ai-engineering-toolkit/SKILL.md +11 -7
- package/bundled-skills/ai-headshot-studio/SKILL.md +9 -7
- package/bundled-skills/ai-image-generation-studio/SKILL.md +9 -7
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +18 -43
- package/bundled-skills/ai-logo-maker/SKILL.md +8 -4
- package/bundled-skills/ai-loop/SKILL.md +4 -4
- package/bundled-skills/ai-ml/SKILL.md +4 -0
- package/bundled-skills/ai-multilingual-dubbing/SKILL.md +9 -3
- package/bundled-skills/ai-native-cli/SKILL.md +10 -7
- package/bundled-skills/ai-photo-restyler/SKILL.md +8 -4
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +36 -18
- package/bundled-skills/ai-podcast-voiceover/SKILL.md +9 -3
- package/bundled-skills/ai-prompt-regression-testing/SKILL.md +100 -112
- package/bundled-skills/ai-red-teaming/SKILL.md +55 -35
- package/bundled-skills/ai-security-hardening/SKILL.md +17 -25
- package/bundled-skills/ai-sre-incident-response/SKILL.md +13 -12
- package/bundled-skills/ai-studio-image/SKILL.md +8 -0
- package/bundled-skills/akf-trust-metadata/SKILL.md +8 -2
- package/bundled-skills/alerting-oncall/SKILL.md +1 -0
- package/bundled-skills/alerting-oncall/references/details.md +1 -5
- package/bundled-skills/alpha-vantage/SKILL.md +0 -4
- package/bundled-skills/angular-migration/SKILL.md +14 -0
- package/bundled-skills/animejs-animation/SKILL.md +8 -3
- package/bundled-skills/anti-deception/SKILL.md +5 -3
- package/bundled-skills/anti-reversing-techniques/SKILL.md +1 -1
- package/bundled-skills/anti-sleep/SKILL.md +4 -2
- package/bundled-skills/antigravity-design-expert/SKILL.md +3 -3
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +9 -2
- package/bundled-skills/api-analyzer/SKILL.md +7 -29
- package/bundled-skills/api-contract-testing/SKILL.md +116 -0
- package/bundled-skills/api-designer/SKILL.md +9 -0
- package/bundled-skills/api-documentation/SKILL.md +7 -1
- package/bundled-skills/api-integration/SKILL.md +6 -22
- package/bundled-skills/api-rate-limit-handler/SKILL.md +34 -27
- package/bundled-skills/api-sdk-generator/SKILL.md +0 -21
- package/bundled-skills/api-testing-observability-api-mock/resources/implementation-playbook.md +31 -11
- package/bundled-skills/apk-reverse/SKILL.md +14 -0
- package/bundled-skills/apk-reverse/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/apk-reverse/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/apk-reverse/scripts/manifest-summary.ps1 +80 -0
- package/bundled-skills/architecture-review/SKILL.md +4 -4
- package/bundled-skills/arm-cortex-expert/SKILL.md +0 -1
- package/bundled-skills/arrowspace/SKILL.md +23 -21
- package/bundled-skills/ask-questions-if-underspecified/SKILL.md +4 -4
- package/bundled-skills/audit-logging/SKILL.md +10 -77
- package/bundled-skills/automated-triage/SKILL.md +3 -0
- package/bundled-skills/automated-triage/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/automated-triage/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/automated-triage/references/triage-example.md +115 -0
- package/bundled-skills/automated-triage/references/triage-stages.md +141 -0
- package/bundled-skills/avoid-ai-writing/SKILL.md +4 -2
- package/bundled-skills/awareness-stage-mapper/SKILL.md +17 -9
- package/bundled-skills/aws-cdk-development/SKILL.md +7 -0
- package/bundled-skills/aws-cdk-development/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/aws-cdk-development/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/aws-cdk-development/references/cdk-patterns.md +431 -0
- package/bundled-skills/aws-cdk-development/scripts/validate-stack.sh +247 -0
- package/bundled-skills/aws-skills/SKILL.md +16 -21
- package/bundled-skills/aws-sst-development/SKILL.md +3 -0
- package/bundled-skills/aws-sst-development/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/aws-sst-development/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/aws-sst-development/references/authoring.md +506 -0
- package/bundled-skills/aws-sst-development/references/deploy-and-troubleshoot.md +182 -0
- package/bundled-skills/aws-sst-development/references/testing.md +126 -0
- package/bundled-skills/awt-e2e-testing/SKILL.md +7 -1
- package/bundled-skills/azd-deployment/SKILL.md +45 -51
- package/bundled-skills/azure-ai-agents-persistent-java/SKILL.md +35 -19
- package/bundled-skills/azure-ai-projects-py/SKILL.md +7 -0
- package/bundled-skills/azure-ai-projects-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-ai-projects-py/UPSTREAM-NOTICE.md +23 -0
- package/bundled-skills/azure-ai-projects-py/references/agents.md +295 -0
- package/bundled-skills/azure-ai-projects-py/references/api-reference.md +1150 -0
- package/bundled-skills/azure-ai-projects-py/references/async-patterns.md +258 -0
- package/bundled-skills/azure-ai-projects-py/references/built-in-evaluators.md +427 -0
- package/bundled-skills/azure-ai-projects-py/references/connections.md +203 -0
- package/bundled-skills/azure-ai-projects-py/references/custom-evaluators.md +450 -0
- package/bundled-skills/azure-ai-projects-py/references/datasets-indexes.md +177 -0
- package/bundled-skills/azure-ai-projects-py/references/deployments.md +134 -0
- package/bundled-skills/azure-ai-projects-py/references/evaluation.md +349 -0
- package/bundled-skills/azure-ai-projects-py/references/tools.md +464 -0
- package/bundled-skills/azure-ai-projects-py/scripts/run_batch_evaluation.py +409 -0
- package/bundled-skills/azure-ai-transcription-py/SKILL.md +30 -50
- package/bundled-skills/azure-ai-voicelive-py/SKILL.md +3 -0
- package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-ai-voicelive-py/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-ai-voicelive-py/references/api-reference.md +344 -0
- package/bundled-skills/azure-ai-voicelive-py/references/examples.md +558 -0
- package/bundled-skills/azure-ai-voicelive-py/references/models.md +737 -0
- package/bundled-skills/azure-communication-callingserver-java/SKILL.md +10 -9
- package/bundled-skills/azure-cosmos-db-py/SKILL.md +7 -0
- package/bundled-skills/azure-cosmos-db-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-cosmos-db-py/UPSTREAM-NOTICE.md +20 -0
- package/bundled-skills/azure-cosmos-db-py/assets/conftest_template.py +332 -0
- package/bundled-skills/azure-cosmos-db-py/assets/cosmos_client_template.py +225 -0
- package/bundled-skills/azure-cosmos-db-py/assets/service_template.py +314 -0
- package/bundled-skills/azure-cosmos-db-py/references/client-setup.md +214 -0
- package/bundled-skills/azure-cosmos-db-py/references/error-handling.md +382 -0
- package/bundled-skills/azure-cosmos-db-py/references/partitioning.md +270 -0
- package/bundled-skills/azure-cosmos-db-py/references/service-layer.md +305 -0
- package/bundled-skills/azure-cosmos-db-py/references/testing.md +495 -0
- package/bundled-skills/azure-cosmos-py/SKILL.md +11 -0
- package/bundled-skills/azure-cosmos-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-cosmos-py/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/azure-cosmos-py/references/partitioning.md +346 -0
- package/bundled-skills/azure-cosmos-py/references/query-patterns.md +395 -0
- package/bundled-skills/azure-cosmos-rust/SKILL.md +30 -22
- package/bundled-skills/azure-eventhub-py/SKILL.md +7 -0
- package/bundled-skills/azure-eventhub-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-eventhub-py/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-eventhub-py/references/checkpointing.md +312 -0
- package/bundled-skills/azure-eventhub-py/references/partitions.md +346 -0
- package/bundled-skills/azure-eventhub-py/scripts/setup_consumer.py +422 -0
- package/bundled-skills/azure-eventhub-rust/SKILL.md +28 -13
- package/bundled-skills/azure-identity-rust/SKILL.md +16 -10
- package/bundled-skills/azure-keyvault-keys-rust/SKILL.md +13 -8
- package/bundled-skills/azure-keyvault-secrets-rust/SKILL.md +12 -6
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/SKILL.md +11 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/apis-operations.md +168 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/products-subscriptions.md +173 -0
- package/bundled-skills/azure-mgmt-apimanagement-dotnet/references/service-management.md +154 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/SKILL.md +3 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/account-management.md +279 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/sql-resources.md +373 -0
- package/bundled-skills/azure-resource-manager-cosmosdb-dotnet/references/throughput.md +308 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/SKILL.md +3 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/references/database-operations.md +268 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/references/elastic-pools.md +234 -0
- package/bundled-skills/azure-resource-manager-sql-dotnet/references/server-management.md +192 -0
- package/bundled-skills/azure-search-documents-dotnet/SKILL.md +3 -0
- package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-search-documents-dotnet/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/azure-search-documents-dotnet/references/semantic-search.md +241 -0
- package/bundled-skills/azure-search-documents-dotnet/references/vector-search.md +236 -0
- package/bundled-skills/azure-servicebus-py/SKILL.md +7 -0
- package/bundled-skills/azure-servicebus-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-servicebus-py/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/azure-servicebus-py/references/dead-letter.md +418 -0
- package/bundled-skills/azure-servicebus-py/references/patterns.md +405 -0
- package/bundled-skills/azure-servicebus-py/scripts/setup_servicebus.py +384 -0
- package/bundled-skills/azure-speech-to-text-rest-py/SKILL.md +3 -0
- package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/azure-speech-to-text-rest-py/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/azure-speech-to-text-rest-py/references/pronunciation-assessment.md +276 -0
- package/bundled-skills/azure-storage-blob-rust/SKILL.md +29 -21
- package/bundled-skills/baseline-ui/SKILL.md +2 -2
- package/bundled-skills/bash-scripting/SKILL.md +10 -2
- package/bundled-skills/bazel-build-optimization/SKILL.md +0 -1
- package/bundled-skills/bdistill-behavioral-xray/SKILL.md +5 -5
- package/bundled-skills/bdistill-knowledge-extraction/SKILL.md +9 -6
- package/bundled-skills/beautiful-prose/SKILL.md +1 -2
- package/bundled-skills/bevy-ecs-expert/SKILL.md +9 -7
- package/bundled-skills/billing-automation/resources/implementation-playbook.md +56 -513
- package/bundled-skills/binary-analysis-patterns/SKILL.md +0 -1
- package/bundled-skills/biopython/SKILL.md +3 -0
- package/bundled-skills/biopython/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/biopython/UPSTREAM-NOTICE.md +17 -0
- package/bundled-skills/biopython/references/advanced.md +577 -0
- package/bundled-skills/biopython/references/alignment.md +368 -0
- package/bundled-skills/biopython/references/blast.md +455 -0
- package/bundled-skills/biopython/references/databases.md +487 -0
- package/bundled-skills/biopython/references/phylogenetics.md +566 -0
- package/bundled-skills/biopython/references/sequence_io.md +285 -0
- package/bundled-skills/biopython/references/structure.md +564 -0
- package/bundled-skills/blockchain-developer/SKILL.md +0 -1
- package/bundled-skills/blueprint/SKILL.md +6 -8
- package/bundled-skills/brain-to-docs/SKILL.md +4 -4
- package/bundled-skills/brand-growth-system-builder/SKILL.md +10 -0
- package/bundled-skills/brand-perception-psychologist/SKILL.md +16 -8
- package/bundled-skills/browser-bridge/SKILL.md +101 -0
- package/bundled-skills/build/SKILL.md +15 -10
- package/bundled-skills/build/references/detailed-guide.md +38 -14
- package/bundled-skills/burpsuite-project-parser/SKILL.md +7 -0
- package/bundled-skills/buywhere-product-catalog/SKILL.md +6 -5
- package/bundled-skills/c-pro/SKILL.md +8 -6
- package/bundled-skills/c4-architecture-c4-architecture/SKILL.md +0 -1
- package/bundled-skills/c4-code/SKILL.md +0 -1
- package/bundled-skills/c4-component/SKILL.md +0 -1
- package/bundled-skills/c4-container/SKILL.md +0 -1
- package/bundled-skills/c4-context/SKILL.md +0 -1
- package/bundled-skills/cdk-patterns/SKILL.md +7 -0
- package/bundled-skills/changelog-entry/SKILL.md +6 -4
- package/bundled-skills/check-identity-pack/SKILL.md +7 -8
- package/bundled-skills/chrome-extension-developer/SKILL.md +8 -4
- package/bundled-skills/ci-cd-and-automation/SKILL.md +15 -3
- package/bundled-skills/cirq/SKILL.md +3 -0
- package/bundled-skills/cirq/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/cirq/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/cirq/references/building.md +307 -0
- package/bundled-skills/cirq/references/experiments.md +572 -0
- package/bundled-skills/cirq/references/hardware.md +527 -0
- package/bundled-skills/cirq/references/noise.md +514 -0
- package/bundled-skills/cirq/references/simulation.md +353 -0
- package/bundled-skills/cirq/references/transformation.md +416 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +16 -9
- package/bundled-skills/clarvia-aeo-check/SKILL.md +9 -9
- package/bundled-skills/claude-ally-health/SKILL.md +17 -6
- package/bundled-skills/claude-code-guide/SKILL.md +9 -5
- package/bundled-skills/claude-scientific-skills/SKILL.md +15 -3
- package/bundled-skills/claude-speed-reader/SKILL.md +13 -3
- package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +13 -7
- package/bundled-skills/cline-pilot/SKILL.md +10 -0
- package/bundled-skills/closed-loop-delivery/SKILL.md +7 -7
- package/bundled-skills/cloud-architect/SKILL.md +0 -1
- package/bundled-skills/cloudflare-workers-expert/SKILL.md +6 -5
- package/bundled-skills/cloudformation-best-practices/SKILL.md +4 -3
- package/bundled-skills/cmux/SKILL.md +8 -0
- package/bundled-skills/code-refactoring-context-restore/SKILL.md +1 -1
- package/bundled-skills/code-review-ai-ai-review/SKILL.md +8 -1
- package/bundled-skills/code-review-and-quality/SKILL.md +9 -0
- package/bundled-skills/code-reviewer/SKILL.md +0 -1
- package/bundled-skills/codex-review/SKILL.md +3 -2
- package/bundled-skills/commit/SKILL.md +12 -11
- package/bundled-skills/comprehensive-review-full-review/SKILL.md +0 -1
- package/bundled-skills/computer-vision-expert/SKILL.md +9 -8
- package/bundled-skills/concise-planning/SKILL.md +7 -7
- package/bundled-skills/conductor-implement/SKILL.md +0 -1
- package/bundled-skills/conductor-new-track/SKILL.md +0 -1
- package/bundled-skills/conductor-revert/SKILL.md +0 -1
- package/bundled-skills/conductor-setup/SKILL.md +42 -25
- package/bundled-skills/conductor-status/SKILL.md +0 -1
- package/bundled-skills/conductor-validator/SKILL.md +15 -19
- package/bundled-skills/constant-time-analysis/SKILL.md +3 -0
- package/bundled-skills/constant-time-analysis/UPSTREAM-LICENSE.txt +427 -0
- package/bundled-skills/constant-time-analysis/UPSTREAM-NOTICE.md +18 -0
- package/bundled-skills/constant-time-analysis/references/compiled.md +129 -0
- package/bundled-skills/constant-time-analysis/references/javascript.md +136 -0
- package/bundled-skills/constant-time-analysis/references/kotlin.md +252 -0
- package/bundled-skills/constant-time-analysis/references/php.md +172 -0
- package/bundled-skills/constant-time-analysis/references/python.md +179 -0
- package/bundled-skills/constant-time-analysis/references/ruby.md +198 -0
- package/bundled-skills/constant-time-analysis/references/swift.md +288 -0
- package/bundled-skills/constant-time-analysis/references/vm-compiled.md +354 -0
- package/bundled-skills/container-hardening/SKILL.md +23 -24
- package/bundled-skills/content-marketer/SKILL.md +0 -1
- package/bundled-skills/content-strategy/SKILL.md +1 -1
- package/bundled-skills/content-strategy/references/headless-cms.md +5 -3
- package/bundled-skills/context-kit/SKILL.md +8 -0
- package/bundled-skills/context-management-context-restore/SKILL.md +1 -1
- package/bundled-skills/context-management-context-save/SKILL.md +0 -1
- package/bundled-skills/context-manager/SKILL.md +0 -1
- package/bundled-skills/context7-auto-research/SKILL.md +3 -3
- package/bundled-skills/copy-editing/SKILL.md +4 -0
- package/bundled-skills/copywriting-psychologist/SKILL.md +17 -9
- package/bundled-skills/cost-optimization/SKILL.md +11 -1
- package/bundled-skills/cost-optimization/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/cost-optimization/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/cost-optimization/references/tagging-standards.md +23 -0
- package/bundled-skills/cowork-to-code-bridge/SKILL.md +9 -0
- package/bundled-skills/create-issue-gate/SKILL.md +5 -5
- package/bundled-skills/create-pr/SKILL.md +2 -0
- package/bundled-skills/crossframe-suite/SKILL.md +8 -0
- package/bundled-skills/crypto-bd-agent/SKILL.md +1 -2
- package/bundled-skills/csharp-pro/SKILL.md +5 -7
- package/bundled-skills/csv-manual-export/SKILL.md +1 -2
- package/bundled-skills/customer-psychographic-profiler/SKILL.md +16 -8
- package/bundled-skills/customer-support/SKILL.md +0 -1
- package/bundled-skills/data-engineering-data-driven-feature/SKILL.md +0 -1
- package/bundled-skills/data-privacy-controls/SKILL.md +10 -19
- package/bundled-skills/data-storytelling/SKILL.md +4 -2
- package/bundled-skills/database-admin/SKILL.md +0 -1
- package/bundled-skills/database-design/SKILL.md +5 -1
- package/bundled-skills/database-design/database-selection.md +1 -1
- package/bundled-skills/database-design/orm-selection.md +1 -1
- package/bundled-skills/database-design/scripts/schema_validator.py +17 -8
- package/bundled-skills/database-migration/SKILL.md +14 -1
- package/bundled-skills/database-migrations-sql-migrations/resources/implementation-playbook.md +31 -283
- package/bundled-skills/database-optimizer/SKILL.md +0 -1
- package/bundled-skills/debug-buttercup/SKILL.md +8 -0
- package/bundled-skills/debugger/SKILL.md +4 -3
- package/bundled-skills/debugging-toolkit/SKILL.md +2 -2
- package/bundled-skills/debugging-toolkit-smart-debug/SKILL.md +14 -10
- package/bundled-skills/deep-research/SKILL.md +24 -13
- package/bundled-skills/deep-research/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/deep-research/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/deep-research/requirements.txt +2 -0
- package/bundled-skills/deep-research/scripts/research.py +802 -0
- package/bundled-skills/defi-protocol-templates/SKILL.md +16 -1
- package/bundled-skills/defuddle/SKILL.md +9 -6
- package/bundled-skills/delegating-to-agents/SKILL.md +12 -13
- package/bundled-skills/dependency-management-deps-audit/resources/implementation-playbook.md +32 -289
- package/bundled-skills/dependency-upgrade/SKILL.md +14 -1
- package/bundled-skills/deployment-pipeline-design/SKILL.md +11 -111
- package/bundled-skills/deployment-validation-config-validate/SKILL.md +1 -1
- package/bundled-skills/deprecation-and-migration/SKILL.md +5 -3
- package/bundled-skills/design-orchestration/SKILL.md +4 -4
- package/bundled-skills/design-spells/SKILL.md +4 -4
- package/bundled-skills/detect-ai-text/SKILL.md +4 -4
- package/bundled-skills/deterministic-design/SKILL.md +5 -4
- package/bundled-skills/devcontainer-setup/SKILL.md +3 -0
- package/bundled-skills/devcontainer-setup/UPSTREAM-LICENSE.txt +427 -0
- package/bundled-skills/devcontainer-setup/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/devcontainer-setup/references/dockerfile-best-practices.md +102 -0
- package/bundled-skills/devcontainer-setup/references/features-vs-dockerfile.md +22 -0
- package/bundled-skills/diagram-generator/SKILL.md +6 -0
- package/bundled-skills/diagram-generator/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/diagram-generator/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/diagram-generator/scripts/render_diagram.py +169 -0
- package/bundled-skills/django-access-review/SKILL.md +20 -12
- package/bundled-skills/django-perf-review/SKILL.md +1 -1
- package/bundled-skills/doc-coauthoring/SKILL.md +1 -1
- package/bundled-skills/doc2math/SKILL.md +10 -9
- package/bundled-skills/docker-compose/SKILL.md +17 -11
- package/bundled-skills/docker-expert/SKILL.md +57 -53
- package/bundled-skills/docker-management/SKILL.md +17 -13
- package/bundled-skills/docs-architect/SKILL.md +0 -1
- package/bundled-skills/docs-generator/SKILL.md +7 -1
- package/bundled-skills/docs-generator/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/docs-generator/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/docs-generator/scripts/case-init.ps1 +379 -0
- package/bundled-skills/docs-generator/scripts/lib/HostRuntime.ps1 +58 -0
- package/bundled-skills/docs-generator/scripts/lib/WorkRoot.ps1 +33 -0
- package/bundled-skills/documentation/SKILL.md +5 -1
- package/bundled-skills/documentation-and-adrs/SKILL.md +7 -5
- package/bundled-skills/documentation-templates/SKILL.md +8 -6
- package/bundled-skills/dotnet-architect/SKILL.md +0 -1
- package/bundled-skills/doubt-driven-development/SKILL.md +8 -0
- package/bundled-skills/dx-optimizer/SKILL.md +8 -8
- package/bundled-skills/e2e-testing/SKILL.md +4 -0
- package/bundled-skills/eas-workflows/SKILL.md +60 -27
- package/bundled-skills/eas-workflows/agents/openai.yaml +1 -1
- package/bundled-skills/eas-workflows/scripts/fetch.js +131 -82
- package/bundled-skills/eas-workflows/scripts/package.json +4 -0
- package/bundled-skills/elixir-pro/SKILL.md +5 -7
- package/bundled-skills/emblemai-crypto-wallet/SKILL.md +7 -6
- package/bundled-skills/emotional-arc-designer/SKILL.md +17 -9
- package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +1 -1
- package/bundled-skills/error-detective/SKILL.md +7 -3
- package/bundled-skills/error-diagnostics-smart-debug/SKILL.md +14 -10
- package/bundled-skills/error-handling-patterns/resources/implementation-playbook.md +21 -72
- package/bundled-skills/event-sourcing-architect/SKILL.md +4 -3
- package/bundled-skills/exa-search/SKILL.md +4 -2
- package/bundled-skills/executing-plans/SKILL.md +8 -8
- package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +4 -7
- package/bundled-skills/expo-ui-swift-ui/SKILL.md +5 -8
- package/bundled-skills/fact-check-x-unified/SKILL.md +25 -15
- package/bundled-skills/fact-check-x-unified/UPSTREAM-NOTICE.md +9 -0
- package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +10 -5
- package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +49 -8
- package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +1 -1
- package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +8 -2
- package/bundled-skills/fal-audio/SKILL.md +16 -6
- package/bundled-skills/fal-generate/SKILL.md +16 -6
- package/bundled-skills/fal-image-edit/SKILL.md +16 -6
- package/bundled-skills/fal-platform/SKILL.md +12 -4
- package/bundled-skills/fal-upscale/SKILL.md +12 -4
- package/bundled-skills/fal-workflow/SKILL.md +24 -6
- package/bundled-skills/family-health-analyzer/SKILL.md +17 -16
- package/bundled-skills/fastapi-router-py/SKILL.md +3 -0
- package/bundled-skills/fastapi-router-py/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/fastapi-router-py/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/fastapi-router-py/assets/template.py +147 -0
- package/bundled-skills/fda-food-safety-auditor/SKILL.md +9 -8
- package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +8 -8
- package/bundled-skills/ffuf-claude-skill/SKILL.md +18 -3
- package/bundled-skills/file-organizer/SKILL.md +1 -1
- package/bundled-skills/find-bugs/SKILL.md +4 -4
- package/bundled-skills/find-matching-tenders/SKILL.md +12 -11
- package/bundled-skills/firecrawl-scraper/SKILL.md +4 -2
- package/bundled-skills/firmware-analyst/SKILL.md +10 -1
- package/bundled-skills/fix-review/SKILL.md +5 -1
- package/bundled-skills/fp-either-ref/SKILL.md +10 -4
- package/bundled-skills/fp-option-ref/SKILL.md +12 -6
- package/bundled-skills/fp-pipe-ref/SKILL.md +7 -1
- package/bundled-skills/fp-taskeither-ref/SKILL.md +28 -10
- package/bundled-skills/fp-types-ref/SKILL.md +8 -2
- package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +0 -1
- package/bundled-skills/free-design-resources/SKILL.md +8 -0
- package/bundled-skills/frontend-api-integration-patterns/SKILL.md +11 -8
- package/bundled-skills/frontend-data-contracts/SKILL.md +5 -1
- package/bundled-skills/frontend-mobile-development-component-scaffold/SKILL.md +1 -1
- package/bundled-skills/frontend-mobile-security-xss-scan/SKILL.md +1 -1
- package/bundled-skills/frontend-slides/SKILL.md +1 -0
- package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +15 -0
- package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/frontend-slides-frontend-slides/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/frontend-slides-frontend-slides/scripts/export-pdf.sh +390 -0
- package/bundled-skills/frontend-slides-frontend-slides/scripts/extract-pptx.py +96 -0
- package/bundled-skills/frontend-slides-frontend-slides/scripts/lib/confined-server.mjs +113 -0
- package/bundled-skills/frontend-ui-engineering/SKILL.md +8 -0
- package/bundled-skills/full-output-enforcement/SKILL.md +20 -9
- package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +0 -1
- package/bundled-skills/game-development/2d-games/SKILL.md +3 -3
- package/bundled-skills/game-development/3d-games/SKILL.md +8 -4
- package/bundled-skills/game-development/game-design/SKILL.md +8 -4
- package/bundled-skills/game-development/mobile-games/SKILL.md +10 -6
- package/bundled-skills/game-development/multiplayer/SKILL.md +9 -5
- package/bundled-skills/game-development/pc-games/SKILL.md +6 -2
- package/bundled-skills/game-development/vr-ar/SKILL.md +12 -6
- package/bundled-skills/gh-review-requests/SKILL.md +14 -42
- package/bundled-skills/gha-security-review/SKILL.md +3 -0
- package/bundled-skills/gha-security-review/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/gha-security-review/UPSTREAM-NOTICE.md +19 -0
- package/bundled-skills/gha-security-review/references/ai-prompt-injection-via-ci.md +181 -0
- package/bundled-skills/gha-security-review/references/comment-triggered-commands.md +195 -0
- package/bundled-skills/gha-security-review/references/credential-escalation.md +225 -0
- package/bundled-skills/gha-security-review/references/expression-injection.md +287 -0
- package/bundled-skills/gha-security-review/references/permissions-and-secrets.md +265 -0
- package/bundled-skills/gha-security-review/references/pwn-request.md +212 -0
- package/bundled-skills/gha-security-review/references/real-world-attacks.md +298 -0
- package/bundled-skills/gha-security-review/references/runner-infrastructure.md +268 -0
- package/bundled-skills/gha-security-review/references/supply-chain.md +225 -0
- package/bundled-skills/git-advanced-workflows/SKILL.md +19 -12
- package/bundled-skills/git-commit-message/SKILL.md +2 -2
- package/bundled-skills/git-pr-review/SKILL.md +6 -9
- package/bundled-skills/git-pr-workflows-onboard/SKILL.md +0 -1
- package/bundled-skills/git-pr-workflows-pr-enhance/SKILL.md +1 -1
- package/bundled-skills/github-actions/SKILL.md +20 -24
- package/bundled-skills/github-actions-debugger/SKILL.md +7 -3
- package/bundled-skills/github-issue-creator/SKILL.md +12 -12
- package/bundled-skills/gitlab-ci-patterns/SKILL.md +5 -7
- package/bundled-skills/global-chat-agent-discovery/SKILL.md +12 -7
- package/bundled-skills/gmail-automation/SKILL.md +9 -0
- package/bundled-skills/godot-4-migration/SKILL.md +12 -4
- package/bundled-skills/google-calendar-automation/SKILL.md +23 -145
- package/bundled-skills/google-docs-automation/SKILL.md +1 -1
- package/bundled-skills/google-drive-automation/SKILL.md +9 -0
- package/bundled-skills/google-sheets-automation/SKILL.md +1 -1
- package/bundled-skills/google-slides-automation/SKILL.md +1 -1
- package/bundled-skills/graphql-architect/SKILL.md +0 -1
- package/bundled-skills/grill-me/SKILL.md +3 -1
- package/bundled-skills/grill-with-docs/SKILL.md +3 -1
- package/bundled-skills/grilling/SKILL.md +1 -1
- package/bundled-skills/handoff/SKILL.md +5 -1
- package/bundled-skills/haskell-pro/SKILL.md +3 -4
- package/bundled-skills/headline-psychologist/SKILL.md +16 -8
- package/bundled-skills/hf-mem/SKILL.md +9 -1
- package/bundled-skills/hosted-agents-v2-py/SKILL.md +56 -57
- package/bundled-skills/hr-pro/SKILL.md +0 -1
- package/bundled-skills/hugging-face-jobs/SKILL.md +0 -1
- package/bundled-skills/hugging-face-tool-builder/SKILL.md +16 -2
- package/bundled-skills/hybrid-cloud-architect/SKILL.md +0 -1
- package/bundled-skills/hybrid-cloud-networking/SKILL.md +11 -1
- package/bundled-skills/hybrid-cloud-networking/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/hybrid-cloud-networking/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/hybrid-cloud-networking/references/direct-connect.md +17 -0
- package/bundled-skills/hyperexecute-skill/SKILL.md +7 -0
- package/bundled-skills/hyperexecute-skill/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/hyperexecute-skill/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/hyperexecute-skill/scripts/build-command.js +57 -0
- package/bundled-skills/hyperexecute-skill/scripts/doctor.js +81 -0
- package/bundled-skills/hyperexecute-skill/scripts/summarize-artifacts.js +63 -0
- package/bundled-skills/hyperexecute-skill/scripts/validate-config.js +72 -0
- package/bundled-skills/iconsax-library/SKILL.md +6 -4
- package/bundled-skills/ida-reverse/SKILL.md +13 -0
- package/bundled-skills/ida-reverse/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/ida-reverse/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/ida-reverse/scripts/IdaOpenHelpers.ps1 +115 -0
- package/bundled-skills/ida-reverse/scripts/open.ps1 +378 -0
- package/bundled-skills/ida-reverse/scripts/start-gui.ps1 +105 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +4 -2
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +5 -3
- package/bundled-skills/identity-mirror/SKILL.md +16 -8
- package/bundled-skills/imagen/SKILL.md +15 -5
- package/bundled-skills/imagen/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/imagen/UPSTREAM-NOTICE.md +5 -0
- package/bundled-skills/imagen/scripts/generate_image.py +241 -0
- package/bundled-skills/implement/SKILL.md +4 -4
- package/bundled-skills/incident-response-incident-response/SKILL.md +0 -1
- package/bundled-skills/incident-response-smart-fix/SKILL.md +1 -1
- package/bundled-skills/incident-runbook-templates/SKILL.md +22 -16
- package/bundled-skills/incremental-implementation/SKILL.md +8 -0
- package/bundled-skills/infinite-gratitude/SKILL.md +6 -2
- package/bundled-skills/internal-comms/SKILL.md +1 -1
- package/bundled-skills/interview-coach/SKILL.md +7 -4
- package/bundled-skills/istio-traffic-management/SKILL.md +0 -1
- package/bundled-skills/iterate-pr/SKILL.md +9 -0
- package/bundled-skills/java-pro/SKILL.md +0 -1
- package/bundled-skills/javascript-pro/SKILL.md +1 -1
- package/bundled-skills/javascript-typescript-typescript-scaffold/SKILL.md +1 -1
- package/bundled-skills/julia-pro/SKILL.md +0 -1
- package/bundled-skills/k8s-security-policies/SKILL.md +8 -1
- package/bundled-skills/kotler-macro-analyzer/SKILL.md +4 -0
- package/bundled-skills/kotlin-coroutines-expert/SKILL.md +8 -5
- package/bundled-skills/kubernetes-deployment/SKILL.md +5 -1
- package/bundled-skills/kubernetes-hardening/SKILL.md +9 -1
- package/bundled-skills/langchain-architecture/SKILL.md +15 -1
- package/bundled-skills/legacy-modernizer/SKILL.md +4 -5
- package/bundled-skills/legal-advisor/SKILL.md +9 -6
- package/bundled-skills/lightning-architecture-review/SKILL.md +6 -6
- package/bundled-skills/lightning-channel-factories/SKILL.md +6 -6
- package/bundled-skills/lightning-factory-explainer/SKILL.md +5 -5
- package/bundled-skills/linkerd-patterns/SKILL.md +0 -1
- package/bundled-skills/linux-hardening/SKILL.md +24 -23
- package/bundled-skills/llm-application-dev-ai-assistant/SKILL.md +1 -1
- package/bundled-skills/llm-application-dev-langchain-agent/SKILL.md +0 -1
- package/bundled-skills/llm-application-dev-prompt-optimize/SKILL.md +1 -1
- package/bundled-skills/llm-evaluation/SKILL.md +50 -62
- package/bundled-skills/llm-evaluation/references/benchmarking.md +35 -0
- package/bundled-skills/logic-review/SKILL.md +8 -0
- package/bundled-skills/longbridge/SKILL.md +8 -4
- package/bundled-skills/longbridge-content/SKILL.md +3 -0
- package/bundled-skills/longbridge-content/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/longbridge-content/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/longbridge-content/references/filing.md +48 -0
- package/bundled-skills/longbridge-content/references/news.md +118 -0
- package/bundled-skills/longbridge-content/references/regulatory-kb.md +128 -0
- package/bundled-skills/longbridge-content/references/sec-filings.md +113 -0
- package/bundled-skills/longbridge-content/references/topic.md +53 -0
- package/bundled-skills/longbridge-fundamentals/SKILL.md +3 -0
- package/bundled-skills/longbridge-fundamentals/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/longbridge-fundamentals/UPSTREAM-NOTICE.md +31 -0
- package/bundled-skills/longbridge-fundamentals/references/behavioral-finance.md +108 -0
- package/bundled-skills/longbridge-fundamentals/references/business-segments.md +50 -0
- package/bundled-skills/longbridge-fundamentals/references/company.md +39 -0
- package/bundled-skills/longbridge-fundamentals/references/compare.md +49 -0
- package/bundled-skills/longbridge-fundamentals/references/corp-action.md +42 -0
- package/bundled-skills/longbridge-fundamentals/references/corporate-events.md +89 -0
- package/bundled-skills/longbridge-fundamentals/references/corporate.md +64 -0
- package/bundled-skills/longbridge-fundamentals/references/dcf.md +103 -0
- package/bundled-skills/longbridge-fundamentals/references/dividend.md +51 -0
- package/bundled-skills/longbridge-fundamentals/references/executive.md +39 -0
- package/bundled-skills/longbridge-fundamentals/references/financial-report.md +88 -0
- package/bundled-skills/longbridge-fundamentals/references/financial-statement.md +49 -0
- package/bundled-skills/longbridge-fundamentals/references/industry-valuation.md +86 -0
- package/bundled-skills/longbridge-fundamentals/references/invest-relation.md +39 -0
- package/bundled-skills/longbridge-fundamentals/references/main-business-analysis.md +654 -0
- package/bundled-skills/longbridge-fundamentals/references/operating.md +42 -0
- package/bundled-skills/longbridge-fundamentals/references/smallcap-growth.md +72 -0
- package/bundled-skills/longbridge-fundamentals/references/valuation-methodology.md +86 -0
- package/bundled-skills/longbridge-fundamentals/references/valuation-rank.md +57 -0
- package/bundled-skills/longbridge-fundamentals/references/valuation.md +86 -0
- package/bundled-skills/longbridge-fundamentals/references/value-screen.md +71 -0
- package/bundled-skills/longbridge-market-data/SKILL.md +3 -0
- package/bundled-skills/longbridge-market-data/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/longbridge-market-data/UPSTREAM-NOTICE.md +28 -0
- package/bundled-skills/longbridge-market-data/references/adr-premium.md +63 -0
- package/bundled-skills/longbridge-market-data/references/ah-premium.md +67 -0
- package/bundled-skills/longbridge-market-data/references/capital.md +48 -0
- package/bundled-skills/longbridge-market-data/references/depth.md +40 -0
- package/bundled-skills/longbridge-market-data/references/exchange-rate.md +35 -0
- package/bundled-skills/longbridge-market-data/references/fx-carry.md +59 -0
- package/bundled-skills/longbridge-market-data/references/intraday.md +47 -0
- package/bundled-skills/longbridge-market-data/references/ipo.md +48 -0
- package/bundled-skills/longbridge-market-data/references/kline.md +62 -0
- package/bundled-skills/longbridge-market-data/references/market-status.md +35 -0
- package/bundled-skills/longbridge-market-data/references/market-temp.md +53 -0
- package/bundled-skills/longbridge-market-data/references/participants.md +35 -0
- package/bundled-skills/longbridge-market-data/references/quote.md +78 -0
- package/bundled-skills/longbridge-market-data/references/security-list.md +36 -0
- package/bundled-skills/longbridge-market-data/references/subscriptions.md +23 -0
- package/bundled-skills/longbridge-market-data/references/trade-stats.md +39 -0
- package/bundled-skills/longbridge-market-data/references/trades.md +44 -0
- package/bundled-skills/longbridge-market-data/references/trading.md +40 -0
- package/bundled-skills/loss-aversion-designer/SKILL.md +16 -8
- package/bundled-skills/m365-agents-dotnet/SKILL.md +8 -0
- package/bundled-skills/m365-agents-py/SKILL.md +8 -0
- package/bundled-skills/m365-agents-ts/SKILL.md +8 -0
- package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +0 -1
- package/bundled-skills/macos-screen-recorder/SKILL.md +5 -1
- package/bundled-skills/magic-animator/SKILL.md +4 -2
- package/bundled-skills/magic-ui-generator/SKILL.md +7 -5
- package/bundled-skills/makepad-animation/SKILL.md +8 -0
- package/bundled-skills/makepad-basics/SKILL.md +9 -0
- package/bundled-skills/makepad-deployment/SKILL.md +18 -0
- package/bundled-skills/makepad-dsl/SKILL.md +9 -0
- package/bundled-skills/makepad-event-action/SKILL.md +9 -0
- package/bundled-skills/makepad-font/SKILL.md +8 -0
- package/bundled-skills/makepad-layout/SKILL.md +9 -0
- package/bundled-skills/makepad-platform/SKILL.md +8 -0
- package/bundled-skills/makepad-reference/SKILL.md +5 -3
- package/bundled-skills/makepad-shaders/SKILL.md +9 -0
- package/bundled-skills/makepad-skills/SKILL.md +11 -5
- package/bundled-skills/makepad-splash/SKILL.md +8 -0
- package/bundled-skills/makepad-widgets/SKILL.md +10 -0
- package/bundled-skills/manifest/SKILL.md +20 -113
- package/bundled-skills/markdown-rendering/SKILL.md +3 -3
- package/bundled-skills/market-sizing-analysis/SKILL.md +13 -24
- package/bundled-skills/market-sizing-analysis/examples/saas-market-sizing.md +20 -337
- package/bundled-skills/market-sizing-analysis/references/data-sources.md +10 -22
- package/bundled-skills/markstream-angular/SKILL.md +3 -1
- package/bundled-skills/markstream-nuxt/SKILL.md +3 -1
- package/bundled-skills/markstream-react/SKILL.md +5 -1
- package/bundled-skills/markstream-svelte/SKILL.md +3 -1
- package/bundled-skills/markstream-vue/SKILL.md +3 -1
- package/bundled-skills/markstream-vue2/SKILL.md +5 -1
- package/bundled-skills/markstream-vue2-cli/SKILL.md +5 -1
- package/bundled-skills/markstream-vue2-vite/SKILL.md +5 -1
- package/bundled-skills/matplotlib/SKILL.md +5 -0
- package/bundled-skills/matplotlib/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/matplotlib/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/matplotlib/references/api_reference.md +412 -0
- package/bundled-skills/matplotlib/references/common_issues.md +563 -0
- package/bundled-skills/matplotlib/references/plot_types.md +476 -0
- package/bundled-skills/matplotlib/references/styling_guide.md +589 -0
- package/bundled-skills/matplotlib/scripts/plot_template.py +401 -0
- package/bundled-skills/matplotlib/scripts/style_configurator.py +412 -0
- package/bundled-skills/mcd-secret-menu-lab/SKILL.md +110 -0
- package/bundled-skills/mcp-server-security/SKILL.md +17 -11
- package/bundled-skills/mcp-server-security/references/details.md +51 -90
- package/bundled-skills/memory-forensics/SKILL.md +0 -1
- package/bundled-skills/mermaid-expert/SKILL.md +5 -4
- package/bundled-skills/minecraft-bukkit-pro/SKILL.md +0 -1
- package/bundled-skills/mirrord/SKILL.md +5 -3
- package/bundled-skills/ml-engineer/SKILL.md +0 -1
- package/bundled-skills/ml-pipeline-workflow/SKILL.md +10 -1
- package/bundled-skills/mlops-engineer/SKILL.md +0 -1
- package/bundled-skills/mobile-security-coder/SKILL.md +0 -1
- package/bundled-skills/monopoly/SKILL.md +12 -0
- package/bundled-skills/monopoly/security-checklist/SKILL.md +9 -7
- package/bundled-skills/monorepo-architect/SKILL.md +5 -4
- package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +4 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/UPSTREAM-NOTICE.md +19 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/common-root-causes.md +79 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/data-exploration.md +149 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/etl-failure-investigation.md +67 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/field-anomaly-investigation.md +107 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/freshness-investigation.md +67 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/intake-no-incident.md +67 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/query-change-investigation.md +55 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/schema-investigation.md +48 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/references/volume-investigation.md +53 -0
- package/bundled-skills/monte-carlo-asset-health/SKILL.md +4 -0
- package/bundled-skills/monte-carlo-asset-health/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-asset-health/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/monte-carlo-asset-health/references/parameters.md +111 -0
- package/bundled-skills/monte-carlo-asset-health/references/workflows.md +132 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/references/agent-monitor-creation.md +471 -0
- package/bundled-skills/monte-carlo-monitoring-advisor/references/data-monitor-creation.md +272 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/references/investigation-tiers.md +110 -0
- package/bundled-skills/monte-carlo-performance-diagnosis/references/query-analysis.md +50 -0
- package/bundled-skills/monte-carlo-remediation/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-remediation/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-remediation/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/monte-carlo-remediation/references/patterns.md +295 -0
- package/bundled-skills/monte-carlo-remediation/references/safety.md +160 -0
- package/bundled-skills/monte-carlo-remediation/references/tool-discovery.md +172 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +3 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/monte-carlo-storage-cost-analysis/references/output-structure.md +93 -0
- package/bundled-skills/mtls-configuration/SKILL.md +0 -1
- package/bundled-skills/multi-cloud-architecture/SKILL.md +3 -1
- package/bundled-skills/multi-cloud-architecture/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/multi-cloud-architecture/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/multi-cloud-architecture/references/multi-cloud-patterns.md +26 -0
- package/bundled-skills/multi-cloud-architecture/references/service-comparison.md +35 -0
- package/bundled-skills/nanobanana-ppt-skills/SKILL.md +13 -4
- package/bundled-skills/native-data-fetching/references/detailed-guide.md +42 -23
- package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +36 -29
- package/bundled-skills/nerdzao-elite/SKILL.md +9 -5
- package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +7 -3
- package/bundled-skills/network-engineer/SKILL.md +0 -1
- package/bundled-skills/networkx/SKILL.md +3 -0
- package/bundled-skills/networkx/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/networkx/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/networkx/references/algorithms.md +383 -0
- package/bundled-skills/networkx/references/generators.md +378 -0
- package/bundled-skills/networkx/references/graph-basics.md +283 -0
- package/bundled-skills/networkx/references/io.md +441 -0
- package/bundled-skills/networkx/references/visualization.md +529 -0
- package/bundled-skills/new-rails-project/SKILL.md +4 -2
- package/bundled-skills/news-sentiment-engine/SKILL.md +13 -28
- package/bundled-skills/nft-standards/SKILL.md +15 -1
- package/bundled-skills/nsfw-ai-spicyapi/SKILL.md +8 -0
- package/bundled-skills/nx-workspace-patterns/SKILL.md +0 -1
- package/bundled-skills/objection-preemptor/SKILL.md +16 -8
- package/bundled-skills/observability-monitoring-monitor-setup/SKILL.md +1 -1
- package/bundled-skills/obsidian-cli/SKILL.md +4 -2
- package/bundled-skills/odoo-module-developer/SKILL.md +4 -1
- package/bundled-skills/odoo-orm-expert/SKILL.md +4 -2
- package/bundled-skills/odw/SKILL.md +8 -0
- package/bundled-skills/offensive-osint/SKILL.md +76 -70
- package/bundled-skills/offensive-osint/UPSTREAM-LICENSE.txt +395 -0
- package/bundled-skills/offensive-osint/UPSTREAM-NOTICE.md +26 -0
- package/bundled-skills/offensive-osint/references/breach-and-credentials.md +130 -0
- package/bundled-skills/offensive-osint/references/dork-corpus.md +182 -0
- package/bundled-skills/offensive-osint/references/helpers-and-automation.md +266 -0
- package/bundled-skills/offensive-osint/references/identity-fabric.md +309 -0
- package/bundled-skills/offensive-osint/references/people-osint.md +107 -0
- package/bundled-skills/offensive-osint/references/probes-and-wordlists.md +1269 -0
- package/bundled-skills/offensive-osint/references/recon-stack.md +284 -0
- package/bundled-skills/offensive-osint/references/recon-techniques.md +343 -0
- package/bundled-skills/offensive-osint/references/saas-public-surfaces.md +140 -0
- package/bundled-skills/offensive-osint/references/secret-patterns.md +71 -0
- package/bundled-skills/offensive-osint/references/secret-validators.md +334 -0
- package/bundled-skills/offensive-osint/references/sector-notes.md +74 -0
- package/bundled-skills/offensive-osint/references/severity-matrix.md +112 -0
- package/bundled-skills/offensive-osint/references/specialized-osint.md +204 -0
- package/bundled-skills/offensive-osint/references/tooling-install.md +190 -0
- package/bundled-skills/offers/SKILL.md +1 -1
- package/bundled-skills/omp-delegate/SKILL.md +5 -1
- package/bundled-skills/omp-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/omp-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/omp-delegate/scripts/relay.mjs +823 -0
- package/bundled-skills/on-call-handoff-patterns/SKILL.md +8 -6
- package/bundled-skills/onboarding/SKILL.md +1 -1
- package/bundled-skills/onboarding-cro/SKILL.md +7 -3
- package/bundled-skills/open-source-marketing/SKILL.md +1 -1
- package/bundled-skills/opencode-delegate/SKILL.md +5 -1
- package/bundled-skills/opencode-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/opencode-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/opencode-delegate/scripts/relay.mjs +781 -0
- package/bundled-skills/page-cro/SKILL.md +14 -110
- package/bundled-skills/payment-integration/SKILL.md +0 -1
- package/bundled-skills/paypal-integration/SKILL.md +3 -1
- package/bundled-skills/pentest-tools/src-hunter/SKILL.md +8 -0
- package/bundled-skills/performance-engineer/SKILL.md +1 -1
- package/bundled-skills/performance-optimization/SKILL.md +8 -0
- package/bundled-skills/performance-testing-review-ai-review/SKILL.md +8 -1
- package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +1 -1
- package/bundled-skills/php-pro/SKILL.md +0 -1
- package/bundled-skills/pi-delegate/SKILL.md +5 -1
- package/bundled-skills/pi-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/pi-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/pi-delegate/scripts/relay.mjs +822 -0
- package/bundled-skills/pitch-psychologist/SKILL.md +19 -11
- package/bundled-skills/planning-and-task-breakdown/SKILL.md +8 -0
- package/bundled-skills/playwright-java/SKILL.md +14 -0
- package/bundled-skills/podcast-generation/SKILL.md +3 -0
- package/bundled-skills/podcast-generation/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/podcast-generation/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/podcast-generation/references/architecture.md +87 -0
- package/bundled-skills/podcast-generation/references/code-examples.md +189 -0
- package/bundled-skills/podcast-generation/scripts/pcm_to_wav.py +73 -0
- package/bundled-skills/polars/SKILL.md +3 -0
- package/bundled-skills/polars/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/polars/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/polars/references/best_practices.md +649 -0
- package/bundled-skills/polars/references/core_concepts.md +378 -0
- package/bundled-skills/polars/references/io_guide.md +557 -0
- package/bundled-skills/polars/references/operations.md +602 -0
- package/bundled-skills/polars/references/pandas_migration.md +417 -0
- package/bundled-skills/polars/references/transformations.md +549 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +3 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/UPSTREAM-NOTICE.md +18 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/amendments.md +146 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/protocol-spec.md +506 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/routing.md +227 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/templates.md +438 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/references/troubleshooting.md +216 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/init_polis.py +559 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/scripts/route_contract.py +19 -0
- package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/templates/POLIS_CONSTITUTION.md +293 -0
- package/bundled-skills/posix-shell-pro/SKILL.md +0 -1
- package/bundled-skills/power-user-cultivation/SKILL.md +1 -1
- package/bundled-skills/presentation-deck/SKILL.md +4 -4
- package/bundled-skills/presentation-deck/references/related-skills.md +1 -1
- package/bundled-skills/price-psychology-strategist/SKILL.md +17 -9
- package/bundled-skills/pricing/SKILL.md +1 -1
- package/bundled-skills/product-marketing/SKILL.md +1 -1
- package/bundled-skills/prometheus-configuration/SKILL.md +11 -1
- package/bundled-skills/prompt-engineering-patterns/SKILL.md +0 -1
- package/bundled-skills/public-relations/SKILL.md +1 -1
- package/bundled-skills/pubmed-database/SKILL.md +10 -0
- package/bundled-skills/pypict-skill/SKILL.md +18 -5
- package/bundled-skills/python-testing-patterns/resources/implementation-playbook.md +13 -4
- package/bundled-skills/qiskit/SKILL.md +3 -0
- package/bundled-skills/qiskit/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/qiskit/UPSTREAM-NOTICE.md +18 -0
- package/bundled-skills/qiskit/references/algorithms.md +607 -0
- package/bundled-skills/qiskit/references/backends.md +433 -0
- package/bundled-skills/qiskit/references/circuits.md +197 -0
- package/bundled-skills/qiskit/references/patterns.md +533 -0
- package/bundled-skills/qiskit/references/primitives.md +277 -0
- package/bundled-skills/qiskit/references/setup.md +99 -0
- package/bundled-skills/qiskit/references/transpilation.md +286 -0
- package/bundled-skills/qiskit/references/visualization.md +415 -0
- package/bundled-skills/qoder-delegate/SKILL.md +5 -1
- package/bundled-skills/qoder-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/qoder-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/qoder-delegate/scripts/relay.mjs +698 -0
- package/bundled-skills/quant-analyst/SKILL.md +0 -1
- package/bundled-skills/radare2/SKILL.md +9 -0
- package/bundled-skills/react-flow-node-ts/SKILL.md +3 -0
- package/bundled-skills/react-flow-node-ts/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/react-flow-node-ts/UPSTREAM-NOTICE.md +12 -0
- package/bundled-skills/react-flow-node-ts/assets/template.tsx +108 -0
- package/bundled-skills/react-flow-node-ts/assets/types.template.ts +34 -0
- package/bundled-skills/react-state-management/SKILL.md +0 -1
- package/bundled-skills/read-all-adrs/SKILL.md +3 -4
- package/bundled-skills/recsys-pipeline-architect/SKILL.md +8 -0
- package/bundled-skills/reference-builder/SKILL.md +0 -1
- package/bundled-skills/reverse-engineer-anything/SKILL.md +4 -0
- package/bundled-skills/riffkit/SKILL.md +22 -13
- package/bundled-skills/risk-manager/SKILL.md +0 -1
- package/bundled-skills/robius-app-architecture/SKILL.md +10 -0
- package/bundled-skills/robius-event-action/SKILL.md +10 -0
- package/bundled-skills/robius-matrix-integration/SKILL.md +10 -0
- package/bundled-skills/robius-state-management/SKILL.md +10 -0
- package/bundled-skills/robius-widget-patterns/SKILL.md +10 -0
- package/bundled-skills/ruby-pro/SKILL.md +0 -1
- package/bundled-skills/scala-pro/SKILL.md +0 -1
- package/bundled-skills/scanpy/SKILL.md +3 -0
- package/bundled-skills/scanpy/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/scanpy/UPSTREAM-NOTICE.md +15 -0
- package/bundled-skills/scanpy/assets/analysis_template.py +295 -0
- package/bundled-skills/scanpy/references/api_reference.md +251 -0
- package/bundled-skills/scanpy/references/plotting_guide.md +352 -0
- package/bundled-skills/scanpy/references/standard_workflow.md +206 -0
- package/bundled-skills/scanpy/scripts/qc_analysis.py +200 -0
- package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +16 -8
- package/bundled-skills/score-eval/SKILL.md +29 -18
- package/bundled-skills/search-specialist/SKILL.md +0 -1
- package/bundled-skills/security-bluebook-builder/SKILL.md +9 -1
- package/bundled-skills/security-compliance-compliance-check/resources/implementation-playbook.md +46 -177
- package/bundled-skills/security-requirement-extraction/resources/implementation-playbook.md +8 -6
- package/bundled-skills/senior-fullstack/SKILL.md +24 -200
- package/bundled-skills/senior-fullstack/references/architecture_patterns.md +4 -100
- package/bundled-skills/senior-fullstack/references/development_workflows.md +4 -100
- package/bundled-skills/senior-fullstack/references/tech_stack_guide.md +4 -100
- package/bundled-skills/senior-fullstack/scripts/code_quality_analyzer.py +5 -13
- package/bundled-skills/senior-fullstack/scripts/fullstack_scaffolder.py +5 -13
- package/bundled-skills/senior-fullstack/scripts/project_scaffolder.py +5 -13
- package/bundled-skills/seo-authority-builder/SKILL.md +0 -1
- package/bundled-skills/seo-cannibalization-detector/SKILL.md +6 -2
- package/bundled-skills/seo-content/SKILL.md +8 -0
- package/bundled-skills/seo-content-auditor/SKILL.md +3 -1
- package/bundled-skills/seo-content-refresher/SKILL.md +8 -4
- package/bundled-skills/seo-directory-backlinks/SKILL.md +8 -0
- package/bundled-skills/seo-image-gen/SKILL.md +14 -0
- package/bundled-skills/seo-keyword-strategist/SKILL.md +0 -1
- package/bundled-skills/seo-meta-optimizer/SKILL.md +0 -1
- package/bundled-skills/seo-schema/SKILL.md +8 -0
- package/bundled-skills/seo-snippet-hunter/SKILL.md +0 -1
- package/bundled-skills/seo-structure-architect/SKILL.md +6 -2
- package/bundled-skills/sequence-psychologist/SKILL.md +16 -8
- package/bundled-skills/service-mesh-expert/SKILL.md +0 -1
- package/bundled-skills/service-mesh-observability/SKILL.md +0 -1
- package/bundled-skills/sharp-edges/SKILL.md +3 -0
- package/bundled-skills/sharp-edges/UPSTREAM-LICENSE.txt +427 -0
- package/bundled-skills/sharp-edges/UPSTREAM-NOTICE.md +26 -0
- package/bundled-skills/sharp-edges/references/auth-patterns.md +252 -0
- package/bundled-skills/sharp-edges/references/case-studies.md +274 -0
- package/bundled-skills/sharp-edges/references/config-patterns.md +333 -0
- package/bundled-skills/sharp-edges/references/crypto-apis.md +190 -0
- package/bundled-skills/sharp-edges/references/lang-c.md +205 -0
- package/bundled-skills/sharp-edges/references/lang-csharp.md +285 -0
- package/bundled-skills/sharp-edges/references/lang-go.md +270 -0
- package/bundled-skills/sharp-edges/references/lang-java.md +263 -0
- package/bundled-skills/sharp-edges/references/lang-javascript.md +269 -0
- package/bundled-skills/sharp-edges/references/lang-kotlin.md +265 -0
- package/bundled-skills/sharp-edges/references/lang-php.md +245 -0
- package/bundled-skills/sharp-edges/references/lang-python.md +274 -0
- package/bundled-skills/sharp-edges/references/lang-ruby.md +273 -0
- package/bundled-skills/sharp-edges/references/lang-rust.md +272 -0
- package/bundled-skills/sharp-edges/references/lang-swift.md +287 -0
- package/bundled-skills/sharp-edges/references/language-specific.md +588 -0
- package/bundled-skills/shellcheck-configuration/SKILL.md +0 -1
- package/bundled-skills/shipping-and-launch/SKILL.md +11 -0
- package/bundled-skills/skill-scanner/SKILL.md +23 -14
- package/bundled-skills/skill-scanner/UPSTREAM-LICENSE.txt +190 -0
- package/bundled-skills/skill-scanner/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/skill-scanner/references/dangerous-code-patterns.md +194 -0
- package/bundled-skills/skill-scanner/references/permission-analysis.md +93 -0
- package/bundled-skills/skill-scanner/references/prompt-injection-patterns.md +157 -0
- package/bundled-skills/skill-scanner/scripts/scan_skill.py +800 -0
- package/bundled-skills/skill-seekers/SKILL.md +16 -20
- package/bundled-skills/slideops/SKILL.md +3 -0
- package/bundled-skills/slideops/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/slideops/UPSTREAM-NOTICE.md +16 -0
- package/bundled-skills/slideops/assets/template.html +536 -0
- package/bundled-skills/slideops/references/automation.md +185 -0
- package/bundled-skills/slideops/references/diagrams.md +92 -0
- package/bundled-skills/slideops/references/verification.md +124 -0
- package/bundled-skills/slideops/scripts/check.py +501 -0
- package/bundled-skills/slideops/scripts/cite.py +143 -0
- package/bundled-skills/social-proof-architect/SKILL.md +17 -9
- package/bundled-skills/spark-optimization/SKILL.md +0 -1
- package/bundled-skills/speckit-updater/SKILL.md +7 -0
- package/bundled-skills/speed/SKILL.md +16 -14
- package/bundled-skills/sred-project-organizer/SKILL.md +7 -0
- package/bundled-skills/startup-analyst/SKILL.md +0 -1
- package/bundled-skills/startup-business-analyst-business-case/SKILL.md +0 -1
- package/bundled-skills/startup-business-analyst-financial-projections/SKILL.md +0 -1
- package/bundled-skills/startup-business-analyst-market-opportunity/SKILL.md +0 -1
- package/bundled-skills/startup-financial-modeling/SKILL.md +16 -25
- package/bundled-skills/subject-line-psychologist/SKILL.md +16 -8
- package/bundled-skills/superpowers-lab/SKILL.md +15 -20
- package/bundled-skills/supply-chain-security/SKILL.md +6 -14
- package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +3 -39
- package/bundled-skills/swiftui-ui-patterns/SKILL.md +4 -0
- package/bundled-skills/swiftui-ui-patterns/references/async-state.md +14 -8
- package/bundled-skills/swiftui-ui-patterns/references/controls.md +1 -1
- package/bundled-skills/swiftui-ui-patterns/references/form.md +22 -4
- package/bundled-skills/swiftui-ui-patterns/references/lightweight-clients.md +3 -3
- package/bundled-skills/swiftui-ui-patterns/references/list.md +2 -2
- package/bundled-skills/swiftui-ui-patterns/references/matched-transitions.md +3 -1
- package/bundled-skills/swiftui-ui-patterns/references/media.md +3 -0
- package/bundled-skills/swiftui-ui-patterns/references/overlay.md +8 -3
- package/bundled-skills/swiftui-ui-patterns/references/performance.md +2 -5
- package/bundled-skills/swiftui-ui-patterns/references/scroll-reveal.md +3 -1
- package/bundled-skills/swiftui-ui-patterns/references/searchable.md +23 -7
- package/bundled-skills/swiftui-ui-patterns/references/sheets.md +16 -10
- package/bundled-skills/swiftui-ui-patterns/references/split-views.md +4 -1
- package/bundled-skills/systematic-debugging/condition-based-waiting-example.ts +30 -144
- package/bundled-skills/systematic-debugging/condition-based-waiting.md +1 -1
- package/bundled-skills/tdd-orchestrator/SKILL.md +0 -1
- package/bundled-skills/team-composition-analysis/SKILL.md +9 -1
- package/bundled-skills/technical-tutorials/SKILL.md +1 -1
- package/bundled-skills/temporal-python-pro/SKILL.md +0 -1
- package/bundled-skills/temporal-python-testing/SKILL.md +0 -1
- package/bundled-skills/terraform-module-library/SKILL.md +11 -1
- package/bundled-skills/test-automator/SKILL.md +0 -1
- package/bundled-skills/testing-patterns/SKILL.md +8 -9
- package/bundled-skills/trust-calibrator/SKILL.md +16 -8
- package/bundled-skills/tune-monitor/SKILL.md +3 -0
- package/bundled-skills/tune-monitor/UPSTREAM-LICENSE.txt +201 -0
- package/bundled-skills/tune-monitor/UPSTREAM-NOTICE.md +14 -0
- package/bundled-skills/tune-monitor/references/custom-sql-monitor.md +112 -0
- package/bundled-skills/tune-monitor/references/metric-monitor.md +118 -0
- package/bundled-skills/tune-monitor/references/table-monitor.md +138 -0
- package/bundled-skills/tune-monitor/references/validation-monitor.md +132 -0
- package/bundled-skills/turborepo-caching/SKILL.md +0 -1
- package/bundled-skills/tutorial-engineer/SKILL.md +0 -1
- package/bundled-skills/typescript-expert/SKILL.md +10 -8
- package/bundled-skills/typescript-expert/scripts/ts_diagnostic.py +48 -15
- package/bundled-skills/ui-ux-designer/SKILL.md +0 -1
- package/bundled-skills/ui-visual-validator/SKILL.md +0 -1
- package/bundled-skills/uniprot-database/SKILL.md +8 -0
- package/bundled-skills/unity-developer/SKILL.md +0 -1
- package/bundled-skills/usage-based-pricing/SKILL.md +4 -2
- package/bundled-skills/usage-based-pricing/references/detailed-guide.md +11 -9
- package/bundled-skills/using-agent-skills/SKILL.md +4 -1
- package/bundled-skills/using-agent-skills/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/using-agent-skills/UPSTREAM-NOTICE.md +11 -0
- package/bundled-skills/using-agent-skills/references/definition-of-done.md +67 -0
- package/bundled-skills/using-neon/SKILL.md +21 -0
- package/bundled-skills/ux-persuasion-engineer/SKILL.md +16 -8
- package/bundled-skills/variant-analysis/SKILL.md +10 -0
- package/bundled-skills/vexor-cli/SKILL.md +8 -0
- package/bundled-skills/vibe-delegate/SKILL.md +5 -1
- package/bundled-skills/vibe-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/vibe-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/vibe-delegate/scripts/relay.mjs +773 -0
- package/bundled-skills/video-content-extractor/SKILL.md +8 -0
- package/bundled-skills/visual-emotion-engineer/SKILL.md +17 -9
- package/bundled-skills/warp-delegate/SKILL.md +5 -1
- package/bundled-skills/warp-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/warp-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/warp-delegate/scripts/relay.mjs +837 -0
- package/bundled-skills/wcag-audit-patterns/resources/implementation-playbook.md +26 -41
- package/bundled-skills/web-performance-optimization/SKILL.md +15 -15
- package/bundled-skills/web-performance-optimization/references/detailed-guide.md +12 -7
- package/bundled-skills/web3-testing/SKILL.md +16 -1
- package/bundled-skills/workflow-orchestration-patterns/SKILL.md +1 -2
- package/bundled-skills/zcode-delegate/SKILL.md +11 -3
- package/bundled-skills/zcode-delegate/UPSTREAM-LICENSE.txt +21 -0
- package/bundled-skills/zcode-delegate/UPSTREAM-NOTICE.md +13 -0
- package/bundled-skills/zcode-delegate/references/dispatch-and-poll.md +4 -4
- package/bundled-skills/zcode-delegate/scripts/relay.mjs +1043 -0
- package/package.json +1 -1
- package/skills_index.json +240 -160
- package/bundled-skills/api-security-testing/SKILL.md +0 -176
|
@@ -1,34 +1,29 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: aws-skills
|
|
3
|
-
description: "AWS
|
|
3
|
+
description: "Plan and review AWS architecture and infrastructure changes using the upstream AWS skill collection."
|
|
4
4
|
risk: safe
|
|
5
5
|
source: "https://github.com/zxkane/aws-skills"
|
|
6
6
|
date_added: "2026-02-27"
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
#
|
|
9
|
+
# AWS Skill Collection Workflow
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## When to Use
|
|
12
|
+
- You need to choose an AWS architecture or infrastructure workflow for an existing application.
|
|
13
|
+
- You want to review an infrastructure plan before any cloud change.
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
This skill provides guidance and patterns for aws development with infrastructure automation and cloud architecture patterns.
|
|
22
|
-
|
|
23
|
-
For more information, see the [source repository](https://github.com/zxkane/aws-skills).
|
|
15
|
+
## Workflow
|
|
16
|
+
1. Establish the application requirements, existing AWS services, target account/region, constraints, and required outcome. Read the project's infrastructure definitions before proposing changes.
|
|
17
|
+
2. Open the [upstream AWS skill collection](https://github.com/zxkane/aws-skills) and select the workflow matching the actual services and infrastructure framework. This catalog entry is a routing workflow; it does not bundle every upstream skill.
|
|
18
|
+
3. Read that workflow's prerequisites and referenced documentation. For an existing deployment, request authorized read-only inventory or use user-provided configuration; do not infer account identity from names.
|
|
19
|
+
4. Produce an architecture or infrastructure plan with resource boundaries, IAM access, networking, cost assumptions, and a validation/rollback plan. Distinguish observed configuration from proposed changes.
|
|
20
|
+
5. Review the plan with the user before any operation that creates, modifies, or deletes cloud resources. Follow the selected tool's current documentation and the project's normal review/deployment process.
|
|
21
|
+
6. Verify the result against the requested requirements and report which checks ran, which were simulated, and which require deployment access.
|
|
24
22
|
|
|
25
23
|
## Example
|
|
26
|
-
|
|
27
|
-
**User request:**
|
|
28
|
-
|
|
29
|
-
> Use @aws-skills for this task: AWS development with infrastructure automation and cloud architecture patterns.
|
|
24
|
+
> Review this application's AWS infrastructure and propose a least-privilege change plan. Read configuration first; do not deploy.
|
|
30
25
|
|
|
31
26
|
## Limitations
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
27
|
+
- The upstream collection is an external prerequisite; report inaccessible guidance instead of inventing its instructions.
|
|
28
|
+
- Planning does not prove a deployment works. Never claim account, pricing, permissions, or availability without current evidence.
|
|
29
|
+
- Cloud changes require the user's authorized scope and the project's deployment controls.
|
|
@@ -9,6 +9,9 @@ date_added: 2026-07-01
|
|
|
9
9
|
license: MIT
|
|
10
10
|
license_source: https://github.com/zxkane/aws-skills/blob/main/LICENSE
|
|
11
11
|
---
|
|
12
|
+
## Bundled upstream support
|
|
13
|
+
|
|
14
|
+
Supporting files are included at skill-relative paths. See [UPSTREAM-NOTICE.md](UPSTREAM-NOTICE.md) for their pinned sources, licenses, hashes, and import changes.
|
|
12
15
|
|
|
13
16
|
# SST v4 for AWS
|
|
14
17
|
## When to Use
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Mengxin Zhu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Upstream helpers for aws-sst-development
|
|
2
|
+
|
|
3
|
+
The files listed below were recovered from [zxkane/aws-skills](https://github.com/zxkane/aws-skills) at commit `68530c6f296ccd2f5e99c79782f3e0fbf962c51a`. The repository ID is `1080226559`.
|
|
4
|
+
|
|
5
|
+
They retain the upstream **MIT** license reproduced in [UPSTREAM-LICENSE.txt](UPSTREAM-LICENSE.txt). This notice applies to the listed support files; it does not replace the license metadata of other catalog files. Preserve the upstream license and this attribution when redistributing them.
|
|
6
|
+
|
|
7
|
+
License wording is unchanged; text-only trailing whitespace and EOF blank lines are normalized. Original license: https://github.com/zxkane/aws-skills/blob/68530c6f296ccd2f5e99c79782f3e0fbf962c51a/LICENSE
|
|
8
|
+
|
|
9
|
+
| Local file | Original upstream path | Original Git blob SHA | Import changes |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| `references/authoring.md` | `plugins/aws-iac/skills/aws-sst-development/references/authoring.md` | `3e7daad2d4b21f01ef6358bc145df88180e62876` | text-only trailing whitespace and EOF blank lines normalized |
|
|
12
|
+
| `references/testing.md` | `plugins/aws-iac/skills/aws-sst-development/references/testing.md` | `1ca8e38fbd73d0f150097208689838df780722af` | text-only trailing whitespace and EOF blank lines normalized |
|
|
13
|
+
| `references/deploy-and-troubleshoot.md` | `plugins/aws-iac/skills/aws-sst-development/references/deploy-and-troubleshoot.md` | `5dc51bdf9efd23b95e0e1505c2878f5ba17f33d4` | text-only trailing whitespace and EOF blank lines normalized |
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
# Authoring SST v4 stacks and `infra/` modules
|
|
2
|
+
|
|
3
|
+
How to write `sst.config.ts` and the per-domain modules under `infra/`. Read the
|
|
4
|
+
SKILL.md orientation section first so you know the repo's house style.
|
|
5
|
+
|
|
6
|
+
## Table of contents
|
|
7
|
+
|
|
8
|
+
- [The root `sst.config.ts`](#the-root-sstconfigts)
|
|
9
|
+
- [Pinning the Lambda runtime with `$transform`](#pinning-the-lambda-runtime-with-transform)
|
|
10
|
+
- [The esbuild banner shim strip (Node 24 + ESM)](#the-esbuild-banner-shim-strip-node-24--esm)
|
|
11
|
+
- [Per-domain `infra/` modules](#per-domain-infra-modules)
|
|
12
|
+
- [Declaring resources: typed components vs raw Pulumi](#declaring-resources-typed-components-vs-raw-pulumi)
|
|
13
|
+
- [Sharing across modules: links, SSM, IAM scope](#sharing-across-modules-links-ssm-iam-scope)
|
|
14
|
+
- [Working with `Output<T>` and `$interpolate`](#working-with-outputt-and-interpolate)
|
|
15
|
+
- [The CloudControl escape hatch](#the-cloudcontrol-escape-hatch)
|
|
16
|
+
|
|
17
|
+
## The root `sst.config.ts`
|
|
18
|
+
|
|
19
|
+
`$config({ app(input){...}, async run(){...} })` is the whole contract. `app()`
|
|
20
|
+
returns app-level settings; `run()` declares (by side effect of `new`) the
|
|
21
|
+
resource graph.
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
/// <reference path="./.sst/platform/config.d.ts" />
|
|
25
|
+
|
|
26
|
+
export default $config({
|
|
27
|
+
app(input) {
|
|
28
|
+
return {
|
|
29
|
+
name: "my-app",
|
|
30
|
+
// prod resources survive a stack removal; previews/dev clean up fully.
|
|
31
|
+
removal: input?.stage === "prod" ? "retain" : "remove",
|
|
32
|
+
protect: input?.stage === "prod",
|
|
33
|
+
home: "aws",
|
|
34
|
+
providers: {
|
|
35
|
+
aws: {
|
|
36
|
+
region: "ap-northeast-1",
|
|
37
|
+
defaultTags: {
|
|
38
|
+
tags: {
|
|
39
|
+
Project: "my-app",
|
|
40
|
+
Stage: input?.stage ?? "dev",
|
|
41
|
+
ManagedBy: "sst",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
async run() {
|
|
49
|
+
// global transforms first (see below)
|
|
50
|
+
$transform(sst.aws.Function, (args) => { args.runtime ??= "nodejs24.x"; });
|
|
51
|
+
|
|
52
|
+
// then import modules in DEPENDENCY ORDER. Lazy import keeps `sst dev`
|
|
53
|
+
// hot-reload light and lets Vitest load a module under a Pulumi mock
|
|
54
|
+
// without instantiating real resources.
|
|
55
|
+
await import("./infra/storage");
|
|
56
|
+
await import("./infra/functions");
|
|
57
|
+
await import("./infra/api");
|
|
58
|
+
await import("./infra/observability"); // last: references everything above
|
|
59
|
+
|
|
60
|
+
return {}; // surface outputs here if post-deploy scripts need them
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Key points:
|
|
66
|
+
|
|
67
|
+
- **`removal` / `protect` gate on stage.** `retain` keeps prod resources if the
|
|
68
|
+
stack is torn down; `protect` blocks accidental `sst remove` on prod.
|
|
69
|
+
- **`defaultTags`** stamp every resource so cost/ownership is attributable
|
|
70
|
+
without per-resource tagging.
|
|
71
|
+
- **Import order is dependency order.** A module that reads another's exports
|
|
72
|
+
(e.g. `observability` referencing function names) must be imported *after* it.
|
|
73
|
+
Put observability last for this reason.
|
|
74
|
+
- **Lazy `await import()`** is deliberate: importing a module has no side effect
|
|
75
|
+
until its factory runs, so the test harness can `import` it under a Pulumi
|
|
76
|
+
mock. If a module exports a factory function (`export function fooStack() {...}`)
|
|
77
|
+
rather than running at import time, call it explicitly in `run()` and pass
|
|
78
|
+
dependencies as arguments — that creates a real Pulumi dependency edge instead
|
|
79
|
+
of a fragile same-run data-source lookup (see Sharing, below).
|
|
80
|
+
|
|
81
|
+
## Pinning the Lambda runtime with `$transform`
|
|
82
|
+
|
|
83
|
+
First, **check the installed SST's default** (Context7, or
|
|
84
|
+
`grep -r 'nodejs.*\.x' .sst/platform/src/components/aws/function.ts`). Recent
|
|
85
|
+
SST already defaults functions to a current Node LTS — on those versions you
|
|
86
|
+
may not need a transform at all. Pin it anyway for version independence so a
|
|
87
|
+
future SST downgrade can't silently move your fleet:
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
$transform(sst.aws.Function, (args) => {
|
|
91
|
+
args.runtime ??= "nodejs24.x";
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- **`??=` is correct here** — and it's exactly what SST's own docs show. The
|
|
96
|
+
global transform runs at the *top* of the component constructor, *before* the
|
|
97
|
+
component applies its own runtime default, so `??=` fills in the default only
|
|
98
|
+
when the user didn't set a runtime on that function. It preserves any explicit
|
|
99
|
+
per-function override (e.g. a Python or container function). Use plain `=`
|
|
100
|
+
only if you deliberately want to *force* every function's runtime, overriding
|
|
101
|
+
user choices — rarely what you want.
|
|
102
|
+
- **Target the SST component, not the raw Pulumi type.** `$transform(sst.aws.Function, …)`
|
|
103
|
+
hooks SST's `ComponentTransforms` (runs at construction, sees `args` before
|
|
104
|
+
defaults — the behavior above) and is also where `args.hook` / `nodejs`
|
|
105
|
+
options live. `$transform(aws.lambda.Function, …)` targets the *raw* Pulumi
|
|
106
|
+
resource via a different mechanism (`registerStackTransformation`, at
|
|
107
|
+
resource-registration time) and won't see SST's component-level `args`. For
|
|
108
|
+
runtime pinning, use the component.
|
|
109
|
+
- **Mixed runtimes need no special guard with `??=`** — an explicit
|
|
110
|
+
`runtime: "python3.13"` on a function survives, because `??=` only fills the
|
|
111
|
+
unset case. (If you switch to forcing `=`, then add a
|
|
112
|
+
`startsWith("nodejs")` guard so you don't clobber Python/container functions.)
|
|
113
|
+
|
|
114
|
+
## The esbuild banner shim strip (version-specific — verify before applying)
|
|
115
|
+
|
|
116
|
+
**This is a reactive fix for a specific SST-esbuild × Node-runtime version
|
|
117
|
+
interaction, not a universal SST rule.** Apply it only if you actually hit the
|
|
118
|
+
symptom below, and check first whether your installed SST version still ships
|
|
119
|
+
the colliding banner (`head .sst/artifacts/*-src/bundle.mjs`, or Context7 for a
|
|
120
|
+
fixed release). On a project that doesn't exhibit it, adding this postbuild file
|
|
121
|
+
surgery is gratuitous risk. It lives in the authoring reference (not the
|
|
122
|
+
"universal" list) for exactly that reason.
|
|
123
|
+
|
|
124
|
+
**Symptom:** a Lambda crashes at cold start with
|
|
125
|
+
`SyntaxError: Identifier '__filename' has already been declared` (and
|
|
126
|
+
`requestId: "-"` in the log — it fails before the handler runs). It can be
|
|
127
|
+
non-deterministic, depending on which Node runtime minor the Lambda host runs.
|
|
128
|
+
|
|
129
|
+
**Cause:** SST's default esbuild banner injects a CJS-compat shim that declares
|
|
130
|
+
`const __filename = ...` / `const __dirname = ...` at the top of every ESM
|
|
131
|
+
`bundle.mjs`. In the affected Node/runtime configurations these names are
|
|
132
|
+
already bound in the module scope, so the banner's redeclaration collides at
|
|
133
|
+
module compile. (Note: modern Node exposes `import.meta.filename` /
|
|
134
|
+
`import.meta.dirname` — *not* lexical `__filename`/`__dirname` globals in ESM;
|
|
135
|
+
the collision is specific to how SST's shim interacts with the runtime, so
|
|
136
|
+
diagnose against your actual bundle output rather than assuming a Node version
|
|
137
|
+
behavior.)
|
|
138
|
+
|
|
139
|
+
**Only add this hook if all three are true** — otherwise you're stripping lines
|
|
140
|
+
from a healthy bundle for no reason:
|
|
141
|
+
|
|
142
|
+
1. You actually see the cold-start `Identifier '__filename' has already been
|
|
143
|
+
declared` error.
|
|
144
|
+
2. `head .sst/artifacts/*-src/bundle.mjs` confirms the bundle still ships the two
|
|
145
|
+
`const __filename` / `const __dirname` shim lines.
|
|
146
|
+
3. Context7 shows your installed SST version hasn't fixed the banner upstream.
|
|
147
|
+
|
|
148
|
+
**Fix that works** (and why the obvious ones don't): strip *only* the two
|
|
149
|
+
colliding lines in a `postbuild` hook via `$transform(sst.aws.Function, ...)`.
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
$transform(sst.aws.Function, (args) => {
|
|
153
|
+
const previousPostbuild = args.hook?.postbuild;
|
|
154
|
+
args.hook = {
|
|
155
|
+
...args.hook, // MUST spread — clobbering args.hook breaks the transform chain
|
|
156
|
+
postbuild: async (dir: string) => {
|
|
157
|
+
const fs = await import("node:fs/promises");
|
|
158
|
+
const path = await import("node:path");
|
|
159
|
+
const bundlePath = path.join(dir, "bundle.mjs");
|
|
160
|
+
let src: string;
|
|
161
|
+
try {
|
|
162
|
+
src = await fs.readFile(bundlePath, "utf8");
|
|
163
|
+
} catch (err: any) {
|
|
164
|
+
// Non-node runtimes don't emit bundle.mjs — skip, then chain.
|
|
165
|
+
if (err?.code === "ENOENT") { if (previousPostbuild) await previousPostbuild(dir); return; }
|
|
166
|
+
throw err;
|
|
167
|
+
}
|
|
168
|
+
const filenameLine = "const __filename = topLevelFileUrlToPath(import.meta.url)\n";
|
|
169
|
+
const dirnameLine = 'const __dirname = topLevelFileUrlToPath(new topLevelURL(".", import.meta.url))\n';
|
|
170
|
+
const stripped = src.replaceAll(filenameLine, "").replaceAll(dirnameLine, "");
|
|
171
|
+
// Fail LOUD if SST's banner shape changed — a silent miss re-introduces the crash.
|
|
172
|
+
if (/^const __filename = topLevelFileUrlToPath/m.test(stripped)) {
|
|
173
|
+
throw new Error(`Failed to strip __filename shim from ${bundlePath}; SST banner shape changed.`);
|
|
174
|
+
}
|
|
175
|
+
if (stripped !== src) await fs.writeFile(bundlePath, stripped, "utf8");
|
|
176
|
+
if (previousPostbuild) await previousPostbuild(dir);
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
});
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Why not the simpler routes:
|
|
183
|
+
|
|
184
|
+
- `nodejs.banner = ""` does **not** replace SST's banner — SST *appends* your
|
|
185
|
+
banner to its shim, so the shim survives.
|
|
186
|
+
- `nodejs.format: "cjs"` crashes durable Lambdas: deps that read
|
|
187
|
+
`fileURLToPath(import.meta.url)` top-level break when esbuild rewrites
|
|
188
|
+
`import.meta` to `{}`.
|
|
189
|
+
- Stripping the *entire* shim breaks bundles that rely on the shim's `require`
|
|
190
|
+
fallback (`Dynamic require of "path" is not supported`). Keep `require`; remove
|
|
191
|
+
only `__filename`/`__dirname`.
|
|
192
|
+
|
|
193
|
+
Pair the strip with a CI grep gate that fails the build if any
|
|
194
|
+
`.sst/artifacts/*-src/bundle.mjs` still ships `^const __filename`. This is a
|
|
195
|
+
known-class issue; check whether the installed SST version has fixed it upstream
|
|
196
|
+
(Context7 → `sst`) before adding the hook to a *new* project — but if you see the
|
|
197
|
+
cold-start `SyntaxError`, this is the fix.
|
|
198
|
+
|
|
199
|
+
## Per-domain `infra/` modules
|
|
200
|
+
|
|
201
|
+
One file per domain. A module is just TypeScript that `new`s resources at import
|
|
202
|
+
time (or exports a factory the config calls). Export the handles other modules or
|
|
203
|
+
`run()` need.
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
// infra/storage.ts
|
|
207
|
+
const stage = $app.stage;
|
|
208
|
+
const ssmPrefix = `/my-app/${stage}/storage`;
|
|
209
|
+
|
|
210
|
+
export const uploadsBucket = new sst.aws.Bucket("Uploads");
|
|
211
|
+
|
|
212
|
+
export const itemsTable = new sst.aws.Dynamo("Items", {
|
|
213
|
+
fields: { pk: "string", sk: "string", status: "string", updatedAt: "string" },
|
|
214
|
+
primaryIndex: { hashKey: "pk", rangeKey: "sk" },
|
|
215
|
+
globalIndexes: {
|
|
216
|
+
"by-status": { hashKey: "status", rangeKey: "updatedAt", projection: "keys-only" },
|
|
217
|
+
},
|
|
218
|
+
stream: "new-and-old-images",
|
|
219
|
+
});
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Conventions worth keeping:
|
|
223
|
+
|
|
224
|
+
- **Logical names are PascalCase strings** (`"Uploads"`, `"Items"`). SST prefixes
|
|
225
|
+
them with stage + app to form the physical name. Renaming the logical name
|
|
226
|
+
*replaces* the resource — see migrations.
|
|
227
|
+
- **Heavily comment the *why*** — index sparseness, projection choices, stream
|
|
228
|
+
view type, lifecycle reasoning. These projects treat infra comments as design
|
|
229
|
+
docs. Match that density.
|
|
230
|
+
- **Derive everything from `$app.stage`** — never hardcode a stage into a name,
|
|
231
|
+
ARN, or SSM path. PR-preview stages (`pr-123`) must work for free.
|
|
232
|
+
|
|
233
|
+
## Declaring resources: typed components vs raw Pulumi
|
|
234
|
+
|
|
235
|
+
Preference order:
|
|
236
|
+
|
|
237
|
+
1. **`sst.aws.*` component** (`Function`, `Bucket`, `Dynamo`, `Cron`, `Service`,
|
|
238
|
+
`Queue`, …) — highest-level, gives you `link`, sane defaults, and `.nodes`
|
|
239
|
+
access to the underlying Pulumi resources.
|
|
240
|
+
2. **Raw `aws.*` Pulumi resource** — when the component doesn't expose what you
|
|
241
|
+
need. Reach *through* the component to the real resource it created when
|
|
242
|
+
possible (`bucket.nodes.bucket.id`) so you extend rather than duplicate.
|
|
243
|
+
3. **`aws.cloudcontrol.Resource`** — last resort, only for services with no typed
|
|
244
|
+
resource yet.
|
|
245
|
+
|
|
246
|
+
Example of (2): SST's `Bucket.lifecycle` only supports expiration, so attach a
|
|
247
|
+
native lifecycle config to the underlying bucket for storage-class transitions:
|
|
248
|
+
|
|
249
|
+
```ts
|
|
250
|
+
export const rawBucket = new sst.aws.Bucket("AudioRaw");
|
|
251
|
+
new aws.s3.BucketLifecycleConfigurationV2("AudioRawLifecycle", {
|
|
252
|
+
bucket: rawBucket.nodes.bucket.id, // reach through to the real bucket
|
|
253
|
+
rules: [{
|
|
254
|
+
id: "archive-then-expire", status: "Enabled", filter: {},
|
|
255
|
+
transitions: [{ days: 30, storageClass: "STANDARD_IA" }],
|
|
256
|
+
expiration: { days: 180 },
|
|
257
|
+
}],
|
|
258
|
+
});
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
For Lambdas, lean on the component's first-class options before dropping to
|
|
262
|
+
`transform`:
|
|
263
|
+
|
|
264
|
+
```ts
|
|
265
|
+
new sst.aws.Function("Query", {
|
|
266
|
+
handler: "infra/src/query/handler.handler",
|
|
267
|
+
architecture: "arm64",
|
|
268
|
+
memory: "2048 MB",
|
|
269
|
+
timeout: "2 minutes",
|
|
270
|
+
// native .node bindings esbuild can't bundle: keep external + install per-arch
|
|
271
|
+
nodejs: { install: ["@duckdb/node-api"] },
|
|
272
|
+
// options the component doesn't surface go through transform on the raw fn
|
|
273
|
+
transform: {
|
|
274
|
+
function: (args) => { args.ephemeralStorage = { size: 2048 }; },
|
|
275
|
+
},
|
|
276
|
+
environment: { STAGE: stage, SSM_PREFIX: `/my-app/${stage}/...` },
|
|
277
|
+
// `link` covers IAM + runtime binding for itemsTable; `permissions` here is for
|
|
278
|
+
// a resource that ISN'T linkable (a Bedrock model). See Sharing for when a
|
|
279
|
+
// linked resource still needs an extra explicit permission.
|
|
280
|
+
link: [itemsTable],
|
|
281
|
+
permissions: [{ actions: ["bedrock:InvokeModel"], resources: [bedrockModelArn] }],
|
|
282
|
+
});
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## Sharing across modules: links, SSM, IAM scope
|
|
286
|
+
|
|
287
|
+
There are three mechanisms; they serve different consumers.
|
|
288
|
+
|
|
289
|
+
**1. `link:` — for same-app Lambdas in the Pulumi graph.** Pass resource handles;
|
|
290
|
+
SST does two things: injects the resource's metadata so the Lambda can read it at
|
|
291
|
+
runtime, and grants IAM for that resource automatically.
|
|
292
|
+
|
|
293
|
+
```ts
|
|
294
|
+
new sst.aws.Function("Writer", { handler: "...", link: [itemsTable, uploadsBucket] });
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
The Lambda consumes the link at runtime via SST's `Resource` binding — this is
|
|
298
|
+
the other half of the feature, easy to forget:
|
|
299
|
+
|
|
300
|
+
```ts
|
|
301
|
+
// in src/lambdas/writer/handler.ts
|
|
302
|
+
import { Resource } from "sst";
|
|
303
|
+
const tableName = Resource.Items.name; // the resolved physical name
|
|
304
|
+
const bucketName = Resource.Uploads.name; // (named after the logical id)
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Use `link` as the default for "this Lambda needs that table/bucket" — it's the
|
|
308
|
+
lowest-friction path and keeps the binding + IAM in sync. **But know what it
|
|
309
|
+
grants:** `link` issues resource-scoped (not action-scoped) IAM — e.g. broad
|
|
310
|
+
read/write on that table or bucket, not just `GetItem`. That's fine for most
|
|
311
|
+
workers. When you need *least privilege* (a specific action set, a condition, a
|
|
312
|
+
sub-resource), add an explicit `permissions` entry and scope the actions
|
|
313
|
+
yourself. Adding `permissions` for a resource you already `link` is usually
|
|
314
|
+
redundant — but it's legitimate when you need an *extra* action the link's grant
|
|
315
|
+
doesn't cover (e.g. `s3:PutObjectTagging` on a linked bucket).
|
|
316
|
+
|
|
317
|
+
**2. SSM Parameter Store — for consumers *outside* the Pulumi graph.** CI
|
|
318
|
+
scripts, sibling apps, and operators can't read a Pulumi link. Publish the
|
|
319
|
+
durable contract (names, ARNs, URLs) to SSM under `/{app}/{stage}/{domain}/...`:
|
|
320
|
+
|
|
321
|
+
```ts
|
|
322
|
+
function ssmParam(name: string, suffix: string, value: $util.Input<string>) {
|
|
323
|
+
return new aws.ssm.Parameter(name, {
|
|
324
|
+
name: `${ssmPrefix}/${suffix}`, type: "String", value,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
ssmParam("SsmItemsTableName", "items/table-name", itemsTable.name);
|
|
328
|
+
ssmParam("SsmItemsTableArn", "items/table-arn", itemsTable.arn);
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
This decouples modules: a downstream Lambda can read the value from SSM *at
|
|
332
|
+
runtime* instead of importing the resource, which keeps the deploy-time graph
|
|
333
|
+
small. The trade-off is the next point.
|
|
334
|
+
|
|
335
|
+
**3. Pass a value as a function argument to create a real dependency edge.** If a
|
|
336
|
+
downstream module needs an upstream value *at deploy time* (e.g. to scope an IAM
|
|
337
|
+
ARN), don't have it re-read SSM via a same-run data-source lookup — on a *fresh*
|
|
338
|
+
stage's first deploy the parameter may not exist yet, and the lookup returns
|
|
339
|
+
"parameter not found". Instead export a factory and pass the value in:
|
|
340
|
+
|
|
341
|
+
```ts
|
|
342
|
+
// sst.config.ts
|
|
343
|
+
const { indexBucketName } = makeIndex(); // returns the bucket NAME (an Output)
|
|
344
|
+
makeQuery(indexBucketName); // pass it → real Pulumi dependency edge
|
|
345
|
+
|
|
346
|
+
// infra/query.ts
|
|
347
|
+
export function makeQuery(indexBucketName: $util.Input<string>) {
|
|
348
|
+
new sst.aws.Function("query-fn", {
|
|
349
|
+
handler: "...",
|
|
350
|
+
permissions: [{
|
|
351
|
+
actions: ["s3:GetObject"],
|
|
352
|
+
resources: [$interpolate`arn:aws:s3:::${indexBucketName}/*`], // scoped, not *
|
|
353
|
+
}],
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
**Scope IAM precisely.** Resolve account/region at deploy time and build ARNs
|
|
359
|
+
with `$interpolate`:
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
const region = aws.getRegionOutput().name;
|
|
363
|
+
const accountId = aws.getCallerIdentityOutput().accountId;
|
|
364
|
+
permissions: [{
|
|
365
|
+
actions: ["ssm:GetParameter", "ssm:GetParameters", "ssm:GetParametersByPath"],
|
|
366
|
+
resources: [$interpolate`arn:aws:ssm:${region}:${accountId}:parameter${ssmPrefix}/*`],
|
|
367
|
+
}]
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Secrets — use `sst.Secret`, not plaintext env vars
|
|
371
|
+
|
|
372
|
+
Don't put credentials (API keys, webhook URLs, signing keys) in a Lambda's
|
|
373
|
+
`environment` block or an SSM `String` parameter — SST has a first-class
|
|
374
|
+
encrypted secret. Declare it, set the value once per stage via the CLI, then
|
|
375
|
+
`link` it into the functions that need it:
|
|
376
|
+
|
|
377
|
+
```ts
|
|
378
|
+
// infra/secrets.ts — declare (second arg is an optional placeholder default)
|
|
379
|
+
export const slackWebhook = new sst.Secret("SlackWebhookUrl");
|
|
380
|
+
export const hmacKey = new sst.Secret("OauthStateHmacKey", "");
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
```sh
|
|
384
|
+
# operator sets the real value once per stage (note: `secret`, singular)
|
|
385
|
+
npx sst secret set SlackWebhookUrl https://hooks.slack.com/... --stage prod
|
|
386
|
+
npx sst secret list --stage prod # verify (don't reach for an SSM path)
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
```ts
|
|
390
|
+
// link it into a function: injects the value AND grants the function the IAM to
|
|
391
|
+
// retrieve + decrypt it (secretsmanager:GetSecretValue + the KMS decrypt) — you
|
|
392
|
+
// don't hand-write that permission.
|
|
393
|
+
new sst.aws.Function("Alerter", { handler: "...", link: [slackWebhook] });
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
```ts
|
|
397
|
+
// consume at runtime via the Resource binding
|
|
398
|
+
import { Resource } from "sst";
|
|
399
|
+
const url = Resource.SlackWebhookUrl.value; // decrypted at function startup
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
Secret values are encrypted in the SST state bucket; when used in function code
|
|
403
|
+
they're encrypted in the bundle and decrypted at startup by the SST SDK. If a
|
|
404
|
+
secret is referenced in *config* (read at deploy time, e.g. to configure an
|
|
405
|
+
authorizer) it's encrypted in the state file too. Either way, never echo a
|
|
406
|
+
secret's `.value` into a log or a plaintext SSM parameter.
|
|
407
|
+
|
|
408
|
+
## Making a raw resource linkable: `sst.Linkable`
|
|
409
|
+
|
|
410
|
+
`link:` only accepts things that know how to describe themselves. SST components
|
|
411
|
+
do; a raw `aws.*` resource (or an external value) doesn't — until you wrap it in
|
|
412
|
+
`sst.Linkable`. Use this to give a raw Pulumi resource the same
|
|
413
|
+
binding + auto-IAM treatment as a native component:
|
|
414
|
+
|
|
415
|
+
```ts
|
|
416
|
+
const rawTable = new aws.dynamodb.Table("Legacy", { /* ... */ });
|
|
417
|
+
|
|
418
|
+
const legacy = new sst.Linkable("Legacy", {
|
|
419
|
+
properties: { tableName: rawTable.name, tableArn: rawTable.arn },
|
|
420
|
+
// grant the linking function the IAM it needs for this resource
|
|
421
|
+
include: [
|
|
422
|
+
sst.aws.permission({ actions: ["dynamodb:GetItem", "dynamodb:Query"], resources: [rawTable.arn] }),
|
|
423
|
+
],
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
new sst.aws.Function("Reader", { handler: "...", link: [legacy] });
|
|
427
|
+
// runtime: Resource.Legacy.tableName
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
This keeps a custom or pre-existing resource inside the link graph instead of
|
|
431
|
+
forcing every consumer to hand-roll IAM and pass names around. Verify the exact
|
|
432
|
+
`sst.Linkable` / `sst.aws.permission` shape for your installed SST version
|
|
433
|
+
(Context7) — the linkable API has evolved across v4 minors.
|
|
434
|
+
|
|
435
|
+
## Working with `Output<T>` and `$interpolate`
|
|
436
|
+
|
|
437
|
+
Pulumi resource attributes are `Output<T>` (async, dependency-tracked) values,
|
|
438
|
+
not plain strings. The single most common — and most damaging — mistake is
|
|
439
|
+
embedding one in a plain JS template literal at the top level:
|
|
440
|
+
|
|
441
|
+
```ts
|
|
442
|
+
// BAD — `bucket.arn` is Output<string>. A plain JS template literal stringifies
|
|
443
|
+
// it to a "[Calling toString on an Output<T>]" placeholder, producing a broken
|
|
444
|
+
// ARN. IAM rejects the policy at DEPLOY time (e.g. MalformedPolicyDocument:
|
|
445
|
+
// Partition "1" is not valid). It type-checks fine and `sst dev` runs fine; it
|
|
446
|
+
// only blows up on `sst deploy` when the real policy is submitted.
|
|
447
|
+
{ resources: [`${bucket.arn}/*`] }
|
|
448
|
+
|
|
449
|
+
// GOOD — $interpolate (SST's global; === pulumi.interpolate) resolves the
|
|
450
|
+
// Output for you. This is the idiom these projects use everywhere.
|
|
451
|
+
{ resources: [$interpolate`${bucket.arn}/*`] }
|
|
452
|
+
{ resources: [$interpolate`${fn.arn}:*`] }
|
|
453
|
+
{ resources: [$interpolate`arn:aws:ssm:${region}:${accountId}:parameter${prefix}/*`] }
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
Rules:
|
|
457
|
+
|
|
458
|
+
- **Any time you concatenate text around an `Output<T>`, use `$interpolate`**
|
|
459
|
+
(SST's global) or `pulumi.interpolate`. Never a plain `` `${...}` ``. A bare
|
|
460
|
+
pass-through with no surrounding text (`bucket.arn` on its own) needs no
|
|
461
|
+
wrapping.
|
|
462
|
+
- **`.apply((v) => ...)` unwraps**: inside the callback `v` is the *resolved*
|
|
463
|
+
value, so plain interpolation of `v` is fine — `` bucket.name.apply((n) => `prefix-${n}`) ``
|
|
464
|
+
works. The trap is interpolating an `Output` you *didn't* unwrap. Note a
|
|
465
|
+
resource object's own `.arn`/`.name` is still an `Output`: in
|
|
466
|
+
`` logGroup.apply((lg) => `${lg.arn}`) `` it's `lg.arn` (not `lg`) that's the
|
|
467
|
+
unresolved Output — prefer `$interpolate``` `${logGroup.arn}` `` at top level
|
|
468
|
+
instead. When in doubt, reach for `$interpolate` and skip the apply.
|
|
469
|
+
- SST's `.nodes.*` proxies are Output-flavored — reach attributes through
|
|
470
|
+
`.apply((node) => ...)`. Raw Pulumi resources expose `.arn` as `Output<string>`
|
|
471
|
+
directly and can go straight into `$interpolate`.
|
|
472
|
+
- This class of bug surfaces *only at deploy time*, so `tsc --noEmit` won't catch
|
|
473
|
+
it and it can break every push-to-main deploy until fixed. When you touch IAM,
|
|
474
|
+
grep new infra for a plain `` `${`` wrapping a `.arn`/`.name`/`.url` and convert
|
|
475
|
+
to `$interpolate`.
|
|
476
|
+
|
|
477
|
+
## The CloudControl escape hatch
|
|
478
|
+
|
|
479
|
+
When no typed `aws.*` resource exists (brand-new AWS service, or `pulumi-aws`
|
|
480
|
+
hasn't shipped one):
|
|
481
|
+
|
|
482
|
+
```ts
|
|
483
|
+
new aws.cloudcontrol.Resource("Thing", {
|
|
484
|
+
typeName: "AWS::Service::Thing",
|
|
485
|
+
desiredState: $jsonStringify({ /* CFN-shaped properties */ }),
|
|
486
|
+
});
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
Two sharp edges:
|
|
490
|
+
|
|
491
|
+
1. **`oneOf` schema fields can fail to update cleanly.** The Pulumi
|
|
492
|
+
CloudControl provider builds a JSON Patch from current→desired state; for a
|
|
493
|
+
`oneOf` field both branches can end up merged, tripping
|
|
494
|
+
`"0 subschemas matched"`. (This is a *Pulumi provider* behavior, not an AWS
|
|
495
|
+
Cloud Control API limitation — useful to know when you're deciding whether to
|
|
496
|
+
debug the provider or the service.) Mitigation if you hit it: declare
|
|
497
|
+
`replaceOnChanges: ["desiredState"]` + `deleteBeforeReplace: true` so any
|
|
498
|
+
change recreates the resource — but that costs a URL/ID rotation *and* a brief
|
|
499
|
+
gap while the delete completes, so plan downtime; prefer a typed resource if
|
|
500
|
+
one exists.
|
|
501
|
+
2. **Outputs are stringly-typed** — no `Output<string>` fields. Read one with
|
|
502
|
+
`thing.properties.apply((p) => JSON.parse(p).SomeField)`.
|
|
503
|
+
|
|
504
|
+
Prefer a typed resource the moment one ships upstream — and migrate to it using
|
|
505
|
+
the **two-PR pattern** (see `deploy-and-troubleshoot.md` § Migrations), not a
|
|
506
|
+
same-PR `replaceOnChanges` swap.
|