adapter-pattern-typescript
To allow incompatible interfaces to work together by wrapping an object in an adapter that translates its interface into one that a client expects.
Skill by jyjeanne
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jyjeanne-adapter-pattern-typescript
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: finance
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/adapter-pattern-typescript
What's inside
- Skill name
adapter-pattern-typescript- Description
- To allow incompatible interfaces to work together by wrapping an object in an adapter that translates its interface into one that a client expects. Use when: When integrating a third-party library whose interface doesn't match your application's internal requirements; When you want to standardize multiple different implementations of a service (e.g., different payment gateways); When you need to provide a stable interface while the underlying dependency is subject to change.
- License
- MIT
- Instructions
- 87 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Purpose
To allow incompatible interfaces to work together by wrapping an object in an adapter that translates its interface into one that a client expects.
## When to Use
- When integrating a third-party library whose interface doesn't match your application's internal requirements.
- When you want to standardize multiple different implementations of a service (e.g., different payment gateways).
- When you need to provide a stable interface while the underlying dependency is subject to change.
## Procedure
### 1. Define the Target Interface
This is the interface your application expects to use.
```typescript
// logger.interface.ts
export interface ILogger {
log(message: string): void;
error(message: string): void;
}
```
### 2. The Incompatible Service (Adaptee)
An external library or old code with a different interface.
```typescript
// legacy-logger.ts
export class LegacyLogger {
printMessage(msg: string) {
console.log(`[LEGACY]: ${msg}`);
}
reportFailure(err: string) {
console.error(`[LEGACY ERROR]: ${err}`);
}
}
```
### 3. Implement the Adapter
The adapter implements the `Target` interface and delegates work to the `Adaptee`.
```typescript
// logger-adapter.ts
import { ILogger } from './logger.interface';
import { LegacyLogger } from './legacy-logger';
export class LoggerAdapter implements ILogger {
private legacyLogger: LegacyLogger;
constructor(legacyLogger: LegacyLogger) {
this.legacyLogger = legacyLogger;
}
log(message: string): void {
// Translate the call
this.legacyLogger.printMessage(message);
}
error(message: string): void {
// Translate the call
this.legacyLogger.reportFailure(message);
}
}
```
### 4. Usage in Client Code
The client only knows about the `ILogger` interface.
```typescript
function app(logger: ILogger) {
logger.log("Application started");
}
const legacy = new LegacyLogger();
const adapter = new LoggerAdapter(legacy);
app(adapter);
```
## Constraints
- **Complexity**: Don't use the pattern if you can easily modify the original class to match the interface.
- **Performance**: While negligible, the extra layer of indirection adds a tiny overhead.
- **Single Responsibility**: The adapter should only focus on translation, not adding new business logic.
## Expected Output
A wrapper class that successfully bridges two incompatible interfaces, allowing them to communicate without changing their existing code.From jyjeanne/ai-setup-forge, MIT.
More from jyjeanne/ai-setup-forge
- 0.437score
a11y-playwright-testing
jyjeanne
Accessibility testing for web applications using Playwright (@playwright/test) with TypeScript and axe-core.
SkillDFreshness: D★ 1Claude Code +9 - 0.437score
accessibility-selenium-testing
jyjeanne
Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ai-model-evaluation
jyjeanne
To systematically assess the performance, accuracy, and safety of LLM outputs using quantitative metrics and "LLM-as-a-Judge" patterns, ensuring production…
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
advanced-rbac
jyjeanne
To implement a scalable permission system where users have roles, and roles have granular permissions.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ansible-playbook-creation
jyjeanne
To automate server configuration.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
accessibility-audit
jyjeanne
To ensure the application is usable by people with disabilities, complying with WCAG standards and improving SEO/UX.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ai-agent-design-patterns
jyjeanne
To structure autonomous AI systems that can reason, plan, and execute tools to solve complex, multi-step problems using patterns like ReAct and Multi-Agent…
SkillDFreshness: D★ 1Claude Code +9 - 0.428score
agentation
jyjeanne
Visual UI annotation tool for AI agents.
SkillDFreshness: D★ 1Claude Code +9 - 0.428score
ai-tool-compliance
jyjeanne
Automation skill for designing, verifying, and improving auth, cost, logging, and security compliance based on the internal AI tool mandatory implementation…
SkillDFreshness: D★ 1Claude Code +9 - 0.409score
agent-browser
jyjeanne
Browser automation CLI for AI agents.
SkillDFreshness: D★ 1Claude Code +9 - 0.407score
find-skills
jyjeanne
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express…
SkillDFreshness: D★ 1Claude Code +9 - 0.407score
algorithmic-art
jyjeanne
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration.
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 16, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jyjeanne/ai-setup-forge
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jyjeanne
- 0.437score
a11y-playwright-testing
jyjeanne
Accessibility testing for web applications using Playwright (@playwright/test) with TypeScript and axe-core.
SkillDFreshness: D★ 1Claude Code +9 - 0.437score
accessibility-selenium-testing
jyjeanne
Accessibility testing toolkit using Selenium WebDriver 4+ with Java 21+ and axe-core engine.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ai-model-evaluation
jyjeanne
To systematically assess the performance, accuracy, and safety of LLM outputs using quantitative metrics and "LLM-as-a-Judge" patterns, ensuring production…
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
advanced-rbac
jyjeanne
To implement a scalable permission system where users have roles, and roles have granular permissions.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
ansible-playbook-creation
jyjeanne
To automate server configuration.
SkillDFreshness: D★ 1Claude Code +9 - 0.432score
accessibility-audit
jyjeanne
To ensure the application is usable by people with disabilities, complying with WCAG standards and improving SEO/UX.
SkillDFreshness: D★ 1Claude Code +9
Cite this page
adapter-pattern-typescript skill. Agent Mart. https://agentmart.dev/skills/jyjeanne-adapter-pattern-typescript (last updated 2026-10-24)