supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
APIバージョニング戦略と後方互換性管理を専門とするスキル。 📚 リソース参照: このスキルには以下のリソースが含まれています。 必要に応じて該当するリソースを参照してください: - `.claude/skills/api-versioning/resources/versioning-strategies.md`: バージョニング方式の比較と選択基準 - `.claude/skills/api-versioning/resources/breaking-changes.md`: 破壊的変更の定義と影響範囲管理 - `.claude/skills/api-versioning/re...
Full skill instructions
APIバージョニング戦略の設計と後方互換性管理に関する専門知識を提供します。
# リソース参照
cat .claude/skills/api-versioning/resources/versioning-strategies.md
cat .claude/skills/api-versioning/resources/deprecation-process.md
cat .claude/skills/api-versioning/resources/breaking-changes.md
# テンプレート参照
cat .claude/skills/api-versioning/templates/migration-guide-template.md
cat .claude/skills/api-versioning/templates/deprecation-notice-template.md
| 方式 | 例 | メリット | デメリット |
|---|---|---|---|
| URL Path | /api/v1/users | 明確、キャッシュ容易 | URLが長くなる |
| Header | Accept: application/vnd.api+json; version=1 | URLがシンプル | 発見しにくい |
| Query | /api/users?version=1 | シンプル | キャッシュ問題 |
| Content-Type | Content-Type: application/vnd.api.v1+json | 標準的 | 複雑 |
| 条件 | 推奨方式 |
|---|---|
| RESTful純粋主義 | Header |
| 開発者体験重視 | URL Path |
| レガシー互換性 | Query |
| 新規プロジェクト | URL Path |
| 外部公開API | URL Path |
| 内部API | Header |
/api/v1/users ← 現行バージョン
/api/v2/users ← 新バージョン
理由:
MAJOR.MINOR.PATCH
例: 1.2.3
| 種類 | 変更時 | URL反映 |
|---|---|---|
| MAJOR | 破壊的変更 | ✅ 反映(v1 → v2) |
| MINOR | 後方互換の機能追加 | ❌ 非反映 |
| PATCH | バグ修正 | ❌ 非反映 |
/api/v1/... ← メジャーバージョンのみ
/api/v1.2/... ← 避ける(複雑化)
クライアントリクエスト → バージョン解決
├─ /api/v1/users → API v1.x.x の最新を使用
├─ /api/v2/users → API v2.x.x の最新を使用
└─ /api/users → デフォルトバージョン(v1)を使用
| 変更種類 | 破壊的? | 説明 |
|---|---|---|
| エンドポイント削除 | ✅ Yes | 既存クライアントが壊れる |
| フィールド削除 | ✅ Yes | 既存クライアントが壊れる |
| フィールド名変更 | ✅ Yes | 既存クライアントが壊れる |
| 必須フィールド追加 | ✅ Yes | 既存リクエストが無効に |
| 型変更 | ✅ Yes | パース失敗の可能性 |
| ステータスコード変更 | ✅ Yes | エラーハンドリング破損 |
| 認証方式変更 | ✅ Yes | 認証失敗 |
| オプションフィールド追加 | ❌ No | 後方互換 |
| 新エンドポイント追加 | ❌ No | 後方互換 |
| レスポンスフィールド追加 | ❌ No | 後方互換(通常) |
| 変更種類 | 注意点 |
|---|---|
| オプションフィールド追加 | デフォルト値を設定 |
| 新エンドポイント追加 | 既存に影響なし |
| レスポンスフィールド追加 | クライアントは無視すべき |
| 列挙値の追加 | クライアントは未知値を処理すべき |
1. 告知期間(2-4週間)
├─ ドキュメント更新
├─ Sunset ヘッダー追加
└─ 移行ガイド公開
2. 警告期間(4-8週間)
├─ Deprecation ヘッダー追加
├─ ログ監視(使用状況)
└─ 個別通知
3. 移行サポート期間(4-12週間)
├─ 新旧両方を並行稼働
├─ 移行サポート提供
└─ 使用量モニタリング
4. 廃止実行
├─ エンドポイント無効化
├─ 410 Gone レスポンス
└─ 代替エンドポイント案内
# 非推奨警告
Deprecation: true
Deprecation: @1735689600 # Unix timestamp
# 廃止日
Sunset: Sat, 01 Mar 2025 00:00:00 GMT
# 代替リソース
Link: </api/v2/users>; rel="successor-version"
paths:
/api/v1/users:
get:
deprecated: true
summary: "[非推奨] ユーザー一覧取得"
description: |
⚠️ このエンドポイントは2025年3月1日に廃止されます。
代替: GET /api/v2/users
x-sunset-date: "2025-03-01"
期間1: v1のみ
期間2: v1(主)+ v2(ベータ)
期間3: v1(非推奨)+ v2(主)
期間4: v2のみ
// ルーティング例(Next.js)
// app/api/v1/users/route.ts
// app/api/v2/users/route.ts
// バージョン共通ロジック
// lib/api/users/v1.ts
// lib/api/users/v2.ts
// v1 → v2 変換
function transformV1ToV2(v1Data: V1User): V2User {
return {
id: v1Data.id,
fullName: `${v1Data.firstName} ${v1Data.lastName}`, // フィールド統合
email: v1Data.email,
role: mapRoleV1ToV2(v1Data.role), // 値マッピング
createdAt: v1Data.created_at, // 命名規則変更
};
}
# API Changelog
## v2.0.0 (2025-03-01)
### 破壊的変更
- `GET /users` のレスポンス構造が変更されました
- `first_name` + `last_name` → `full_name` に統合
- `role` フィールドの値が変更されました
- `"admin"` → `"administrator"`
### 新機能
- `GET /users/{id}/activity` エンドポイント追加
- ページネーションに `cursor` パラメータ追加
### 非推奨
- `GET /users?page=N` は廃止予定(`cursor` を使用してください)
### 移行ガイド
詳細は [Migration Guide v1 → v2](./migration-v1-v2.md) を参照
.claude/skills/openapi-specification/SKILL.md: OpenAPI仕様書作成.claude/skills/request-response-examples/SKILL.md: バージョン別実例.claude/skills/authentication-docs/SKILL.md: 認証バージョニング| バージョン | 日付 | 変更内容 |
|---|---|---|
| 1.0.0 | 2025-11-27 | 初版リリース |
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content