Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Evaluate cloud security posture across AWS, Azure, and GCP with storage exposure checks, IAM policy review, and encryption validation.
.claude/skills/williamzujkowski-cloud-security-posture-analyzer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 156% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 10% | 0% |
Trigger conditions:
Not for:
Time normalization:
NOW_ET using NIST/time.gov semantics (America/New_York, ISO-8601): 2025-10-26T01:33:55-04:00NOW_ET for all citation access datesInput validation:
cloud_platform must be one of: aws, azure, gcp]resource_scope must be one of: storage, iam, network, compute, all]compliance_check must be one of: cis, well-architected, both, none]Source freshness:
Storage Security (AWS S3, Azure Storage, GCS):
IAM Security:
* resource or action)Network Security:
Compute Security (if scope includes compute):
For each finding, provide CLI commands or IaC snippets:
Token budgets:
Ambiguity thresholds:
Abort conditions:
Severity classification:
Required fields:
json{ "cloud_platform": "aws|azure|gcp", "resource_scope": "storage|iam|network|compute|all", "timestamp": "ISO-8601 with timezone", "findings": [ { "id": "unique identifier", "resource_type": "s3-bucket|iam-role|security-group|...", "resource_id": "ARN or resource identifier", "severity": "critical|high|medium|low", "cvss_score": 0.0, "title": "brief description", "description": "detailed finding", "platform_control": "CIS control ID or Well-Architected pillar", "remediation": "specific fix steps", "remediation_command": "CLI command or IaC snippet" } ], "compliance_status": { "framework": "cis|well-architected", "controls_assessed": ["list"], "controls_passed": ["list"], "controls_failed": ["list"] }, "summary": { "total_findings": 0, "critical_count": 0, "high_count": 0, "medium_count": 0, "low_count": 0, "overall_risk": "critical|high|medium|low" } }
Example: AWS S3 Security Check
yaml# Input cloud_platform: "aws" resource_scope: "storage" compliance_check: "cis" # Output (abbreviated) { "cloud_platform": "aws", "findings": [ { "id": "CLOUD-001", "resource_type": "s3-bucket", "resource_id": "arn:aws:s3:::public-data-bucket", "severity": "critical", "cvss_score": 9.1, "title": "S3 bucket publicly accessible", "remediation_command": "aws s3api put-public-access-block --bucket public-data-bucket --public-access-block-configuration BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true" } ], "summary": {"critical_count": 1, "overall_risk": "critical"} }
Token budgets:
Safety:
Auditability:
Determinism:
AWS Security:
Azure Security:
GCP Security:
Multi-Cloud:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→fail | 20,686 | 21,564 | +4% | 1 | 1 | 0% | 4,243 | 6,671 | +57% | 0 | 0 | — |
case-07 | fail→pass | 9,836 | 14,503 | +47% | 1 | 1 | 0% | 1,922 | 4,916 | +156% | 0 | 0 | — |
case-21 | fail→pass | 10,767 | 4,068 | -62% | 1 | 1 | 0% | 1,721 | 2,903 | +69% | 0 | 0 | — |
case-05 | fail→fail | 4,359 | 12,761 | +193% | 1 | 1 | 0% | 774 | 4,424 | +472% | 0 | 0 | — |
case-01 | fail→pass | 13,640 | 12,608 | -8% | 1 | 1 | 0% | 3,043 | 4,988 | +64% | 0 | 0 | — |
case-02 | fail→pass | 17,090 | 14,462 | -15% | 1 | 1 | 0% | 3,897 | 5,560 | +43% | 0 | 0 | — |
case-03 | fail→pass | 18,006 | 18,150 | +1% | 1 | 1 | 0% | 4,004 | 4,420 | +10% | 0 | 0 | — |
case-04 | pass→pass | 11,791 | 11,766 | -0% | 1 | 1 | 0% | 1,238 | 3,689 | +198% | 0 | 0 | — |
case-08 | fail→pass | 14,309 | 9,304 | -35% | 1 | 1 | 0% | 2,830 | 4,110 | +45% | 0 | 0 | — |
case-09 | fail→pass | 9,956 | 7,582 | -24% | 1 | 1 | 0% | 1,875 | 3,688 | +97% | 0 | 0 | — |
case-10 | pass→pass | 10,645 | 5,959 | -44% | 1 | 1 | 0% | 1,862 | 3,429 | +84% | 0 | 0 | — |
case-11 | pass→pass | 10,678 | 6,182 | -42% | 1 | 1 | 0% | 1,871 | 3,441 | +84% | 0 | 0 | — |
case-12 | pass→pass | 9,653 | 10,324 | +7% | 1 | 1 | 0% | 1,837 | 4,223 | +130% | 0 | 0 | — |
case-13 | pass→pass | 2,605 | 7,488 | +187% | 1 | 1 | 0% | 569 | 3,818 | +571% | 0 | 0 | — |
case-14 | pass→pass | 9,911 | 6,633 | -33% | 1 | 1 | 0% | 1,820 | 3,498 | +92% | 0 | 0 | — |
case-15 | pass→pass | 7,972 | 5,876 | -26% | 1 | 1 | 0% | 1,574 | 3,298 | +110% | 0 | 0 | — |
case-16 | fail→pass | 16,278 | 8,909 | -45% | 1 | 1 | 0% | 2,027 | 3,167 | +56% | 0 | 0 | — |
case-17 | fail→fail | 11,555 | 13,525 | +17% | 1 | 1 | 0% | 2,169 | 4,728 | +118% | 0 | 0 | — |
case-18 | pass→pass | 9,217 | 7,488 | -19% | 1 | 1 | 0% | 1,593 | 3,463 | +117% | 0 | 0 | — |
case-19 | fail→fail | 10,741 | 4,924 | -54% | 1 | 1 | 0% | 1,879 | 2,978 | +58% | 0 | 0 | — |
case-20 | pass→pass | 8,883 | 9,915 | +12% | 1 | 1 | 0% | 1,620 | 4,195 | +159% | 0 | 0 | — |
case-22 | pass→pass | 8,698 | 6,539 | -25% | 1 | 1 | 0% | 1,779 | 3,461 | +95% | 0 | 0 | — |
case-23 | pass→fail | 9,556 | 1,274 | -87% | 1 | 1 | 0% | 1,700 | 2,314 | +36% | 0 | 0 | — |
case-24 | pass→pass | 4,715 | 3,738 | -21% | 1 | 1 | 0% | 904 | 2,897 | +220% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +29 percentage points is the difference between those two pass rates over the 24 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.