clerk-android について
ネイティブ Android プロジェクトで Clerk 認証を実装するコーディングエージェント向けスキルです。組み込み型とカスタムのフローを区別し、編集前にフローと公開可能キーの確認を求めます。
主な機能
- 01ネイティブ Android プロジェクトの判定
- 02組み込み型とカスタムフローの区別
- 03フローと公開可能キーの確認
- 04Android のセットアップ要件の確認
- 05SDK ソースと実行時機能に基づく実装
活用シーン
- 01Kotlin アプリへの Clerk 認証追加
- 02AuthView とカスタムフローの選択
- 03Android の初期化と SDK 設定の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ clerk/ skills --skill clerk-androidインストール後、Claude Code で/clerk-androidを入力して読み込まれたか確認します。
同梱ファイルreferences/custom.mdreferences/prebuilt.md
詳細
Clerk Android(ネイティブ)
このスキルは、現在の clerk-android SDK とドキュメントのパターンに従って、ネイティブ Android プロジェクトに Clerk を実装します。
有効化ルール
次のいずれかの条件を満たす場合、このスキルを有効にしてください。
- ユーザーが Android、Kotlin、Jetpack Compose、または Android でのネイティブモバイル版 Clerk の実装を明示的に依頼している。
- プロジェクトがネイティブ Android であると見受けられる(例:Android プラグインを含む
build.gradle(.kts)、AndroidManifest.xml、app/src/main/java、Compose UI ファイルがある)。
次のいずれかの条件を満たす場合、このスキルを有効にしないでください。
- プロジェクトが Expo である。
- プロジェクトが React Native である。
Expo/React Native の兆候がある場合は、代わりに一般的なセットアップスキルを利用してください。
必要なもの
| タスク | リファレンス |
|---|---|
| ビルド済みの AuthView/UserButton(最速) | references/prebuilt.md |
| カスタムの API 駆動型認証フロー(完全な制御) | references/custom.md |
クイックスタート
| 手順 | 操作 |
|---|---|
| 1 | プロジェクトが Expo/React Native ではなく、ネイティブ Android であることを確認します |
| 2 | フローの種類(prebuilt または custom)を特定し、該当するリファレンスファイルを読み込みます |
| 3 | 有効な Clerk publishable key があることを確認します(なければ開発者に尋ねます) |
| 4 | 選択したフローに適した Clerk のアーティファクトがインストールされていることを確認します |
| 5 | Android の公式クイックスタートを読み、必要なセットアップ(Native API、min SDK/Java、マニフェスト、初期化)を確認します |
| 6 | 選択したフローに関連する clerk-android のソース/サンプルのパターンを調べます |
| 7 | 選択したリファレンスのチェックリストのみに従ってフローを実装します |
判断ツリー
User asks for Clerk in Android/Kotlin
|
+-- Expo/React Native project detected?
| |
| +-- YES -> Do not use this skill
| |
| +-- NO -> Continue
|
+-- Existing auth UI detected?
| |
| +-- Prebuilt views detected -> Load references/prebuilt.md
| |
| +-- Custom flow detected -> Load references/custom.md
| |
| +-- New implementation -> Ask developer prebuilt/custom, then load matching reference
|
+-- Ensure publishable key and SDK initialization path
|
+-- Ensure correct Android artifacts are installed
|
+-- Verify quickstart prerequisites in project
|
+-- Implement using selected flow reference
フローのリファレンス
フローの種類が判明したら、次のいずれか1つだけを読み込みます。
- ビルド済みフロー:references/prebuilt.md
- カスタムフロー:references/custom.md
開発者からハイブリッド方式を明示的に依頼されない限り、1つの実装で両方のリファレンスを組み合わせないでください。
やり取りの契約
実装の編集を始める前に、エージェントは次の両方を確認している必要があります。
- フローの選択:
prebuiltまたはcustom - 有効な Clerk publishable key
ユーザーの依頼または会話のコンテキストにいずれかの値が含まれていない場合:
- 不足している値をユーザーに尋ねます
- 回答を待ち、作業を中断します
- その時点ではファイルを編集したり、依存関係をインストールしたりしないでください
ユーザーがこの会話ですでに値を明示している場合に限り、質問を省略してください。
ソースに基づくテンプレート
このスキルに実装例をハードコードしないでください。実装前に、インストールされている SDK バージョンに対応する最新の clerk-android のソース/ドキュメントを確認してください。
| 使用例 | 正式な情報源 |
|---|---|
SDK アーティファクトと依存関係の分割(clerk-android-api と clerk-android-ui) | clerk-android の README と Android インストールガイド |
| SDK の初期化と publishable key の設定 | Android クイックスタートと source/api/.../Clerk.kt |
| ビルド済みの認証とプロフィールの動作 | source/ui/.../AuthView.kt、source/ui/.../UserButton.kt、ビルド済みサンプル |
| カスタム認証の順序付けと要素の処理 | source/ui/auth/*、source/api/auth/*、カスタムフローのサンプル |
| インスタンス設定に基づく機能/フィーチャーのゲーティング | Clerk の公開フィールド(例:enabledFirstFactorAttributes、socialProviders、isGoogleOneTapEnabled、mfaIsEnabled)と環境モデルのソース |
| 必須の Android セットアップチェックリスト | Android 公式クイックスタート(/docs/android/getting-started/quickstart) |
実行ゲート(省略しないでください)
- 前提条件を満たす前に実装を変更しない
- フローの種類が確定し、有効で公開可能なキーが用意されるまで、プロジェクトファイルを編集しないでください。
- フローまたはキーが不足している場合は質問する
- フローの選択が未指定の場合は、明示的に「事前構築済みビュー」か「カスタムフロー」かを尋ねてください。
- 公開可能キーが未指定、プレースホルダー、または無効な場合は、実際に使用するキーを明示的に尋ねてください。
- 両方の回答が得られるまで続行しないでください。
- 公開可能キーの設定方法は必須
- デフォルトでは、開発者から提供されたキーを
Clerk.initialize(...)に直接設定してください。 - 明示的に依頼されない限り、シークレット管理を介する仕組みを導入しないでください。
- アーティファクトのインストール方針は必須
- 事前構築済みフロー:
clerk-android-uiを使用します(API を含みます)。 - カスタムフロー:事前構築済みコンポーネントを明示的に求められない限り、
clerk-android-apiを使用します。 - Clerk のアーティファクトが不足している場合は、入手可能な最新の安定版を追加してください。
- Android クイックスタートへの準拠は必須
- Clerk アプリで Native API が有効になっていることを確認してください。
- クイックスタートに記載されている Android の要件(最小 SDK と Java ターゲット、マニフェストのインターネット権限、アプリレベルでの Clerk 初期化)がプロジェクトに実装されていることを確認してください。
- 認証の準備が整った状態とみなす前に、アプリが SDK の初期化完了(
Clerk.isInitialized)を待つことを確認してください。
- 機能に基づく動作は必須
- Clerk の実行時の機能/設定状態(有効な認証要素、ソーシャルプロバイダー、MFA フラグなど)に基づいて、フローの動作を制御してください。
- ダッシュボードの設定と競合する可能性のある認証要素の前提をハードコードしないでください。
- 参照ファイルの規律は必須
- フローを選択したら、そのフローに対応する参照ファイルのみを実装と検証に使用してください。
- カスタムフローの構造の整合性は必須
customフローでは、複数ステップの認証進行と認証要素ごとの処理を維持してください(デフォルトで、すべての項目を含む単一フォームにしないでください)。- UI、状態のオーケストレーション、Clerk API の統合は、それぞれ別のモジュールに分けてください。
- 選択時は事前構築済みフローを優先することが必須
prebuiltフローでは、明示的に依頼されない限り、カスタム API 呼び出しで認証フォームを再構築しないでください。- デフォルトの構成要素として
AuthView/UserButtonを使用してください。
ワークフロー
- ネイティブ Android か Expo/React Native かを判定します。
- フローの種類が明示されていない場合は、
prebuiltまたはcustomを選ぶようユーザーに尋ねます。 - 公開可能キーが明示されていない場合は、キーを尋ねます。
- ファイルを変更する前に、両方の回答を待ちます。
- 選択したフローに対応する参照ファイルを読み込みます。
Clerk.initialize(...)の呼び出し経路と公開可能キーの設定が有効であることを確認します。- 依存関係/アーティファクトが選択したフローに合っていることを確認します。
- Android クイックスタートの要件を確認し、プロジェクトに不足しているセットアップを適用します。
- 選択した参照チェックリストに従って実装します。
- 選択した参照チェックリストと共通ゲートに基づいて検証します。
よくある問題
| レベル | 問題 | 防止策 |
|---|---|---|
| CRITICAL | 実装前に不足しているフローの選択を尋ねない | prebuilt と custom のどちらかを尋ね、編集前に回答を待ちます |
| CRITICAL | 実装前に不足している公開可能キーを尋ねない | キーを尋ね、編集前に回答を待ちます |
| CRITICAL | フローの種類が確定する前に実装を開始する | まずフローを確定し、対応する参照ファイルを読み込みます |
| CRITICAL | Android クイックスタートの前提条件を省略する | 公式 Android クイックスタートに記載された必須セットアップを確認し、適用します |
| CRITICAL | アプリレベルでの Clerk.initialize(...) 呼び出しがない | Application の起動経路で Clerk を初期化します |
| HIGH | 選択したフローに不適切なアーティファクトを使用する | 事前構築済み:clerk-android-ui、カスタム:clerk-android-api |
| HIGH | SDK の初期化完了前に認証 UI を表示する | Clerk.isInitialized の状態に基づいて UI の表示を制御します |
| HIGH | 認証要素/ソーシャルプロバイダーをハードコードする | Clerk の実行時機能フィールドに基づいて動作させます |
| HIGH | Expo/React Native でこのスキルを使用する | 実装前に判定し、別の手順へ誘導します |
関連項目
- Clerk のトップレベルのルーティングについては、
clerkスキルを参照してください - フレームワークを横断したクイックスタートのセットアップについては、
clerk-setupスキルを参照してください https://github.com/clerk/clerk-androidhttps://clerk.com/docs/android/getting-started/quickstart
コメント
Markdown 対応