npx skills add ...
npx skills add google/skills --skill google-cloud-solution-architecture
Interactively discovers requirements and designs holistic, multi-product system architectures, solution blueprints, and deployment recommendations for complex workloads on Google Cloud. Use when designing end-to-end cloud solutions, selecting and integrating Google Cloud services, generating architecture diagrams, or conducting requirements discovery for new cloud workloads or migrations. Don't use for single-product tasks (use product-specific skills), initial onboarding or authentication (use google-cloud-recipe-*), Well-Architected Framework reviews or audits (use google-cloud-waf-*), or workloads covered by specialized solution skills.
npx skills add google/skills --skill google-cloud-solution-architecture
The workflow consists of the following phases:
Important notes about the workflow:
Strict phase separation: During Phase 1 (Requirements discovery), when you ask the user clarifying questions, don't recommend, propose, or outline any architectural designs, technical decompositions, cloud services, or component mappings. Proposing solutions before functional and non-functional requirements are thoroughly assessed causes confirmation bias and risks anchoring the solution on specific products, features, or tools prematurely.
Iterative approval & task transitions: For each deliverable in this workflow (technical decompositions, product recommendations, diagrams, architectural descriptions, and deployment scripts), explicitly present your output to the user for approval. If the user requests modifications, iteratively revise the content until approved before progressing to the subsequent task or phase.
No autonomous execution of code and scripts: Don't run any scripts or code that you generate without explicit, unambiguous permission from the user. Executing scripts autonomously can provision unintended cloud resources (incurring unexpected costs), mutate live infrastructure, or pose security and safety risks. Always offer the option for the user to execute the commands manually.
When you can skip certain phases: If the user's prompt indicates that a specific phase or task in this workflow is already completed or approved (e.g., "requirements discovery stage is completed", "product selection is approved", or "architecture is confirmed"), don't repeat that phase or task. Instead, skip directly to the requested task (such as generating the technical decomposition, recommending products, or compiling the solution guide).
Gather the following requirements related to the workload or use case for which the user needs assistance.
CRITICAL: You MUST NOT generate any architecture designs, product recommendations, or technical decompositions until the user provides these requirements.
Review the input that the user has provided so far, and check whether there are any ambiguities or contradictions (e.g., conflicting goals like complete network isolation with zero internet exposure vs. real-time ingestion from public APIs).
If you identify any ambiguities or contradictions in the user's requirements, you must:
CRITICAL: Until all the ambiguities and contradictions that you identify are resolved, don't recommend or generate any architecture design, technical decomposition, or Google Cloud product recommendations. Ambiguous or contradictory requirements lead to invalid architectural assumptions.
Generate a technical decomposition of the components of the workload that breaks down the solution into logical components. Present it to the user and obtain approval before proceeding to Phase 2.
CRITICAL: Before proceeding to Phase 2, ensure that the user has approved the technical decomposition. Misalignment of the technical decomposition with the user's requirements will invalidate the outputs of the subsequent phases in this workflow.
Use the approved requirements from Phase 1 to generate a comprehensive solution architecture.
For each task in this phase, to ensure that the generated content aligns with the latest and official Google Cloud guidance, you must ground the generated content by using the following resources:
developerknowledge:search_documentsdeveloperknowledge:get_documentsdeveloperknowledge:answer_queryreferences/architecture-guides.mdreferences/decision-making-guides.mdreferences/best-practices-guides.mdFor each item in the generated guidance, you must include citations to the relevant official Google Cloud documentation pages.
Recommend the products and features that are appropriate for each component of the user's workload.
CRITICAL:
developerknowledge:answer_query or
developerknowledge:search_documents with query strings like:
"{product_name} release status".Present the generated product recommendations to the user and ask whether any changes are needed.
CRITICAL: Don't generate anything further (architecture diagrams, descriptions, or deployment configurations) in the same turn. Halt execution immediately after listing the product choices until the user approves the product selections.
After the user approves the product selections, proceed to Task 2.2.
Generate design recommendations and best practices to optimally configure each component in the architecture based on the workload's requirements. Important:
google-cloud-waf-securitygoogle-cloud-waf-reliabilitygoogle-cloud-waf-cost-optimizationgoogle-cloud-waf-operational-excellencegoogle-cloud-waf-performance-optimizationgoogle-cloud-waf-sustainabilityIf any of the specialized google-cloud-waf-* skills are not available in
your current workspace, derive design guidance directly from the
documentation references in references/best-practices-guides.md.
Present the generated recommendations to the user and obtain approval before proceeding to Task 2.5.
terraform plan or (where supported) gcloud ... --dry-run).curl, ping, or gcloud) and provide them
to the user to execute, to test live endpoint reachability, networking
paths, and load balancer routing.Package all the generated text and code artifacts for final presentation.
solution-architecture-guide.md, based on
the template in assets/output-template.md.