跳到主内容
智客 ZICQ

技能库 智客分类:Agent 工作流 clerk-react-patterns

办事员反应模式

使用 @ clerk/ resact for Vite/ CRA 执行 SPA 认证模式 - 办事员

18461 安装量

官方网址:skills.sh

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

使用 @ clerk/ resact for Vite/ CRA 执行 SPA 认证模式 - 办事员

何时用

官方 description 未单独写出 Use when。按规范,代理会在用户任务与这段 description 的关键词匹配时激活本技能。

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:React SPA Patterns、What Do You Need?、References、Setup、Mental Model、Minimal Pattern。

文件分析

文件分析:除 SKILL.md 外,正文引用了 references/hooks.md、references/protected-routes.md、references/custom-flows.md、references/router-integration.md,属于带资源的技能包,这些文件按需再读。

官方 description(原文)

'React SPA auth patterns with @clerk/react for Vite/CRA - ClerkProvider

React SPA PatternsWhat Do You Need?ReferencesSetupMental ModelMinimal PatternProtected Route (React Router v6/v7)Token for API CallsCommon PitfallsSee AlsoDocs

· 许可:MIT · allowed-tools:WebFetch

来源分类:skills.sh agent-skill

SKILL.md 与 Agent 调用

官方规范 ↗
name
clerk-react-patterns
description
'React SPA auth patterns with @clerk/react for Vite/CRA - ClerkProvider
allowed-tools
WebFetch实验字段,支持情况取决于客户端;字段声明本身不会授予工具权限。
许可
MIT
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。
指令中引用的文件 · 4
  • references/hooks.md
  • references/protected-routes.md
  • references/custom-flows.md
  • references/router-integration.md

以下路径提取自原文;文件是否齐全请以来源仓库中的完整目录为准。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

该技能引用了附属文件,请从来源获取完整目录;仅复制 SKILL.md 可能缺少依赖。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「clerk-react-patterns」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-c2c128dfd27debb9-%E5%8A%9E%E4%BA%8B%E5%91%98%E5%8F%8D%E5%BA%94%E6%A8%A1%E5%BC%8F.html
请存为 .cursor/skills/clerk-react-patterns/SKILL.md 或 .claude/skills/clerk-react-patterns/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。
该技能还带 scripts/、references/、assets/ 等文件,请从 https://github.com/clerk/skills 取完整目录,不要只建一个 SKILL.md。

GitHub 完整包 ↗

终端安装 · Skills CLI

需要 Node.js 与 npx。先查看仓库技能列表,确认实际名称。

npx skills add 'https://github.com/clerk/skills' --list

npx skills add 'https://github.com/clerk/skills' --skill 'clerk-react-patterns'

CLI 会交互选择目标 Agent,默认安装到项目;用户级安装使用 -g。先通过查看命令核对仓库内容,再用 npx skills list 检查已安装技能。

阅读排版
--- name: clerk-react-patterns description: 'React SPA auth patterns with @clerk/react for Vite/CRA - ClerkProvider setup, useAuth/useUser/useClerk hooks, React Router protected routes, custom sign-in flows. Triggers on: Vite Clerk setup, React Router auth, useAuth hook, protected route, custom sign-in form React.' license: MIT allowed-tools: WebFetch metadata: author: clerk version: 1.0.0 --- # React SPA Patterns > This skill covers `@clerk/react` for Vite/CRA SPAs. For Next.js use `clerk-nextjs-patterns`. For TanStack Start use `clerk-tanstack-patterns`. ## What Do You Need? | Task | Reference | |------|-----------| | useAuth / useUser / useClerk hooks | references/hooks.md | | Protected routes with React Router | references/protected-routes.md | | Custom sign-in / sign-up forms | references/custom-flows.md | | React Router v6/v7 integration | references/router-integration.md | ## References | Reference | Description | |-----------|-------------| | `references/hooks.md` | useAuth, isLoaded guard | | `references/protected-routes.md` | ProtectedRoute pattern | | `references/custom-flows.md` | useSignIn, useSignUp flows | | `references/router-integration.md` | React Router v6/v7 setup | ## Setup ``` npm install @clerk/react ``` `.env`: ``` VITE_CLERK_PUBLISHABLE_KEY=pk_... ``` `src/main.tsx`: ```tsx import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' import { ClerkProvider } from '@clerk/react' import App from './App.tsx' const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY createRoot(document.getElementById('root')!).render( , ) ``` ## Mental Model `@clerk/react` is client-only — there is no server-side `auth()`. All auth state comes from hooks. - `isLoaded` must be `true` before trusting `isSignedIn` — always guard on `isLoaded` - `useClerk()` gives access to `signOut`, `openSignIn`, `openUserProfile` and other methods - `getToken()` from `useAuth()` fetches the session JWT for API calls ## Minimal Pattern ```tsx import { useAuth } from '@clerk/react' export function Dashboard() { const { isLoaded, isSignedIn, userId } = useAuth() if (!isLoaded) return
Loading...
if (!isSignedIn) return
Please sign in
return
Hello {userId}
} ``` ## Protected Route (React Router v6/v7) ```tsx import { Navigate, Outlet } from 'react-router-dom' import { useAuth } from '@clerk/react' export function ProtectedRoute() { const { isLoaded, isSignedIn } = useAuth() if (!isLoaded) return
Loading...
if (!isSignedIn) return return } ``` ```tsx }> } /> } /> } /> ``` ## Token for API Calls ```tsx import { useAuth } from '@clerk/react' export function DataFetcher() { const { getToken } = useAuth() async function fetchData() { const token = await getToken() if (!token) return const res = await fetch('/api/data', { headers: { Authorization: `Bearer ${token}` }, }) return res.json() } return Load } ``` ## Common Pitfalls | Symptom | Cause | Fix | |---------|-------|-----| | `isSignedIn` is `undefined` | `isLoaded` is still `false` | Always check `isLoaded` first | | `ClerkProvider` missing | Provider not at root | Wrap `` in `main.tsx` | | Env var undefined | Wrong Vite prefix | Use `VITE_CLERK_PUBLISHABLE_KEY`, access via `import.meta.env` | | Token is `null` | User not signed in | Null-check `getToken()` result | | Sign-in component shows blank | No `publishableKey` on provider | Pass `publishableKey` explicitly | ## See Also - `clerk-setup` - Initial Clerk install - `clerk-custom-ui` - Custom flows & appearance - `clerk-orgs` - B2B organizations ## Docs [React SDK](https://clerk.com/docs/react/getting-started/quickstart)

相关技能

Agent 工作流

技能创建者Skill Creator

创造有效技能指南。 当用户想创造出新的技能(或更新现有的技能),以专业知识,工作流程,或工具集成来扩展克洛德的能力时,应该使用这种技能.

Agent 工作流

克劳德胡布Clawdhub

使用ClawdHub CLI搜索,安装,更新并发布从taladhub.com的代理技能. 需要获取苍蝇上的新技能时使用,将安装的技能同步到最新版本或特定版本,或者发布 npm-instainddhub CLI 的新/更新的技能文件夹.

Agent 工作流

团队指挥Agent Team Orchestration

管弦乐团多代理团队,任务设定周期,交接协议,审查工作流程. 使用时间: (1)建立2+特派员队伍,具有不同专业,(2)确定任务路线和生命周期(收录框_ spec_建设_审查_完成),(3)在特派员之间制定交接协议,(4)建立审查和质量关口,(5)管理特派员之间的交流和文物共享.

Agent 工作流

超级力量Superpowers

Spec-first,TDD,子代理驱动的软件开发工作流程. 当:(1)构建任何新功能或应用——触发脑暴_计划_子代理执行回路,(2)调试出一个bug或测试失败——触发系统性的根起过程,(3)用户说"让我们构建","帮助我计划","我想添加X",或"这个被打破",(4)完成一个功…