Generates DrawIO XML diagrams for Google Cloud Platform architectures from text descriptions or images. Analyzes existing .drawio files to extract GCP components. Use for GCP architecture diagrams, cloud infrastructure documentation, or when converting GCP diagram images to editable DrawIO format.
npx claudepluginhub a5c-ai/babysitterThis skill is limited to using the following tools:
README.mdassets/ICON-COMPATIBILITY.mdassets/containers.jsonassets/gcp-icons.jsonassets/templates/connection-template.xmlassets/templates/drawio-base.xmlassets/templates/node-template.xmlreferences/DIAGRAM-BEST-PRACTICES.mdreferences/ICON-COMPATIBILITY.mdreferences/coordinate-system.mdreferences/style-guide.mdreferences/xml-examples.mdreferences/xml-parser-guide.mdscripts/analyze-existing.pyscripts/export-diagram.shscripts/extract-shape-names.pyscripts/fix-drawio-icons.pyscripts/fix-gcp-icons.pyscripts/open-diagram.shscripts/validate-drawio.pyGenerates professional DrawIO XML diagrams for Google Cloud Platform architectures.
shape=mxgraph.gcp2.{service_name}
Note: GCP uses snake_case for shape names (e.g., cloud_run, cloud_sql, cloud_storage).
Icon Pattern: Unlike AWS, GCP uses a single icon pattern for all services — there is no service vs instance icon distinction. The same shape=mxgraph.gcp2.{name} is used whether labeling the service itself ("Cloud Run") or a specific instance ("Cloud Run (API Handler)"). Differentiate by label text only.
| Service | Shape Code |
|---|---|
| Cloud Run | mxgraph.gcp2.cloud_run |
| BigQuery | mxgraph.gcp2.bigquery |
| Cloud Storage | mxgraph.gcp2.cloud_storage |
| Vertex AI | mxgraph.gcp2.cloud_machine_learning |
| Cloud Scheduler | mxgraph.gcp2.cloud_scheduler |
| Apigee | mxgraph.gcp2.apigee_api_platform |
| Pub/Sub | mxgraph.gcp2.cloud_pubsub |
| Cloud SQL | mxgraph.gcp2.cloud_sql |
| GKE | mxgraph.gcp2.compute_engine |
| Cloud Functions | mxgraph.gcp2.cloud_functions |
| Container | Use Case |
|---|---|
| gcp_project | Main project boundary (two-cell pattern) |
| gcp_vpc_sc | VPC Service Controls perimeter (green border) |
| gcp_region | Regional grouping |
| gcp_zone | Zone grouping |
| logical_group_dashed | Logical grouping with dashed border |
| logical_group_solid | Solid border grouping |
| subnet | Subnet boundary |
| firewall_rules | Firewall rules grouping |
| instance_group | Instance group container |
Use this workflow to extract and document all components from an existing DrawIO file.
.drawio XML file<mxCell> elementsvertex="1"edge="1"parent attribute.drawio fileGenerate a Markdown report with:
# DrawIO Analysis Report
## Summary
- Total shapes: X
- Total connections: Y
- Containers: Z
## Shape Inventory
| ID | Label | Type | Position | Parent |
|----|-------|------|----------|--------|
| abc | Cloud Run | mxgraph.gcp2.cloud_run | (100,200) | vpc1 |
## Connection Matrix
| From | To | Label | Type |
|------|-----|-------|------|
| Cloud Run | BigQuery | API | solid |
## Container Hierarchy
- VPC-SC (vpc1)
- Cloud Run (run1)
- Cloud Run (run2)
- BigQuery (bq1)
## Style Analysis
### Unique Shapes Found
- mxgraph.gcp2.cloud_run (4 instances)
- mxgraph.gcp2.bigquery (2 instances)
Use this workflow to recreate a GCP architecture diagram from an image.
Analyze image - Identify all visual elements:
Map to library - For each identified element:
assets/gcp-icons.json by visual signature or labelassets/containers.jsonEstimate layout - Determine positions:
Generate XML - Build the DrawIO structure:
assets/templates/drawio-base.xmlCreate confidence report - Document accuracy:
.drawio XML file# Conversion Confidence Report
## Overall Confidence: 85%
## Identified Components
### High Confidence (>90%)
- Cloud Run x4 - Clear icon match
- BigQuery x2 - Clear icon match
- VPC-SC container - Green border, correct label
### Medium Confidence (70-90%)
- Vertex AI Search - Icon similar, label confirms
### Low Confidence (<70%)
- Unknown icon at position (300, 400) - Mapped to generic service
## Connection Accuracy
- 12/14 connections clearly visible
- 2 connections inferred from layout
## Notes
- "Same Instance" dashed container identified
- Bidirectional arrows on 3 connections
Use this workflow to generate a new GCP diagram from text specifications.
Parse requirements - Extract from description:
Select components - From libraries:
assets/gcp-icons.jsonassets/containers.jsonPlan layout - Design the arrangement:
Generate XML - Build the diagram:
assets/templates/drawio-base.xml as starting pointValidate - Check the output:
.drawio XML fileCreate a GCP architecture with:
- VPC-SC container
- Cloud Scheduler triggering Cloud Run
- Cloud Run connecting to BigQuery and Cloud Storage
- Vertex AI Search connected to BigQuery
<mxfile ...>
<diagram name="GCP Architecture">
<mxGraphModel ...>
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- VPC-SC Container -->
<mxCell id="vpc" value="VPC-SC" style="..." vertex="1" parent="1">
<mxGeometry x="50" y="50" width="700" height="400" />
</mxCell>
<!-- Cloud Scheduler -->
<mxCell id="sched" value="Cloud Scheduler" style="...mxgraph.gcp2.cloud_scheduler" vertex="1" parent="vpc">
<mxGeometry x="50" y="100" width="50" height="50" />
</mxCell>
<!-- More shapes... -->
<!-- Connections -->
<mxCell id="conn1" edge="1" source="sched" target="run" style="..." />
</root>
</mxGraphModel>
</diagram>
</mxfile>
assets/gcp-icons.jsonservice_name or recognition_keywordsdrawio_shape.full_style for complete stylingshape=mxgraph.gcp2.{shape_name}Service Coverage:
Note: 6 services use fallback icons (Workflows, Eventarc, Artifact Registry, Cloud Deploy, Secret Manager, Identity Platform) as they're newer services not yet in DrawIO's mxgraph.gcp2 stencil. See references/ICON-COMPATIBILITY.md for complete validation details.
| Category | Services |
|---|---|
| compute | Cloud Run, Compute Engine, GKE, Cloud Functions, App Engine |
| database | BigQuery, Cloud SQL, Firestore, Spanner, Bigtable, Memorystore |
| storage | Cloud Storage, Filestore, Persistent Disk |
| networking | VPC, Load Balancing, CDN, DNS, Armor, Cloud NAT |
| ai_ml | Vertex AI, AI Platform, Vision, NLP, Speech-to-Text |
| integration | Pub/Sub, Cloud Tasks, Workflows, Eventarc, Scheduler |
| operations | Logging, Monitoring, Trace, Error Reporting |
| api_management | Apigee, API Gateway |
| data_analytics | Dataflow, Dataproc, Cloud Composer |
| devops | Cloud Build, Artifact Registry, Container Registry, Cloud Deploy |
| security | Cloud KMS, Secret Manager, Identity Platform |
For detailed visual design guidelines, see references/DIAGRAM-BEST-PRACTICES.md.
The GCP Project container uses two cells, not one:
fillColor=#F6F6F6;strokeColor=none; and HTML value <b>Google </b>Cloud Platformshape=mxgraph.gcp2.google_cloud_platform at 23x20px with relative=1 geometrySee assets/templates/node-template.xml for the exact template.
fontColor=#424242 (dark gray)fontColor=#717171fontColor=#2E7D32 (dark green)fontColor=#424242Always add these properties to labeled connections:
labelBackgroundColor=#FFFFFF;fontSize=10;fontColor=#333333;
strokeWidth=1 for most connectionsstrokeWidth=2 only for primary data paths (use sparingly - max 1-3 per diagram)edgeStyle=orthogonalEdgeStyle for professional appearanceFor complete XML examples and detailed structure, see references/xml-examples.md.
The key building blocks:
<mxCell id="..." value="Label" style="..." vertex="1" parent="1"> with <mxGeometry><mxCell id="..." edge="1" source="..." target="..." style="...">container=1 in style; children set parent to container ID<mxCell id="0"/> and <mxCell id="1" parent="0"/>For XML parsing and extraction techniques, see references/xml-parser-guide.md.
mxgraph.gcp2.cloud_run (underscore, not hyphen)vertex="1" is present<mxGeometry> has valid width/height (50x50)edge="1" is setparent attribute to container's IDcontainer=1 in stylevalue attribute is setfontSize is reasonable (11-14)fontColor=#424242 is setid="0" and id="1" root cells exist
 for newlines)After generating a .drawio file, you can validate and preview it:
python scripts/validate-drawio.py output.drawio --verbosepython scripts/analyze-existing.py output.drawio --markdownpython scripts/validate-gcp-icons.py./scripts/export-diagram.sh output.drawio png./scripts/open-diagram.sh output.drawioRequires DrawIO Desktop. Install on macOS: brew install drawio
| File | Purpose |
|---|---|
SKILL.md | This file - main instructions |
| Assets | |
assets/gcp-icons.json | GCP service icon database (46 services) |
assets/containers.json | GCP container and connection styles |
assets/templates/drawio-base.xml | Base XML template |
assets/templates/node-template.xml | Shape insertion template |
assets/templates/connection-template.xml | Connection template |
| References | |
references/ICON-COMPATIBILITY.md | Icon validation reference |
references/DIAGRAM-BEST-PRACTICES.md | Visual design and layout guidelines |
references/xml-parser-guide.md | Detailed XML parsing reference |
references/xml-examples.md | Copy-paste XML examples |
references/coordinate-system.md | Positioning and layout guide |
references/style-guide.md | Style string reference |
| Scripts | |
scripts/validate-drawio.py | Validate .drawio XML structure |
scripts/validate-gcp-icons.py | Validate GCP icon compatibility |
scripts/fix-gcp-icons.py | Auto-fix icon shape names |
scripts/fix-drawio-icons.py | Bulk fix icon references in .drawio files |
scripts/extract-shape-names.py | Extract available shapes from DrawIO stencil |
scripts/analyze-existing.py | Extract shapes/connections from .drawio files |
scripts/export-diagram.sh | Export to PNG/PDF via DrawIO Desktop CLI |
scripts/open-diagram.sh | Open .drawio file in DrawIO Desktop |
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.