generating-aws-diagrams
Generates DrawIO XML diagrams for Amazon Web Services architectures from text descriptions or images. Analyzes existing .drawio files to extract AWS components. Use for AWS architecture diagrams, cloud infrastructure documentation, or when converting AWS diagram images to editable DrawIO format.
What this skill does
# AWS DrawIO Diagram Generator
Generates professional DrawIO XML diagrams for Amazon Web Services architectures.
## Capabilities
1. **Extract** - Analyze existing DrawIO XML files to identify AWS shapes, connections, and structure
2. **Identify** - Recognize AWS service icons from architecture diagram images
3. **Generate** - Create valid DrawIO XML from images or text descriptions
4. **Convert** - Transform AWS architecture diagrams into editable DrawIO format
## Quick Reference
### AWS Shape Patterns
There are two icon types. Use **service icons** when labeling the AWS service itself, and **instance icons** when representing a specific resource.
**Service icon** (colored square background) — for labeling the service:
```
shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.{shape_name}
```
**Instance icon** (bare icon, no background) — for specific resources:
```
shape=mxgraph.aws4.{shape_name};fillColor={category_color}
```
> **CRITICAL:** Always keep `fillColor` set to the category color. Without it the icon renders white/invisible. The only difference from a service icon is the absence of the `resourceIcon` background square — never remove `fillColor` when using an instance icon.
| Scenario | Icon Type | Label Example |
|----------|-----------|---------------|
| The AWS service itself | **Service** (with background) | "AWS Lambda", "Amazon RDS" |
| A specific resource/instance | **Instance** (no background) | "Order Processor", "Users Table" |
| Multiple instances of same service | **Instance** (no background) | "ECS Task 1", "ECS Task 2" |
### CRITICAL: Underscore-Separated Names
**Multi-word AWS shape names use UNDERSCORES in style properties!**
- `step_functions` (correct)
- `api_gateway` (correct)
- `kinesis_data_streams` (correct)
- `step functions` (WRONG - will not render)
- `api gateway` (WRONG - will not render)
The aws4.xml stencil defines names with spaces, but DrawIO's style parser requires underscores.
**Always look up exact names in `assets/aws-icons.json` before using.**
### Common AWS Services
| Service | Service Icon (with background) | Instance Icon (no background) |
|---------|-------------------------------|-------------------------------|
| Lambda | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda` | `shape=mxgraph.aws4.lambda` |
| Amazon S3 | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3` | `shape=mxgraph.aws4.s3` |
| Amazon EC2 | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ec2` | `shape=mxgraph.aws4.ec2` |
| DynamoDB | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb` | `shape=mxgraph.aws4.dynamodb` |
| API Gateway | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway` | `shape=mxgraph.aws4.api_gateway` |
| Amazon SQS | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs` | `shape=mxgraph.aws4.sqs` |
| Amazon SNS | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sns` | `shape=mxgraph.aws4.sns` |
| Step Functions | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.step_functions` | `shape=mxgraph.aws4.step_functions` |
| Amazon ECS | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecs` | `shape=mxgraph.aws4.ecs` |
| Amazon RDS | `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.rds` | `shape=mxgraph.aws4.rds` |
### AWS Container Types
| Container | Use Case |
|-----------|----------|
| aws_cloud | Top-level AWS Cloud boundary |
| aws_region | Region grouping |
| aws_availability_zone | AZ grouping |
| aws_vpc | VPC boundary |
| aws_public_subnet | Public subnet |
| aws_private_subnet | Private subnet |
| aws_security_group | Security group boundary |
| aws_auto_scaling_group | Auto scaling group |
| aws_account | AWS Account boundary |
| aws_corporate_datacenter | Corporate datacenter |
| aws_generic_group | Generic grouping |
| aws_step_functions_workflow | Step Functions workflow |
| aws_elastic_beanstalk_container | Elastic Beanstalk app |
---
## Task 1: Analyze a DrawIO File
Use this workflow to extract and document all components from an existing DrawIO file.
### Steps
1. **Read the file** - Load the `.drawio` XML file
2. **Parse structure** - Extract all `<mxCell>` elements
3. **Identify shapes** - Find cells with `vertex="1"`
4. **Identify connections** - Find cells with `edge="1"`
5. **Extract styles** - Parse style strings for each element
6. **Map hierarchy** - Build container/child relationships using `parent` attribute
7. **Generate report** - Output findings in structured format
### Input
- Path to `.drawio` file
### Output
Generate a Markdown report with:
```markdown
# DrawIO Analysis Report
## Summary
- Total shapes: X
- Total connections: Y
- Containers: Z
## Shape Inventory
| ID | Label | Type | Position | Parent |
|----|-------|------|----------|--------|
| abc | Lambda | mxgraph.aws4.lambda | (100,200) | vpc1 |
## Connection Matrix
| From | To | Label | Type |
|------|-----|-------|------|
| Lambda | DynamoDB | API | solid |
## Container Hierarchy
- VPC (vpc1)
- Lambda (lambda1)
- Lambda (lambda2)
- DynamoDB (db1)
## Style Analysis
### Unique Shapes Found
- mxgraph.aws4.lambda (4 instances)
- mxgraph.aws4.dynamodb (2 instances)
```
---
## Task 2: Convert Image to DrawIO
Use this workflow to recreate an AWS architecture diagram from an image.
### Steps
1. **Analyze image** - Identify all visual elements:
- AWS service icons (shape, color, label)
- Containers/boundaries (color, border style)
- Connections (solid, dashed, arrows)
- Labels and text
2. **Map to library** - For each identified element:
- Look up in `assets/aws-icons.json` by visual signature or label
- Match containers to `assets/aws-containers.json`
- **CRITICAL:** Verify underscore-separated names for multi-word services (e.g., `step_functions`, not `step functions`)
- Note any unrecognized elements
3. **Estimate layout** - Determine positions:
- Identify container boundaries first
- Place icons within containers
- Estimate x,y coordinates and dimensions
- Standard icon size: **64x64 pixels**
4. **Generate XML** - Build the DrawIO structure:
- Start with base template from `assets/templates/drawio-base.xml`
- Add containers first (they become parents)
- Add service icons with correct parent references
- Add connections between shapes
5. **Create confidence report** - Document accuracy:
- List all identified components
- Note any uncertain matches
- Flag potential issues
### Input
- AWS architecture diagram image (PNG/JPG)
### Output
1. Valid `.drawio` XML file
2. Confidence report (Markdown)
### Confidence Report Format
```markdown
# Conversion Confidence Report
## Overall Confidence: 85%
## Identified Components
### High Confidence (>90%)
- Lambda x4 - Clear icon match
- DynamoDB x2 - Clear icon match
- VPC container - Purple border, correct label
### Medium Confidence (70-90%)
- Step Functions - Icon similar, label confirms (using `step_functions` with underscores)
### 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
- VPC subnet grouping identified
- Bidirectional arrows on 3 connections
```
---
## Task 3: Create DrawIO from Description
Use this workflow to generate a new AWS diagram from text specifications.
### Steps
1. **Parse requirements** - Extract from description:
- Required AWS services
- Container/grouping needs
- Connection requirements
- Layout preferences
2. **Select components** - From libraries:
- Look up services in `assets/aws-icons.json`
- Choose containers from `assets/aws-containers.json`
- **Choose icon type:** Use **service icons** (with background) for generic service labels, **instance icons** (no background) for specific resources (see Quick Reference)
- **VERIFY:** Underscore-separated names for multi-word services in style strings
- SeRelated in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.