clerk-swift

작성자: clerk

ClerkKit을 사용한 네이티브 Swift/iOS 인증으로, 사전 구축된 인증 흐름 또는 맞춤형 인증 흐름을 지원합니다. 프로젝트 요구 사항에 따라 사전 구축된 AuthView 컴포넌트 또는 완전히 맞춤화된 네이티브 흐름 중 두 가지 구현 모드를 지원합니다. 앱 구성에 유효한 Clerk 퍼블리시 키를 직접 연결해야 하며, 기본적으로 plist나 환경 파일 간접 참조를 사용하지 않습니다. 패키지 설치 후 Apple Sign In 지원 등 기능 가용성을 확인하기 위해 /v1/environment 호출이 필수입니다.

npx skills add https://github.com/clerk/skills --skill clerk-swift

Clerk Swift (Native iOS)

This skill implements Clerk in native Swift/iOS projects by reading installed package source and mirroring current ClerkKit/ClerkKitUI behavior.

Activation Rules

Activate this skill when either condition is true:

  • The user explicitly asks for Swift, SwiftUI, UIKit, or native iOS Clerk implementation.
  • The project appears to be native iOS/Swift (for example .xcodeproj, .xcworkspace, Package.swift, Swift targets).

Do not activate this skill when either condition is true:

  • The project is Expo.
  • The project is React Native.

If Expo/React Native signals are present, route to the general setup skill instead of this one.

What Do You Need?

TaskReference
Prebuilt AuthView / UserButton (fastest)references/prebuilt.md
Custom API-driven auth flows (full control)references/custom.md

Quick Start

StepAction
1Confirm project type is native Swift/iOS and not Expo/React Native
2Determine flow type (prebuilt or custom) and load the matching reference file
3Ensure a valid publishable key exists (or ask developer) and wire it directly in configuration
4Ensure clerk-ios package is installed with correct products for selected flow; if missing, install latest available release using an up-to-next-major version requirement
5Inspect installed ClerkKitUI source to identify which Environment fields drive feature/step gating
6Call /v1/environment after step 5 and evaluate only against the ClerkKitUI-aligned field map
7Find the iOS quickstart URL in the installed clerk-ios package README, append .md, then visit and read the markdown URL to compile a required-step checklist
8Verify and complete all quickstart prerequisites for this project (for example associated domains and required capabilities)
9Implement flow by following only the selected reference checklist

Decision Tree

User asks for Clerk in Swift/iOS
    |
    +-- 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 direct wiring
    |
    +-- Ensure clerk-ios is installed
    |
    +-- Inspect ClerkKitUI Environment field usage
    |
    +-- Call /v1/environment using that field map
    |
    +-- Visit/read quickstart URL from installed clerk-ios package README
    |
    +-- Verify all quickstart prerequisites are completed
    |
    +-- Implement using selected flow reference

Flow References

After flow type is known, load exactly one:

Do not blend the two references in a single implementation unless the developer explicitly asks for a hybrid approach.

Interaction Contract

Before any implementation edits, the agent must have both:

  • flow choice: prebuilt or custom
  • a real Clerk publishable key

If either value is missing from the user request/context:

  • ask the user for the missing value(s)
  • pause and wait for the answer
  • do not edit files or install dependencies yet

Only skip asking when the user has already explicitly provided the value in this conversation.

Source-Driven Templates

Do not hardcode implementation examples in this skill. Inspect current installed package source before implementing.

Use CaseSource of Truth in Installed Package
SDK package products, platform support, and dependency constraintsPackage manifest and target product definitions for ClerkKit and ClerkKitUI, plus package requirement style (up-to-next-major)
Publishable key validation and frontend API derivationClerk configuration logic (search symbols: configure(publishableKey, frontendApiUrl, invalidPublishableKeyFormat)
Environment endpoint contract and field semanticsEnvironment request path and request construction plus ClerkKitUI Environment field usage for gating (search symbols: /v1/environment, Request<Clerk.Environment>, Environment usage in ClerkKitUI)
iOS quickstart requirementsInstalled clerk-ios package README quickstart link plus the visited/read quickstart page checklist steps (including project setup prerequisites)
Native Sign in with Apple implementationApple capability and native sign-in behavior in selected flow reference

Execution Gates (Do Not Skip)

  1. No implementation edits before prerequisites
  • Do not edit project files until flow type is confirmed and a valid publishable key is available.
  1. Missing flow or key must trigger a question
  • If flow choice is missing, explicitly ask: prebuilt views or custom flow.
  • If publishable key is missing/placeholder/invalid, explicitly ask for a real key.
  • Do not continue until both answers are provided.
  1. Publishable key wiring mode is mandatory
  • Use the developer-provided publishable key plainly in app configuration passed to Clerk.configure.
  • Do not introduce plist/local-secrets/env-file/build-setting indirection unless explicitly requested.
  1. Package install/version policy is mandatory
  • If clerk-ios is not installed, add it using the latest available release with an up-to-next-major requirement.
  • Do not pin an exact package version unless the developer explicitly asks for exact pinning.
  1. ClerkKitUI Environment field inspection is mandatory
  • After package install, inspect installed ClerkKitUI source and identify which Environment fields gate auth behavior for the selected flow.
  • Build an agent-internal field map before any /v1/environment call.
  1. Environment call is mandatory (both flows)
  • Make a direct HTTP call to /v1/environment only after package install and step 5 field-map inspection.
  • Pass the response into the selected reference workflow using the ClerkKitUI-aligned field map:
    • prebuilt: use it to determine whether Apple is enabled and capability changes are needed
    • custom: perform full normalization/matrix handling as agent-internal analysis only (never persist matrix artifacts in project code)
  1. Reference-file discipline is mandatory
  • Once flow is selected, follow only that flow reference file for implementation and verification.
  1. Quickstart compliance is mandatory
  • Find the iOS quickstart URL in the installed clerk-ios package README, append .md, then visit and read that markdown URL.
  • Audit the project against all quickstart setup steps before finishing.
  • If required quickstart setup is missing, implement it before completing the task.
  • This includes adding any missing Associated Domains entries and any other required app capabilities from the quickstart.
  • Explicitly execute the quickstart step Add associated domain capability (https://clerk.com/docs/ios/getting-started/quickstart#add-associated-domain-capability) and ensure the associated-domain entry matches quickstart requirements (webcredentials:{YOUR_FRONTEND_API_URL}).
  1. Custom-flow AuthView structure parity is mandatory
  • For custom flow, layout and flow structure must remain materially close to ClerkKitUI AuthView defaults.
  • If the developer did not explicitly request a different UX, do not introduce major structural/layout deviations from AuthView.
  • If unsure/confused about custom sequencing, gating, or Environment usage/semantics, defer to installed ClerkKitUI behavior and mirror it.

Workflow

  1. Detect native iOS/Swift vs Expo/React Native.
  2. If flow type is not explicitly provided, ask user for prebuilt or custom.
  3. If publishable key is not explicitly provided, ask user for it.
  4. Wait for both answers before changing files.
  5. Load matching flow reference file.
  6. Ensure publishable key is valid and directly wired in Clerk.configure.
  7. Ensure package install/products match selected flow and package requirement follows latest up-to-next-major policy when newly added.
  8. Inspect installed ClerkKitUI source to map Environment fields used for gating/required behavior in the selected flow.
  9. Call /v1/environment and interpret response through the step 8 field map.
  10. Find iOS quickstart URL from installed clerk-ios package README, append .md, then visit and read it.
  11. Build quickstart checklist from the visited markdown quickstart, detect missing required setup, and apply the missing setup in the current project.
  12. Ensure the quickstart associated-domain capability step is fully applied (webcredentials:{YOUR_FRONTEND_API_URL} when missing).
  13. Implement using selected reference checklist.
  14. Verify using selected reference checklist plus shared gates.

Common Pitfalls

LevelIssuePrevention
CRITICALNot asking for missing flow choice before implementationAsk for prebuilt vs custom and wait before edits
CRITICALNot asking for missing publishable key before implementationAsk for key and wait before edits
CRITICALStarting implementation before flow type is confirmedConfirm flow first and load matching reference
CRITICALUsing plist/local/env indirection for publishable key without requestWire key directly in configuration by default
CRITICALSkipping /v1/environment call before implementationAlways call environment endpoint for both prebuilt and custom flows
CRITICALCalling /v1/environment before package install + ClerkKitUI Environment field inspectionInstall clerk-ios first, inspect ClerkKitUI Environment usage, then call endpoint
HIGHInstalling clerk-ios with exact/stale version by defaultIf missing, install latest available release using up-to-next-major requirement
CRITICALSkipping quickstart prerequisite auditVisit/read quickstart URL from installed clerk-ios package README and verify all required setup steps are completed
CRITICALDetecting missing quickstart capabilities/domains but not applying themAdd all missing required quickstart capabilities and Associated Domains before completing
CRITICALSkipping quickstart associated-domain capability stepExecute quickstart Add associated domain capability and ensure webcredentials:{YOUR_FRONTEND_API_URL} is present
CRITICALWriting capability/required-field matrices into app codeKeep matrices agent-internal and only apply resulting behavior in UI/auth flow code
CRITICALCustom flow layout diverges from AuthView without explicit requestKeep custom screens materially close to AuthView structure and step composition by default
CRITICALCollapsing custom auth into a single all-fields screenFollow AuthView-style multi-step progression and step-specific field collection
CRITICALGuessing custom sequencing/gating/Environment usage when uncertainReference installed ClerkKitUI behavior and mirror it for final implementation
HIGHUsing this skill for Expo/React NativeDetect and route away before implementation

See Also

  • clerk skill for top-level Clerk routing
  • clerk-setup skill for non-native or cross-framework setup
  • installed clerk-ios package README.md (source for current iOS quickstart link)
  • https://github.com/clerk/clerk-ios

clerk의 다른 스킬

clerk-astro-patterns
clerk
Clerk을 사용한 Astro 패턴 — 미들웨어, SSR 페이지, 아일랜드 컴포넌트
official
audit-clerk-skill
clerk
Audits the Clerk CLI source tree and proposes updates to the bundled `clerk-cli` skill so it stays in sync with the binary. Use when the user says "audit the…
official
changesets
clerk
Create or refresh a `.changeset/<slug>.md` for the current branch, or report that none is required. Triggers on "/changesets create", "add a changeset",…
official
clerk
clerk
clerk 바이너리는 Clerk의 백엔드 API 및 플랫폼 API에 대한 사전 인증된 게이트웨이이며, 프로젝트 수준 도구(인증, 링킹, 환경 변수 가져오기, 인스턴스 구성)를 포함합니다. 사용자가 Clerk 리소스와 관련된 질문을 하면, 직접 curl을 작성하는 대신 먼저 clerk을 사용하세요.
official
clerk-cli
clerk
clerk 바이너리는 Clerk의 백엔드 API 및 플랫폼 API에 대한 사전 인증된 게이트웨이로, 프로젝트 수준 도구(인증, 링킹, 환경 변수 가져오기, 인스턴스 구성)를 포함합니다. 사용자가 Clerk 리소스와 관련된 질문을 하면, 수동으로 curl을 작성하는 대신 먼저 clerk을 사용하세요.
official
clerk
clerk
인증 작업을 프레임워크와 사용 사례에 따라 특화된 Clerk 스킬로 라우팅하는 지능형 라우터입니다. 설정, 커스텀 UI, Next.js 패턴, 조직, 웹훅, 테스트, 네이티브 iOS/Android, 백엔드 API를 다루는 8개의 특화 스킬로 라우팅합니다. package.json에서 Clerk SDK 버전(Core 2 LTS vs. 현재)을 감지하여 올바른 패턴과 API를 적용합니다. 웹 프레임워크(Next.js, React, Expo, React Router, TanStack Start)와 네이티브 플랫폼(Swift/iOS, Kotlin/Android)을 다룹니다...
official
clerk-android
clerk
네이티브 안드로이드 앱을 위한 Clerk 인증을 Kotlin과 함께 구현합니다.
official
clerk-backend-api
clerk
Clerk Backend REST API 탐색기 및 실행기. 태그를 탐색하고, 엔드포인트 스키마를 검사하며, 인증된 요청을 실행합니다. 사용자 목록을 조회하거나 관리할 때 사용합니다.
official