← スキル一覧に戻る

apis-sdks
by pluginagentmarketplace
Developer relations plugin with community building and advocacy strategies
⭐ 1🍴 0📅 2026年1月5日
SKILL.md
name: apis-sdks description: Understanding APIs and building/maintaining SDKs for developer experience sasmp_version: "1.4.0" version: "2.0.0" updated: "2025-01" bonded_agent: 04-technical-writer bond_type: SECONDARY_BOND
APIs & SDKs for DevRel
Master API design and SDK development to improve developer experience.
Skill Contract
Parameters
parameters:
required:
- artifact_type: enum[api_docs, sdk, code_sample, reference]
- language: string
optional:
- api_spec: object
- version: string
Output
output:
deliverable:
code: string
documentation: markdown
tests: array[TestCase]
API Fundamentals
REST API Best Practices
GET /users # List users
GET /users/:id # Get single user
POST /users # Create user
PUT /users/:id # Update user (full)
PATCH /users/:id # Update user (partial)
DELETE /users/:id # Delete user
HTTP Status Codes
| Code | Meaning | Use When |
|---|---|---|
| 200 | OK | Successful GET/PUT/PATCH |
| 201 | Created | Successful POST |
| 204 | No Content | Successful DELETE |
| 400 | Bad Request | Invalid input |
| 401 | Unauthorized | Missing/invalid auth |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource doesn't exist |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Server Error | Something broke |
SDK Design Principles
Idiomatic Code
# Python SDK - Pythonic
client = AcmeClient(api_key="...")
users = client.users.list(limit=10)
# JavaScript SDK - Modern JS
const client = new AcmeClient({ apiKey: "..." });
const users = await client.users.list({ limit: 10 });
SDK Components
SDK
├── Authentication handling
├── Request/response serialization
├── Error handling
├── Pagination helpers
├── Rate limit handling
├── Retry logic
├── Logging/debugging
└── Type definitions
API Documentation
Essential Docs
| Section | Purpose |
|---|---|
| Quickstart | First API call in 5 min |
| Authentication | How to authenticate |
| Endpoints | Complete reference |
| Errors | Error codes and handling |
| Rate limits | Usage limits |
| Changelog | Version history |
Endpoint Documentation
## Get User
`GET /users/:id`
Returns a user by their ID.
### Parameters
| Name | Type | Required | Description |
|------|------|----------|-------------|
| id | string | Yes | The user ID |
### Response
```json
{
"id": "usr_123",
"email": "user@example.com",
"name": "Jane Doe"
}
Errors
404- User not found401- Invalid API key
## DevRel API Responsibilities
- Advocate for developer-friendly design
- Create and maintain SDKs
- Write API documentation
- Gather feedback on DX issues
- Support developers using APIs
## Retry Logic
```yaml
retry_patterns:
api_error_500:
strategy: "Exponential backoff with jitter"
max_retries: 3
rate_limit_429:
strategy: "Wait for retry-after header"
fallback: "Exponential backoff"
timeout:
strategy: "Retry with increased timeout"
fallback: "Return partial data"
Failure Modes & Recovery
| Failure Mode | Detection | Recovery |
|---|---|---|
| API breaking change | Tests fail | Update SDK, notify users |
| SDK version mismatch | Compatibility errors | Align versions |
| Missing docs | Support tickets | Add documentation |
Debug Checklist
□ API spec up to date?
□ SDK matches API version?
□ Error handling complete?
□ Rate limiting documented?
□ Authentication working?
□ Examples tested?
Test Template
test_apis_sdks:
unit_tests:
- test_api_endpoints:
assert: "All endpoints respond"
- test_sdk_methods:
assert: "Match API capabilities"
integration_tests:
- test_end_to_end:
assert: "Full flow works"
Observability
metrics:
- sdk_downloads: integer
- api_calls: integer
- error_rate: float
- latency_p99: duration
See assets/ for SDK templates.
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です