Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计未展示

aws-wtfAWS WTF 搜索

Agent Skill

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

总安装

618

周安装

26

GitHub Stars

公开资料未说明

下载量

216
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:aws-wtf(AWS WTF 搜索)
来源仓库:https://github.com/opsyhq/opsy
仓库路径:skills/aws-wtf
安装命令:
npx skills add opsyhq/opsy --skill "aws-wtf"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add opsyhq/opsy --skill "aws-wtf"

简介

aws-wtf 用于快速诊断 AWS 账户中的异常或可疑活动。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中进行安全态势感知。
  • 通过 npx skills add opsyhq/opsy --skill "aws-wtf" 安装。
  • 依赖 CloudTrail 和 GuardDuty 数据源,需开启日志记录。
  • 告警信息应由专业人员进一步调查确认。

SKILL.md

name
aws-wtf
description
AWS charge explainer for Opsy. Use when users ask "what am I paying for", "explain my AWS bill", "where is my money going", "break down AWS charges", "what is this charge for", "why am I being charged", "cost breakdown", or want to understand any AWS charge.

AWS WTF Skill for Opsy

Explains every charge on your AWS bill — what it is, why you're paying, and what resource caused it.

⚠️ Mandatory Output

You MUST automatically generate and save a CSV file at the end of every analysis. Do not wait for the user to ask. The analysis is incomplete until the CSV exists.

Step 1: Cost Explorer (Two Queries Required)

Run BOTH queries to detect credit coverage:

# Query 1: Normal (shows $0 if credits cover costs)
aws ce get-cost-and-usage \
  --time-period Start=$(date -v-30d +%Y-%m-%d),End=$(date +%Y-%m-%d) \
  --granularity MONTHLY \
  --metrics "UnblendedCost" "UsageQuantity" \
  --group-by Type=DIMENSION,Key=SERVICE

# Query 2: Exclude credits (shows ACTUAL usage cost)
aws ce get-cost-and-usage \
  --time-period Start=$(date -v-30d +%Y-%m-%d),End=$(date +%Y-%m-%d) \
  --granularity MONTHLY \
  --metrics "UnblendedCost" "UsageQuantity" \
  --group-by Type=DIMENSION,Key=SERVICE \
  --filter '{"Not": {"Dimensions": {"Key": "RECORD_TYPE", "Values": ["Credit", "Refund"]}}}'

Interpretation:

  • Query 1 = $0, Query 2 = $X → Credits covering $X actual usage
  • Query 1 = Query 2 = $0 → Real free tier
  • Query 1 = Query 2 = $X → Normal billing

If credits detected, warn user: "Your bill shows $0 but actual usage is $X/month. When credits run out, you WILL be charged."

Step 2: Identify ALL Regions

aws ce get-cost-and-usage \
  --time-period Start=$(date -v-30d +%Y-%m-%d),End=$(date +%Y-%m-%d) \
  --granularity MONTHLY \
  --metrics "UnblendedCost" \
  --group-by Type=DIMENSION,Key=REGION \
  --filter '{"Not": {"Dimensions": {"Key": "RECORD_TYPE", "Values": ["Credit", "Refund"]}}}'

You MUST enumerate resources in EVERY region showing charges > $0.01.

Step 3: Enumerate ALL Resources

For each region with charges, query ALL applicable services using --region $REGION:

  • aws ec2 describe-instances
  • aws ec2 describe-volumes
  • aws ec2 describe-snapshots --owner-ids self
  • aws ec2 describe-addresses
  • aws ec2 describe-nat-gateways
  • aws rds describe-db-instances
  • aws elbv2 describe-load-balancers
  • aws ecs list-clustersdescribe-clusterslist-serviceslist-tasks
  • aws eks list-clustersdescribe-cluster
  • aws lambda list-functions
  • aws s3api list-buckets (global) → get-bucket-location per bucket
  • aws ecr describe-repositories
  • aws secretsmanager list-secrets
  • aws logs describe-log-groups
  • aws kms list-keys
  • aws route53 list-hosted-zones (global)

ARN Construction

For resources without ARN in response, construct: arn:aws:{service}:{region}:{account}:{resource-type}/{id}

Examples:

  • EC2: arn:aws:ec2:us-east-1:123456789012:instance/i-abc123
  • EBS: arn:aws:ec2:us-east-1:123456789012:volume/vol-abc123
  • S3: arn:aws:s3:::bucket-name

⚠️ CRITICAL: Every Charge Must Have Identification

Every row in the CSV MUST have a resource identifier (ARN + resource_id) UNLESS it is truly untraceable.

What CAN Be Traced (MUST have ARN)

ANY charge from these services MUST be traced to a specific resource:

ServiceHas ARNExample
EC2✅ AlwaysInstance, Volume, Snapshot, EIP, NAT Gateway
S3✅ AlwaysBucket
RDS✅ AlwaysInstance
ECS/EKS✅ AlwaysCluster, Service, Task
Lambda✅ AlwaysFunction
ALB/NLB✅ AlwaysLoad Balancer
CloudWatch Logs✅ AlwaysLog Group
Secrets Manager✅ AlwaysSecret
KMS✅ AlwaysKey
ECR✅ AlwaysRepository
Route 53✅ AlwaysHosted Zone

If Cost Explorer shows charges for these but you can't find the resource → it was deleted mid-period. Put ARN as DELETED - {service} and note in description.

What CANNOT Be Traced (N/A allowed)

Only these charges are truly untraceable to a single resource:

Charge TypeWhy Untraceable
Data Transfer OutAggregated from multiple sources
Data Transfer Inter-RegionNo single source
Data Transfer Inter-AZNo single source
Support PlanAccount-level
TaxAccount-level
CloudWatch Custom Metrics (aggregated)No single dimension

For these only: use arn: N/A - Service-level charge or N/A - Account-level charge

Verification Rule

Before marking ANY charge as N/A, ask: "Is there a specific AWS resource that caused this?"

  • If YES → find it, get its ARN
  • If NO (only data transfer, support, tax) → N/A is acceptable

Elastic IP Verification

Check AssociationId before calling an IP "unattached":

  • AssociationId present → attached (even if InstanceId is empty)
  • NetworkInterfaceOwnerId = "amazon-..." → service-managed (ALB, RDS, NAT)

Public IPv4 Charges

AWS charges $0.005/hr ($3.60/mo) per public IPv4. Find all sources:

  • EC2 public IPs, Elastic IPs, internet-facing ALBs, NAT Gateways

CSV Output (Mandatory)

Filename: aws-wtf-{account-id}-{date}.csv

account_id,resource_name,charge_category,charge_explanation,monthly_cost_usd,status,resource_id,arn,region,resource_type,tags,description

Column Definitions

ColumnDescription
account_idAWS account ID
resource_nameName tag (empty if untagged)
charge_categoryCompute, Storage, Database, Networking, Container, Serverless, Monitoring, DNS, Security, Data Transfer, Support, Tax
charge_explanationWhat you're paying for: EC2 t3.small, EBS gp3 20GB, ALB hourly
monthly_cost_usdActual cost (not $0 even if credit-covered)
statusBilled, Free-Tier, Credit-Offset
resource_idAWS resource ID or N/A for non-resource charges
arnFull ARN or N/A - Service-level charge
regionAWS region or global
resource_typeEC2, EBS, RDS, S3, Lambda, etc.
tagskey=value,key=value
descriptionCost breakdown: 720 hrs × $0.10/hr, details

One Row Per Charge Type

A resource can have multiple rows:

  • EC2: Compute hours + Public IPv4
  • RDS: Instance hours + Storage
  • ALB: Hourly + LCU + Public IPv4
  • ECS Fargate: vCPU + Memory

Example

account_id,resource_name,charge_category,charge_explanation,monthly_cost_usd,status,resource_id,arn,region,resource_type,tags,description
550435500798,api-server,Compute,EC2 t3.small,15.18,Credit-Offset,i-abc123,arn:aws:ec2:us-east-1:550435500798:instance/i-abc123,us-east-1,EC2,"Env=prod","720 hrs × $0.0211/hr"
550435500798,api-server,Networking,Public IPv4,3.60,Credit-Offset,i-abc123,arn:aws:ec2:us-east-1:550435500798:instance/i-abc123,us-east-1,EC2-IPv4,,"720 hrs × $0.005/hr"
550435500798,/aws/lambda/func,Monitoring,CloudWatch Logs,0.45,Credit-Offset,/aws/lambda/func,arn:aws:logs:us-east-1:550435500798:log-group:/aws/lambda/func,us-east-1,CloudWatch-Logs,,"15GB × $0.03/GB"
550435500798,,Data Transfer,Egress to Internet,12.00,Billed,N/A,N/A - Service-level charge,us-east-1,DataTransfer,,"133GB × $0.09/GB"

Summary Report

## AWS Bill Breakdown
**Account:** {id} | **Period:** {start} to {end}

### Cost Summary
| Metric | Amount |
|--------|--------|
| Actual Usage | $XXX |
| Credits Applied | -$XXX |
| **You Pay** | **$X.XX** |

### By Category
| Category | Amount | % |
|----------|--------|---|
| Compute | $XX | X% |
| Storage | $XX | X% |
...

### Top Charges
| Resource | Type | Cost | Description |
|----------|------|------|-------------|
| {name} | {type} | $XX | {explanation} |

Completion Checklist

  • [ ] Cost Explorer: both queries (with/without credits)
  • [ ] All regions identified and enumerated
  • [ ] All resources listed with ARNs
  • [ ] CSV file saved
  • [ ] Summary shown to user

Analysis is INCOMPLETE until CSV file exists.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

30.09%
按下载量换算65

OpenCode

25.18%
按下载量换算54

Cursor

17.46%
按下载量换算38

Codex

12.74%
按下载量换算28

Antigravity

8.14%
按下载量换算18

Gemini CLI

3.88%
按下载量换算8

安全审计

暂无安全审计结果可展示。

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills