jonathimer/devmarketing-skills/sdk-dx
Claude Code and agent skill by jonathimer/devmarketing-skills
- community
Checking that the SKILL.md file is still in the repository.
Design SDKs that developers love to use—APIs that feel native, error messages that guide, and experiences that reduce friction. This skill covers creating SDKs that drive adoption through exceptional developer experience rather than aggressive marketing. Trigger phrases: "SDK design", "developer experience", "API design", "SDK DX", "error messages", "type safety", "IDE integration", "SDK versioning", "migration guides", "client library design", "making SDKs feel native", "SDK best practices"
Install
npx vskill@latest install jonathimer/devmarketing-skills/sdk-dxSKILL.md
SDK Design and Developer Experience
The best SDK marketing is an SDK that developers can't stop talking about. When your SDK makes developers feel productive and competent, they become your advocates. When it frustrates them, no amount of marketing will save you.
Overview
SDK developer experience (DX) encompasses everything a developer feels when using your library:
- Discovery: How easily can they find and install it?
- Learning: How quickly can they understand how to use it?
- Using: How productive are they day-to-day?
- Debugging: How easily can they fix problems?
- Upgrading: How painlessly can they adopt new versions?
Great SDK DX is a competitive advantage. Developers choose tools that make them feel smart.
Before You Start
Review the developer-audience-context skill to understand:
- What languages and frameworks do your target developers use?
- What IDE/editor setups are most common?
- What's their experience level with your problem domain?
- What competing SDKs have they used? What do they like/dislike?
SDK design decisions should flow from deep understanding of your users.
API Design Principles
Principle 1: Optimize for the Common Case
The most frequent use case should require the least code.
Good Design:
Bad Design:
Principle 2: Progressive Disclosure
Start simple, reveal complexity as needed.
Principle 3: Fail Fast and Clearly
Catch errors as early as possible, with actionable messages.
Good:
Bad:
Principle 4: Sensible Defaults
Default values should work for most cases without configuration.
Error Messages That Guide
Error messages are documentation. Make them helpful.
The Error Message Framework
Every error message should answer:
- What happened?
- Why did it happen?
- How do I fix it?
Good vs. Bad Error Messages
Good:
Bad:
Error Types to Distinguish
Create specific error types that developers can catch:
Include Context in Errors
Type Safety
Type safety is documentation that never goes stale.
TypeScript Best Practices
Autocomplete-Driven Design
Design for IDE autocomplete:
Enum and Literal Types
IDE Integration
Make Discovery Easy
Structure your SDK so IDE features help developers:
JSDoc/Docstrings Everywhere
Inline Examples
Versioning Strategy
Semantic Versioning
Follow semver strictly:
- MAJOR: Breaking changes (removal, signature changes)
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
What Constitutes a Breaking Change
Breaking changes (require major version bump):
- Removing a public method or property
- Changing method signatures
- Changing return types
- Changing default behavior
- Removing support for a language/runtime version
Not breaking (minor or patch):
- Adding new methods
- Adding optional parameters
- Deprecating (but not removing) features
- Bug fixes that change incorrect behavior
Deprecation Process
Migration Guides
Migration Guide Structure
client = MyClient(key="...")
client = MyClient(api_key="...")
Codemods and Automation
When possible, provide automated migration:
Making SDKs Feel Native
Language Idioms
Python: Use snake_case, context managers, generators
JavaScript: Use Promises, async/await, destructuring
Go: Use error returns, interfaces, channels
Match Ecosystem Conventions
- Use the package manager developers expect (npm, pip, gem, go get)
- Follow naming conventions of popular libraries in that language
- Integrate with popular frameworks (Express, Django, Rails)
- Support popular testing patterns
SDK Quality Checklist
Before Release
- [ ] All public APIs have documentation
- [ ] All public APIs have types (where language supports)
- [ ] Error messages include remediation steps
- [ ] Code examples in docs are tested automatically
- [ ] Changelog is updated with all changes
- [ ] Migration guide for breaking changes
- [ ] Deprecation warnings for removed features
For Great DX
- [ ] Quickstart achieves success in < 5 minutes
- [ ] IDE autocomplete works for all operations
- [ ] Errors are catchable by specific type
- [ ] Retry logic handles transient failures
- [ ] Logging is configurable and useful
- [ ] Debug mode shows request/response details
Tools
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/sdk-dx/SKILL.md
Popularity
- Repository stars
- 65
- Repository forks
- 3
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 14 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jonathimer/devmarketing-skills/sdk-dx)