Skip to content
Agentmart
Submit a tool

devex-sdk-design

Developer experience (DX) engineering, SDK design patterns, API ergonomics, CLI tooling design, documentation-driven development, and developer onboarding.

Skill by travisjneuman

IndexedMIT★ 106
Write a review

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/travisjneuman-devex-sdk-design

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.

We use your email only for this newsletter. Privacy

About

Developer experience (DX) engineering, SDK design patterns, API ergonomics, CLI tooling design, documentation-driven development, and developer onboarding. Use when designing SDKs, improving API ergonomics, building developer tools, or creating developer documentation.

Use cases: design, backend

No 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/devex-sdk-design

What's inside

Skill name
devex-sdk-design
Description
Developer experience (DX) engineering, SDK design patterns, API ergonomics, CLI tooling design, documentation-driven development, and developer onboarding. Use when designing SDKs, improving API ergonomics, building developer tools, or creating developer documentation.
License
MIT
Instructions
111 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Developer Experience & SDK Design

## SDK Design Principles

### API Ergonomics
```typescript
// Bad: too many required params, unclear ordering
createUser(name, email, role, true, false, null, 'active');

// Good: builder pattern with named properties
const user = await sdk.users.create({
  name: 'Alice',
  email: 'alice@example.com',
  role: 'admin',
});

// Good: fluent API for complex operations
const results = await sdk.query('users')
  .where('role', '=', 'admin')
  .orderBy('createdAt', 'desc')
  .limit(10)
  .execute();
```

### Progressive Disclosure
```typescript
// Simple case: just works with defaults
const client = new MySDK('api-key');
const result = await client.doThing();

// Advanced case: full control available
const client = new MySDK({
  apiKey: 'api-key',
  baseUrl: 'https://custom.endpoint.com',
  timeout: 30000,
  retries: { maxAttempts: 3, backoff: 'exponential' },
  middleware: [loggingMiddleware, authRefreshMiddleware],
});
```

## Error Design

```typescript
// SDK errors should be structured and actionable
class SDKError extends Error {
  constructor(
    message: string,
    public readonly code: string,        // machine-readable
    public readonly statusCode?: number,  // HTTP status if applicable
    public readonly retryable: boolean = false,
    public readonly docs?: string,        // link to relevant docs
  ) {
    super(message);
  }
}

// User sees:
// SDKError: Rate limit exceeded (rate_limit_exceeded)
//   Retryable: true, retry after 2.3s
//   Docs: https://docs.example.com/rate-limits
```

## CLI Design

### Command Structure
```
mycli <command> <subcommand> [flags]

mycli init                    # Interactive setup
mycli deploy --env production # Explicit flags
mycli logs --follow           # Streaming output
mycli config set key value    # Noun-verb pattern
```

### CLI Best Practices
- **Sensible defaults:** Work out of the box, `--flag` for customization
- **Progressive output:** Spinners for long ops, `--verbose` for debug, `--json` for machines
- **Confirmation prompts:** Destructive actions require `--yes` or interactive confirm
- **Shell completion:** Generate for bash/zsh/fish/PowerShell
- **Exit codes:** 0 = success, 1 = error, 2 = usage error

## Documentation-Driven Development

### README Structure (for SDKs)
1. **One-liner:** What it does in one sentence
2. **Quick start:** Copy-paste working example (< 10 lines)
3. **Installation:** Package manager commands
4. **Usage:** Common patterns with code examples
5. **API reference:** Auto-generated from types/docstrings
6. **Error handling:** Common errors and solutions
7. **Migration guide:** Breaking changes between versions

### Code Examples
- Every public method needs a usage example
- Examples must compile/run — test them in CI
- Show the happy path first, then edge cases
- Include expected output in comments

## Developer Onboarding Metrics
- **Time to Hello World:** < 5 minutes from docs to working code
- **Time to first API call:** < 10 minutes including auth setup
- **Copy-paste success rate:** Quick start examples work on first try
- **Error resolution time:** Error messages lead directly to fix

## Versioning & Breaking Changes
- Semantic versioning strictly followed
- Deprecation warnings 2 minor versions before removal
- Migration codemods for major version upgrades
- Changelog with every release (keep-a-changelog format)

From travisjneuman/.claude, MIT.

More from travisjneuman/.claude

Signals

Stars
106
Forks
26
Open issues
2
Last commit (this folder)
Mar 28, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from travisjneuman

Cite this page

devex-sdk-design skill. Agent Mart. https://agentmart.dev/skills/travisjneuman-devex-sdk-design (last updated 2026-10-24)