AGENT SKILL

clerk-testing

E2E testing for Clerk apps. Use with Playwright or Cypress for auth flow tests.

使用场景测试与质量
License 许可
MIT
最近更新
2026-11-15
Stars
★ 1
Forks
0

01 前言 Front Matter

name
clerk-testing
license
MIT
metadata
{ "author": "clerk", "version": "1.2.0" }
description
E2E testing for Clerk apps. Use with Playwright or Cypress for auth flow tests.
allowed-tools
WebFetch
compatibility
Requires CLERK_TESTING_TOKEN from Clerk dashboard

03 SKILL.md 正文

Testing

Decision Tree

Framework Documentation
Overview https://clerk.com/docs/guides/development/testing/overview
Playwright https://clerk.com/docs/guides/development/testing/playwright/overview
Cypress https://clerk.com/docs/guides/development/testing/cypress/overview

Mental Model

Test auth = isolated session state. Each test needs fresh auth context.

  • clerkSetup() initializes test environment
  • setupClerkTestingToken() bypasses bot detection
  • storageState persists auth between tests for speed

Workflow

  1. Identify test framework (Playwright or Cypress)
  2. WebFetch the appropriate URL from decision tree above
  3. Follow official setup instructions
  4. Use pk_test_* and sk_test_* keys only

Best Practices

  • Use setupClerkTestingToken() before navigating to auth pages
  • Use test API keys: pk_test_xxx, sk_test_xxx
  • Save auth state with storageState for faster tests
  • Use page.waitForSelector('[data-clerk-component]') for Clerk UI

Anti-Patterns

Pattern Problem Fix
Production keys in tests Security risk Use pk_test_* keys
No setupClerkTestingToken() Auth fails Call before navigation
UI-based sign-in every test Slow tests Use storageState

Framework-Specific

Playwright: Use globalSetup for auth state Cypress: Add addClerkCommands({ Cypress, cy }) to support file

See Also

  • clerk-setup - Install Clerk before adding tests
  • clerk-nextjs-patterns - Next.js patterns being tested
  • Demo Repo

04 同仓库更多 Skills

Allternit
Allternit/allternit-platform

jev

Ask typed System One judgments (noul / choice / score) against Allternit's LOCAL System One server instead of prompting a chat model to "return JSON". Use when classifying, routing, scoring, or screening something and code needs a probability it can branch on, or when the user runs /jev. Official TypeSafe Jev is an optional, explicit remote lane.

★ 1
Allternit
Allternit/allternit-platform

jev-route

Route with local System One answers — map Choice + confidence to act / confirm / human lanes, or pick a model tier by Choice label. Also documents the separate `route-model` helper for OpenRouter's typesafe/jev-router (a chat-model router, NOT System One). Use for confidence routing, model-tier routing, or when the user runs /jev-route.

★ 1
Allternit
Allternit/allternit-platform

jev-guardrail

Screen text or agent tool calls with a battery of local System One Noul hazards plus a Score, with policy in code — and the Claude Code PreToolUse guard (hooks/pretooluse-guard) that puts deterministic hard rules first and lets Jev only raise friction. Use for injection/secret/destructive-action screening or when the user runs /jev-guardrail.

★ 1
Allternit
Allternit/allternit-platform

jev-fanout

Ask every independent System One question over the same state in ONE POST /v1/systemone to the local server (speculative fan-out). Use for parallel judgments, compound commands, one-call turn assessment, or when the user runs /jev-fanout. Do not fire one HTTP call per question.

后端与接口
★ 1
Allternit
Allternit/allternit-platform

memory-drive

Read and write the user's Allternit Memory Drive, a git repo of markdown memories in the open Agent Memory Repo format. Use at the start of a session to load what the user's agents remember (MEMORY.md), when the user says "remember this", when you learn a durable fact about the user or their work, and before answering questions that depend on past sessions.

★ 1
Allternit
Allternit/allternit-platform

agent-orchestrator

Orchestrate external CLI agents (kimi, codex, agy, claude, grok, gizzi) through the Allternit Factory (gizzi agents / orchestration / workspace / workflows). Use when the user asks to delegate, offload, or farm out implementation work to another CLI agent / terminal session, or to run work outside this session to save tokens. Part of Allternit Agents / Bot Agents — not a separate product.

Skill与智能体开发
★ 1