opencode-skills-collection 4.0.52 → 4.0.54
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 +6 -2
- package/bundled-skills/00-andruia-consultant/SKILL.md +6 -0
- package/bundled-skills/007/SKILL.md +2 -610
- package/bundled-skills/007/references/detailed-guide.md +647 -0
- package/bundled-skills/10-andruia-skill-smith/SKILL.md +6 -0
- package/bundled-skills/20-andruia-niche-intelligence/SKILL.md +6 -0
- package/bundled-skills/2slides-ppt-generator/SKILL.md +2 -741
- package/bundled-skills/2slides-ppt-generator/references/detailed-guide.md +761 -0
- package/bundled-skills/ab-test-setup/SKILL.md +59 -27
- package/bundled-skills/ab-testing/SKILL.md +1 -1
- package/bundled-skills/acceptance-orchestrator/SKILL.md +6 -0
- package/bundled-skills/accint-commitments/SKILL.md +6 -0
- package/bundled-skills/accint-frames/SKILL.md +6 -0
- package/bundled-skills/accint-solve/SKILL.md +6 -0
- package/bundled-skills/advogado-criminal/SKILL.md +2 -912
- package/bundled-skills/advogado-criminal/references/detailed-guide.md +946 -0
- package/bundled-skills/advogado-especialista/SKILL.md +2 -1071
- package/bundled-skills/advogado-especialista/references/detailed-guide.md +1114 -0
- package/bundled-skills/agent-evaluation/SKILL.md +53 -1102
- package/bundled-skills/agent-evaluation/references/architecture-sketches.md +1112 -0
- package/bundled-skills/agent-memory/SKILL.md +6 -0
- package/bundled-skills/agent-memory-systems/SKILL.md +8 -1042
- package/bundled-skills/agent-memory-systems/references/detailed-guide.md +1088 -0
- package/bundled-skills/agent-squad/SKILL.md +1 -0
- package/bundled-skills/agent-tool-builder/SKILL.md +2 -624
- package/bundled-skills/agent-tool-builder/references/detailed-guide.md +650 -0
- package/bundled-skills/agentic-actions-auditor/SKILL.md +6 -0
- package/bundled-skills/agentmail/SKILL.md +1 -0
- package/bundled-skills/agentphone/SKILL.md +5 -1323
- package/bundled-skills/agentphone/references/detailed-guide.md +1333 -0
- package/bundled-skills/agents-v2-py/SKILL.md +23 -5
- package/bundled-skills/ai-agents-architect/SKILL.md +25 -25
- package/bundled-skills/ai-analyzer/SKILL.md +1 -0
- package/bundled-skills/ai-md/SKILL.md +25 -0
- package/bundled-skills/ai-md/references/detailed-guide.md +512 -0
- package/bundled-skills/ai-product/SKILL.md +2 -726
- package/bundled-skills/ai-product/references/detailed-guide.md +746 -0
- package/bundled-skills/ai-wrapper-product/SKILL.md +2 -641
- package/bundled-skills/ai-wrapper-product/references/detailed-guide.md +659 -0
- package/bundled-skills/airtable-automation/SKILL.md +6 -0
- package/bundled-skills/algolia-search/SKILL.md +2 -893
- package/bundled-skills/algolia-search/references/detailed-guide.md +901 -0
- package/bundled-skills/alpha-vantage/SKILL.md +1 -0
- package/bundled-skills/alternatives-pages/SKILL.md +7 -1
- package/bundled-skills/amazon-alexa/SKILL.md +2 -627
- package/bundled-skills/amazon-alexa/references/detailed-guide.md +644 -0
- package/bundled-skills/analytics/SKILL.md +1 -1
- package/bundled-skills/analytics-product/SKILL.md +57 -44
- package/bundled-skills/analytics-tracking/SKILL.md +21 -12
- package/bundled-skills/analyze-project/SKILL.md +1 -0
- package/bundled-skills/android-dev/SKILL.md +2 -490
- package/bundled-skills/android-dev/references/detailed-guide.md +506 -0
- package/bundled-skills/angular/SKILL.md +4 -783
- package/bundled-skills/angular/references/detailed-guide.md +801 -0
- package/bundled-skills/angular-best-practices/SKILL.md +4 -535
- package/bundled-skills/angular-best-practices/references/detailed-guide.md +549 -0
- package/bundled-skills/angular-state-management/SKILL.md +4 -608
- package/bundled-skills/angular-state-management/references/detailed-guide.md +618 -0
- package/bundled-skills/angular-ui-patterns/SKILL.md +2 -498
- package/bundled-skills/angular-ui-patterns/references/detailed-guide.md +513 -0
- package/bundled-skills/animejs-animation/SKILL.md +6 -0
- package/bundled-skills/anti-deception/SKILL.md +7 -1
- package/bundled-skills/antigravity-design-expert/SKILL.md +6 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +7 -0
- package/bundled-skills/antigravity-workflows/SKILL.md +20 -3
- package/bundled-skills/antigravity-workflows/references/workflow-cards.md +78 -0
- package/bundled-skills/api-analyzer/SKILL.md +1 -1
- package/bundled-skills/api-designer/SKILL.md +1 -1
- package/bundled-skills/api-integration/SKILL.md +1 -1
- package/bundled-skills/api-onboarding/SKILL.md +1 -1
- package/bundled-skills/api-patterns/SKILL.md +19 -8
- package/bundled-skills/api-patterns/api-style.md +2 -2
- package/bundled-skills/api-patterns/auth.md +3 -2
- package/bundled-skills/api-patterns/graphql.md +1 -1
- package/bundled-skills/api-patterns/scripts/api_validator.py +9 -7
- package/bundled-skills/api-patterns/trpc.md +2 -2
- package/bundled-skills/api-patterns/versioning.md +1 -1
- package/bundled-skills/api-sdk-generator/SKILL.md +1 -1
- package/bundled-skills/api-security-best-practices/SKILL.md +179 -879
- package/bundled-skills/apify-actor-development/SKILL.md +1 -0
- package/bundled-skills/apify-actorization/SKILL.md +1 -0
- package/bundled-skills/apify-audience-analysis/SKILL.md +1 -0
- package/bundled-skills/apify-brand-reputation-monitoring/SKILL.md +1 -0
- package/bundled-skills/apify-competitor-intelligence/SKILL.md +1 -0
- package/bundled-skills/apify-content-analytics/SKILL.md +1 -0
- package/bundled-skills/apify-ecommerce/SKILL.md +1 -0
- package/bundled-skills/apify-influencer-discovery/SKILL.md +1 -0
- package/bundled-skills/apify-lead-generation/SKILL.md +1 -0
- package/bundled-skills/apify-market-research/SKILL.md +1 -0
- package/bundled-skills/apify-trend-analysis/SKILL.md +1 -0
- package/bundled-skills/apify-ultimate-scraper/SKILL.md +1 -0
- package/bundled-skills/appium-skill/SKILL.md +1 -1
- package/bundled-skills/apple-notes-search/SKILL.md +6 -0
- package/bundled-skills/application-performance-performance-optimization/SKILL.md +6 -0
- package/bundled-skills/applicationinsights-web-ts/SKILL.md +1 -1
- package/bundled-skills/ask-matt/SKILL.md +5 -0
- package/bundled-skills/ask-questions-if-underspecified/SKILL.md +1 -0
- package/bundled-skills/astropy/SKILL.md +1 -0
- package/bundled-skills/atlas-contract/SKILL.md +117 -0
- package/bundled-skills/atlas-contract/references/detailed-guide.md +572 -0
- package/bundled-skills/audio-transcriber/SKILL.md +2 -425
- package/bundled-skills/audio-transcriber/references/detailed-guide.md +430 -0
- package/bundled-skills/audit-context-building/SKILL.md +1 -0
- package/bundled-skills/auri-core/SKILL.md +5 -562
- package/bundled-skills/auri-core/references/detailed-guide.md +623 -0
- package/bundled-skills/auth-implementation-patterns/SKILL.md +14 -4
- package/bundled-skills/auth-implementation-patterns/resources/implementation-playbook.md +72 -180
- package/bundled-skills/automated-triage/SKILL.md +6 -0
- package/bundled-skills/autonomous-agent-patterns/SKILL.md +4 -741
- package/bundled-skills/autonomous-agent-patterns/references/detailed-guide.md +751 -0
- package/bundled-skills/autonomous-agents/SKILL.md +8 -1010
- package/bundled-skills/autonomous-agents/references/detailed-guide.md +1065 -0
- package/bundled-skills/awareness-stage-mapper/SKILL.md +6 -0
- package/bundled-skills/aws-agentic-ai/SKILL.md +7 -1
- package/bundled-skills/aws-cdk-development/SKILL.md +1 -1
- package/bundled-skills/aws-cost-operations/SKILL.md +1 -1
- package/bundled-skills/aws-mcp-setup/SKILL.md +1 -1
- package/bundled-skills/aws-serverless/SKILL.md +2 -1305
- package/bundled-skills/aws-serverless/references/detailed-guide.md +1340 -0
- package/bundled-skills/aws-serverless-eda/SKILL.md +1 -1
- package/bundled-skills/aws-skills/SKILL.md +6 -0
- package/bundled-skills/aws-sst-development/SKILL.md +7 -1
- package/bundled-skills/awt-e2e-testing/SKILL.md +7 -0
- package/bundled-skills/azure-functions/SKILL.md +2 -1321
- package/bundled-skills/azure-functions/references/detailed-guide.md +1356 -0
- package/bundled-skills/azure-maps-search-dotnet/SKILL.md +2 -482
- package/bundled-skills/azure-maps-search-dotnet/references/detailed-guide.md +496 -0
- package/bundled-skills/azure-search-documents-py/SKILL.md +2 -515
- package/bundled-skills/azure-search-documents-py/references/detailed-guide.md +548 -0
- package/bundled-skills/azure-storage-file-share-ts/SKILL.md +2 -481
- package/bundled-skills/azure-storage-file-share-ts/references/detailed-guide.md +500 -0
- package/bundled-skills/azure-storage-queue-ts/SKILL.md +2 -512
- package/bundled-skills/azure-storage-queue-ts/references/detailed-guide.md +530 -0
- package/bundled-skills/backend-development-feature-development/SKILL.md +6 -0
- package/bundled-skills/basecamp-automation/SKILL.md +6 -0
- package/bundled-skills/baseline-ui/SKILL.md +6 -0
- package/bundled-skills/bash-pro/SKILL.md +6 -0
- package/bundled-skills/bdi-mental-states/SKILL.md +1 -0
- package/bundled-skills/beautiful-prose/SKILL.md +1 -0
- package/bundled-skills/bill-gates/SKILL.md +2 -778
- package/bundled-skills/bill-gates/references/detailed-guide.md +784 -0
- package/bundled-skills/biopython/SKILL.md +1 -0
- package/bundled-skills/bitbucket-automation/SKILL.md +6 -0
- package/bundled-skills/blog-writing-guide/SKILL.md +6 -0
- package/bundled-skills/box-automation/SKILL.md +6 -0
- package/bundled-skills/brain-to-docs/SKILL.md +6 -0
- package/bundled-skills/brainstorming/SKILL.md +6 -0
- package/bundled-skills/brand-guidelines/SKILL.md +1 -0
- package/bundled-skills/brand-guidelines-anthropic/SKILL.md +23 -8
- package/bundled-skills/brand-guidelines-community/SKILL.md +23 -8
- package/bundled-skills/brand-perception-psychologist/SKILL.md +6 -0
- package/bundled-skills/brooks-audit/SKILL.md +1 -1
- package/bundled-skills/brooks-debt/SKILL.md +1 -1
- package/bundled-skills/brooks-harness/SKILL.md +1 -1
- package/bundled-skills/brooks-review/SKILL.md +7 -1
- package/bundled-skills/brooks-sweep/SKILL.md +1 -1
- package/bundled-skills/brooks-test/SKILL.md +1 -1
- package/bundled-skills/browser-automation/SKILL.md +18 -1044
- package/bundled-skills/browser-automation/references/detailed-guide.md +852 -0
- package/bundled-skills/bug-hunt-swarm/SKILL.md +7 -1
- package/bundled-skills/build/SKILL.md +5 -627
- package/bundled-skills/build/references/detailed-guide.md +637 -0
- package/bundled-skills/bun-development/SKILL.md +4 -678
- package/bundled-skills/bun-development/references/detailed-guide.md +691 -0
- package/bundled-skills/burpsuite-project-parser/SKILL.md +1 -0
- package/bundled-skills/c-pro/SKILL.md +6 -0
- package/bundled-skills/calendly-automation/SKILL.md +6 -0
- package/bundled-skills/cc-skill-backend-patterns/SKILL.md +2 -572
- package/bundled-skills/cc-skill-backend-patterns/references/detailed-guide.md +584 -0
- package/bundled-skills/cc-skill-coding-standards/SKILL.md +2 -510
- package/bundled-skills/cc-skill-coding-standards/references/detailed-guide.md +523 -0
- package/bundled-skills/cc-skill-continuous-learning/SKILL.md +49 -7
- package/bundled-skills/cc-skill-continuous-learning/config.json +1 -16
- package/bundled-skills/cc-skill-continuous-learning/evaluate-session.sh +56 -59
- package/bundled-skills/cc-skill-frontend-patterns/SKILL.md +2 -621
- package/bundled-skills/cc-skill-frontend-patterns/references/detailed-guide.md +633 -0
- package/bundled-skills/cc-skill-security-review/SKILL.md +4 -36
- package/bundled-skills/cc-skill-security-review/references/detailed-guide.md +40 -0
- package/bundled-skills/cc-skill-strategic-compact/SKILL.md +53 -7
- package/bundled-skills/cc-skill-strategic-compact/suggest-compact.sh +20 -51
- package/bundled-skills/changelog-updates/SKILL.md +6 -528
- package/bundled-skills/changelog-updates/references/detailed-guide.md +540 -0
- package/bundled-skills/chat-widget/SKILL.md +5 -879
- package/bundled-skills/chat-widget/references/detailed-guide.md +890 -0
- package/bundled-skills/cirq/SKILL.md +1 -0
- package/bundled-skills/citation-management/SKILL.md +3 -960
- package/bundled-skills/citation-management/references/detailed-guide.md +975 -0
- package/bundled-skills/ckw-design/SKILL.md +6 -0
- package/bundled-skills/claimable-postgres/SKILL.md +1 -1
- package/bundled-skills/clarity-gate/SKILL.md +3 -635
- package/bundled-skills/clarity-gate/references/detailed-guide.md +653 -0
- package/bundled-skills/claude-ally-health/SKILL.md +6 -0
- package/bundled-skills/claude-code-expert/SKILL.md +2 -527
- package/bundled-skills/claude-code-expert/references/detailed-guide.md +548 -0
- package/bundled-skills/claude-d3js-skill/SKILL.md +2 -798
- package/bundled-skills/claude-d3js-skill/references/detailed-guide.md +811 -0
- package/bundled-skills/claude-in-chrome-troubleshooting/SKILL.md +1 -0
- package/bundled-skills/claude-scientific-skills/SKILL.md +6 -0
- package/bundled-skills/claude-settings-audit/SKILL.md +1 -0
- package/bundled-skills/claude-speed-reader/SKILL.md +6 -0
- package/bundled-skills/claude-win11-speckit-update-skill/SKILL.md +6 -0
- package/bundled-skills/clean-code/SKILL.md +6 -0
- package/bundled-skills/clerk-auth/SKILL.md +2 -812
- package/bundled-skills/clerk-auth/references/detailed-guide.md +820 -0
- package/bundled-skills/clickup-automation/SKILL.md +6 -0
- package/bundled-skills/closed-loop-delivery/SKILL.md +6 -0
- package/bundled-skills/co-marketing/SKILL.md +1 -1
- package/bundled-skills/code-documentation-doc-generate/SKILL.md +16 -1
- package/bundled-skills/code-documentation-doc-generate/resources/implementation-playbook.md +33 -55
- package/bundled-skills/code-refactoring-context-restore/SKILL.md +40 -177
- package/bundled-skills/code-refactoring-tech-debt/SKILL.md +20 -9
- package/bundled-skills/code-simplifier/SKILL.md +1 -0
- package/bundled-skills/codebase-cleanup-tech-debt/SKILL.md +20 -9
- package/bundled-skills/cold-email/SKILL.md +6 -0
- package/bundled-skills/commit/SKILL.md +1 -0
- package/bundled-skills/community-building/SKILL.md +1 -1
- package/bundled-skills/competitor-alternatives/SKILL.md +2 -740
- package/bundled-skills/competitor-alternatives/references/detailed-guide.md +756 -0
- package/bundled-skills/competitor-profiling/SKILL.md +1 -1
- package/bundled-skills/competitor-tracking/SKILL.md +1 -1
- package/bundled-skills/comprehensive-review-full-review/SKILL.md +6 -0
- package/bundled-skills/comprehensive-review-pr-enhance/SKILL.md +1 -0
- package/bundled-skills/computer-use-agents/SKILL.md +2 -2131
- package/bundled-skills/computer-use-agents/references/detailed-guide.md +2158 -0
- package/bundled-skills/computer-vision-expert/SKILL.md +6 -0
- package/bundled-skills/conductor-setup/SKILL.md +1 -0
- package/bundled-skills/confluence-automation/SKILL.md +6 -0
- package/bundled-skills/constant-time-analysis/SKILL.md +1 -0
- package/bundled-skills/container-security-hardening/SKILL.md +4 -915
- package/bundled-skills/container-security-hardening/references/detailed-guide.md +927 -0
- package/bundled-skills/content-creator/SKILL.md +53 -23
- package/bundled-skills/content-creator/assets/content_calendar_template.md +5 -2
- package/bundled-skills/content-creator/references/brand_guidelines.md +7 -3
- package/bundled-skills/content-creator/references/content_frameworks.md +12 -7
- package/bundled-skills/content-creator/references/social_media_optimization.md +61 -317
- package/bundled-skills/content-creator/scripts/brand_voice_analyzer.py +14 -9
- package/bundled-skills/content-creator/scripts/seo_optimizer.py +31 -94
- package/bundled-skills/context-compression/SKILL.md +1 -0
- package/bundled-skills/context-degradation/SKILL.md +1 -0
- package/bundled-skills/context-fundamentals/SKILL.md +1 -0
- package/bundled-skills/context-management-context-restore/SKILL.md +40 -177
- package/bundled-skills/context-optimization/SKILL.md +1 -0
- package/bundled-skills/convex/SKILL.md +4 -766
- package/bundled-skills/convex/references/detailed-guide.md +772 -0
- package/bundled-skills/copilot-sdk/SKILL.md +4 -496
- package/bundled-skills/copilot-sdk/references/detailed-guide.md +516 -0
- package/bundled-skills/copy-editing/SKILL.md +6 -0
- package/bundled-skills/copywriting/SKILL.md +6 -0
- package/bundled-skills/copywriting-psychologist/SKILL.md +6 -0
- package/bundled-skills/create-branch/SKILL.md +1 -0
- package/bundled-skills/create-pr/SKILL.md +7 -0
- package/bundled-skills/cred-omega/SKILL.md +2 -847
- package/bundled-skills/cred-omega/references/detailed-guide.md +872 -0
- package/bundled-skills/cro/SKILL.md +1 -1
- package/bundled-skills/csharp-pro/SKILL.md +6 -0
- package/bundled-skills/cucumber-skill/SKILL.md +1 -1
- package/bundled-skills/customer-psychographic-profiler/SKILL.md +6 -0
- package/bundled-skills/customer-research/SKILL.md +1 -1
- package/bundled-skills/cv-generator/SKILL.md +4 -828
- package/bundled-skills/cv-generator/references/detailed-guide.md +845 -0
- package/bundled-skills/cypress-skill/SKILL.md +1 -1
- package/bundled-skills/daily-gift/SKILL.md +6 -0
- package/bundled-skills/debug-buttercup/SKILL.md +1 -0
- package/bundled-skills/debugger/SKILL.md +6 -0
- package/bundled-skills/debugging-code/SKILL.md +1 -1
- package/bundled-skills/deepapi/SKILL.md +4 -619
- package/bundled-skills/deepapi/references/detailed-guide.md +627 -0
- package/bundled-skills/delegating-to-agents/SKILL.md +6 -0
- package/bundled-skills/deployment-validation-config-validate/SKILL.md +4 -478
- package/bundled-skills/deployment-validation-config-validate/references/detailed-guide.md +484 -0
- package/bundled-skills/design-it/SKILL.md +6 -0
- package/bundled-skills/design-orchestration/SKILL.md +6 -0
- package/bundled-skills/design-spells/SKILL.md +6 -0
- package/bundled-skills/design-system/SKILL.md +7 -1
- package/bundled-skills/design-taste-frontend/SKILL.md +6 -0
- package/bundled-skills/design-thinking/SKILL.md +6 -0
- package/bundled-skills/design-ux/SKILL.md +7 -1
- package/bundled-skills/deterministic-design/SKILL.md +6 -0
- package/bundled-skills/developer-advocacy/SKILL.md +1 -1
- package/bundled-skills/developer-audience-context/SKILL.md +1 -1
- package/bundled-skills/developer-churn/SKILL.md +5 -625
- package/bundled-skills/developer-churn/references/detailed-guide.md +639 -0
- package/bundled-skills/developer-listening/SKILL.md +7 -1
- package/bundled-skills/developer-onboarding/SKILL.md +6 -474
- package/bundled-skills/developer-onboarding/references/detailed-guide.md +486 -0
- package/bundled-skills/developer-sandbox/SKILL.md +6 -414
- package/bundled-skills/developer-sandbox/references/detailed-guide.md +425 -0
- package/bundled-skills/developer-seo/SKILL.md +1 -1
- package/bundled-skills/developer-signup-flow/SKILL.md +1 -1
- package/bundled-skills/devrel-content/SKILL.md +1 -1
- package/bundled-skills/diagnosing-bugs/SKILL.md +5 -0
- package/bundled-skills/diary/SKILL.md +1 -0
- package/bundled-skills/differential-review/SKILL.md +1 -0
- package/bundled-skills/discord-automation/SKILL.md +6 -0
- package/bundled-skills/discord-bot-architect/SKILL.md +2 -1434
- package/bundled-skills/discord-bot-architect/references/detailed-guide.md +1465 -0
- package/bundled-skills/django-access-review/SKILL.md +1 -0
- package/bundled-skills/django-perf-review/SKILL.md +1 -0
- package/bundled-skills/doc-coauthoring/SKILL.md +6 -0
- package/bundled-skills/docs-architect/SKILL.md +6 -0
- package/bundled-skills/docs-as-marketing/SKILL.md +1 -1
- package/bundled-skills/documentation-generation-doc-generate/SKILL.md +16 -1
- package/bundled-skills/documentation-generation-doc-generate/resources/implementation-playbook.md +33 -55
- package/bundled-skills/doubt-driven-development/SKILL.md +1 -1
- package/bundled-skills/dropbox-automation/SKILL.md +6 -0
- package/bundled-skills/dwarf-expert/SKILL.md +1 -0
- package/bundled-skills/dx-optimizer/SKILL.md +6 -0
- package/bundled-skills/e2e-testing-patterns/SKILL.md +14 -4
- package/bundled-skills/e2e-testing-patterns/resources/implementation-playbook.md +22 -41
- package/bundled-skills/eas-update-insights/SKILL.md +1 -1
- package/bundled-skills/ecl-harness-engineer/SKILL.md +4 -681
- package/bundled-skills/ecl-harness-engineer/references/detailed-guide.md +691 -0
- package/bundled-skills/efficient-web-research/SKILL.md +1 -0
- package/bundled-skills/electron-development/SKILL.md +4 -820
- package/bundled-skills/electron-development/references/detailed-guide.md +828 -0
- package/bundled-skills/elixir-pro/SKILL.md +6 -0
- package/bundled-skills/elon-musk/SKILL.md +5 -1278
- package/bundled-skills/elon-musk/references/detailed-guide.md +1293 -0
- package/bundled-skills/email-sequence/SKILL.md +2 -915
- package/bundled-skills/email-sequence/references/detailed-guide.md +932 -0
- package/bundled-skills/email-systems/SKILL.md +2 -654
- package/bundled-skills/email-systems/references/detailed-guide.md +669 -0
- package/bundled-skills/emergency-card/SKILL.md +1 -0
- package/bundled-skills/emil-design-eng/SKILL.md +4 -673
- package/bundled-skills/emil-design-eng/references/detailed-guide.md +690 -0
- package/bundled-skills/emotional-arc-designer/SKILL.md +6 -0
- package/bundled-skills/enhance-prompt/SKILL.md +1 -0
- package/bundled-skills/entropy-box/SKILL.md +400 -0
- package/bundled-skills/entropy-box/references/api.md +196 -0
- package/bundled-skills/entropy-box/references/knowledge-compiler.md +61 -0
- package/bundled-skills/entropy-box/references/panorama.md +72 -0
- package/bundled-skills/error-debugging-error-analysis/SKILL.md +15 -0
- package/bundled-skills/error-debugging-error-analysis/resources/implementation-playbook.md +122 -1125
- package/bundled-skills/error-debugging-multi-agent-review/SKILL.md +42 -214
- package/bundled-skills/error-detective/SKILL.md +6 -0
- package/bundled-skills/error-diagnostics-error-analysis/SKILL.md +15 -0
- package/bundled-skills/error-diagnostics-error-analysis/resources/implementation-playbook.md +122 -1125
- package/bundled-skills/event-sourcing-architect/SKILL.md +6 -0
- package/bundled-skills/event-staffing-compliance/SKILL.md +6 -0
- package/bundled-skills/event-staffing-ordering/SKILL.md +6 -0
- package/bundled-skills/evolution/SKILL.md +1 -0
- package/bundled-skills/executing-plans/SKILL.md +6 -0
- package/bundled-skills/explain-like-socrates/SKILL.md +6 -0
- package/bundled-skills/expo-deployment/SKILL.md +1 -1
- package/bundled-skills/expo-examples/SKILL.md +1 -1
- package/bundled-skills/expo-module/SKILL.md +1 -1
- package/bundled-skills/expo-observe/SKILL.md +1 -1
- package/bundled-skills/expo-ui/SKILL.md +1 -1
- package/bundled-skills/expo-ui-jetpack-compose/SKILL.md +1 -0
- package/bundled-skills/expo-ui-swift-ui/SKILL.md +1 -0
- package/bundled-skills/fable-safe-prompt/SKILL.md +6 -0
- package/bundled-skills/fal-audio/SKILL.md +6 -0
- package/bundled-skills/fal-generate/SKILL.md +6 -0
- package/bundled-skills/fal-image-edit/SKILL.md +6 -0
- package/bundled-skills/fal-platform/SKILL.md +6 -0
- package/bundled-skills/fal-upscale/SKILL.md +6 -0
- package/bundled-skills/fal-workflow/SKILL.md +6 -0
- package/bundled-skills/family-health-analyzer/SKILL.md +1 -0
- package/bundled-skills/favicon/SKILL.md +1 -0
- package/bundled-skills/fda-food-safety-auditor/SKILL.md +1 -0
- package/bundled-skills/fda-medtech-compliance-auditor/SKILL.md +1 -0
- package/bundled-skills/ffuf-claude-skill/SKILL.md +6 -0
- package/bundled-skills/ffuf-web-fuzzing/SKILL.md +5 -492
- package/bundled-skills/ffuf-web-fuzzing/references/detailed-guide.md +510 -0
- package/bundled-skills/file-organizer/SKILL.md +6 -0
- package/bundled-skills/file-uploads/SKILL.md +6 -0
- package/bundled-skills/filesystem-context/SKILL.md +1 -0
- package/bundled-skills/find-bugs/SKILL.md +7 -0
- package/bundled-skills/firebase/SKILL.md +8 -651
- package/bundled-skills/firebase/references/detailed-guide.md +662 -0
- package/bundled-skills/fitness-analyzer/SKILL.md +1 -0
- package/bundled-skills/fix-review/SKILL.md +6 -0
- package/bundled-skills/fixing-metadata/SKILL.md +7 -1
- package/bundled-skills/food-database-query/SKILL.md +5 -772
- package/bundled-skills/food-database-query/references/detailed-guide.md +785 -0
- package/bundled-skills/form-cro/SKILL.md +6 -0
- package/bundled-skills/fp-async/SKILL.md +5 -716
- package/bundled-skills/fp-async/references/detailed-guide.md +726 -0
- package/bundled-skills/fp-backend/SKILL.md +5 -1313
- package/bundled-skills/fp-backend/references/detailed-guide.md +1323 -0
- package/bundled-skills/fp-data-transforms/SKILL.md +5 -1181
- package/bundled-skills/fp-data-transforms/references/detailed-guide.md +1190 -0
- package/bundled-skills/fp-either-ref/SKILL.md +1 -0
- package/bundled-skills/fp-errors/SKILL.md +5 -835
- package/bundled-skills/fp-errors/references/detailed-guide.md +846 -0
- package/bundled-skills/fp-option-ref/SKILL.md +1 -0
- package/bundled-skills/fp-pipe-ref/SKILL.md +1 -0
- package/bundled-skills/fp-pragmatic/SKILL.md +5 -500
- package/bundled-skills/fp-pragmatic/references/detailed-guide.md +510 -0
- package/bundled-skills/fp-react/SKILL.md +3 -761
- package/bundled-skills/fp-react/references/detailed-guide.md +775 -0
- package/bundled-skills/fp-refactor/SKILL.md +5 -1761
- package/bundled-skills/fp-refactor/references/detailed-guide.md +1775 -0
- package/bundled-skills/fp-taskeither-ref/SKILL.md +1 -0
- package/bundled-skills/fp-ts-errors/SKILL.md +4 -835
- package/bundled-skills/fp-ts-errors/references/detailed-guide.md +846 -0
- package/bundled-skills/fp-ts-pragmatic/SKILL.md +4 -500
- package/bundled-skills/fp-ts-pragmatic/references/detailed-guide.md +510 -0
- package/bundled-skills/fp-ts-react/SKILL.md +4 -763
- package/bundled-skills/fp-ts-react/references/detailed-guide.md +775 -0
- package/bundled-skills/fp-types-ref/SKILL.md +1 -0
- package/bundled-skills/framework-migration-legacy-modernize/SKILL.md +6 -0
- package/bundled-skills/free-tool-strategy/SKILL.md +2 -532
- package/bundled-skills/free-tool-strategy/references/detailed-guide.md +550 -0
- package/bundled-skills/freshdesk-automation/SKILL.md +6 -0
- package/bundled-skills/frontend-architecture/SKILL.md +1 -1
- package/bundled-skills/frontend-data-contracts/SKILL.md +1 -1
- package/bundled-skills/frontend-design/SKILL.md +33 -34
- package/bundled-skills/frontend-observability/SKILL.md +1 -1
- package/bundled-skills/frontend-optimistic-mutations/SKILL.md +1 -1
- package/bundled-skills/frontend-seo/SKILL.md +6 -675
- package/bundled-skills/frontend-seo/references/detailed-guide.md +688 -0
- package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +7 -1
- package/bundled-skills/frontend-ui-dark-ts/SKILL.md +2 -561
- package/bundled-skills/frontend-ui-dark-ts/references/detailed-guide.md +573 -0
- package/bundled-skills/full-stack-orchestration-full-stack-feature/SKILL.md +6 -0
- package/bundled-skills/game-development/2d-games/SKILL.md +6 -0
- package/bundled-skills/game-development/mobile-games/SKILL.md +6 -0
- package/bundled-skills/game-development/vr-ar/SKILL.md +6 -0
- package/bundled-skills/gcp-cloud-run/SKILL.md +2 -1303
- package/bundled-skills/gcp-cloud-run/references/detailed-guide.md +1350 -0
- package/bundled-skills/gemini-api-dev/SKILL.md +1 -1
- package/bundled-skills/gemini-live-api-dev/SKILL.md +1 -1
- package/bundled-skills/gemini-omni-flash-api/SKILL.md +1 -1
- package/bundled-skills/geo-fundamentals/SKILL.md +6 -0
- package/bundled-skills/geoffrey-hinton/SKILL.md +5 -1235
- package/bundled-skills/geoffrey-hinton/references/detailed-guide.md +1324 -0
- package/bundled-skills/gh-review-requests/SKILL.md +1 -0
- package/bundled-skills/github-actions-advanced/SKILL.md +4 -971
- package/bundled-skills/github-actions-advanced/references/detailed-guide.md +991 -0
- package/bundled-skills/github-automation/SKILL.md +6 -0
- package/bundled-skills/github-workflow-automation/SKILL.md +4 -826
- package/bundled-skills/github-workflow-automation/references/detailed-guide.md +832 -0
- package/bundled-skills/gitlab-automation/SKILL.md +6 -0
- package/bundled-skills/gmail-automation/SKILL.md +1 -0
- package/bundled-skills/go-rod-master/SKILL.md +2 -496
- package/bundled-skills/go-rod-master/references/detailed-guide.md +508 -0
- package/bundled-skills/goal-analyzer/SKILL.md +5 -596
- package/bundled-skills/goal-analyzer/references/detailed-guide.md +602 -0
- package/bundled-skills/google-calendar-automation/SKILL.md +1 -0
- package/bundled-skills/google-docs-automation/SKILL.md +1 -0
- package/bundled-skills/google-drive-automation/SKILL.md +1 -0
- package/bundled-skills/google-sheets-automation/SKILL.md +1 -0
- package/bundled-skills/google-slides-automation/SKILL.md +1 -0
- package/bundled-skills/googlesheets-automation/SKILL.md +6 -0
- package/bundled-skills/gpt-taste/SKILL.md +6 -0
- package/bundled-skills/graphql/SKILL.md +8 -1031
- package/bundled-skills/graphql/references/detailed-guide.md +1044 -0
- package/bundled-skills/grill-me/SKILL.md +5 -0
- package/bundled-skills/grill-with-docs/SKILL.md +5 -0
- package/bundled-skills/grilling/SKILL.md +5 -0
- package/bundled-skills/growth-engine/SKILL.md +6 -0
- package/bundled-skills/handoff/SKILL.md +5 -0
- package/bundled-skills/haskell-pro/SKILL.md +6 -0
- package/bundled-skills/headline-psychologist/SKILL.md +6 -0
- package/bundled-skills/health-trend-analyzer/SKILL.md +1 -0
- package/bundled-skills/hig-components-content/SKILL.md +6 -0
- package/bundled-skills/hig-components-controls/SKILL.md +6 -0
- package/bundled-skills/hig-components-dialogs/SKILL.md +6 -0
- package/bundled-skills/hig-components-layout/SKILL.md +6 -0
- package/bundled-skills/hig-components-menus/SKILL.md +6 -0
- package/bundled-skills/hig-components-search/SKILL.md +6 -0
- package/bundled-skills/hig-components-status/SKILL.md +6 -0
- package/bundled-skills/hig-components-system/SKILL.md +6 -0
- package/bundled-skills/hig-foundations/SKILL.md +6 -0
- package/bundled-skills/hig-inputs/SKILL.md +6 -0
- package/bundled-skills/hig-patterns/SKILL.md +6 -0
- package/bundled-skills/hig-platforms/SKILL.md +6 -0
- package/bundled-skills/hig-technologies/SKILL.md +6 -0
- package/bundled-skills/high-end-visual-design/SKILL.md +6 -0
- package/bundled-skills/hosted-agents/SKILL.md +7 -0
- package/bundled-skills/hosted-agents-v2-py/SKILL.md +23 -5
- package/bundled-skills/html-injection-testing/SKILL.md +2 -453
- package/bundled-skills/html-injection-testing/references/detailed-guide.md +462 -0
- package/bundled-skills/hubspot-automation/SKILL.md +6 -0
- package/bundled-skills/hubspot-integration/SKILL.md +8 -807
- package/bundled-skills/hubspot-integration/references/detailed-guide.md +815 -0
- package/bundled-skills/hugging-face-cli/SKILL.md +7 -1
- package/bundled-skills/hugging-face-community-evals/SKILL.md +1 -1
- package/bundled-skills/hugging-face-datasets/SKILL.md +5 -430
- package/bundled-skills/hugging-face-datasets/references/detailed-guide.md +442 -0
- package/bundled-skills/hugging-face-evaluation/SKILL.md +5 -640
- package/bundled-skills/hugging-face-evaluation/references/detailed-guide.md +652 -0
- package/bundled-skills/hugging-face-jobs/SKILL.md +3 -801
- package/bundled-skills/hugging-face-jobs/references/detailed-guide.md +821 -0
- package/bundled-skills/hugging-face-model-trainer/SKILL.md +3 -681
- package/bundled-skills/hugging-face-model-trainer/references/detailed-guide.md +702 -0
- package/bundled-skills/hugging-face-paper-publisher/SKILL.md +5 -617
- package/bundled-skills/hugging-face-paper-publisher/references/detailed-guide.md +624 -0
- package/bundled-skills/hugging-face-papers/SKILL.md +1 -1
- package/bundled-skills/hugging-face-tool-builder/SKILL.md +1 -0
- package/bundled-skills/hugging-face-trackio/SKILL.md +1 -1
- package/bundled-skills/hugging-face-vision-trainer/SKILL.md +5 -534
- package/bundled-skills/hugging-face-vision-trainer/references/detailed-guide.md +549 -0
- package/bundled-skills/huggingface-best/SKILL.md +1 -1
- package/bundled-skills/huggingface-lora-space-builder/SKILL.md +1 -1
- package/bundled-skills/huggingface-spaces/SKILL.md +1 -1
- package/bundled-skills/huggingface-tool-builder/SKILL.md +1 -1
- package/bundled-skills/huggingface-zerogpu/SKILL.md +1 -1
- package/bundled-skills/hugo-to-markdown/SKILL.md +1 -1
- package/bundled-skills/hyperexecute-skill/SKILL.md +7 -1
- package/bundled-skills/iconsax-library/SKILL.md +6 -0
- package/bundled-skills/idea-refine/SKILL.md +1 -1
- package/bundled-skills/identity-mirror/SKILL.md +6 -0
- package/bundled-skills/ilya-sutskever/SKILL.md +2 -1126
- package/bundled-skills/ilya-sutskever/references/detailed-guide.md +1167 -0
- package/bundled-skills/image-generator/SKILL.md +4 -320
- package/bundled-skills/image-generator/references/detailed-guide.md +332 -0
- package/bundled-skills/implement/SKILL.md +6 -0
- package/bundled-skills/incident-responder/SKILL.md +6 -0
- package/bundled-skills/incident-response-incident-response/SKILL.md +6 -0
- package/bundled-skills/industrial-brutalist-ui/SKILL.md +6 -0
- package/bundled-skills/interactive-portfolio/SKILL.md +2 -482
- package/bundled-skills/interactive-portfolio/references/detailed-guide.md +500 -0
- package/bundled-skills/internal-comms/SKILL.md +20 -1
- package/bundled-skills/internal-comms/examples/3p-updates.md +5 -4
- package/bundled-skills/internal-comms/examples/company-newsletter.md +3 -2
- package/bundled-skills/internal-comms/examples/faq-answers.md +1 -0
- package/bundled-skills/internal-comms/examples/general-comms.md +1 -0
- package/bundled-skills/internal-comms-anthropic/SKILL.md +21 -2
- package/bundled-skills/internal-comms-anthropic/examples/3p-updates.md +5 -4
- package/bundled-skills/internal-comms-anthropic/examples/company-newsletter.md +3 -2
- package/bundled-skills/internal-comms-anthropic/examples/faq-answers.md +1 -0
- package/bundled-skills/internal-comms-anthropic/examples/general-comms.md +1 -0
- package/bundled-skills/internal-comms-community/SKILL.md +21 -2
- package/bundled-skills/internal-comms-community/examples/3p-updates.md +48 -0
- package/bundled-skills/internal-comms-community/examples/company-newsletter.md +66 -0
- package/bundled-skills/internal-comms-community/examples/faq-answers.md +31 -0
- package/bundled-skills/internal-comms-community/examples/general-comms.md +17 -0
- package/bundled-skills/ios-debugger-agent/SKILL.md +6 -0
- package/bundled-skills/issues/SKILL.md +1 -0
- package/bundled-skills/iterate-pr/SKILL.md +1 -0
- package/bundled-skills/javascript-mastery/SKILL.md +4 -625
- package/bundled-skills/javascript-mastery/references/detailed-guide.md +636 -0
- package/bundled-skills/javascript-pro/SKILL.md +6 -0
- package/bundled-skills/jest-skill/SKILL.md +1 -1
- package/bundled-skills/jira-automation/SKILL.md +6 -0
- package/bundled-skills/jobs-to-be-done-analyst/SKILL.md +6 -0
- package/bundled-skills/junit-5-skill/SKILL.md +1 -1
- package/bundled-skills/k6-load-testing/SKILL.md +2 -544
- package/bundled-skills/k6-load-testing/references/detailed-guide.md +563 -0
- package/bundled-skills/kaizen/SKILL.md +2 -711
- package/bundled-skills/kaizen/references/detailed-guide.md +720 -0
- package/bundled-skills/langfuse/SKILL.md +41 -468
- package/bundled-skills/langgraph/SKILL.md +2 -445
- package/bundled-skills/langgraph/references/detailed-guide.md +455 -0
- package/bundled-skills/laravel-development-workflow/SKILL.md +106 -0
- package/bundled-skills/laravel-expert/SKILL.md +6 -0
- package/bundled-skills/launch-strategy/SKILL.md +6 -0
- package/bundled-skills/lead-magnets/SKILL.md +6 -0
- package/bundled-skills/learn/SKILL.md +5 -0
- package/bundled-skills/legacy-modernizer/SKILL.md +6 -0
- package/bundled-skills/legal-advisor/SKILL.md +6 -0
- package/bundled-skills/leiloeiro-avaliacao/SKILL.md +2 -469
- package/bundled-skills/leiloeiro-avaliacao/references/detailed-guide.md +503 -0
- package/bundled-skills/leiloeiro-edital/SKILL.md +2 -468
- package/bundled-skills/leiloeiro-edital/references/detailed-guide.md +491 -0
- package/bundled-skills/leiloeiro-mercado/SKILL.md +2 -458
- package/bundled-skills/leiloeiro-mercado/references/detailed-guide.md +488 -0
- package/bundled-skills/leiloeiro-risco/SKILL.md +2 -457
- package/bundled-skills/leiloeiro-risco/references/detailed-guide.md +482 -0
- package/bundled-skills/lesson-generator/SKILL.md +5 -0
- package/bundled-skills/lightning-architecture-review/SKILL.md +6 -0
- package/bundled-skills/lightning-channel-factories/SKILL.md +6 -0
- package/bundled-skills/lightning-factory-explainer/SKILL.md +6 -0
- package/bundled-skills/linear-claude-skill/SKILL.md +4 -502
- package/bundled-skills/linear-claude-skill/references/detailed-guide.md +517 -0
- package/bundled-skills/linkedin-cli/SKILL.md +4 -513
- package/bundled-skills/linkedin-cli/references/detailed-guide.md +520 -0
- package/bundled-skills/lint-and-validate/SKILL.md +6 -0
- package/bundled-skills/linux-privilege-escalation/SKILL.md +2 -426
- package/bundled-skills/linux-privilege-escalation/references/detailed-guide.md +436 -0
- package/bundled-skills/linux-shell-scripting/SKILL.md +2 -473
- package/bundled-skills/linux-shell-scripting/references/detailed-guide.md +481 -0
- package/bundled-skills/llm-app-patterns/SKILL.md +16 -741
- package/bundled-skills/llm-app-patterns/references/detailed-guide.md +760 -0
- package/bundled-skills/llm-council/SKILL.md +4 -550
- package/bundled-skills/llm-council/references/detailed-guide.md +556 -0
- package/bundled-skills/llm-ops/SKILL.md +6 -0
- package/bundled-skills/local-legal-seo-audit/SKILL.md +6 -0
- package/bundled-skills/logic-diff/SKILL.md +1 -1
- package/bundled-skills/logic-explain/SKILL.md +7 -1
- package/bundled-skills/logic-fix-all/SKILL.md +1 -1
- package/bundled-skills/logic-locate/SKILL.md +1 -1
- package/bundled-skills/logic-review/SKILL.md +1 -1
- package/bundled-skills/loki-mode/SKILL.md +4 -696
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +13 -12
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/loki-mode/references/detailed-guide.md +717 -0
- package/bundled-skills/longbridge-content/SKILL.md +1 -1
- package/bundled-skills/longbridge-fundamentals/SKILL.md +1 -1
- package/bundled-skills/longbridge-market-data/SKILL.md +1 -1
- package/bundled-skills/lookdev-auto/SKILL.md +6 -0
- package/bundled-skills/loopy/SKILL.md +1 -1
- package/bundled-skills/loss-aversion-designer/SKILL.md +6 -0
- package/bundled-skills/machine-learning-ops-ml-pipeline/SKILL.md +6 -0
- package/bundled-skills/magic-animator/SKILL.md +6 -0
- package/bundled-skills/magic-ui-generator/SKILL.md +6 -0
- package/bundled-skills/mailtrap-setting-up-sending-domain/SKILL.md +6 -0
- package/bundled-skills/makepad-animation/SKILL.md +1 -0
- package/bundled-skills/makepad-basics/SKILL.md +1 -0
- package/bundled-skills/makepad-deployment/SKILL.md +1 -0
- package/bundled-skills/makepad-dsl/SKILL.md +1 -0
- package/bundled-skills/makepad-event-action/SKILL.md +1 -0
- package/bundled-skills/makepad-font/SKILL.md +1 -0
- package/bundled-skills/makepad-layout/SKILL.md +1 -0
- package/bundled-skills/makepad-platform/SKILL.md +1 -0
- package/bundled-skills/makepad-reference/SKILL.md +1 -0
- package/bundled-skills/makepad-shaders/SKILL.md +1 -0
- package/bundled-skills/makepad-skills/SKILL.md +6 -0
- package/bundled-skills/makepad-splash/SKILL.md +1 -0
- package/bundled-skills/makepad-widgets/SKILL.md +1 -0
- package/bundled-skills/manage-skills/SKILL.md +1 -0
- package/bundled-skills/marketing-plan/SKILL.md +1 -1
- package/bundled-skills/matematico-tao/SKILL.md +2 -632
- package/bundled-skills/matematico-tao/references/detailed-guide.md +651 -0
- package/bundled-skills/matplotlib/SKILL.md +1 -0
- package/bundled-skills/maxia/SKILL.md +1 -0
- package/bundled-skills/mcp-builder/SKILL.md +46 -14
- package/bundled-skills/mcp-builder/reference/evaluation.md +69 -226
- package/bundled-skills/mcp-builder/reference/mcp_best_practices.md +8 -5
- package/bundled-skills/mcp-builder/reference/node_mcp_server.md +46 -144
- package/bundled-skills/mcp-builder/reference/python_mcp_server.md +42 -80
- package/bundled-skills/mcp-builder/scripts/connections.py +18 -11
- package/bundled-skills/mcp-builder/scripts/evaluation.py +88 -95
- package/bundled-skills/mcp-builder/scripts/example_evaluation.xml +1 -1
- package/bundled-skills/mcp-builder/scripts/requirements.txt +4 -2
- package/bundled-skills/mental-health-analyzer/SKILL.md +5 -974
- package/bundled-skills/mental-health-analyzer/references/detailed-guide.md +1014 -0
- package/bundled-skills/micro-saas-launcher/SKILL.md +2 -473
- package/bundled-skills/micro-saas-launcher/references/detailed-guide.md +491 -0
- package/bundled-skills/minecraft-bukkit-pro/SKILL.md +6 -0
- package/bundled-skills/minimalist-ui/SKILL.md +6 -0
- package/bundled-skills/moatmri/SKILL.md +6 -0
- package/bundled-skills/molykit/SKILL.md +1 -0
- package/bundled-skills/monday-automation/SKILL.md +6 -0
- package/bundled-skills/monopoly/SKILL.md +1 -0
- package/bundled-skills/monopoly/patterns/SKILL.md +1 -0
- package/bundled-skills/monopoly/scale-benchmarks/SKILL.md +1 -0
- package/bundled-skills/monopoly/security-checklist/SKILL.md +6 -0
- package/bundled-skills/monopoly/tech-matrix/SKILL.md +1 -0
- package/bundled-skills/monorepo-architect/SKILL.md +6 -0
- package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +1 -1
- package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +7 -1
- package/bundled-skills/monte-carlo-validation-notebook/SKILL.md +4 -601
- package/bundled-skills/monte-carlo-validation-notebook/references/detailed-guide.md +613 -0
- package/bundled-skills/moodle-external-api-development/SKILL.md +4 -517
- package/bundled-skills/moodle-external-api-development/references/detailed-guide.md +529 -0
- package/bundled-skills/multi-agent-architect/SKILL.md +1 -0
- package/bundled-skills/multi-agent-brainstorming/SKILL.md +6 -0
- package/bundled-skills/multi-agent-patterns/SKILL.md +1 -0
- package/bundled-skills/multi-platform-apps-multi-platform/SKILL.md +6 -0
- package/bundled-skills/n8n-code-javascript/SKILL.md +3 -667
- package/bundled-skills/n8n-code-javascript/references/detailed-guide.md +683 -0
- package/bundled-skills/n8n-code-python/SKILL.md +3 -664
- package/bundled-skills/n8n-code-python/references/detailed-guide.md +682 -0
- package/bundled-skills/n8n-expression-syntax/SKILL.md +5 -401
- package/bundled-skills/n8n-expression-syntax/references/detailed-guide.md +416 -0
- package/bundled-skills/n8n-mcp-tools-expert/SKILL.md +5 -485
- package/bundled-skills/n8n-mcp-tools-expert/references/detailed-guide.md +499 -0
- package/bundled-skills/n8n-node-configuration/SKILL.md +5 -775
- package/bundled-skills/n8n-node-configuration/references/detailed-guide.md +789 -0
- package/bundled-skills/n8n-validation-expert/SKILL.md +5 -679
- package/bundled-skills/n8n-validation-expert/references/detailed-guide.md +694 -0
- package/bundled-skills/n8n-workflow-patterns/SKILL.md +1 -0
- package/bundled-skills/nanobanana-ppt-skills/SKILL.md +6 -0
- package/bundled-skills/native-data-fetching/SKILL.md +2 -456
- package/bundled-skills/native-data-fetching/references/detailed-guide.md +465 -0
- package/bundled-skills/neon-ai-gateway/SKILL.md +1 -1
- package/bundled-skills/neon-functions/SKILL.md +1 -1
- package/bundled-skills/neon-object-storage/SKILL.md +1 -1
- package/bundled-skills/neon-postgres/SKILL.md +1 -1
- package/bundled-skills/neon-postgres-branches/SKILL.md +1 -1
- package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +1 -1
- package/bundled-skills/nerdzao-elite/SKILL.md +6 -0
- package/bundled-skills/nerdzao-elite-gemini-high/SKILL.md +6 -0
- package/bundled-skills/nestjs-expert/SKILL.md +2 -524
- package/bundled-skills/nestjs-expert/references/detailed-guide.md +539 -0
- package/bundled-skills/networkx/SKILL.md +1 -0
- package/bundled-skills/new-rails-project/SKILL.md +7 -0
- package/bundled-skills/newman-cicd-integration/SKILL.md +1 -1
- package/bundled-skills/nika/SKILL.md +1 -0
- package/bundled-skills/nosql-expert/SKILL.md +6 -0
- package/bundled-skills/not-a-vibe-coder/SKILL.md +7 -0
- package/bundled-skills/notion-template-business/SKILL.md +2 -505
- package/bundled-skills/notion-template-business/references/detailed-guide.md +523 -0
- package/bundled-skills/nutrition-analyzer/SKILL.md +5 -766
- package/bundled-skills/nutrition-analyzer/references/detailed-guide.md +775 -0
- package/bundled-skills/objection-preemptor/SKILL.md +6 -0
- package/bundled-skills/observability-and-instrumentation/SKILL.md +1 -1
- package/bundled-skills/observability-engineer/SKILL.md +16 -8
- package/bundled-skills/obsidian-bases/SKILL.md +4 -366
- package/bundled-skills/obsidian-bases/references/detailed-guide.md +380 -0
- package/bundled-skills/occupational-health-analyzer/SKILL.md +1 -0
- package/bundled-skills/odoo-accounting-setup/SKILL.md +1 -0
- package/bundled-skills/odoo-automated-tests/SKILL.md +1 -0
- package/bundled-skills/odoo-backup-strategy/SKILL.md +1 -0
- package/bundled-skills/odoo-docker-deployment/SKILL.md +1 -0
- package/bundled-skills/odoo-ecommerce-configurator/SKILL.md +1 -0
- package/bundled-skills/odoo-edi-connector/SKILL.md +1 -0
- package/bundled-skills/odoo-hr-payroll-setup/SKILL.md +1 -0
- package/bundled-skills/odoo-inventory-optimizer/SKILL.md +1 -0
- package/bundled-skills/odoo-l10n-compliance/SKILL.md +1 -0
- package/bundled-skills/odoo-manufacturing-advisor/SKILL.md +1 -0
- package/bundled-skills/odoo-migration-helper/SKILL.md +1 -0
- package/bundled-skills/odoo-module-developer/SKILL.md +1 -0
- package/bundled-skills/odoo-orm-expert/SKILL.md +1 -0
- package/bundled-skills/odoo-performance-tuner/SKILL.md +1 -0
- package/bundled-skills/odoo-project-timesheet/SKILL.md +1 -0
- package/bundled-skills/odoo-purchase-workflow/SKILL.md +1 -0
- package/bundled-skills/odoo-qweb-templates/SKILL.md +1 -0
- package/bundled-skills/odoo-rpc-api/SKILL.md +1 -0
- package/bundled-skills/odoo-sales-crm-expert/SKILL.md +1 -0
- package/bundled-skills/odoo-security-rules/SKILL.md +1 -0
- package/bundled-skills/odoo-shopify-integration/SKILL.md +1 -0
- package/bundled-skills/odoo-upgrade-advisor/SKILL.md +1 -0
- package/bundled-skills/odoo-woocommerce-bridge/SKILL.md +1 -0
- package/bundled-skills/odoo-xml-views-builder/SKILL.md +1 -0
- package/bundled-skills/odw/SKILL.md +6 -0
- package/bundled-skills/offers/SKILL.md +1 -1
- package/bundled-skills/onboarding/SKILL.md +1 -1
- package/bundled-skills/onboarding-psychologist/SKILL.md +6 -0
- package/bundled-skills/one-drive-automation/SKILL.md +6 -0
- package/bundled-skills/openapi-spec-generator/SKILL.md +1 -1
- package/bundled-skills/oral-health-analyzer/SKILL.md +8 -515
- package/bundled-skills/oral-health-analyzer/references/detailed-guide.md +529 -0
- package/bundled-skills/orca-replay/SKILL.md +284 -0
- package/bundled-skills/outlook-automation/SKILL.md +6 -0
- package/bundled-skills/pagespeed-enhancer/SKILL.md +4 -520
- package/bundled-skills/pagespeed-enhancer/references/detailed-guide.md +533 -0
- package/bundled-skills/paid-ads/SKILL.md +2 -541
- package/bundled-skills/paid-ads/references/detailed-guide.md +558 -0
- package/bundled-skills/parallel-search-mcp/SKILL.md +134 -0
- package/bundled-skills/payment-integration/SKILL.md +6 -0
- package/bundled-skills/paywall-upgrade-cro/SKILL.md +2 -560
- package/bundled-skills/paywall-upgrade-cro/references/detailed-guide.md +579 -0
- package/bundled-skills/performance-testing-review-multi-agent-review/SKILL.md +42 -214
- package/bundled-skills/personal-tool-builder/SKILL.md +2 -688
- package/bundled-skills/personal-tool-builder/references/detailed-guide.md +705 -0
- package/bundled-skills/phase-gated-debugging/SKILL.md +6 -0
- package/bundled-skills/photopea-embedded-editor/SKILL.md +3 -1218
- package/bundled-skills/photopea-embedded-editor/references/detailed-guide.md +1252 -0
- package/bundled-skills/php-pro/SKILL.md +6 -0
- package/bundled-skills/pi-custom-model/SKILL.md +6 -0
- package/bundled-skills/pipedrive-automation/SKILL.md +6 -0
- package/bundled-skills/pitch-psychologist/SKILL.md +6 -0
- package/bundled-skills/plaid-fintech/SKILL.md +8 -829
- package/bundled-skills/plaid-fintech/references/detailed-guide.md +837 -0
- package/bundled-skills/plotly/SKILL.md +1 -0
- package/bundled-skills/polars/SKILL.md +1 -0
- package/bundled-skills/popup-cro/SKILL.md +6 -0
- package/bundled-skills/posix-shell-pro/SKILL.md +6 -0
- package/bundled-skills/postgresql-cli/SKILL.md +1 -1
- package/bundled-skills/postman-collection-generator/SKILL.md +1 -1
- package/bundled-skills/postman-newman-automation/SKILL.md +1 -1
- package/bundled-skills/postman-openapi-converter/SKILL.md +1 -1
- package/bundled-skills/power-user-cultivation/SKILL.md +6 -572
- package/bundled-skills/power-user-cultivation/references/detailed-guide.md +585 -0
- package/bundled-skills/pr-writer/SKILL.md +1 -0
- package/bundled-skills/price-psychology-strategist/SKILL.md +6 -0
- package/bundled-skills/pricing/SKILL.md +1 -1
- package/bundled-skills/privacy-mask/SKILL.md +1 -1
- package/bundled-skills/product-decision-agent/SKILL.md +6 -0
- package/bundled-skills/product-inventor/SKILL.md +2 -627
- package/bundled-skills/product-inventor/references/detailed-guide.md +646 -0
- package/bundled-skills/product-manager/SKILL.md +6 -0
- package/bundled-skills/product-marketing/SKILL.md +1 -1
- package/bundled-skills/production-code-audit/SKILL.md +2 -264
- package/bundled-skills/production-code-audit/references/detailed-guide.md +277 -0
- package/bundled-skills/professional-proofreader/SKILL.md +6 -0
- package/bundled-skills/programmatic-seo/SKILL.md +6 -0
- package/bundled-skills/project-development/SKILL.md +1 -0
- package/bundled-skills/project-skill-audit/SKILL.md +6 -0
- package/bundled-skills/public-relations/SKILL.md +1 -1
- package/bundled-skills/pubmed-database/SKILL.md +1 -0
- package/bundled-skills/push-skill-to-github/SKILL.md +6 -0
- package/bundled-skills/pypict-skill/SKILL.md +6 -0
- package/bundled-skills/pytest-skill/SKILL.md +1 -1
- package/bundled-skills/qiskit/SKILL.md +1 -0
- package/bundled-skills/quant-analyst/SKILL.md +6 -0
- package/bundled-skills/radix-ui-design-system/SKILL.md +2 -693
- package/bundled-skills/radix-ui-design-system/references/detailed-guide.md +711 -0
- package/bundled-skills/rag-engineer/SKILL.md +6 -0
- package/bundled-skills/rclone-cli/SKILL.md +1 -1
- package/bundled-skills/react-flow-architect/SKILL.md +2 -507
- package/bundled-skills/react-flow-architect/references/detailed-guide.md +517 -0
- package/bundled-skills/react-patterns/SKILL.md +6 -0
- package/bundled-skills/read-all-adrs/SKILL.md +6 -0
- package/bundled-skills/readme/SKILL.md +4 -822
- package/bundled-skills/readme/references/detailed-guide.md +829 -0
- package/bundled-skills/redesign-existing-projects/SKILL.md +6 -0
- package/bundled-skills/redis-cli/SKILL.md +1 -1
- package/bundled-skills/referral-program/SKILL.md +2 -508
- package/bundled-skills/referral-program/references/detailed-guide.md +524 -0
- package/bundled-skills/rehabilitation-analyzer/SKILL.md +5 -629
- package/bundled-skills/rehabilitation-analyzer/references/detailed-guide.md +641 -0
- package/bundled-skills/remotion/SKILL.md +1 -0
- package/bundled-skills/research-prompt/SKILL.md +6 -0
- package/bundled-skills/resolving-merge-conflicts/SKILL.md +6 -0
- package/bundled-skills/review-and-simplify-changes/SKILL.md +7 -1
- package/bundled-skills/review-swarm/SKILL.md +7 -1
- package/bundled-skills/risk-manager/SKILL.md +6 -0
- package/bundled-skills/robius-app-architecture/SKILL.md +1 -0
- package/bundled-skills/robius-event-action/SKILL.md +1 -0
- package/bundled-skills/robius-matrix-integration/SKILL.md +1 -0
- package/bundled-skills/robius-state-management/SKILL.md +1 -0
- package/bundled-skills/robius-widget-patterns/SKILL.md +1 -0
- package/bundled-skills/robot-framework-skill/SKILL.md +1 -1
- package/bundled-skills/ruby-pro/SKILL.md +6 -0
- package/bundled-skills/saga-orchestration/SKILL.md +4 -482
- package/bundled-skills/saga-orchestration/references/detailed-guide.md +491 -0
- package/bundled-skills/sales-automator/SKILL.md +6 -0
- package/bundled-skills/salesforce-development/SKILL.md +2 -985
- package/bundled-skills/salesforce-development/references/detailed-guide.md +994 -0
- package/bundled-skills/sam-altman/SKILL.md +5 -1040
- package/bundled-skills/sam-altman/references/detailed-guide.md +1102 -0
- package/bundled-skills/scala-pro/SKILL.md +6 -0
- package/bundled-skills/scanning-tools/SKILL.md +2 -546
- package/bundled-skills/scanning-tools/references/detailed-guide.md +555 -0
- package/bundled-skills/scanpy/SKILL.md +1 -0
- package/bundled-skills/scarcity-urgency-psychologist/SKILL.md +6 -0
- package/bundled-skills/scientific-writing/SKILL.md +3 -691
- package/bundled-skills/scientific-writing/references/detailed-guide.md +702 -0
- package/bundled-skills/scikit-learn/SKILL.md +3 -462
- package/bundled-skills/scikit-learn/references/detailed-guide.md +475 -0
- package/bundled-skills/scroll-experience/SKILL.md +2 -560
- package/bundled-skills/scroll-experience/references/detailed-guide.md +578 -0
- package/bundled-skills/sdk-dx/SKILL.md +6 -517
- package/bundled-skills/sdk-dx/references/detailed-guide.md +530 -0
- package/bundled-skills/seaborn/SKILL.md +5 -661
- package/bundled-skills/seaborn/references/detailed-guide.md +677 -0
- package/bundled-skills/search-specialist/SKILL.md +6 -0
- package/bundled-skills/security/aws-compliance-checker/SKILL.md +4 -492
- package/bundled-skills/security/aws-compliance-checker/references/detailed-guide.md +502 -0
- package/bundled-skills/security-bluebook-builder/SKILL.md +7 -0
- package/bundled-skills/security-scanning-security-hardening/SKILL.md +6 -0
- package/bundled-skills/security-scanning-security-sast/SKILL.md +2 -463
- package/bundled-skills/security-scanning-security-sast/references/detailed-guide.md +476 -0
- package/bundled-skills/segment-cdp/SKILL.md +8 -822
- package/bundled-skills/segment-cdp/references/detailed-guide.md +830 -0
- package/bundled-skills/selenium-skill/SKILL.md +1 -1
- package/bundled-skills/semgrep-rule-creator/SKILL.md +1 -0
- package/bundled-skills/semgrep-rule-variant-creator/SKILL.md +1 -0
- package/bundled-skills/sendgrid-automation/SKILL.md +6 -0
- package/bundled-skills/seo-audit/SKILL.md +33 -44
- package/bundled-skills/seo-content/SKILL.md +6 -0
- package/bundled-skills/seo-content-auditor/SKILL.md +6 -0
- package/bundled-skills/seo-content-writer/SKILL.md +6 -0
- package/bundled-skills/seo-forensic-incident-response/SKILL.md +6 -0
- package/bundled-skills/seo-fundamentals/SKILL.md +6 -0
- package/bundled-skills/seo-programmatic/SKILL.md +6 -0
- package/bundled-skills/sequence-psychologist/SKILL.md +6 -0
- package/bundled-skills/server-management/SKILL.md +6 -0
- package/bundled-skills/service-mesh-expert/SKILL.md +6 -0
- package/bundled-skills/setup-help/SKILL.md +6 -0
- package/bundled-skills/sexual-health-analyzer/SKILL.md +8 -1109
- package/bundled-skills/sexual-health-analyzer/references/detailed-guide.md +1123 -0
- package/bundled-skills/sharp-coder/SKILL.md +1 -0
- package/bundled-skills/sharp-edges/SKILL.md +1 -0
- package/bundled-skills/shodan-reconnaissance/SKILL.md +2 -356
- package/bundled-skills/shodan-reconnaissance/references/detailed-guide.md +366 -0
- package/bundled-skills/shopify-apps/SKILL.md +2 -1477
- package/bundled-skills/shopify-apps/references/detailed-guide.md +1512 -0
- package/bundled-skills/short/SKILL.md +6 -0
- package/bundled-skills/signup-flow-cro/SKILL.md +6 -0
- package/bundled-skills/simplify-code/SKILL.md +6 -0
- package/bundled-skills/skill-creator/SKILL.md +2 -568
- package/bundled-skills/skill-creator/references/detailed-guide.md +581 -0
- package/bundled-skills/skill-creator-ms/SKILL.md +2 -601
- package/bundled-skills/skill-creator-ms/references/detailed-guide.md +614 -0
- package/bundled-skills/skill-improver/SKILL.md +1 -0
- package/bundled-skills/skill-router/SKILL.md +1 -0
- package/bundled-skills/skill-scanner/SKILL.md +1 -0
- package/bundled-skills/skill-security-audit/SKILL.md +87 -0
- package/bundled-skills/skill-seekers/SKILL.md +6 -0
- package/bundled-skills/skill-writer/SKILL.md +1 -0
- package/bundled-skills/skin-health-analyzer/SKILL.md +8 -696
- package/bundled-skills/skin-health-analyzer/references/detailed-guide.md +710 -0
- package/bundled-skills/slack-automation/SKILL.md +6 -0
- package/bundled-skills/slack-bot-builder/SKILL.md +2 -1372
- package/bundled-skills/slack-bot-builder/references/detailed-guide.md +1395 -0
- package/bundled-skills/sleep-analyzer/SKILL.md +5 -764
- package/bundled-skills/sleep-analyzer/references/detailed-guide.md +773 -0
- package/bundled-skills/smartui-skill/SKILL.md +1 -1
- package/bundled-skills/smtp-penetration-testing/SKILL.md +2 -346
- package/bundled-skills/smtp-penetration-testing/references/detailed-guide.md +355 -0
- package/bundled-skills/social-content/SKILL.md +2 -797
- package/bundled-skills/social-content/references/detailed-guide.md +816 -0
- package/bundled-skills/social-proof-architect/SKILL.md +6 -0
- package/bundled-skills/software-architecture/SKILL.md +6 -0
- package/bundled-skills/spec-to-code-compliance/SKILL.md +7 -0
- package/bundled-skills/speckit-updater/SKILL.md +1 -0
- package/bundled-skills/speed/SKILL.md +7 -0
- package/bundled-skills/sred-project-organizer/SKILL.md +1 -0
- package/bundled-skills/sred-work-summary/SKILL.md +1 -0
- package/bundled-skills/statsmodels/SKILL.md +3 -586
- package/bundled-skills/statsmodels/references/detailed-guide.md +600 -0
- package/bundled-skills/steve-jobs/SKILL.md +2 -564
- package/bundled-skills/steve-jobs/references/detailed-guide.md +574 -0
- package/bundled-skills/stitch-loop/SKILL.md +1 -0
- package/bundled-skills/stripe-automation/SKILL.md +6 -0
- package/bundled-skills/stripe-integration/SKILL.md +60 -79
- package/bundled-skills/styleseed-design-review/SKILL.md +1 -1
- package/bundled-skills/subagent-orchestrator/SKILL.md +1 -0
- package/bundled-skills/subject-line-psychologist/SKILL.md +6 -0
- package/bundled-skills/supabase/SKILL.md +1 -1
- package/bundled-skills/supabase-automation/SKILL.md +6 -0
- package/bundled-skills/superpowers-lab/SKILL.md +6 -0
- package/bundled-skills/supply-chain-risk-auditor/SKILL.md +7 -0
- package/bundled-skills/swiftui-expert-skill/SKILL.md +1 -1
- package/bundled-skills/sympy/SKILL.md +3 -426
- package/bundled-skills/sympy/references/detailed-guide.md +439 -0
- package/bundled-skills/systematic-debugging/CREATION-LOG.md +3 -0
- package/bundled-skills/systematic-debugging/SKILL.md +30 -34
- package/bundled-skills/systematic-debugging/condition-based-waiting.md +9 -6
- package/bundled-skills/systematic-debugging/defense-in-depth.md +13 -7
- package/bundled-skills/systematic-debugging/find-polluter.sh +77 -57
- package/bundled-skills/systematic-debugging/root-cause-tracing.md +7 -5
- package/bundled-skills/systematic-debugging/test-academic.md +3 -0
- package/bundled-skills/systematic-debugging/test-pressure-1.md +3 -0
- package/bundled-skills/systematic-debugging/test-pressure-2.md +3 -0
- package/bundled-skills/systematic-debugging/test-pressure-3.md +3 -0
- package/bundled-skills/tcm-constitution-analyzer/SKILL.md +5 -655
- package/bundled-skills/tcm-constitution-analyzer/references/detailed-guide.md +660 -0
- package/bundled-skills/tdd-workflows-tdd-cycle/SKILL.md +6 -0
- package/bundled-skills/technical-tutorials/SKILL.md +5 -483
- package/bundled-skills/technical-tutorials/references/detailed-guide.md +496 -0
- package/bundled-skills/telegram/SKILL.md +2 -541
- package/bundled-skills/telegram/references/detailed-guide.md +569 -0
- package/bundled-skills/telegram-mini-app/SKILL.md +2 -643
- package/bundled-skills/telegram-mini-app/references/detailed-guide.md +661 -0
- package/bundled-skills/temporal-python-pro/SKILL.md +6 -0
- package/bundled-skills/terraform-skill/SKILL.md +4 -417
- package/bundled-skills/terraform-skill/references/detailed-guide.md +430 -0
- package/bundled-skills/test-driven-development/SKILL.md +21 -124
- package/bundled-skills/test-driven-development/testing-anti-patterns.md +6 -6
- package/bundled-skills/test-framework-migration-skill/SKILL.md +7 -1
- package/bundled-skills/threat-modeling-expert/SKILL.md +6 -0
- package/bundled-skills/threejs-animation/SKILL.md +5 -551
- package/bundled-skills/threejs-animation/references/detailed-guide.md +566 -0
- package/bundled-skills/threejs-fundamentals/SKILL.md +5 -525
- package/bundled-skills/threejs-fundamentals/references/detailed-guide.md +535 -0
- package/bundled-skills/threejs-geometry/SKILL.md +5 -572
- package/bundled-skills/threejs-geometry/references/detailed-guide.md +587 -0
- package/bundled-skills/threejs-interaction/SKILL.md +5 -666
- package/bundled-skills/threejs-interaction/references/detailed-guide.md +679 -0
- package/bundled-skills/threejs-lighting/SKILL.md +1 -0
- package/bundled-skills/threejs-loaders/SKILL.md +5 -637
- package/bundled-skills/threejs-loaders/references/detailed-guide.md +651 -0
- package/bundled-skills/threejs-materials/SKILL.md +3 -535
- package/bundled-skills/threejs-materials/references/detailed-guide.md +560 -0
- package/bundled-skills/threejs-postprocessing/SKILL.md +5 -617
- package/bundled-skills/threejs-postprocessing/references/detailed-guide.md +630 -0
- package/bundled-skills/threejs-shaders/SKILL.md +5 -679
- package/bundled-skills/threejs-shaders/references/detailed-guide.md +695 -0
- package/bundled-skills/threejs-skills/SKILL.md +4 -683
- package/bundled-skills/threejs-skills/references/detailed-guide.md +693 -0
- package/bundled-skills/threejs-textures/SKILL.md +5 -630
- package/bundled-skills/threejs-textures/references/detailed-guide.md +649 -0
- package/bundled-skills/to-issues/SKILL.md +5 -0
- package/bundled-skills/to-prd/SKILL.md +5 -0
- package/bundled-skills/todoist-automation/SKILL.md +6 -0
- package/bundled-skills/tools-page-seo-optimizer/SKILL.md +2 -580
- package/bundled-skills/tools-page-seo-optimizer/references/detailed-guide.md +602 -0
- package/bundled-skills/top-web-vulnerabilities/SKILL.md +2 -513
- package/bundled-skills/top-web-vulnerabilities/references/detailed-guide.md +523 -0
- package/bundled-skills/train-sentence-transformers/SKILL.md +1 -1
- package/bundled-skills/transformers-js/SKILL.md +5 -669
- package/bundled-skills/transformers-js/references/detailed-guide.md +683 -0
- package/bundled-skills/travel-health-analyzer/SKILL.md +1 -0
- package/bundled-skills/trello-automation/SKILL.md +6 -0
- package/bundled-skills/trigger-dev/SKILL.md +2 -937
- package/bundled-skills/trigger-dev/references/detailed-guide.md +950 -0
- package/bundled-skills/trust-calibrator/SKILL.md +6 -0
- package/bundled-skills/tutorial-engineer/SKILL.md +6 -0
- package/bundled-skills/twilio-communications/SKILL.md +2 -1549
- package/bundled-skills/twilio-communications/references/detailed-guide.md +1574 -0
- package/bundled-skills/typescript-pro/SKILL.md +6 -0
- package/bundled-skills/ui-a11y/SKILL.md +6 -0
- package/bundled-skills/ui-component/SKILL.md +6 -0
- package/bundled-skills/ui-motion/SKILL.md +7 -1
- package/bundled-skills/ui-pattern/SKILL.md +6 -0
- package/bundled-skills/ui-review/SKILL.md +6 -0
- package/bundled-skills/ui-skills/SKILL.md +6 -0
- package/bundled-skills/ui-tokens/SKILL.md +6 -0
- package/bundled-skills/uniprot-database/SKILL.md +1 -0
- package/bundled-skills/unslop-commit/SKILL.md +1 -1
- package/bundled-skills/unslop-file/SKILL.md +1 -1
- package/bundled-skills/unslop-review/SKILL.md +1 -1
- package/bundled-skills/unsplash-integration/SKILL.md +6 -0
- package/bundled-skills/update-swiftui-apis/SKILL.md +1 -1
- package/bundled-skills/upstash-qstash/SKILL.md +2 -919
- package/bundled-skills/upstash-qstash/references/detailed-guide.md +932 -0
- package/bundled-skills/usage-based-pricing/SKILL.md +5 -395
- package/bundled-skills/usage-based-pricing/references/detailed-guide.md +407 -0
- package/bundled-skills/ux-audit/SKILL.md +6 -0
- package/bundled-skills/ux-flow/SKILL.md +6 -0
- package/bundled-skills/ux-persuasion-engineer/SKILL.md +6 -0
- package/bundled-skills/variant-analysis/SKILL.md +1 -0
- package/bundled-skills/varlock/SKILL.md +1 -0
- package/bundled-skills/varlock-claude-skill/SKILL.md +6 -0
- package/bundled-skills/vector-database-engineer/SKILL.md +6 -0
- package/bundled-skills/vercel-deployment/SKILL.md +2 -650
- package/bundled-skills/vercel-deployment/references/detailed-guide.md +660 -0
- package/bundled-skills/vexor/SKILL.md +6 -0
- package/bundled-skills/vexor-cli/SKILL.md +1 -0
- package/bundled-skills/visual-emotion-engineer/SKILL.md +6 -0
- package/bundled-skills/vizcom/SKILL.md +6 -0
- package/bundled-skills/voice-agents/SKILL.md +2 -867
- package/bundled-skills/voice-agents/references/detailed-guide.md +890 -0
- package/bundled-skills/voice-ai-development/SKILL.md +2 -583
- package/bundled-skills/voice-ai-development/references/detailed-guide.md +594 -0
- package/bundled-skills/voice-ai-engine-development/SKILL.md +2 -702
- package/bundled-skills/voice-ai-engine-development/references/detailed-guide.md +720 -0
- package/bundled-skills/warren-buffett/SKILL.md +2 -577
- package/bundled-skills/warren-buffett/references/detailed-guide.md +583 -0
- package/bundled-skills/web-performance-optimization/SKILL.md +2 -214
- package/bundled-skills/web-performance-optimization/references/detailed-guide.md +226 -0
- package/bundled-skills/web-scraper/SKILL.md +2 -728
- package/bundled-skills/web-scraper/references/detailed-guide.md +792 -0
- package/bundled-skills/webflow-automation/SKILL.md +6 -0
- package/bundled-skills/weightloss-analyzer/SKILL.md +1 -0
- package/bundled-skills/wellally-tech/SKILL.md +5 -367
- package/bundled-skills/wellally-tech/references/detailed-guide.md +379 -0
- package/bundled-skills/wiki-architect/SKILL.md +6 -0
- package/bundled-skills/wiki-changelog/SKILL.md +6 -0
- package/bundled-skills/wiki-onboarding/SKILL.md +6 -0
- package/bundled-skills/wiki-qa/SKILL.md +6 -0
- package/bundled-skills/wiki-researcher/SKILL.md +6 -0
- package/bundled-skills/windows-privilege-escalation/SKILL.md +131 -0
- package/bundled-skills/windows-privilege-escalation/references/detailed-guide.md +397 -0
- package/bundled-skills/wireshark-analysis/SKILL.md +2 -419
- package/bundled-skills/wireshark-analysis/references/detailed-guide.md +429 -0
- package/bundled-skills/wjttc-builder/SKILL.md +1 -1
- package/bundled-skills/wjttc-tester/SKILL.md +1 -1
- package/bundled-skills/wordpress/SKILL.md +2 -572
- package/bundled-skills/wordpress/references/detailed-guide.md +582 -0
- package/bundled-skills/wordpress-penetration-testing/SKILL.md +68 -0
- package/bundled-skills/wordpress-penetration-testing/references/detailed-guide.md +555 -0
- package/bundled-skills/wordpress-plugin-development/SKILL.md +2 -474
- package/bundled-skills/wordpress-plugin-development/references/detailed-guide.md +485 -0
- package/bundled-skills/wordpress-theme-development/SKILL.md +2 -479
- package/bundled-skills/wordpress-theme-development/references/detailed-guide.md +490 -0
- package/bundled-skills/wordpress-woocommerce-development/SKILL.md +2 -605
- package/bundled-skills/wordpress-woocommerce-development/references/detailed-guide.md +615 -0
- package/bundled-skills/workflow-automation/SKILL.md +2 -875
- package/bundled-skills/workflow-automation/references/detailed-guide.md +902 -0
- package/bundled-skills/writing-great-skills/SKILL.md +5 -0
- package/bundled-skills/x-article-publisher-skill/SKILL.md +6 -0
- package/bundled-skills/x402-express-wrapper/SKILL.md +1 -0
- package/bundled-skills/xss-html-injection/SKILL.md +2 -389
- package/bundled-skills/xss-html-injection/references/detailed-guide.md +399 -0
- package/bundled-skills/yann-lecun/SKILL.md +2 -1431
- package/bundled-skills/yann-lecun/references/detailed-guide.md +1484 -0
- package/bundled-skills/yann-lecun-filosofia/SKILL.md +6 -0
- package/bundled-skills/yann-lecun-tecnico/SKILL.md +2 -485
- package/bundled-skills/yann-lecun-tecnico/references/detailed-guide.md +502 -0
- package/bundled-skills/youtube-seo-optimizer/SKILL.md +4 -884
- package/bundled-skills/youtube-seo-optimizer/references/detailed-guide.md +907 -0
- package/bundled-skills/zapier-make-patterns/SKILL.md +2 -728
- package/bundled-skills/zapier-make-patterns/references/detailed-guide.md +752 -0
- package/bundled-skills/zipai-optimizer/SKILL.md +7 -0
- package/bundled-skills/zoom-automation/SKILL.md +6 -0
- package/package.json +1 -1
- package/skills_index.json +608 -383
- package/bundled-skills/docs/AUDIT.md +0 -3
- package/bundled-skills/docs/BUNDLES.md +0 -3
- package/bundled-skills/docs/CATEGORIZATION_IMPLEMENTATION.md +0 -3
- package/bundled-skills/docs/CI_DRIFT_FIX.md +0 -3
- package/bundled-skills/docs/COMMUNITY_GUIDELINES.md +0 -3
- package/bundled-skills/docs/DATE_TRACKING_IMPLEMENTATION.md +0 -3
- package/bundled-skills/docs/EXAMPLES.md +0 -3
- package/bundled-skills/docs/FAQ.md +0 -3
- package/bundled-skills/docs/GETTING_STARTED.md +0 -3
- package/bundled-skills/docs/KIRO_INTEGRATION.md +0 -3
- package/bundled-skills/docs/QUALITY_BAR.md +0 -3
- package/bundled-skills/docs/README.md +0 -51
- package/bundled-skills/docs/SECURITY_GUARDRAILS.md +0 -3
- package/bundled-skills/docs/SEC_SKILLS.md +0 -3
- package/bundled-skills/docs/SKILLS_DATE_TRACKING.md +0 -3
- package/bundled-skills/docs/SKILL_ANATOMY.md +0 -3
- package/bundled-skills/docs/SKILL_TEMPLATE.md +0 -3
- package/bundled-skills/docs/SMART_AUTO_CATEGORIZATION.md +0 -3
- package/bundled-skills/docs/SOURCES.md +0 -3
- package/bundled-skills/docs/USAGE.md +0 -3
- package/bundled-skills/docs/VISUAL_GUIDE.md +0 -3
- package/bundled-skills/docs/WORKFLOWS.md +0 -3
- package/bundled-skills/docs/contributors/community-guidelines.md +0 -4
- package/bundled-skills/docs/contributors/examples.md +0 -760
- package/bundled-skills/docs/contributors/quality-bar.md +0 -104
- package/bundled-skills/docs/contributors/security-guardrails.md +0 -70
- package/bundled-skills/docs/contributors/skill-anatomy.md +0 -637
- package/bundled-skills/docs/contributors/skill-template.md +0 -93
- package/bundled-skills/docs/integrations/jetski-cortex.md +0 -282
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +0 -103
- package/bundled-skills/docs/integrations/jetski-gemini-loader/loader.mjs +0 -154
- package/bundled-skills/docs/integrations/jetski-gemini-loader/package.json +0 -1
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +0 -63
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-design.md +0 -304
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-goal.md +0 -171
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +0 -104
- package/bundled-skills/docs/maintainers/audit.md +0 -89
- package/bundled-skills/docs/maintainers/backups/README-2026-06-02.md +0 -687
- package/bundled-skills/docs/maintainers/categorization-implementation.md +0 -160
- package/bundled-skills/docs/maintainers/ci-drift-fix.md +0 -64
- package/bundled-skills/docs/maintainers/date-tracking-implementation.md +0 -66
- package/bundled-skills/docs/maintainers/full-repo-audit-2026-05-23.md +0 -289
- package/bundled-skills/docs/maintainers/legacy-redirect-bridge.md +0 -46
- package/bundled-skills/docs/maintainers/merge-batch.md +0 -81
- package/bundled-skills/docs/maintainers/merging-prs.md +0 -79
- package/bundled-skills/docs/maintainers/pr-autonomy.md +0 -102
- package/bundled-skills/docs/maintainers/provenance-identity-exceptions.json +0 -14
- package/bundled-skills/docs/maintainers/release-notes-7.2.0.md +0 -32
- package/bundled-skills/docs/maintainers/release-process.md +0 -124
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +0 -133
- package/bundled-skills/docs/maintainers/rollback-procedure.md +0 -43
- package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.csv +0 -34
- package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-15.md +0 -60
- package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-18-addendum.md +0 -22
- package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-addendum.md +0 -48
- package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-refresh.csv +0 -34
- package/bundled-skills/docs/maintainers/security-findings-triage-2026-03-29-refresh.md +0 -86
- package/bundled-skills/docs/maintainers/skills-date-tracking.md +0 -228
- package/bundled-skills/docs/maintainers/skills-import-2026-03-21.md +0 -81
- package/bundled-skills/docs/maintainers/skills-update-guide.md +0 -92
- package/bundled-skills/docs/maintainers/smart-auto-categorization.md +0 -218
- package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/README.md +0 -19
- package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/evaluation-cases.json +0 -74
- package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/evaluation-results.json +0 -86
- package/bundled-skills/docs/plugin-submissions/aas-agent-mcp-builder/submission.json +0 -41
- package/bundled-skills/docs/sources/LICENSE-MICROSOFT +0 -21
- package/bundled-skills/docs/sources/microsoft-skills-attribution.json +0 -709
- package/bundled-skills/docs/sources/sources.md +0 -179
- package/bundled-skills/docs/users/aas-core.md +0 -225
- package/bundled-skills/docs/users/agent-overload-recovery.md +0 -54
- package/bundled-skills/docs/users/agentic-awesome-skills-vs-awesome-claude-skills.md +0 -44
- package/bundled-skills/docs/users/ai-agent-skills.md +0 -48
- package/bundled-skills/docs/users/best-claude-code-skills-github.md +0 -62
- package/bundled-skills/docs/users/best-cursor-skills-github.md +0 -62
- package/bundled-skills/docs/users/bundles.md +0 -1067
- package/bundled-skills/docs/users/claude-code-skills.md +0 -89
- package/bundled-skills/docs/users/codex-cli-skills.md +0 -88
- package/bundled-skills/docs/users/cursor-skills.md +0 -56
- package/bundled-skills/docs/users/discovery-manifest.md +0 -65
- package/bundled-skills/docs/users/faq.md +0 -521
- package/bundled-skills/docs/users/gemini-cli-skills.md +0 -56
- package/bundled-skills/docs/users/getting-started.md +0 -233
- package/bundled-skills/docs/users/kiro-integration.md +0 -304
- package/bundled-skills/docs/users/local-config.md +0 -152
- package/bundled-skills/docs/users/plugins.md +0 -201
- package/bundled-skills/docs/users/security-and-antivirus.md +0 -63
- package/bundled-skills/docs/users/security-skills.md +0 -1722
- package/bundled-skills/docs/users/skills-library-overview.md +0 -87
- package/bundled-skills/docs/users/skills-vs-mcp-tools.md +0 -108
- package/bundled-skills/docs/users/specialized-plugin-roadmap.md +0 -101
- package/bundled-skills/docs/users/usage.md +0 -465
- package/bundled-skills/docs/users/visual-guide.md +0 -515
- package/bundled-skills/docs/users/walkthrough.md +0 -46
- package/bundled-skills/docs/users/windows-truncation-recovery.md +0 -135
- package/bundled-skills/docs/users/workflows.md +0 -215
- package/bundled-skills/docs/vietnamese/AAS_CORE.vi.md +0 -28
- package/bundled-skills/docs/vietnamese/BUNDLES.vi.md +0 -124
- package/bundled-skills/docs/vietnamese/CONTRIBUTING.vi.md +0 -242
- package/bundled-skills/docs/vietnamese/EXAMPLES.vi.md +0 -56
- package/bundled-skills/docs/vietnamese/FAQ.vi.md +0 -195
- package/bundled-skills/docs/vietnamese/GETTING_STARTED.vi.md +0 -123
- package/bundled-skills/docs/vietnamese/QUALITY_BAR.vi.md +0 -69
- package/bundled-skills/docs/vietnamese/README.vi.md +0 -191
- package/bundled-skills/docs/vietnamese/SECURITY.vi.md +0 -19
- package/bundled-skills/docs/vietnamese/SECURITY_GUARDRAILS.vi.md +0 -51
- package/bundled-skills/docs/vietnamese/SKILLS_README.vi.md +0 -106
- package/bundled-skills/docs/vietnamese/SKILL_ANATOMY.vi.md +0 -633
- package/bundled-skills/docs/vietnamese/SOURCES.vi.md +0 -21
- package/bundled-skills/docs/vietnamese/TRANSLATION_PLAN.vi.md +0 -65
- package/bundled-skills/docs/vietnamese/VISUAL_GUIDE.vi.md +0 -511
- package/bundled-skills/docs/walkthrough.md +0 -3
|
@@ -15,605 +15,9 @@ Specialized skill for building production-ready serverless applications on GCP.
|
|
|
15
15
|
Covers Cloud Run services (containerized), Cloud Run Functions (event-driven),
|
|
16
16
|
cold start optimization, and event-driven architecture with Pub/Sub.
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## Detailed Guide
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
- Optimize for cold starts with startup CPU boost and min instances
|
|
22
|
-
- Set concurrency based on workload (start with 8, adjust)
|
|
23
|
-
- Memory includes /tmp filesystem - plan accordingly
|
|
24
|
-
- Use VPC Connector only when needed (adds latency)
|
|
25
|
-
- Containers should start fast and be stateless
|
|
26
|
-
- Handle signals gracefully for clean shutdown
|
|
27
|
-
|
|
28
|
-
## Patterns
|
|
29
|
-
|
|
30
|
-
### Cloud Run Service Pattern
|
|
31
|
-
|
|
32
|
-
Containerized web service on Cloud Run
|
|
33
|
-
|
|
34
|
-
**When to use**: Web applications and APIs,Need any runtime or library,Complex services with multiple endpoints,Stateless containerized workloads
|
|
35
|
-
|
|
36
|
-
```dockerfile
|
|
37
|
-
# Dockerfile - Multi-stage build for smaller image
|
|
38
|
-
FROM node:20-slim AS builder
|
|
39
|
-
WORKDIR /app
|
|
40
|
-
COPY package*.json ./
|
|
41
|
-
RUN npm ci --only=production
|
|
42
|
-
|
|
43
|
-
FROM node:20-slim
|
|
44
|
-
WORKDIR /app
|
|
45
|
-
|
|
46
|
-
# Copy only production dependencies
|
|
47
|
-
COPY --from=builder /app/node_modules ./node_modules
|
|
48
|
-
COPY src ./src
|
|
49
|
-
COPY package.json ./
|
|
50
|
-
|
|
51
|
-
# Cloud Run uses PORT env variable
|
|
52
|
-
ENV PORT=8080
|
|
53
|
-
EXPOSE 8080
|
|
54
|
-
|
|
55
|
-
# Run as non-root user
|
|
56
|
-
USER node
|
|
57
|
-
|
|
58
|
-
CMD ["node", "src/index.js"]
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
```javascript
|
|
62
|
-
// src/index.js
|
|
63
|
-
const express = require('express');
|
|
64
|
-
const app = express();
|
|
65
|
-
|
|
66
|
-
app.use(express.json());
|
|
67
|
-
|
|
68
|
-
// Health check endpoint
|
|
69
|
-
app.get('/health', (req, res) => {
|
|
70
|
-
res.status(200).send('OK');
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
// API routes
|
|
74
|
-
app.get('/api/items/:id', async (req, res) => {
|
|
75
|
-
try {
|
|
76
|
-
const item = await getItem(req.params.id);
|
|
77
|
-
res.json(item);
|
|
78
|
-
} catch (error) {
|
|
79
|
-
console.error('Error:', error);
|
|
80
|
-
res.status(500).json({ error: 'Internal server error' });
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
// Graceful shutdown
|
|
85
|
-
process.on('SIGTERM', () => {
|
|
86
|
-
console.log('SIGTERM received, shutting down gracefully');
|
|
87
|
-
server.close(() => {
|
|
88
|
-
console.log('Server closed');
|
|
89
|
-
process.exit(0);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
const PORT = process.env.PORT || 8080;
|
|
94
|
-
const server = app.listen(PORT, () => {
|
|
95
|
-
console.log(`Server listening on port ${PORT}`);
|
|
96
|
-
});
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
```yaml
|
|
100
|
-
# cloudbuild.yaml
|
|
101
|
-
steps:
|
|
102
|
-
# Build the container image
|
|
103
|
-
- name: 'gcr.io/cloud-builders/docker'
|
|
104
|
-
args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-service:$COMMIT_SHA', '.']
|
|
105
|
-
|
|
106
|
-
# Push the container image
|
|
107
|
-
- name: 'gcr.io/cloud-builders/docker'
|
|
108
|
-
args: ['push', 'gcr.io/$PROJECT_ID/my-service:$COMMIT_SHA']
|
|
109
|
-
|
|
110
|
-
# Deploy to Cloud Run
|
|
111
|
-
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
|
|
112
|
-
entrypoint: gcloud
|
|
113
|
-
args:
|
|
114
|
-
- 'run'
|
|
115
|
-
- 'deploy'
|
|
116
|
-
- 'my-service'
|
|
117
|
-
- '--image=gcr.io/$PROJECT_ID/my-service:$COMMIT_SHA'
|
|
118
|
-
- '--region=us-central1'
|
|
119
|
-
- '--platform=managed'
|
|
120
|
-
- '--allow-unauthenticated'
|
|
121
|
-
- '--memory=512Mi'
|
|
122
|
-
- '--cpu=1'
|
|
123
|
-
- '--min-instances=1'
|
|
124
|
-
- '--max-instances=100'
|
|
125
|
-
- '--concurrency=80'
|
|
126
|
-
- '--cpu-boost'
|
|
127
|
-
|
|
128
|
-
images:
|
|
129
|
-
- 'gcr.io/$PROJECT_ID/my-service:$COMMIT_SHA'
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Structure
|
|
133
|
-
|
|
134
|
-
project/
|
|
135
|
-
├── Dockerfile
|
|
136
|
-
├── .dockerignore
|
|
137
|
-
├── src/
|
|
138
|
-
│ ├── index.js
|
|
139
|
-
│ └── routes/
|
|
140
|
-
├── package.json
|
|
141
|
-
└── cloudbuild.yaml
|
|
142
|
-
|
|
143
|
-
### Gcloud_deploy
|
|
144
|
-
|
|
145
|
-
# Direct gcloud deployment
|
|
146
|
-
gcloud run deploy my-service \
|
|
147
|
-
--source . \
|
|
148
|
-
--region us-central1 \
|
|
149
|
-
--allow-unauthenticated \
|
|
150
|
-
--memory 512Mi \
|
|
151
|
-
--cpu 1 \
|
|
152
|
-
--min-instances 1 \
|
|
153
|
-
--max-instances 100 \
|
|
154
|
-
--concurrency 80 \
|
|
155
|
-
--cpu-boost
|
|
156
|
-
|
|
157
|
-
### Cloud Run Functions Pattern
|
|
158
|
-
|
|
159
|
-
Event-driven functions (formerly Cloud Functions)
|
|
160
|
-
|
|
161
|
-
**When to use**: Simple event handlers,Pub/Sub message processing,Cloud Storage triggers,HTTP webhooks
|
|
162
|
-
|
|
163
|
-
```javascript
|
|
164
|
-
// HTTP Function
|
|
165
|
-
// index.js
|
|
166
|
-
const functions = require('@google-cloud/functions-framework');
|
|
167
|
-
|
|
168
|
-
functions.http('helloHttp', (req, res) => {
|
|
169
|
-
const name = req.query.name || req.body.name || 'World';
|
|
170
|
-
res.send(`Hello, ${name}!`);
|
|
171
|
-
});
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
```javascript
|
|
175
|
-
// Pub/Sub Function
|
|
176
|
-
const functions = require('@google-cloud/functions-framework');
|
|
177
|
-
|
|
178
|
-
functions.cloudEvent('processPubSub', (cloudEvent) => {
|
|
179
|
-
// Decode Pub/Sub message
|
|
180
|
-
const message = cloudEvent.data.message;
|
|
181
|
-
const data = message.data
|
|
182
|
-
? JSON.parse(Buffer.from(message.data, 'base64').toString())
|
|
183
|
-
: {};
|
|
184
|
-
|
|
185
|
-
console.log('Received message:', data);
|
|
186
|
-
|
|
187
|
-
// Process message
|
|
188
|
-
processMessage(data);
|
|
189
|
-
});
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
```javascript
|
|
193
|
-
// Cloud Storage Function
|
|
194
|
-
const functions = require('@google-cloud/functions-framework');
|
|
195
|
-
|
|
196
|
-
functions.cloudEvent('processStorageEvent', async (cloudEvent) => {
|
|
197
|
-
const file = cloudEvent.data;
|
|
198
|
-
|
|
199
|
-
console.log(`Event: ${cloudEvent.type}`);
|
|
200
|
-
console.log(`Bucket: ${file.bucket}`);
|
|
201
|
-
console.log(`File: ${file.name}`);
|
|
202
|
-
|
|
203
|
-
if (cloudEvent.type === 'google.cloud.storage.object.v1.finalized') {
|
|
204
|
-
await processUploadedFile(file.bucket, file.name);
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
# Deploy HTTP function
|
|
211
|
-
gcloud functions deploy hello-http \
|
|
212
|
-
--gen2 \
|
|
213
|
-
--runtime nodejs20 \
|
|
214
|
-
--trigger-http \
|
|
215
|
-
--allow-unauthenticated \
|
|
216
|
-
--region us-central1
|
|
217
|
-
|
|
218
|
-
# Deploy Pub/Sub function
|
|
219
|
-
gcloud functions deploy process-messages \
|
|
220
|
-
--gen2 \
|
|
221
|
-
--runtime nodejs20 \
|
|
222
|
-
--trigger-topic my-topic \
|
|
223
|
-
--region us-central1
|
|
224
|
-
|
|
225
|
-
# Deploy Cloud Storage function
|
|
226
|
-
gcloud functions deploy process-uploads \
|
|
227
|
-
--gen2 \
|
|
228
|
-
--runtime nodejs20 \
|
|
229
|
-
--trigger-event-filters="type=google.cloud.storage.object.v1.finalized" \
|
|
230
|
-
--trigger-event-filters="bucket=my-bucket" \
|
|
231
|
-
--region us-central1
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
### Cold Start Optimization Pattern
|
|
235
|
-
|
|
236
|
-
Minimize cold start latency for Cloud Run
|
|
237
|
-
|
|
238
|
-
**When to use**: Latency-sensitive applications,User-facing APIs,High-traffic services
|
|
239
|
-
|
|
240
|
-
## 1. Enable Startup CPU Boost
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
gcloud run deploy my-service \
|
|
244
|
-
--cpu-boost \
|
|
245
|
-
--region us-central1
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
## 2. Set Minimum Instances
|
|
249
|
-
|
|
250
|
-
```bash
|
|
251
|
-
gcloud run deploy my-service \
|
|
252
|
-
--min-instances 1 \
|
|
253
|
-
--region us-central1
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
## 3. Optimize Container Image
|
|
257
|
-
|
|
258
|
-
```dockerfile
|
|
259
|
-
# Use distroless for minimal image
|
|
260
|
-
FROM node:20-slim AS builder
|
|
261
|
-
WORKDIR /app
|
|
262
|
-
COPY package*.json ./
|
|
263
|
-
RUN npm ci --only=production
|
|
264
|
-
|
|
265
|
-
FROM gcr.io/distroless/nodejs20-debian12
|
|
266
|
-
WORKDIR /app
|
|
267
|
-
COPY --from=builder /app/node_modules ./node_modules
|
|
268
|
-
COPY src ./src
|
|
269
|
-
CMD ["src/index.js"]
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
## 4. Lazy Initialize Heavy Dependencies
|
|
273
|
-
|
|
274
|
-
```javascript
|
|
275
|
-
// Lazy load heavy libraries
|
|
276
|
-
let bigQueryClient = null;
|
|
277
|
-
|
|
278
|
-
function getBigQueryClient() {
|
|
279
|
-
if (!bigQueryClient) {
|
|
280
|
-
const { BigQuery } = require('@google-cloud/bigquery');
|
|
281
|
-
bigQueryClient = new BigQuery();
|
|
282
|
-
}
|
|
283
|
-
return bigQueryClient;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
// Only initialize when needed
|
|
287
|
-
app.get('/api/analytics', async (req, res) => {
|
|
288
|
-
const client = getBigQueryClient();
|
|
289
|
-
const results = await client.query({...});
|
|
290
|
-
res.json(results);
|
|
291
|
-
});
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
## 5. Increase Memory (More CPU)
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# Higher memory = more CPU during startup
|
|
298
|
-
gcloud run deploy my-service \
|
|
299
|
-
--memory 1Gi \
|
|
300
|
-
--cpu 2 \
|
|
301
|
-
--region us-central1
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### Optimization_impact
|
|
305
|
-
|
|
306
|
-
- Startup_cpu_boost: 50% faster cold starts
|
|
307
|
-
- Min_instances: Eliminates cold starts for traffic spikes
|
|
308
|
-
- Distroless_image: Smaller attack surface, faster pull
|
|
309
|
-
- Lazy_init: Defers heavy loading to first request
|
|
310
|
-
|
|
311
|
-
### Concurrency Configuration Pattern
|
|
312
|
-
|
|
313
|
-
Proper concurrency settings for Cloud Run
|
|
314
|
-
|
|
315
|
-
**When to use**: Need to optimize instance utilization,Handle traffic spikes efficiently,Reduce cold starts
|
|
316
|
-
|
|
317
|
-
## Understanding Concurrency
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
# Default concurrency is 80
|
|
321
|
-
# Adjust based on your workload
|
|
322
|
-
|
|
323
|
-
# For I/O-bound workloads (most web apps)
|
|
324
|
-
gcloud run deploy my-service \
|
|
325
|
-
--concurrency 80 \
|
|
326
|
-
--cpu 1
|
|
327
|
-
|
|
328
|
-
# For CPU-bound workloads
|
|
329
|
-
gcloud run deploy my-service \
|
|
330
|
-
--concurrency 1 \
|
|
331
|
-
--cpu 1
|
|
332
|
-
|
|
333
|
-
# For memory-intensive workloads
|
|
334
|
-
gcloud run deploy my-service \
|
|
335
|
-
--concurrency 10 \
|
|
336
|
-
--memory 2Gi
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
## Node.js Concurrency
|
|
340
|
-
|
|
341
|
-
```javascript
|
|
342
|
-
// Node.js is single-threaded but handles I/O concurrently
|
|
343
|
-
// Use async/await for all I/O operations
|
|
344
|
-
|
|
345
|
-
// GOOD - async I/O
|
|
346
|
-
app.get('/api/data', async (req, res) => {
|
|
347
|
-
const [users, products] = await Promise.all([
|
|
348
|
-
fetchUsers(),
|
|
349
|
-
fetchProducts()
|
|
350
|
-
]);
|
|
351
|
-
res.json({ users, products });
|
|
352
|
-
});
|
|
353
|
-
|
|
354
|
-
// BAD - blocking operation
|
|
355
|
-
app.get('/api/compute', (req, res) => {
|
|
356
|
-
const result = heavyCpuOperation(); // Blocks other requests!
|
|
357
|
-
res.json(result);
|
|
358
|
-
});
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
## Python Concurrency with Gunicorn
|
|
362
|
-
|
|
363
|
-
```dockerfile
|
|
364
|
-
FROM python:3.11-slim
|
|
365
|
-
WORKDIR /app
|
|
366
|
-
COPY requirements.txt .
|
|
367
|
-
RUN pip install --no-cache-dir -r requirements.txt
|
|
368
|
-
COPY . .
|
|
369
|
-
|
|
370
|
-
# 4 workers for concurrency
|
|
371
|
-
CMD exec gunicorn --bind :$PORT --workers 4 --threads 2 main:app
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
```python
|
|
375
|
-
# main.py
|
|
376
|
-
from flask import Flask
|
|
377
|
-
app = Flask(__name__)
|
|
378
|
-
|
|
379
|
-
@app.route('/api/data')
|
|
380
|
-
def get_data():
|
|
381
|
-
return {'status': 'ok'}
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
### Concurrency_guidelines
|
|
385
|
-
|
|
386
|
-
- Concurrency=1: Only for CPU-bound or unsafe code
|
|
387
|
-
- Concurrency=8 20: Memory-intensive workloads
|
|
388
|
-
- Concurrency=80: Default, good for I/O-bound
|
|
389
|
-
- Concurrency=250: Maximum, for very lightweight handlers
|
|
390
|
-
|
|
391
|
-
### Pub/Sub Integration Pattern
|
|
392
|
-
|
|
393
|
-
Event-driven processing with Cloud Pub/Sub
|
|
394
|
-
|
|
395
|
-
**When to use**: Asynchronous message processing,Decoupled microservices,Event-driven architecture
|
|
396
|
-
|
|
397
|
-
## Push Subscription to Cloud Run
|
|
398
|
-
|
|
399
|
-
```bash
|
|
400
|
-
# Create topic
|
|
401
|
-
gcloud pubsub topics create orders
|
|
402
|
-
|
|
403
|
-
# Create push subscription to Cloud Run
|
|
404
|
-
gcloud pubsub subscriptions create orders-push \
|
|
405
|
-
--topic orders \
|
|
406
|
-
--push-endpoint https://my-service-xxx.run.app/pubsub \
|
|
407
|
-
--ack-deadline 600
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
```javascript
|
|
411
|
-
// Handle Pub/Sub push messages
|
|
412
|
-
const express = require('express');
|
|
413
|
-
const app = express();
|
|
414
|
-
app.use(express.json());
|
|
415
|
-
|
|
416
|
-
app.post('/pubsub', async (req, res) => {
|
|
417
|
-
// Verify the request is from Pub/Sub
|
|
418
|
-
if (!req.body.message) {
|
|
419
|
-
return res.status(400).send('Invalid Pub/Sub message');
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
try {
|
|
423
|
-
// Decode message data
|
|
424
|
-
const message = req.body.message;
|
|
425
|
-
const data = message.data
|
|
426
|
-
? JSON.parse(Buffer.from(message.data, 'base64').toString())
|
|
427
|
-
: {};
|
|
428
|
-
|
|
429
|
-
console.log('Processing order:', data);
|
|
430
|
-
|
|
431
|
-
await processOrder(data);
|
|
432
|
-
|
|
433
|
-
// Return 200 to acknowledge
|
|
434
|
-
res.status(200).send('OK');
|
|
435
|
-
} catch (error) {
|
|
436
|
-
console.error('Processing failed:', error);
|
|
437
|
-
// Return 500 to trigger retry
|
|
438
|
-
res.status(500).send('Processing failed');
|
|
439
|
-
}
|
|
440
|
-
});
|
|
441
|
-
```
|
|
442
|
-
|
|
443
|
-
## Publishing Messages
|
|
444
|
-
|
|
445
|
-
```javascript
|
|
446
|
-
const { PubSub } = require('@google-cloud/pubsub');
|
|
447
|
-
const pubsub = new PubSub();
|
|
448
|
-
|
|
449
|
-
async function publishOrder(order) {
|
|
450
|
-
const topic = pubsub.topic('orders');
|
|
451
|
-
const messageBuffer = Buffer.from(JSON.stringify(order));
|
|
452
|
-
|
|
453
|
-
const messageId = await topic.publishMessage({
|
|
454
|
-
data: messageBuffer,
|
|
455
|
-
attributes: {
|
|
456
|
-
type: 'order_created',
|
|
457
|
-
priority: 'high'
|
|
458
|
-
}
|
|
459
|
-
});
|
|
460
|
-
|
|
461
|
-
console.log(`Published message ${messageId}`);
|
|
462
|
-
return messageId;
|
|
463
|
-
}
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
## Dead Letter Queue
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
# Create DLQ topic
|
|
470
|
-
gcloud pubsub topics create orders-dlq
|
|
471
|
-
|
|
472
|
-
# Update subscription with DLQ
|
|
473
|
-
gcloud pubsub subscriptions update orders-push \
|
|
474
|
-
--dead-letter-topic orders-dlq \
|
|
475
|
-
--max-delivery-attempts 5
|
|
476
|
-
```
|
|
477
|
-
|
|
478
|
-
### Cloud SQL Connection Pattern
|
|
479
|
-
|
|
480
|
-
Connect Cloud Run to Cloud SQL securely
|
|
481
|
-
|
|
482
|
-
**When to use**: Need relational database,Migrating existing applications,Complex queries and transactions
|
|
483
|
-
|
|
484
|
-
```bash
|
|
485
|
-
# Deploy with Cloud SQL connection
|
|
486
|
-
gcloud run deploy my-service \
|
|
487
|
-
--add-cloudsql-instances PROJECT:REGION:INSTANCE \
|
|
488
|
-
--set-env-vars INSTANCE_CONNECTION_NAME="PROJECT:REGION:INSTANCE" \
|
|
489
|
-
--set-env-vars DB_NAME="mydb" \
|
|
490
|
-
--set-env-vars DB_USER="myuser"
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
```javascript
|
|
494
|
-
// Using Unix socket connection
|
|
495
|
-
const { Pool } = require('pg');
|
|
496
|
-
|
|
497
|
-
const pool = new Pool({
|
|
498
|
-
user: process.env.DB_USER,
|
|
499
|
-
password: process.env.DB_PASS,
|
|
500
|
-
database: process.env.DB_NAME,
|
|
501
|
-
// Cloud SQL connector uses Unix socket
|
|
502
|
-
host: `/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}`,
|
|
503
|
-
max: 5, // Connection pool size
|
|
504
|
-
idleTimeoutMillis: 30000,
|
|
505
|
-
connectionTimeoutMillis: 10000,
|
|
506
|
-
});
|
|
507
|
-
|
|
508
|
-
app.get('/api/users', async (req, res) => {
|
|
509
|
-
const client = await pool.connect();
|
|
510
|
-
try {
|
|
511
|
-
const result = await client.query('SELECT * FROM users LIMIT 100');
|
|
512
|
-
res.json(result.rows);
|
|
513
|
-
} finally {
|
|
514
|
-
client.release();
|
|
515
|
-
}
|
|
516
|
-
});
|
|
517
|
-
```
|
|
518
|
-
|
|
519
|
-
```python
|
|
520
|
-
# Python with SQLAlchemy
|
|
521
|
-
import os
|
|
522
|
-
from sqlalchemy import create_engine
|
|
523
|
-
|
|
524
|
-
def get_engine():
|
|
525
|
-
instance_connection_name = os.environ["INSTANCE_CONNECTION_NAME"]
|
|
526
|
-
db_user = os.environ["DB_USER"]
|
|
527
|
-
db_pass = os.environ["DB_PASS"]
|
|
528
|
-
db_name = os.environ["DB_NAME"]
|
|
529
|
-
|
|
530
|
-
engine = create_engine(
|
|
531
|
-
f"postgresql+pg8000://{db_user}:{db_pass}@/{db_name}",
|
|
532
|
-
connect_args={
|
|
533
|
-
"unix_sock": f"/cloudsql/{instance_connection_name}/.s.PGSQL.5432"
|
|
534
|
-
},
|
|
535
|
-
pool_size=5,
|
|
536
|
-
max_overflow=2,
|
|
537
|
-
pool_timeout=30,
|
|
538
|
-
pool_recycle=1800,
|
|
539
|
-
)
|
|
540
|
-
return engine
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
### Best_practices
|
|
544
|
-
|
|
545
|
-
- Use connection pooling (max 5-10 per instance)
|
|
546
|
-
- Set appropriate idle timeouts
|
|
547
|
-
- Handle connection errors gracefully
|
|
548
|
-
- Consider Cloud SQL Proxy for local development
|
|
549
|
-
|
|
550
|
-
### Secret Manager Integration
|
|
551
|
-
|
|
552
|
-
Securely manage secrets in Cloud Run
|
|
553
|
-
|
|
554
|
-
**When to use**: API keys, database passwords,Service account keys,Any sensitive configuration
|
|
555
|
-
|
|
556
|
-
```bash
|
|
557
|
-
# Create secret
|
|
558
|
-
echo -n "my-secret-value" | gcloud secrets create my-secret --data-file=-
|
|
559
|
-
|
|
560
|
-
# Mount as environment variable
|
|
561
|
-
gcloud run deploy my-service \
|
|
562
|
-
--update-secrets=API_KEY=my-secret:latest
|
|
563
|
-
|
|
564
|
-
# Mount as file volume
|
|
565
|
-
gcloud run deploy my-service \
|
|
566
|
-
--update-secrets=/secrets/api-key=my-secret:latest
|
|
567
|
-
```
|
|
568
|
-
|
|
569
|
-
```javascript
|
|
570
|
-
// Access mounted as environment variable
|
|
571
|
-
const apiKey = process.env.API_KEY;
|
|
572
|
-
|
|
573
|
-
// Access mounted as file
|
|
574
|
-
const fs = require('fs');
|
|
575
|
-
const apiKey = fs.readFileSync('/secrets/api-key', 'utf8');
|
|
576
|
-
|
|
577
|
-
// Access via Secret Manager API (when not mounted)
|
|
578
|
-
const { SecretManagerServiceClient } = require('@google-cloud/secret-manager');
|
|
579
|
-
const client = new SecretManagerServiceClient();
|
|
580
|
-
|
|
581
|
-
async function getSecret(name) {
|
|
582
|
-
const [version] = await client.accessSecretVersion({
|
|
583
|
-
name: `projects/${projectId}/secrets/${name}/versions/latest`
|
|
584
|
-
});
|
|
585
|
-
return version.payload.data.toString();
|
|
586
|
-
}
|
|
587
|
-
```
|
|
588
|
-
|
|
589
|
-
## Sharp Edges
|
|
590
|
-
|
|
591
|
-
### /tmp Filesystem Counts Against Memory
|
|
592
|
-
|
|
593
|
-
Severity: HIGH
|
|
594
|
-
|
|
595
|
-
Situation: Writing files to /tmp directory in Cloud Run
|
|
596
|
-
|
|
597
|
-
Symptoms:
|
|
598
|
-
Container killed with OOM error.
|
|
599
|
-
Memory usage spikes unexpectedly.
|
|
600
|
-
File operations cause container restarts.
|
|
601
|
-
"Container memory limit exceeded" in logs.
|
|
602
|
-
|
|
603
|
-
Why this breaks:
|
|
604
|
-
Cloud Run uses an in-memory filesystem for /tmp. Any files written
|
|
605
|
-
to /tmp consume memory from your container's allocation.
|
|
606
|
-
|
|
607
|
-
Common scenarios:
|
|
608
|
-
- Downloading files temporarily
|
|
609
|
-
- Creating temp processing files
|
|
610
|
-
- Libraries caching to /tmp
|
|
611
|
-
- Large log buffers
|
|
612
|
-
|
|
613
|
-
A 512MB container that downloads a 200MB file to /tmp only has
|
|
614
|
-
~300MB left for the application.
|
|
615
|
-
|
|
616
|
-
Recommended fix:
|
|
20
|
+
Read [the detailed guide](references/detailed-guide.md) before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.
|
|
617
21
|
|
|
618
22
|
## Calculate memory including /tmp usage
|
|
619
23
|
|
|
@@ -629,44 +33,6 @@ steps:
|
|
|
629
33
|
- '--image=gcr.io/$PROJECT_ID/my-service'
|
|
630
34
|
```
|
|
631
35
|
|
|
632
|
-
## Stream instead of buffering
|
|
633
|
-
|
|
634
|
-
```python
|
|
635
|
-
# BAD - buffers entire file in /tmp
|
|
636
|
-
def process_large_file(bucket_name, blob_name):
|
|
637
|
-
blob = bucket.blob(blob_name)
|
|
638
|
-
blob.download_to_filename('/tmp/large_file')
|
|
639
|
-
with open('/tmp/large_file', 'rb') as f:
|
|
640
|
-
process(f.read())
|
|
641
|
-
|
|
642
|
-
# GOOD - stream processing
|
|
643
|
-
def process_large_file(bucket_name, blob_name):
|
|
644
|
-
blob = bucket.blob(blob_name)
|
|
645
|
-
with blob.open('rb') as f:
|
|
646
|
-
for chunk in iter(lambda: f.read(8192), b''):
|
|
647
|
-
process_chunk(chunk)
|
|
648
|
-
```
|
|
649
|
-
|
|
650
|
-
## Use Cloud Storage for large files
|
|
651
|
-
|
|
652
|
-
```python
|
|
653
|
-
from google.cloud import storage
|
|
654
|
-
|
|
655
|
-
def process_with_gcs(bucket_name, input_blob, output_blob):
|
|
656
|
-
client = storage.Client()
|
|
657
|
-
bucket = client.bucket(bucket_name)
|
|
658
|
-
|
|
659
|
-
# Process directly to/from GCS
|
|
660
|
-
input_blob = bucket.blob(input_blob)
|
|
661
|
-
output_blob = bucket.blob(output_blob)
|
|
662
|
-
|
|
663
|
-
with input_blob.open('rb') as reader:
|
|
664
|
-
with output_blob.open('wb') as writer:
|
|
665
|
-
for chunk in iter(lambda: reader.read(65536), b''):
|
|
666
|
-
processed = transform(chunk)
|
|
667
|
-
writer.write(processed)
|
|
668
|
-
```
|
|
669
|
-
|
|
670
36
|
## Monitor memory usage
|
|
671
37
|
|
|
672
38
|
```python
|
|
@@ -707,673 +73,6 @@ This should only be used when:
|
|
|
707
73
|
|
|
708
74
|
Recommended fix:
|
|
709
75
|
|
|
710
|
-
## Set appropriate concurrency
|
|
711
|
-
|
|
712
|
-
```bash
|
|
713
|
-
# For I/O-bound workloads (most web apps)
|
|
714
|
-
gcloud run deploy my-service \
|
|
715
|
-
--concurrency=80 \
|
|
716
|
-
--max-instances=100
|
|
717
|
-
|
|
718
|
-
# For CPU-bound workloads
|
|
719
|
-
gcloud run deploy my-service \
|
|
720
|
-
--concurrency=4 \
|
|
721
|
-
--cpu=2
|
|
722
|
-
|
|
723
|
-
# Only use 1 when absolutely necessary
|
|
724
|
-
gcloud run deploy my-service \
|
|
725
|
-
--concurrency=1 \
|
|
726
|
-
--max-instances=1000 # Be prepared for many instances
|
|
727
|
-
```
|
|
728
|
-
|
|
729
|
-
## Node.js - use async properly
|
|
730
|
-
|
|
731
|
-
```javascript
|
|
732
|
-
// With high concurrency, ensure async operations
|
|
733
|
-
const express = require('express');
|
|
734
|
-
const app = express();
|
|
735
|
-
|
|
736
|
-
app.get('/api/data', async (req, res) => {
|
|
737
|
-
// All I/O should be async
|
|
738
|
-
const data = await fetchFromDatabase();
|
|
739
|
-
const enriched = await enrichData(data);
|
|
740
|
-
res.json(enriched);
|
|
741
|
-
});
|
|
742
|
-
|
|
743
|
-
// Concurrency 80+ is safe for async I/O workloads
|
|
744
|
-
```
|
|
745
|
-
|
|
746
|
-
## Python - use async framework
|
|
747
|
-
|
|
748
|
-
```python
|
|
749
|
-
from fastapi import FastAPI
|
|
750
|
-
import asyncio
|
|
751
|
-
import httpx
|
|
752
|
-
|
|
753
|
-
app = FastAPI()
|
|
754
|
-
|
|
755
|
-
@app.get("/api/data")
|
|
756
|
-
async def get_data():
|
|
757
|
-
# Async I/O allows high concurrency
|
|
758
|
-
async with httpx.AsyncClient() as client:
|
|
759
|
-
response = await client.get("https://api.example.com/data")
|
|
760
|
-
return response.json()
|
|
761
|
-
|
|
762
|
-
# Concurrency 80+ safe with async framework
|
|
763
|
-
```
|
|
764
|
-
|
|
765
|
-
## Calculate concurrency
|
|
766
|
-
|
|
767
|
-
```
|
|
768
|
-
concurrency = memory_limit / per_request_memory
|
|
769
|
-
|
|
770
|
-
Example:
|
|
771
|
-
- 512MB container
|
|
772
|
-
- 20MB per request overhead
|
|
773
|
-
- Safe concurrency: ~25
|
|
774
|
-
```
|
|
775
|
-
|
|
776
|
-
### CPU Throttled When Not Handling Requests
|
|
777
|
-
|
|
778
|
-
Severity: HIGH
|
|
779
|
-
|
|
780
|
-
Situation: Running background tasks or processing between requests
|
|
781
|
-
|
|
782
|
-
Symptoms:
|
|
783
|
-
Background tasks run extremely slowly.
|
|
784
|
-
Scheduled work doesn't complete.
|
|
785
|
-
Metrics collection fails.
|
|
786
|
-
Connection keep-alive breaks.
|
|
787
|
-
|
|
788
|
-
Why this breaks:
|
|
789
|
-
By default, Cloud Run throttles CPU to near-zero when not actively
|
|
790
|
-
handling a request. This is "CPU only during requests" mode.
|
|
791
|
-
|
|
792
|
-
Affected operations:
|
|
793
|
-
- Background threads
|
|
794
|
-
- Connection pool maintenance
|
|
795
|
-
- Metrics/telemetry emission
|
|
796
|
-
- Scheduled tasks within container
|
|
797
|
-
- Cleanup operations after response
|
|
798
|
-
|
|
799
|
-
Recommended fix:
|
|
800
|
-
|
|
801
|
-
## Enable CPU always allocated
|
|
802
|
-
|
|
803
|
-
```bash
|
|
804
|
-
# CPU allocated even outside requests
|
|
805
|
-
gcloud run deploy my-service \
|
|
806
|
-
--cpu-throttling=false \
|
|
807
|
-
--min-instances=1
|
|
808
|
-
|
|
809
|
-
# Note: This increases costs but enables background work
|
|
810
|
-
```
|
|
811
|
-
|
|
812
|
-
## Use startup CPU boost for initialization
|
|
813
|
-
|
|
814
|
-
```bash
|
|
815
|
-
# Boost CPU during cold start only
|
|
816
|
-
gcloud run deploy my-service \
|
|
817
|
-
--cpu-boost \
|
|
818
|
-
--cpu-throttling=true # Default, throttle after request
|
|
819
|
-
```
|
|
820
|
-
|
|
821
|
-
## Move background work to Cloud Tasks
|
|
822
|
-
|
|
823
|
-
```python
|
|
824
|
-
from google.cloud import tasks_v2
|
|
825
|
-
import json
|
|
826
|
-
|
|
827
|
-
def create_background_task(payload):
|
|
828
|
-
client = tasks_v2.CloudTasksClient()
|
|
829
|
-
parent = client.queue_path(
|
|
830
|
-
"my-project", "us-central1", "my-queue"
|
|
831
|
-
)
|
|
832
|
-
|
|
833
|
-
task = {
|
|
834
|
-
"http_request": {
|
|
835
|
-
"http_method": tasks_v2.HttpMethod.POST,
|
|
836
|
-
"url": "https://my-service.run.app/process",
|
|
837
|
-
"body": json.dumps(payload).encode(),
|
|
838
|
-
"headers": {"Content-Type": "application/json"}
|
|
839
|
-
}
|
|
840
|
-
}
|
|
841
|
-
|
|
842
|
-
client.create_task(parent=parent, task=task)
|
|
843
|
-
|
|
844
|
-
# Handle response immediately, background via Cloud Tasks
|
|
845
|
-
@app.post("/api/order")
|
|
846
|
-
async def create_order(order: Order):
|
|
847
|
-
order_id = await save_order(order)
|
|
848
|
-
|
|
849
|
-
# Queue background processing
|
|
850
|
-
create_background_task({"order_id": order_id})
|
|
851
|
-
|
|
852
|
-
return {"order_id": order_id, "status": "processing"}
|
|
853
|
-
```
|
|
854
|
-
|
|
855
|
-
## Use Pub/Sub for async processing
|
|
856
|
-
|
|
857
|
-
```yaml
|
|
858
|
-
# Move heavy processing to separate service
|
|
859
|
-
steps:
|
|
860
|
-
# Main service - responds quickly
|
|
861
|
-
- name: 'gcr.io/cloud-builders/gcloud'
|
|
862
|
-
args: ['run', 'deploy', 'api-service',
|
|
863
|
-
'--cpu-throttling=true']
|
|
864
|
-
|
|
865
|
-
# Worker service - processes messages
|
|
866
|
-
- name: 'gcr.io/cloud-builders/gcloud'
|
|
867
|
-
args: ['run', 'deploy', 'worker-service',
|
|
868
|
-
'--cpu-throttling=false',
|
|
869
|
-
'--min-instances=1']
|
|
870
|
-
```
|
|
871
|
-
|
|
872
|
-
### VPC Connector 10-Minute Idle Timeout
|
|
873
|
-
|
|
874
|
-
Severity: MEDIUM
|
|
875
|
-
|
|
876
|
-
Situation: Cloud Run service connecting to VPC resources
|
|
877
|
-
|
|
878
|
-
Symptoms:
|
|
879
|
-
Connection errors after period of inactivity.
|
|
880
|
-
"Connection reset" or "Connection refused" errors.
|
|
881
|
-
Sporadic failures to VPC resources.
|
|
882
|
-
Database connections drop unexpectedly.
|
|
883
|
-
|
|
884
|
-
Why this breaks:
|
|
885
|
-
Cloud Run's VPC connector has a 10-minute idle timeout on connections.
|
|
886
|
-
If a connection is idle for 10 minutes, it's silently closed.
|
|
887
|
-
|
|
888
|
-
Affects:
|
|
889
|
-
- Database connection pools
|
|
890
|
-
- Redis connections
|
|
891
|
-
- Internal API connections
|
|
892
|
-
- Any persistent VPC connection
|
|
893
|
-
|
|
894
|
-
Recommended fix:
|
|
895
|
-
|
|
896
|
-
## Configure connection pool with keep-alive
|
|
897
|
-
|
|
898
|
-
```python
|
|
899
|
-
# SQLAlchemy with connection recycling
|
|
900
|
-
from sqlalchemy import create_engine
|
|
901
|
-
|
|
902
|
-
engine = create_engine(
|
|
903
|
-
DATABASE_URL,
|
|
904
|
-
pool_size=5,
|
|
905
|
-
max_overflow=2,
|
|
906
|
-
pool_recycle=300, # Recycle connections every 5 minutes
|
|
907
|
-
pool_pre_ping=True # Validate connection before use
|
|
908
|
-
)
|
|
909
|
-
```
|
|
910
|
-
|
|
911
|
-
## TCP keep-alive for custom connections
|
|
912
|
-
|
|
913
|
-
```python
|
|
914
|
-
import socket
|
|
915
|
-
|
|
916
|
-
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
917
|
-
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
|
918
|
-
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)
|
|
919
|
-
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 60)
|
|
920
|
-
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 5)
|
|
921
|
-
```
|
|
922
|
-
|
|
923
|
-
## Redis with connection validation
|
|
924
|
-
|
|
925
|
-
```python
|
|
926
|
-
import redis
|
|
927
|
-
|
|
928
|
-
pool = redis.ConnectionPool(
|
|
929
|
-
host=REDIS_HOST,
|
|
930
|
-
port=6379,
|
|
931
|
-
socket_keepalive=True,
|
|
932
|
-
socket_keepalive_options={
|
|
933
|
-
socket.TCP_KEEPIDLE: 60,
|
|
934
|
-
socket.TCP_KEEPINTVL: 60,
|
|
935
|
-
socket.TCP_KEEPCNT: 5
|
|
936
|
-
},
|
|
937
|
-
health_check_interval=30
|
|
938
|
-
)
|
|
939
|
-
client = redis.Redis(connection_pool=pool)
|
|
940
|
-
```
|
|
941
|
-
|
|
942
|
-
## Use Cloud SQL Proxy sidecar
|
|
943
|
-
|
|
944
|
-
```yaml
|
|
945
|
-
# Use Cloud SQL connector which handles reconnection
|
|
946
|
-
# requirements.txt
|
|
947
|
-
cloud-sql-python-connector[pg8000]
|
|
948
|
-
```
|
|
949
|
-
|
|
950
|
-
```python
|
|
951
|
-
import os
|
|
952
|
-
from google.cloud.sql.connector import Connector
|
|
953
|
-
import sqlalchemy
|
|
954
|
-
|
|
955
|
-
connector = Connector()
|
|
956
|
-
|
|
957
|
-
def getconn():
|
|
958
|
-
return connector.connect(
|
|
959
|
-
"project:region:instance",
|
|
960
|
-
"pg8000",
|
|
961
|
-
user="user",
|
|
962
|
-
password=os.environ["DB_PASSWORD"],
|
|
963
|
-
db="database"
|
|
964
|
-
)
|
|
965
|
-
|
|
966
|
-
engine = sqlalchemy.create_engine(
|
|
967
|
-
"postgresql+pg8000://",
|
|
968
|
-
creator=getconn
|
|
969
|
-
)
|
|
970
|
-
```
|
|
971
|
-
|
|
972
|
-
### Container Startup Timeout (4 minutes max)
|
|
973
|
-
|
|
974
|
-
Severity: HIGH
|
|
975
|
-
|
|
976
|
-
Situation: Deploying containers with slow initialization
|
|
977
|
-
|
|
978
|
-
Symptoms:
|
|
979
|
-
Deployment fails with "Container failed to start".
|
|
980
|
-
Service never becomes healthy.
|
|
981
|
-
"Revision failed to become ready" errors.
|
|
982
|
-
Works locally but fails on Cloud Run.
|
|
983
|
-
|
|
984
|
-
Why this breaks:
|
|
985
|
-
Cloud Run expects your container to start listening on PORT within
|
|
986
|
-
4 minutes (240 seconds). If it doesn't, the instance is killed.
|
|
987
|
-
|
|
988
|
-
Common causes:
|
|
989
|
-
- Heavy framework initialization (ML models, etc.)
|
|
990
|
-
- Waiting for external dependencies at startup
|
|
991
|
-
- Large dependency loading
|
|
992
|
-
- Database migrations on startup
|
|
993
|
-
|
|
994
|
-
Recommended fix:
|
|
995
|
-
|
|
996
|
-
## Enable startup CPU boost
|
|
997
|
-
|
|
998
|
-
```bash
|
|
999
|
-
gcloud run deploy my-service \
|
|
1000
|
-
--cpu-boost \
|
|
1001
|
-
--startup-cpu-boost
|
|
1002
|
-
```
|
|
1003
|
-
|
|
1004
|
-
## Lazy initialization
|
|
1005
|
-
|
|
1006
|
-
```python
|
|
1007
|
-
from functools import lru_cache
|
|
1008
|
-
from fastapi import FastAPI
|
|
1009
|
-
|
|
1010
|
-
app = FastAPI()
|
|
1011
|
-
|
|
1012
|
-
# Don't load at import time
|
|
1013
|
-
model = None
|
|
1014
|
-
|
|
1015
|
-
@lru_cache()
|
|
1016
|
-
def get_model():
|
|
1017
|
-
global model
|
|
1018
|
-
if model is None:
|
|
1019
|
-
# Load on first request, not at startup
|
|
1020
|
-
model = load_heavy_model()
|
|
1021
|
-
return model
|
|
1022
|
-
|
|
1023
|
-
@app.get("/predict")
|
|
1024
|
-
async def predict(data: dict):
|
|
1025
|
-
model = get_model() # Loads on first call only
|
|
1026
|
-
return model.predict(data)
|
|
1027
|
-
|
|
1028
|
-
# Startup is fast - model loads on first request
|
|
1029
|
-
```
|
|
1030
|
-
|
|
1031
|
-
## Start listening immediately
|
|
1032
|
-
|
|
1033
|
-
```python
|
|
1034
|
-
import asyncio
|
|
1035
|
-
from fastapi import FastAPI
|
|
1036
|
-
import uvicorn
|
|
1037
|
-
|
|
1038
|
-
app = FastAPI()
|
|
1039
|
-
|
|
1040
|
-
# Global state for async initialization
|
|
1041
|
-
initialized = asyncio.Event()
|
|
1042
|
-
|
|
1043
|
-
@app.on_event("startup")
|
|
1044
|
-
async def startup():
|
|
1045
|
-
# Start background initialization
|
|
1046
|
-
asyncio.create_task(async_init())
|
|
1047
|
-
|
|
1048
|
-
async def async_init():
|
|
1049
|
-
# Heavy initialization happens after server starts
|
|
1050
|
-
await load_models()
|
|
1051
|
-
await warm_up_connections()
|
|
1052
|
-
initialized.set()
|
|
1053
|
-
|
|
1054
|
-
@app.get("/ready")
|
|
1055
|
-
async def ready():
|
|
1056
|
-
if not initialized.is_set():
|
|
1057
|
-
raise HTTPException(503, "Still initializing")
|
|
1058
|
-
return {"status": "ready"}
|
|
1059
|
-
|
|
1060
|
-
@app.get("/health")
|
|
1061
|
-
async def health():
|
|
1062
|
-
# Always respond - health check passes
|
|
1063
|
-
return {"status": "healthy"}
|
|
1064
|
-
```
|
|
1065
|
-
|
|
1066
|
-
## Use multi-stage builds
|
|
1067
|
-
|
|
1068
|
-
```dockerfile
|
|
1069
|
-
# Build stage - slow
|
|
1070
|
-
FROM python:3.11 as builder
|
|
1071
|
-
WORKDIR /app
|
|
1072
|
-
COPY requirements.txt .
|
|
1073
|
-
RUN pip wheel --no-cache-dir --wheel-dir /wheels -r requirements.txt
|
|
1074
|
-
|
|
1075
|
-
# Runtime stage - fast startup
|
|
1076
|
-
FROM python:3.11-slim
|
|
1077
|
-
WORKDIR /app
|
|
1078
|
-
COPY --from=builder /wheels /wheels
|
|
1079
|
-
RUN pip install --no-cache /wheels/* && rm -rf /wheels
|
|
1080
|
-
COPY . .
|
|
1081
|
-
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
|
|
1082
|
-
```
|
|
1083
|
-
|
|
1084
|
-
## Run migrations separately
|
|
1085
|
-
|
|
1086
|
-
```bash
|
|
1087
|
-
# Don't migrate on startup - use Cloud Build
|
|
1088
|
-
steps:
|
|
1089
|
-
# Run migrations first
|
|
1090
|
-
- name: 'gcr.io/cloud-builders/gcloud'
|
|
1091
|
-
entrypoint: 'bash'
|
|
1092
|
-
args:
|
|
1093
|
-
- '-c'
|
|
1094
|
-
- |
|
|
1095
|
-
gcloud run jobs execute migrate-job --wait
|
|
1096
|
-
|
|
1097
|
-
# Then deploy
|
|
1098
|
-
- name: 'gcr.io/cloud-builders/gcloud'
|
|
1099
|
-
args: ['run', 'deploy', 'my-service', ...]
|
|
1100
|
-
```
|
|
1101
|
-
|
|
1102
|
-
### Second Generation Execution Environment Differences
|
|
1103
|
-
|
|
1104
|
-
Severity: MEDIUM
|
|
1105
|
-
|
|
1106
|
-
Situation: Migrating to or using Cloud Run second-gen execution environment
|
|
1107
|
-
|
|
1108
|
-
Symptoms:
|
|
1109
|
-
Network behavior changes.
|
|
1110
|
-
Different syscall support.
|
|
1111
|
-
File system behavior differences.
|
|
1112
|
-
Container behaves differently than in first-gen.
|
|
1113
|
-
|
|
1114
|
-
Why this breaks:
|
|
1115
|
-
Cloud Run's second-generation execution environment uses a different
|
|
1116
|
-
sandbox (gVisor) with different characteristics:
|
|
1117
|
-
|
|
1118
|
-
- More Linux syscalls supported
|
|
1119
|
-
- Full /proc and /sys access
|
|
1120
|
-
- Different network stack
|
|
1121
|
-
- No automatic HTTPS redirect
|
|
1122
|
-
- Different tmp filesystem behavior
|
|
1123
|
-
|
|
1124
|
-
Recommended fix:
|
|
1125
|
-
|
|
1126
|
-
## Explicitly set execution environment
|
|
1127
|
-
|
|
1128
|
-
```bash
|
|
1129
|
-
# First generation (legacy)
|
|
1130
|
-
gcloud run deploy my-service \
|
|
1131
|
-
--execution-environment=gen1
|
|
1132
|
-
|
|
1133
|
-
# Second generation (recommended for most)
|
|
1134
|
-
gcloud run deploy my-service \
|
|
1135
|
-
--execution-environment=gen2
|
|
1136
|
-
```
|
|
1137
|
-
|
|
1138
|
-
## Handle network differences
|
|
1139
|
-
|
|
1140
|
-
```python
|
|
1141
|
-
# Second-gen doesn't auto-redirect HTTP to HTTPS
|
|
1142
|
-
from fastapi import FastAPI, Request
|
|
1143
|
-
from fastapi.responses import RedirectResponse
|
|
1144
|
-
|
|
1145
|
-
app = FastAPI()
|
|
1146
|
-
|
|
1147
|
-
@app.middleware("http")
|
|
1148
|
-
async def redirect_https(request: Request, call_next):
|
|
1149
|
-
# Check X-Forwarded-Proto header
|
|
1150
|
-
if request.headers.get("X-Forwarded-Proto") == "http":
|
|
1151
|
-
url = request.url.replace(scheme="https")
|
|
1152
|
-
return RedirectResponse(url, status_code=301)
|
|
1153
|
-
return await call_next(request)
|
|
1154
|
-
```
|
|
1155
|
-
|
|
1156
|
-
## GPU access (second-gen only)
|
|
1157
|
-
|
|
1158
|
-
```bash
|
|
1159
|
-
# GPUs only available in second-gen
|
|
1160
|
-
gcloud run deploy ml-service \
|
|
1161
|
-
--execution-environment=gen2 \
|
|
1162
|
-
--gpu=1 \
|
|
1163
|
-
--gpu-type=nvidia-l4
|
|
1164
|
-
```
|
|
1165
|
-
|
|
1166
|
-
## Check execution environment
|
|
1167
|
-
|
|
1168
|
-
```python
|
|
1169
|
-
import os
|
|
1170
|
-
|
|
1171
|
-
def get_execution_environment():
|
|
1172
|
-
# Second-gen has different /proc structure
|
|
1173
|
-
try:
|
|
1174
|
-
with open('/proc/version', 'r') as f:
|
|
1175
|
-
version = f.read()
|
|
1176
|
-
if 'gVisor' in version:
|
|
1177
|
-
return 'gen2'
|
|
1178
|
-
except:
|
|
1179
|
-
pass
|
|
1180
|
-
return 'gen1'
|
|
1181
|
-
```
|
|
1182
|
-
|
|
1183
|
-
### Request Timeout Configuration Mismatch
|
|
1184
|
-
|
|
1185
|
-
Severity: MEDIUM
|
|
1186
|
-
|
|
1187
|
-
Situation: Long-running requests or background processing
|
|
1188
|
-
|
|
1189
|
-
Symptoms:
|
|
1190
|
-
Requests terminated before completion.
|
|
1191
|
-
504 Gateway Timeout errors.
|
|
1192
|
-
Processing stops unexpectedly.
|
|
1193
|
-
Inconsistent timeout behavior.
|
|
1194
|
-
|
|
1195
|
-
Why this breaks:
|
|
1196
|
-
Cloud Run has multiple timeout configurations that must align:
|
|
1197
|
-
- Request timeout (default 300s, max 3600s for HTTP, 60m for gRPC)
|
|
1198
|
-
- Client timeout
|
|
1199
|
-
- Downstream service timeouts
|
|
1200
|
-
- Load balancer timeout (for external access)
|
|
1201
|
-
|
|
1202
|
-
Recommended fix:
|
|
1203
|
-
|
|
1204
|
-
## Set consistent timeouts
|
|
1205
|
-
|
|
1206
|
-
```bash
|
|
1207
|
-
# Increase request timeout (max 3600s for HTTP)
|
|
1208
|
-
gcloud run deploy my-service \
|
|
1209
|
-
--timeout=900 # 15 minutes
|
|
1210
|
-
```
|
|
1211
|
-
|
|
1212
|
-
## Handle long-running with webhooks
|
|
1213
|
-
|
|
1214
|
-
```python
|
|
1215
|
-
from fastapi import FastAPI, BackgroundTasks
|
|
1216
|
-
import httpx
|
|
1217
|
-
|
|
1218
|
-
app = FastAPI()
|
|
1219
|
-
|
|
1220
|
-
@app.post("/process")
|
|
1221
|
-
async def process(data: dict, background_tasks: BackgroundTasks):
|
|
1222
|
-
task_id = create_task_id()
|
|
1223
|
-
|
|
1224
|
-
# Start background processing
|
|
1225
|
-
background_tasks.add_task(
|
|
1226
|
-
long_running_process,
|
|
1227
|
-
task_id,
|
|
1228
|
-
data,
|
|
1229
|
-
data.get("callback_url")
|
|
1230
|
-
)
|
|
1231
|
-
|
|
1232
|
-
# Return immediately
|
|
1233
|
-
return {"task_id": task_id, "status": "processing"}
|
|
1234
|
-
|
|
1235
|
-
async def long_running_process(task_id, data, callback_url):
|
|
1236
|
-
result = await heavy_computation(data)
|
|
1237
|
-
|
|
1238
|
-
# Callback when done
|
|
1239
|
-
if callback_url:
|
|
1240
|
-
async with httpx.AsyncClient() as client:
|
|
1241
|
-
await client.post(callback_url, json={
|
|
1242
|
-
"task_id": task_id,
|
|
1243
|
-
"result": result
|
|
1244
|
-
})
|
|
1245
|
-
```
|
|
1246
|
-
|
|
1247
|
-
## Use Cloud Tasks for reliable long-running
|
|
1248
|
-
|
|
1249
|
-
```python
|
|
1250
|
-
from google.cloud import tasks_v2
|
|
1251
|
-
|
|
1252
|
-
def create_long_running_task(data):
|
|
1253
|
-
client = tasks_v2.CloudTasksClient()
|
|
1254
|
-
parent = client.queue_path(PROJECT, REGION, "long-tasks")
|
|
1255
|
-
|
|
1256
|
-
task = {
|
|
1257
|
-
"http_request": {
|
|
1258
|
-
"http_method": tasks_v2.HttpMethod.POST,
|
|
1259
|
-
"url": "https://worker.run.app/process",
|
|
1260
|
-
"body": json.dumps(data).encode(),
|
|
1261
|
-
"headers": {"Content-Type": "application/json"}
|
|
1262
|
-
},
|
|
1263
|
-
"dispatch_deadline": {"seconds": 1800} # 30 min
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
return client.create_task(parent=parent, task=task)
|
|
1267
|
-
```
|
|
1268
|
-
|
|
1269
|
-
## Streaming for long responses
|
|
1270
|
-
|
|
1271
|
-
```python
|
|
1272
|
-
from fastapi import FastAPI
|
|
1273
|
-
from fastapi.responses import StreamingResponse
|
|
1274
|
-
|
|
1275
|
-
@app.get("/large-report")
|
|
1276
|
-
async def large_report():
|
|
1277
|
-
async def generate():
|
|
1278
|
-
for chunk in process_large_data():
|
|
1279
|
-
yield chunk
|
|
1280
|
-
|
|
1281
|
-
return StreamingResponse(generate(), media_type="text/plain")
|
|
1282
|
-
```
|
|
1283
|
-
|
|
1284
|
-
## Validation Checks
|
|
1285
|
-
|
|
1286
|
-
### Hardcoded GCP Credentials
|
|
1287
|
-
|
|
1288
|
-
Severity: ERROR
|
|
1289
|
-
|
|
1290
|
-
GCP credentials must never be hardcoded in source code
|
|
1291
|
-
|
|
1292
|
-
Message: Hardcoded GCP service account credentials. Use Secret Manager or Workload Identity.
|
|
1293
|
-
|
|
1294
|
-
### GCP API Key in Source Code
|
|
1295
|
-
|
|
1296
|
-
Severity: ERROR
|
|
1297
|
-
|
|
1298
|
-
API keys should use Secret Manager
|
|
1299
|
-
|
|
1300
|
-
Message: Hardcoded GCP API key. Use Secret Manager.
|
|
1301
|
-
|
|
1302
|
-
### Credentials JSON File in Repository
|
|
1303
|
-
|
|
1304
|
-
Severity: ERROR
|
|
1305
|
-
|
|
1306
|
-
Service account JSON files should not be in source control
|
|
1307
|
-
|
|
1308
|
-
Message: Credentials file detected. Add to .gitignore and use Secret Manager.
|
|
1309
|
-
|
|
1310
|
-
### Running as Root User
|
|
1311
|
-
|
|
1312
|
-
Severity: WARNING
|
|
1313
|
-
|
|
1314
|
-
Containers should not run as root for security
|
|
1315
|
-
|
|
1316
|
-
Message: Dockerfile runs as root. Add USER directive for security.
|
|
1317
|
-
|
|
1318
|
-
### Missing Health Check in Dockerfile
|
|
1319
|
-
|
|
1320
|
-
Severity: INFO
|
|
1321
|
-
|
|
1322
|
-
Cloud Run uses HTTP health checks, Dockerfile HEALTHCHECK is optional
|
|
1323
|
-
|
|
1324
|
-
Message: No HEALTHCHECK in Dockerfile. Cloud Run uses its own health checks.
|
|
1325
|
-
|
|
1326
|
-
### Hardcoded Port in Application
|
|
1327
|
-
|
|
1328
|
-
Severity: WARNING
|
|
1329
|
-
|
|
1330
|
-
Port should come from PORT environment variable
|
|
1331
|
-
|
|
1332
|
-
Message: Hardcoded port. Use PORT environment variable for Cloud Run.
|
|
1333
|
-
|
|
1334
|
-
### Large File Writes to /tmp
|
|
1335
|
-
|
|
1336
|
-
Severity: WARNING
|
|
1337
|
-
|
|
1338
|
-
/tmp uses container memory, large writes can cause OOM
|
|
1339
|
-
|
|
1340
|
-
Message: /tmp writes consume memory. Consider Cloud Storage for large files.
|
|
1341
|
-
|
|
1342
|
-
### Synchronous File Operations
|
|
1343
|
-
|
|
1344
|
-
Severity: WARNING
|
|
1345
|
-
|
|
1346
|
-
Sync file ops block the event loop in async apps
|
|
1347
|
-
|
|
1348
|
-
Message: Synchronous file operations. Use async versions for better concurrency.
|
|
1349
|
-
|
|
1350
|
-
### Global Mutable State
|
|
1351
|
-
|
|
1352
|
-
Severity: WARNING
|
|
1353
|
-
|
|
1354
|
-
Global state issues with concurrent requests
|
|
1355
|
-
|
|
1356
|
-
Message: Global mutable state may cause issues with concurrent requests.
|
|
1357
|
-
|
|
1358
|
-
### Thread-Unsafe Singleton Pattern
|
|
1359
|
-
|
|
1360
|
-
Severity: WARNING
|
|
1361
|
-
|
|
1362
|
-
Singletons need thread safety for concurrency > 1
|
|
1363
|
-
|
|
1364
|
-
Message: Singleton pattern - ensure thread safety if using concurrency > 1.
|
|
1365
|
-
|
|
1366
|
-
## Collaboration
|
|
1367
|
-
|
|
1368
|
-
### Delegation Triggers
|
|
1369
|
-
|
|
1370
|
-
- user needs AWS serverless -> aws-serverless (Lambda, API Gateway, SAM)
|
|
1371
|
-
- user needs Azure containers -> azure-functions (Azure Container Apps, Functions)
|
|
1372
|
-
- user needs database design -> postgres-wizard (Cloud SQL design, AlloyDB)
|
|
1373
|
-
- user needs authentication -> auth-specialist (Firebase Auth, Identity Platform)
|
|
1374
|
-
- user needs AI integration -> llm-architect (Vertex AI, Cloud Run + LLM)
|
|
1375
|
-
- user needs workflow orchestration -> workflow-automation (Cloud Workflows, Eventarc)
|
|
1376
|
-
|
|
1377
76
|
## When to Use
|
|
1378
77
|
Use this skill when the request clearly matches the capabilities and patterns described above.
|
|
1379
78
|
|