← Back to Skills Marketplace
crazylion

aws-price-csv

by crazylion · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
343
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install aws-price-csv
Description
Generate AWS cost CSVs from a user-provided service list. Use when someone supplies an item list + AWS region and needs per-item pricing plus totals via AWS...
README (SKILL.md)

AWS Price CSV Skill

Overview

Transforms a user-provided AWS service list (instances, volumes, S3 buckets, etc.) into a pricing CSV. The script can query the AWS Price List API (via aws-cli) or reuse cached bulk JSON files. It supports On-Demand and Reserved terms and automatically adds up per-item and total costs.

Quick Start

  1. Prepare a YAML/JSON file with name, service_code, filters, term, and usage fields (see sample in references/api_reference.md).
  2. Pick the data source:
    • API mode – requires aws pricing get-products permission and an internet connection.
    • Bulk mode – no IAM access required; the script downloads/caches public bulk JSON files.
  3. Run the script with the region and desired options:
    python3 scripts/generate_pricing_csv.py \
      --input inputs/sample.yml \
      --region ap-northeast-1 \
      --source bulk \
      --cache-dir ~/.cache/aws-price-csv \
      --output quotes/apac_quote.csv
    
  4. Inspect the CSV (each line item + TOTAL) and deliver alongside the original request if needed.

Workflow

1. Prepare the input list

  • Use the YAML/JSON templates in references/api_reference.md.
  • filters must map to AWS pricing attributes (instanceType, regionCode, volumeApiName, usagetype, termType, etc.).
  • term.type: OnDemand or Reserved (RI).
  • term.attributes (optional) filter Reserved prices (LeaseContractLength, PurchaseOption, OfferingClass, ...).
  • usage.quantity represents the amount to multiply (hours, GB-Mo, requests, ...).

2. Choose the data source

Mode When to use Notes
API (--source api) You already have IAM creds and want real-time data Uses aws pricing get-products in us-east-1
Bulk (--source bulk) Offline, no IAM, or you want caching The script checks --cache-dir (default ~/.cache/aws-price-csv); cached files newer than 30 days are reused, otherwise they are re-downloaded

You can still override with --bulk-files ServiceCode=/path/to/file.json; those files win over the cache.

3. Generate the CSV

  • Script path: scripts/generate_pricing_csv.py
  • Key arguments:
    • --input: YAML/JSON list
    • --region: AWS region code (location name is auto-added to filters)
    • --output: CSV path (default aws_pricing.csv)
    • --source: api (default) or bulk
    • --cache-dir: bulk cache directory (default ~/.cache/aws-price-csv)
    • --force-refresh: ignore cached bulk files and re-download
    • --bulk-files: ServiceCode=/path/to/file.json overrides the cache
  • Output columns: item_name, service_code, term_type, region, location, quantity, usage_unit, price_unit, price_per_unit_usd, cost_usd, description, plus a TOTAL row.

4. Validate & deliver

  • Review the CSV to ensure every line item has pricing and a description.
  • Confirm the TOTAL matches expectations.
  • Include the source list or any supporting docs if required.

Troubleshooting

Issue Fix
aws pricing returns empty results Double-check filters (location, regionCode, termType, etc.) or fall back to bulk mode
aws CLI missing Install aws-cli v2, configure credentials, or rely on bulk mode
Need to refresh cached data Use --force-refresh or delete the cached JSON so it gets re-downloaded
PyYAML missing pip install pyyaml or convert input to JSON
Reserved price not found Add LeaseContractLength, PurchaseOption, OfferingClass inside term.attributes

Resources

  • scripts/generate_pricing_csv.py – main script with API/bulk support, caching logic, and On-Demand/Reserved handling.
  • references/api_reference.md – Price List API examples, bulk download pointers, region/location table, and sample input templates (including gp3 and RI cases).
Usage Guidance
This appears to be a legitimate AWS pricing CSV tool, but review these practical points before using it: (1) If you run in API mode the script will call the local aws-cli and therefore use whatever AWS credentials are configured on the machine — ensure those credentials have only the minimal permission (pricing:GetProducts) you intend to permit. (2) Bulk mode will download large JSON files from the official AWS pricing endpoint and store them in your cache directory (~/.cache/aws-price-csv by default) — check disk space and network policy. (3) Because the package includes runnable Python scripts, inspect them locally and run them in a controlled environment (or a container) if you don't fully trust the source. (4) The repository contains two copies of the same script and some minor doc/code mismatches; that is not itself malicious but you may want to verify which file/version you run. If you want added assurance, run a dry-run (--dry-run) first, or use bulk files you supply instead of API mode.
Capability Analysis
Type: OpenClaw Skill Name: aws-price-csv Version: 1.0.0 The skill is designed to generate AWS pricing reports but contains high-risk capabilities including network access, file system operations, and execution of external commands. Specifically, `scripts/generate_pricing_csv.py` uses `urllib.request.urlopen` to fetch data from the official AWS pricing endpoint (pricing.us-east-1.amazonaws.com), writes to a local cache directory (~/.cache/aws-price-csv), and executes `aws` CLI commands via `subprocess.run`. While these actions are clearly aligned with the tool's stated purpose and no malicious intent or exfiltration logic was identified, the presence of these powerful capabilities qualifies the skill as suspicious under the provided security criteria.
Capability Assessment
Purpose & Capability
Name/description match the behavior: the scripts fetch pricing via the AWS Pricing CLI or download AWS-hosted bulk JSON and produce CSV output. The requested capabilities (none declared) and included code are reasonable for this purpose.
Instruction Scope
SKILL.md instructions stay within the stated purpose. One important runtime behavior is implicit: API mode invokes the local aws-cli, which will use whatever AWS credentials are configured on the host (shared credentials file / environment). SKILL.md documents API vs bulk modes. There is a small documentation/code mismatch (instructions mention compression of inputs/outputs, but the scripts do not appear to implement zipping).
Install Mechanism
No install spec and included code is pure Python. Network downloads (bulk mode) target the official AWS pricing host (pricing.us-east-1.amazonaws.com). There are no untrusted third-party download URLs or installers.
Credentials
The skill declares no required env vars or credentials, which aligns with the repo, but API mode implicitly relies on the host's AWS credentials (via aws-cli). This is proportionate for querying pricing (requires pricing:GetProducts). The script writes cached bulk JSON into a user cache dir (~/.cache/aws-price-csv by default), which is expected but should be noted.
Persistence & Privilege
No special persistence or elevated privileges are requested (always:false). The skill writes only its own cache files and output CSVs; it does not modify other skills or system-wide agent settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install aws-price-csv
  3. After installation, invoke the skill by name or use /aws-price-csv
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of aws-price-csv. - Generate AWS pricing CSVs from user-supplied service/item lists and regions. - Supports both live AWS Price List API and bulk JSON pricing queries. - Handles On-Demand and Reserved pricing terms, including key filters and contract types. - Outputs detailed cost breakdowns per item plus a total row in CSV format. - Includes caching and offline mode with cache refresh/override options. - Supports YAML/JSON input files and customizable output paths.
Metadata
Slug aws-price-csv
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is aws-price-csv?

Generate AWS cost CSVs from a user-provided service list. Use when someone supplies an item list + AWS region and needs per-item pricing plus totals via AWS... It is an AI Agent Skill for Claude Code / OpenClaw, with 343 downloads so far.

How do I install aws-price-csv?

Run "/install aws-price-csv" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is aws-price-csv free?

Yes, aws-price-csv is completely free (open-source). You can download, install and use it at no cost.

Which platforms does aws-price-csv support?

aws-price-csv is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created aws-price-csv?

It is built and maintained by crazylion (@crazylion); the current version is v1.0.0.

💬 Comments