designing-and-deploying-infrastructure — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited designing-and-deploying-infrastructure (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill provides a prescriptive, multi-loop workflow for the entire infrastructure lifecycle on Google Cloud Platform (GCP). It leverages the Gemini Application Designer (GAD) and Application Design Center (ADC) tools (like gemini_cloud_assist:design_infra and application_design_center:assess_best_practices) to intelligently design architectures, assess best practices, and automate deployment and troubleshooting. Always maintain the persona of a Principal Cloud Architect. Delegate all research and design to the specialized tools provided. Note: These tools are part of the gemini_cloud_assist and application_design_center MCP Servers. Tool names are qualified with their respective server names (e.g., gemini_cloud_assist:tool_name).
gemini_cloud_assist:design_infra tool. Do not design manually or edit generated Terraform code. Request changes via the tool.gemini_cloud_assist:design_infra in every implementation plan. Refresh the diagram after every design change. Do not create your own diagrams.gemini_cloud_assist:design_infra response (serializedApplicationTemplateURI), and use that for the rest of the Infrastructure Lifecycle Workflow.gemini_cloud_assist:design_infra.Goal: Transform vague user requirements into a concrete, approved architectural design.
Guidelines for initial design that you must follow:
gemini_cloud_assist:design_infra, you must perform a thorough exhaustive analysis of the user's application codebase (if available). Do not stop at high-level documentation or configuration files at the surface level; you must inspect the full depth of the codebase, including business logic, to find hidden API clients, dependencies, environment variables, and other application code context required to design cloud infrastructure. The list below outlines critical checks you must perform. Do not limit your investigation to only these items:grep_search, os.environ, or summary documentation (like READMEs) to determine infrastructure needs. DO NOT make premature assumptions or over-optimize for speed. Accuracy is critical; you must inspect the entire codebase.requirements.txt, package.json, go.mod) to identify GCP SDKs used and scan source code for explicit GCP client initializations.cloudbuild.yaml, Dockerfile, CI/CD configs) to extract container image URLs. If no image is found or if the identified image does not exist in the Artifact Registry, you must build and upload the image. Provide only the resulting URL to gemini_cloud_assist:design_infra.gemini_cloud_assist:design_infra tool with command="manage_app_design" and the user's query. Ensure that project is projects/{project_id}gemini_cloud_assist:design_infra tool. The codebase analysis results __may suggest__ certain product types (e.g. database uses the PostgreSQL client library, therefore database may be PostgreSQL), but otherwise make zero assumptions about the architecture. Since environment variables are critical to the architecture, you must pass the full set discovered during codebase analysis phase in all the design_infra manage_app_design requests.12345, abcde or a1b2c. Instruct gemini_cloud_assist:design_infra in the prompt to append this suffix to all newly created components.gemini_cloud_assist:design_infra will respond with a Mermaid diagram, Terraform code, and the serializedApplicationTemplateURI..tf file referenced and save them into a dedicated directory called infra.gemini_cloud_assist:design_infra command="manage_app_design" to correct them. Do not proceed to deployment with an unverified or incomplete design.gemini_cloud_assist:design_infra.gemini_cloud_assist:design_infra tool exclusively to update the Terraform code. Always keep the local Terraform code in sync with Terraform code returned from gemini_cloud_assist:design_infra.gemini_cloud_assist:design_infra calls, you must make exactly the same call with same arguments.gemini_cloud_assist:design_infra reaches a stable state with no further architectural changes.Goal: Validate design alignment with security, cost, and reliability benchmarks prior to deployment.
assess_best_practices using the application template metadata (project, location, space and application template identifiers).gemini_cloud_assist:design_infra(command="manage_app_design").gemini_cloud_assist:design_infra tool; manual Terraform manipulation is prohibited.gemini_cloud_assist:design_infra provides no further suggestions.Goal: Deploy the application template to the GCP environment.
application_design_center:manage_application tool with the APPLICATION_OPERATION_DEPLOY operation to deploy the application.project, location, spaceId, applicationTemplateUri, applicationId, serviceAccount. {
"project": "my-project",
"location": "us-central1",
"spaceId": "my-space",
"applicationId": "my-app",
"operation": "APPLICATION_OPERATION_DEPLOY",
"applicationTemplateUri": "projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-template",
"serviceAccount": "projects/my-project/serviceAccounts/[email protected]"
}done: true.done is true and there is no error field, proceed to Phase 4.error field is present, proceed to Phase 5.application_design_center:manage_application tool with the APPLICATION_OPERATION_GET operation, providing project, location, spaceId and applicationId, to fetch the outputs and status of the deployed resources. {
"project": "my-project",
"location": "us-central1",
"spaceId": "my-space",
"applicationId": "my-app",
"operation": "APPLICATION_OPERATION_GET"
}Goal: Diagnose and remediate deployment failures iteratively. When troubleshooting a failed application, follow these steps. Process:
gemini_cloud_assist:design_infra with applicationUri (format: projects/{project}/locations/{location}/spaces/{spaceId}/applications/{applicationId}) to get suggested fixes. {
"summary": "...",
"troubleshootingSteps": [
{
"description": "...",
"gcloud_commands": ["gcloud ..."],
"componentParameters": null
},
{
"description": "...",
"gcloud_commands": null,
"componentParameters": [
{
"componentUri": "projects/.../components/comp-a",
"parameters": [
{ "key": "param1", "value": "new_value" },
{ "key": "param3", "value": "another" }
]
}
]
}
]
}step in troubleshootingSteps. Identify if gcloud_commands or component_parameters are provided.application_template_id from the Application object obtained in Step 2. The value is present at serialized_application_template.uri. Get the application_template_id from the uri.application_design_center:manage_application_template with APPLICATION_TEMPLATE_OPERATION_UPDATE_COMPONENT_PARAMETERS.application_design_center:manage_application_templateparent, applicationTemplateId, componentParameters, operation - APPLICATION_TEMPLATE_OPERATION_UPDATE_COMPONENT_PARAMETERS {
"applicationTemplateId": "my-template",
"componentParameters": [
{
"component": "projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-template/components/cloud-run-1",
"parameters": [
{
"key": "containers",
"value": [
{
"container_image": "us-docker.pkg.dev/cloudrun/container/hello",
"container_name": "service-container",
"ports": {
"container_port": 8080,
"name": "http1"
},
"resources": {
"cpu_idle": false,
"limits": {
"cpu": "4",
"memory": "16Gi"
},
"startup_cpu_boost": false
}
}
]
}
]
}
],
"operation": "APPLICATION_TEMPLATE_OPERATION_UPDATE_COMPONENT_PARAMETERS",
"parent": "projects/my-project/locations/us-central1/spaces/my-space"
}application_design_center:manage_applicationproject, location, spaceId, applicationTemplateUri, applicationId, serviceAccount. operation - APPLICATION_OPERATION_DEPLOYOperational Notes:
debug_deployment responses exactly as provided.PORT from being explicitly set as a Cloud Run environment variables as it is a reserved name.Following a successful deployment:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.