sdk-development について
sdk-developmentは、TypeScript SDKの新規作成や既存アプリからの切り出しに使うスキルです。公開API設計、型付きクライアントとエラー、ビルド、テスト、npm公開を扱います。
主な機能
- 01公開APIとクライアントの設計
- 02型付きメソッドとエラー
- 03ESM、CJS、型定義のビルド
- 04単体テストと結合テスト
- 05npm公開のライフサイクル
活用シーン
- 01TypeScript SDKを新規作成
- 02既存アプリからSDKを切り出す
- 03SDKのnpm配布を準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ srstomp/ pokayokay --skill sdk-developmentインストール後、Claude Code で/sdk-developmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/build-tools-and-output.mdbundle-optimization-and-distribution.mdci-cd-and-documentation.mdconfiguration-and-api-design.mderror-handling-and-async.mdevents-storage-and-logging.mdextraction-scope-and-boundaries.mdextraction-usages-and-planning.mdinternal-architecture-and-best-practices.mdpackage-structure-and-clients.mdpublishing-and-registries.mdtype-design.md詳細
SDK 開発
ゼロから、または既存の実装から抽出して、プロフェッショナルな TypeScript SDK を作成します。
主な原則
- クリーンな公開 API — 利用者が必要とするものだけをエクスポートし、内部実装は隠します
- すべてに型を付ける — 設定、メソッド、レスポンス、エラーを完全に型付けします
- 有意義なエラー — コードとコンテキストを備えた型付きエラークラスを使用します
- 適切なデフォルト設定 — 最小限の設定ですぐに使えます
- フレームワークに依存しない — コア SDK にフレームワークへの依存関係を持たせず、バインディングは別途追加します
クイックスタートチェックリスト
- 対象範囲を分析します:新規 SDK の作成か、既存アプリからの抽出か
- 公開 API の範囲を設計します(エクスポート、型、設定)
- 型付きメソッドとエラーハンドリングを備えたクライアントを実装します
- ESM/CJS/型定義向けにビルドを設定します(tsup を推奨)
- テスト(ユニットテスト+統合テスト)とサンプルを作成します
- 適切な package.json exports フィールドを設定して npm に公開します
使用しない場合
- 外部 API を利用する場合 — api-integration スキルを参照してください
- npm への公開のみを行う場合 — このスキルは SDK のライフサイクル全体を対象としています
リファレンス
| リファレンス | 説明 |
|---|---|
| extraction-scope-and-boundaries.md | 対象範囲の特定、依存関係の分析、境界の定義 |
| extraction-usages-and-planning.md | 使用箇所の調査、テストカバレッジ、段階的な抽出計画 |
| package-structure-and-clients.md | SDK の構成、クライアント設計パターン(単一、モジュール型、ファクトリー) |
| configuration-and-api-design.md | 設定インターフェース、デフォルト値、バレルエクスポート、メソッドシグネチャ |
| internal-architecture-and-best-practices.md | HTTP クライアント、状態管理、ツリーシェイキング、環境非依存 |
| type-design.md | 厳密な型、ブランド型、ジェネリクス、判別可能なユニオン |
| error-handling-and-async.md | エラークラスの階層、再試行ロジック、リクエストキュー、トークン管理 |
| events-storage-and-logging.md | イベントエミッター、ストレージの抽象化、ロガーインターフェース |
| build-tools-and-output.md | tsup の設定、出力形式、package.json exports、TypeScript の設定 |
| bundle-optimization-and-distribution.md | バンドルサイズ、マルチプラットフォームビルド、デュアルパッケージ、モノレポ |
| publishing-and-registries.md | npm への公開、プライベートレジストリ、バージョン管理、変更履歴 |
| ci-cd-and-documentation.md | GitHub Actions、ドキュメント、公開前チェックリスト、非推奨化 |
コメント
Markdown 対応