---
title: "Effect Client Wrapper Pattern - Air Market"
description: "You are writing with Effect and need to call a library that was not built for it, like a payments or email SDK. This is a repeatable pattern for wrapping that client so its errors, tracing and wiring…"
canonical: "https://airmarket.ai/app/effect-client-wrapper"
---

[Air Market](/) / [Developer Tools](/category/devtools) / Effect Client Wrapper Pattern

Skill by [Rhys Sullivan](/@rhyssullivan)

# Effect Client Wrapper Pattern

Make an outside SDK behave like the rest of your Effect code

## What this does

You are writing with Effect and need to call a library that was not built for it, like a payments or email SDK. This is a repeatable pattern for wrapping that client so its errors, tracing and wiring look like everything else you write. Reach for it the first time an outside SDK comes into the codebase.

### Top 3 things it does for you

- Wrap a promise-based SDK as an Effect service
- Get typed errors out of a third-party client
- Hand a wrapped client to the code that needs it

## Information

**Effect Client Wrapper Pattern at a glance**

|  |  |
| --- | --- |
| Kind | Skill |
| Publisher | [Rhys Sullivan](/@rhyssullivan) |
| Category | [Developer Tools](/category/devtools) |
| Works with | Agent Skills - an open standard supported by 40+ agents |
| Size | 5 KB |
| Licence | MIT |
| Repository | [RhysSullivan/executor](https://github.com/RhysSullivan/executor/tree/73a4482c53b11496eb3d5574262b8d77332b48fe/.skills/effect-use-pattern) |
| GitHub stars | 3,136 (as of Nov 2026) |

## Security report

**Verified.** AIR scanned this exact version of Effect Client Wrapper Pattern and flagged nothing. AIR's verdict: **safe**.

**What Effect Client Wrapper Pattern's check was run against**

|  |  |
| --- | --- |
| Commit | 73a4482c53b11496eb3d5574262b8d77332b48fe |
| Content hash | 19709291d9667f1992b707e03105f4c66a69b41c245acb6978dc81cf4185c53c |
| Files read | [Browse the files at this exact commit](https://github.com/RhysSullivan/executor/blob/73a4482c53b11496eb3d5574262b8d77332b48fe/.skills/effect-use-pattern/SKILL.md) |

A scan is named by the exact content it read, not by a version number. A different version is a different artifact, and nothing here applies to a version AIR has not scanned.

[Read the full security report for Effect Client Wrapper Pattern](/security/effect-client-wrapper)

## About Effect Client Wrapper Pattern

A pattern for wrapping third-party SDK clients with Effect, the kind with promise-based APIs. Stripe, Resend and AWS are the sort of client it has in mind.

What the wrapping gives you is type-safe error handling, automatic tracing, and dependency injection through the "use" pattern.

## What's inside

- SKILL.md - instructions

## Questions

### Is Effect Client Wrapper Pattern safe to install?

AIR scanned this exact version of Effect Client Wrapper Pattern and flagged nothing. AIR's verdict: safe. The verdict is named by the content that was read, at commit 73a4482c53b1, so it cannot drift onto a version nobody scanned. The full report is at https://airmarket.ai/security/effect-client-wrapper.

### How do I install Effect Client Wrapper Pattern?

Open https://airmarket.ai/app/effect-client-wrapper on Air Market and use the install action: Air Market hands Claude a prompt naming this exact skill, and Claude sets it up. Source, pinned to the exact commit this listing describes: https://github.com/RhysSullivan/executor/tree/73a4482c53b11496eb3d5574262b8d77332b48fe/.skills/effect-use-pattern. Install from that link, not the branch.

## Related on Air Market

- [More Developer Tools listings](/category/devtools)
- [Everything by Rhys Sullivan](/@rhyssullivan)

---

Canonical URL: <https://airmarket.ai/app/effect-client-wrapper>
