clerk-orgs

3周前发布 7 0 0 0

clerk/skills#clerk-orgs

Skill 安装

多 Agent 安装
npx skills add https://github.com/clerk/skills --skill clerk-orgs

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

clerk/skills#clerk-orgs

Skill 更新日志

版本列表
无版本号
整合 CI 检查并提高 clerk-setup 的准确性 将检查器移入 scripts/,置于根 package.json 之下,用 Test 和 Check 工作流替换 每个检查的工作流和复合操作,并用 concurrently 运行所有检查。 修正 clerk-setup 中关于脚手架和引导支持的声明,按平台对 auth-controls 步骤进行门控,将 Core 2 检测移到设置之前,并 全程使用 Markdown 链接。在不变式检查器中于 init 之前捕获内联代码登录。 重新指向过时的 README 和同级技能引用。 Co-Authored-By: Claude Opus 5.5
无版本号
合并来自 clerk/feat/orgs-recommend-decision-block 的拉取请求 #71 feat(clerk-orgs):帮助代理判断应用是否需要 Organizations
无版本号
test(orgs):为在没有 org 词汇的情况下推荐 orgs 添加评估 现有的九个用例都在提示中提到了 organizations、roles 或 RBAC, 因此没有一个能检验该技能是否首先被触达。新增一个提示中从未出现该词的 B2B 用例、一个不得触发推荐的 B2C 用例,以及一个模糊的共享用例, 该用例应呈现该选项而不启用任何内容。
无版本号
feat(orgs):帮助代理判断应用是否需要 Organizations 该技能只有在开发者已经使用 org 词汇后才会浮现,因此一个被描述为 “公司注册并邀请其团队”的项目从未触达它。将描述扩展到症状术语, 并添加一个决策块,该块读取仓库、区分强信号与弱信号, 并告诉代理去询问而不是静默启用。
无版本号
fix(orgs):使用内联查询字符串而不是 --query 标志 clerk api 将端点作为路径参数,没有 --query 选项, 因此所有三个 list 命令在到达网络之前就失败并报“unknown option '--query'”。 已针对 clerk@3.2.0 验证了替换方案。
无版本号
docs(skills):移除 keyless 品牌和已失效的 SDK keyless 流程 对应 clerk/clerk#3209:描述行为(临时开发密钥,无需账户) 而不是 keyless 品牌,并从设置文案中删除框架列表。 - clerk-setup:将 SDK 的 'Keyless (Automatic)' 密钥路径(已在 @clerk/nextjs 7.8.0 中移除)替换为 clerk init 流程;修正 frontmatter 兼容性行;将版本提升至 2.5.0 - clerk-setup 评估:按 'clerk init temporary development keys' 评分,而不是 'keyless dev mode' - clerk-cli + references:重命名 Keyless 章节/锚点,改写 文字;字面 CLI 表面(--keyless、.clerk/keyless.json、whoami 的 keyless 对象)有意保留 - clerk router、clerk-orgs、clerk-billing:单行改写
无版本号
docs(skills):keyless 是默认方式——无需登录 CLI PR clerk/cli#395 使 keyless 成为未认证 clerk init 的默认方式, 并允许在无账户的情况下配置 keyless 实例。更新那些仍声称 --keyless 是可选加入 或 auth login 是前置条件的技能。 Co-Authored-By: Claude Fable 5
无版本号
refactor(orgs):将 cli 命令从 config 换成 enable,以获得更清晰的启用说明
无版本号
fix(orgs):在更深入的路由器验证后修正 references 中的 CLI 端点 - 将已弃用的 /v1/saml_connections 替换为 /v1/enterprise_connections(现代路径);注明付费计划的 SAML 功能门控 - 自定义角色:使用 POST /v1/organization_roles 创建(之前错误地使用 POST /v1/role_sets/.../roles,后者只是将现有角色添加到集合中) - 自定义权限:展示两步流程(先 POST /v1/organization_permissions 创建,再 POST /v1/organization_roles/.../permissions/... 附加)
无版本号
fix(orgs):在 references 中使用 clerk api 包装器而不是原始 BAPI References 现在一致地展示 clerk api 命令(对代理友好的包装器),而不是原始 BAPI URL。与 SKILL.md 的 Agent-first 侧边栏风格一致。
无版本号
feat(orgs):添加 agent-first CLI 侧边栏 - 新增 'Agent-first: Programmatic org management' 章节,展示: - 通过 PLAPI Instance Config PATCH 启用 Organizations + 设置(organization_settings.enabled / max_allowed_memberships / domains_enabled / admin_delete_enabled) - 通过 BAPI 进行 Org CRUD(POST/GET/PATCH/DELETE /v1/organizations) - 成员关系 CRUD(添加/列出/更新角色/移除) - 邀请(发送/列出/撤销) - 更新 STOP 提示框:启用开关也可通过 clerk config patch 完成 - 更新 Quick Start 第 1 步以展示两种路径 - 注明 org 订阅/计费通过 clerk-billing 技能处理 - 指向 references/ 以深入了解角色 + SSO
无版本号
fix(orgs):收紧 STOP 块中 Membership 模式的表述 原来的行声称选错模式会导致 PricingTable、 OrganizationSwitcher 和个人账户流程“静默中断”—— 这夸大了实际发生的情况。在 Membership required 模式下, 已登录用户会被引导通过 choose-organization 任务, 个人账户是按设计禁用的,而不是中断。改写为 描述每种模式的作用以及何时选择 optional,去掉 “静默中断”的表述。
无版本号
fix(orgs):第五轮排查——现代 signIn.sso + 多 SDK 认证访问器 又发现两处残留: enterprise-sso.md — Custom Sign-In Flow: - 示例使用了 signIn.authenticateWithRedirect(),它仍然可用 但属于旧路径。当前的 enterprise-connections 自定义流程 文档使用 signIn.sso({ strategy, identifier, redirectUrl, redirectCallbackUrl })。已更新为 Core 3 规范模式, 并添加一个小的 Core-2/旧版提示,说明旧方法仍存在 以保持向后兼容。 - 注意:redirectUrlComplete -> redirectUrl,以及新增的 redirectCallbackUrl 参数用于 additional-requirements 情况。 SKILL.md — §1 访问器说明: - 原来的行将 "getAuth(event)" 混为一谈,认为它同时覆盖 Nuxt 和 Astro 服务器,但 Astro 使用 context.locals.auth()(不是 getAuth)。按 SDK 拆分:Nuxt 用 auth(event),Astro 用 context.locals.auth(), Express 用 getAuth(req)。客户端访问器保留为 useAuth(React) 或 composables(Vue/Nuxt)。
无版本号
fix(orgs):第四轮排查——TaskChooseOrganization SDK 列表 + verifyToken 引用 在第四轮交叉验证中又发现两处残留: SKILL.md §6(Session Task): - 声称 TaskChooseOrganization "ships in @clerk/js-frontend" 作为 导入。包名实际上是 @clerk/clerk-js,并且 JS Frontend SDK 通过 clerk.mountTaskChooseOrganization / unmountTaskChooseOrganization 方法暴露任务 UI,而不是作为组件导入。 已改写以明确区分导入与挂载。 references/invitations.md 框架包装器表格: - @clerk/backend 行指向 clerk.verifyToken(方法式),但 verifyToken 是 @clerk/backend 的独立顶层导出, 不是客户端实例上的方法。已相应改写。
无版本号
fix(orgs):最终交叉验证排查——6 处残留不准确 对所有 4 个参考文件 + SKILL.md 进行全面排查,对照文档 参考页面 + @clerk/backend + @clerk/astro + @clerk/nuxt + @clerk/express 源码。 本轮发现: SKILL.md: - Enterprise SSO 简短章节仍声称 "Requires domain verification (DNS TXT)"。已改写以反映真实模型: SSO 连接直接拥有其域,不需要单独的 Verified Domain,这两个功能互斥。添加了 JIT Provisioning 作为真正的自动加入机制。 roles-permissions.md: - org:sys_domains:manage 描述声称覆盖 "Enterprise SSO connections",但文档中没有。已收紧 为仅文档明确确认的内容(Verified Domains)。 invitations.md: - createOrganizationInvitationBulk 签名有误:技能中 是单个对象,内部有 invitations: [...],但真实 方法将 organizationId 作为位置参数 + 一个 params 数组 作为第二个参数。遵循旧示例的代理会得到 TypeScript 错误或来自 BAPI 的 400。 - 批量端点速率限制从 250/hr(与单个相同) 更正为 50/hr(根据后端参考中批量特定的速率限制)。 - 框架包装器表格有两个错误的客户端获取器: @clerk/astro/server 使用了 `clerk(context)`(无效导入)—— 真实的是 `clerkClient(context)`。@clerk/nuxt/server 使用了 `useClerkClient(event)`——真实的是 `clerkClient(event)`。 已修正两个框架的认证上下文访问器。 nextjs-patterns.md:已对照 @clerk/nextjs/server 源码验证无误(auth.protect 重载、createRouteMatcher、clerkMiddleware)。 无需更改。
无版本号
fix(orgs):处理关于 enterprise-sso + invitations 参考的评审反馈 应用 PR 评审反馈: enterprise-sso.md: - 重写了 Configuration Flow。移除了 Verified Domains 的 DNS TXT 记录声明 (所有权通过 OrganizationSwitcher / OrganizationProfile 流程中的 电子邮件代码验证,依据 Verified Domains 指南)。移除了将 SSO 连接设置与 Verified Domains 混为一谈的内容——文档明确指出这两个功能 在同一域上互斥。 - 添加说明:目前 Dashboard 是唯一路径;将 CLI 标记为 未来发布后再重新审视。 - Verified Domains 章节重新表述为 "separate feature, short reference",指向规范文档。 - 新增 JIT Provisioning 章节——这是将 SSO 用户自动加入 org 的 实际机制,而不是 Verified Domains。 - 修正 Key Rules:SSO 连接拥有其域(无需 Verified Domain 前置条件);自动加入是 JIT Provisioning。 - 根据评审意见删除了自指的 "this is where the skill used to hallucinate" 措辞。 invitations.md: - 在顶部添加框架包装器提示。clerk.organizations.* 上的方法签名 在各 SDK 中相同——只有客户端获取包装器不同。表格涵盖 @clerk/nextjs、 @clerk/backend、@clerk/astro/server、@clerk/nuxt/server、 @clerk/express。保留 @clerk/nextjs 作为默认代码风格 (与 clerk-billing 先例一致),同时使跨 SDK 情况可发现, 回应关于框架分离的评审意见。
无版本号
refactor(orgs):将 nextjs-patterns 参考精简为 org 特定内容 通过移除已存在于 clerk-nextjs-patterns 技能中的内容, 精简 references/nextjs-patterns.md(146 -> 106 行): - 文件命名说明(proxy.ts vs middleware.ts)——位于 clerk-nextjs-patterns/references/middleware-strategies.md - 通用 createRouteMatcher 介绍——同一位置 - 401 vs 403 响应策略——位于 clerk-nextjs-patterns/references/api-routes.md - 通用服务器操作形态——位于 clerk-nextjs-patterns/references/server-actions.md 保留 org 特定的适配: - 中间件中的 auth.protect({ role / permission }) - orgSlug === params.slug URL 安全不变式 - 服务器操作中按 orgId 作用域的数据库写入 - API 路由中的 getOrganizationMembershipList 用法 更新了 SKILL.md 中的路由 + 参考表格,以描述 该文件的范围,并引导代理到 clerk-nextjs-patterns 获取通用 Next.js 模式。
无版本号
refactor(orgs):准确性 + 渐进式披露调整 使 clerk-orgs 与 clerk-billing v2 和 clerk-nextjs-patterns 使用的结构保持一致:渐进式披露、兼容性 frontmatter、任务路由表、错误签名、仪表盘快捷方式。 内容改进(对照 clerk-docs 参考 页面 + clerk/javascript 中的 @clerk/backend + @clerk/shared 类型交叉引用): - 权限 slug 与 docs/guides/organizations/control-access/roles-and-permissions.mdx 中的规范 System Permissions 目录对齐: org:sys_{memberships,profile,domains,billing}:{read,manage,delete}。 旧表格引用了非规范名称,在运行时无法匹配 has() 检查。 - createOrganizationInvitation 示例现在包含 inviterUserId, Backend API 参考将其列为人工发起 邀请所必需。 - Enterprise SSO 示例已更新为通过 enterpriseAccounts[i].enterpriseConnection?.provider 访问提供者元数据,与 EnterpriseAccountConnection 类型定义一致。直接对 EnterpriseAccount 使用 .provider 会返回 undefined。 - getOrganizationInvitationList 状态枚举已更新为包含所有 四个文档化值:pending、accepted、revoked、expired。 - 明确呈现 Membership required 与 Membership optional 模式 (自 2025 年 8 月 22 日起默认为 required)。这影响 B2C + B2B 共存,是值得在 错误签名表中指出的静默失败模式。 结构变更: - SKILL.md 423 -> 350 行。框架无关的表述, 以 @clerk/nextjs 作为默认代码风格,并指向其他 SDK (@clerk/react、@clerk/astro、@clerk/vue、@clerk/expo、...)。Next.js 中间件和 redirect() 模式移至 references/nextjs-patterns.md。 - 新增 references/:roles-permissions.md(120)、invitations.md(137)、 enterprise-sso.md(108)、nextjs-patterns.md(146)。均低于 300 行 阈值,符合 skill-creator 指南。 - Frontmatter:inputs: array -> compatibility: string(与 clerk-billing 模式 + skill-creator 约定一致)。版本 2.1.0 -> 3.0.0。 - 新增章节:STOP 前置条件块、Dashboard 快捷方式表、 Error Signatures 表(七行)、What Do You Need? 路由表。 评估: - 评估 2(RBAC):要求规范的 System Permission slug。 - 评估 5(SSO):要求 enterpriseConnection?.provider 路径。 - 评估 7(invitations):要求 inviterUserId + 完整状态枚举。 - 评估 9(新增):覆盖 Membership 模式前置条件。
无版本号
fix:为剩余 5 个技能(orgs、backend-api、astro、expo、react-router)添加 See Also
无版本号
fix:从评估运行同步技能更新 - clerk-chrome-extension-patterns:重大重写(新增引用:create-clerk-client、 headless-extension、sync-host;移除:background-scripts、popup-auth、storage-tokens) - clerk-backend-api:扩展 SKILL.md + 添加评估 - clerk-orgs:扩展 SKILL.md + 添加评估
无版本号
chore:为重构后的技能提升版本
无版本号
fix:使所有 18 个技能通过 skills-ref 验证 - 将 inputs/references 移到 metadata 下(非规范顶层字段) - 从 backend-api 移除 argument-hint - 为带冒号的描述加引号(YAML 解析修复) - 重命名文件夹以匹配技能名称(规范要求 clerk- 前缀) - 为 6 个有额外要求的技能添加 compatibility 字段 - 更新 marketplace.json 和文档路径 所有 18 个技能现在均通过:npx skills-ref validate 属于 AIE-750

暂无评论

none
暂无评论...