jaws

Create typed Java proxies for Amazon S3 bucket operations.

2|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/tomitribe/claude-plugins --skill jaws
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jaws
Source: https://github.com/tomitribe/claude-plugins/tree/main/plugins/jaws/skills/jaws
Command: npx skills add https://github.com/tomitribe/claude-plugins --skill jaws

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

JAWS provides a strongly-typed, proxy-based abstraction for Amazon S3, allowing developers to model bucket structures as Java interfaces and avoid boilerplate code when performing common S3 operations.

Core Features & Use Cases

  • Define interfaces extending S3.Dir or S3.File to mirror your bucket layout and create typed proxies with bucket.as(MyInterface.class).
  • Navigate, read, and upload objects through strongly-typed methods, with compile-time type safety and minimal AWS SDK boilerplate.
  • Real-world use: model a bucket with Group/Artifact/Version interfaces and fetch a version's jar via version.jars() or version.pom() proxies.

Quick Start

Create a typed proxy at the bucket root with bucket.as(MyInterface.class) and begin calling methods that map S3 keys to interfaces.

Frequently Asked Questions about jaws

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create type-safe S3 bucket operations in Java?

Type-safe S3 proxies in Java model bucket structures as interfaces extending S3.Dir or S3.File. You create them with bucket.as(MyInterface.class) and call methods mapping S3 keys to interfaces, avoiding AWS SDK boilerplate while ensuring compile-time safety.

How do I map Amazon S3 bucket keys to Java interfaces?

You map Amazon S3 bucket keys to Java interfaces by defining typed proxies extending S3.Dir or S3.File. Dispatching proxies based on method return types and annotations allows you to navigate, read, and write objects through strongly-typed methods.

Can I fetch specific files like jars or poms using typed S3 proxies?

You can fetch specific files like jars or poms by modeling your bucket with Group, Artifact, and Version interfaces. Calling version.jars() or version.pom() on the typed proxy fetches the corresponding S3 objects with compile-time safety.

Does this type-safe S3 proxy require any external dependencies?

This type-safe S3 proxy library requires no external dependencies. It provides an intermediate-level abstraction layer that generates strongly-typed proxies directly, allowing you to model bucket structures as Java interfaces without additional setup barriers.

What is the best way to reduce AWS SDK boilerplate for S3 read and write operations?

The best way to reduce AWS SDK boilerplate for S3 read and write operations is using type-safe proxies. By creating interfaces that mirror your bucket layout and instantiating them with bucket.as(Type.class), you perform reads and writes via strongly-typed methods with minimal boilerplate.