[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C6A35K7M52CSHXS3HAQP1R":3,"skill-same:01M6C6A35K7M52CSHXS3HAQP1R":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6C6A35K7M52CSHXS3HAQP1R","clerk-testing",null,"E2E testing for Clerk apps. Use with Playwright or Cypress for auth flow tests.","Allternit\u002Fallternit-platform","Allternit","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F250397232?v=4","01M6C67T2SPVP033M7REAAHYHX","01M6C67T7CXM1DKVQY8DFAFRB2",1,"MIT","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fclerk-testing\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"testing","clerk","clerk testing","auth flow","for","with","apps","cypress","tests","token","use","webfetch","e2e","flow","auth","playwright","e2e testing","dashboard","2026-11-10 10:12:30",false,"---\nname: clerk-testing\ndescription: E2E testing for Clerk apps. Use with Playwright or Cypress for auth flow\n  tests.\nallowed-tools: WebFetch\nlicense: MIT\nmetadata:\n  author: clerk\n  version: 1.2.0\ncompatibility: Requires CLERK_TESTING_TOKEN from Clerk dashboard\n---\n\n# Testing\n\n## Decision Tree\n\n| Framework | Documentation |\n|-----------|---------------|\n| Overview | https:\u002F\u002Fclerk.com\u002Fdocs\u002Fguides\u002Fdevelopment\u002Ftesting\u002Foverview |\n| Playwright | https:\u002F\u002Fclerk.com\u002Fdocs\u002Fguides\u002Fdevelopment\u002Ftesting\u002Fplaywright\u002Foverview |\n| Cypress | https:\u002F\u002Fclerk.com\u002Fdocs\u002Fguides\u002Fdevelopment\u002Ftesting\u002Fcypress\u002Foverview |\n\n## Mental Model\n\nTest auth = isolated session state. Each test needs fresh auth context.\n- `clerkSetup()` initializes test environment\n- `setupClerkTestingToken()` bypasses bot detection\n- `storageState` persists auth between tests for speed\n\n## Workflow\n\n1. Identify test framework (Playwright or Cypress)\n2. WebFetch the appropriate URL from decision tree above\n3. Follow official setup instructions\n4. Use `pk_test_*` and `sk_test_*` keys only\n\n## Best Practices\n\n- Use `setupClerkTestingToken()` before navigating to auth pages\n- Use test API keys: `pk_test_xxx`, `sk_test_xxx`\n- Save auth state with `storageState` for faster tests\n- Use `page.waitForSelector('[data-clerk-component]')` for Clerk UI\n\n## Anti-Patterns\n\n| Pattern | Problem | Fix |\n|---------|---------|-----|\n| Production keys in tests | Security risk | Use `pk_test_*` keys |\n| No `setupClerkTestingToken()` | Auth fails | Call before navigation |\n| UI-based sign-in every test | Slow tests | Use `storageState` |\n\n## Framework-Specific\n\n**Playwright**: Use `globalSetup` for auth state\n**Cypress**: Add `addClerkCommands({ Cypress, cy })` to support file\n\n## See Also\n\n- `clerk-setup` - Install Clerk before adding tests\n- `clerk-nextjs-patterns` - Next.js patterns being tested\n- [Demo Repo](https:\u002F\u002Fgithub.com\u002Fclerk\u002Fclerk-playwright-nextjs\u002Ftree\u002Fmain\u002Fe2e)\n","# Testing\n\n## Decision Tree\n\n| Framework | Documentation |\n|-----------|---------------|\n| Overview | https:\u002F\u002Fclerk.com\u002Fdocs\u002Fguides\u002Fdevelopment\u002Ftesting\u002Foverview |\n| Playwright | https:\u002F\u002Fclerk.com\u002Fdocs\u002Fguides\u002Fdevelopment\u002Ftesting\u002Fplaywright\u002Foverview |\n| Cypress | https:\u002F\u002Fclerk.com\u002Fdocs\u002Fguides\u002Fdevelopment\u002Ftesting\u002Fcypress\u002Foverview |\n\n## Mental Model\n\nTest auth = isolated session state. Each test needs fresh auth context.\n- `clerkSetup()` initializes test environment\n- `setupClerkTestingToken()` bypasses bot detection\n- `storageState` persists auth between tests for speed\n\n## Workflow\n\n1. Identify test framework (Playwright or Cypress)\n2. WebFetch the appropriate URL from decision tree above\n3. Follow official setup instructions\n4. Use `pk_test_*` and `sk_test_*` keys only\n\n## Best Practices\n\n- Use `setupClerkTestingToken()` before navigating to auth pages\n- Use test API keys: `pk_test_xxx`, `sk_test_xxx`\n- Save auth state with `storageState` for faster tests\n- Use `page.waitForSelector('[data-clerk-component]')` for Clerk UI\n\n## Anti-Patterns\n\n| Pattern | Problem | Fix |\n|---------|---------|-----|\n| Production keys in tests | Security risk | Use `pk_test_*` keys |\n| No `setupClerkTestingToken()` | Auth fails | Call before navigation |\n| UI-based sign-in every test | Slow tests | Use `storageState` |\n\n## Framework-Specific\n\n**Playwright**: Use `globalSetup` for auth state\n**Cypress**: Add `addClerkCommands({ Cypress, cy })` to support file\n\n## See Also\n\n- `clerk-setup` - Install Clerk before adding tests\n- `clerk-nextjs-patterns` - Next.js patterns being tested\n- [Demo Repo](https:\u002F\u002Fgithub.com\u002Fclerk\u002Fclerk-playwright-nextjs\u002Ftree\u002Fmain\u002Fe2e)\n",{"name":5,"license":14,"metadata":46,"description":7,"allowed-tools":48,"compatibility":49},{"author":24,"version":47},"1.2.0","WebFetch","Requires CLERK_TESTING_TOKEN from Clerk dashboard","main","7db7c6f88fb96b6792195dacabdb088419b7a9fa",".agents\u002Fskills\u002Fclerk-testing",0,"https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform","https:\u002F\u002Fgithub.com\u002FAllternit","https:\u002F\u002Fallternit.com","Allternit builds AI agents that work on your computer, in the cloud, and from your phone. Home of Allternit Desktop and Gizzi Code.","2026-11-15 02:40:14",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add Allternit\u002Fallternit-platform --skill clerk-testing",{"tool":65,"command":66},"bunx","bunx skills add Allternit\u002Fallternit-platform --skill clerk-testing",{"tool":68,"command":69},"pnpm","pnpm dlx skills add Allternit\u002Fallternit-platform --skill clerk-testing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fclerk-testing\u002FSKILL.md",true,[],[74,101,118,141,163,193],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":78,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":41},"01M6C6GBWRCJNWQP5S16PKXB77","jev","Ask typed System One judgments (noul \u002F choice \u002F 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 \u002Fjev. Official TypeSafe Jev is an optional, explicit remote lane.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002Ftools\u002Fsystem-one-local\u002Fskills\u002Fjev\u002FSKILL.md",[],[76,82,83,84,85,86,87,88,89,90,91,92,93,33,94,95,96,97,98,99,100],"official","routing","code","server","lane","system","json","model","choice","branch","ask","user","scoring","chat","local","probability","remote","can","when",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":78,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":41},"01M6C6G9CGB9MX47NSQ31QNNB7","jev-route","Route with local System One answers — map Choice + confidence to act \u002F confirm \u002F human lanes, or pick a model tier by Choice label. Also documents the separate `route-model` helper for OpenRouter's typesafe\u002Fjev-router (a chat-model router, NOT System One). Use for confidence routing, model-tier routing, or when the user runs \u002Fjev-route.","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002Ftools\u002Fsystem-one-local\u002Fskills\u002Fjev-route\u002FSKILL.md",[],[76,108,109,110,83,87,89,111,90,112,93,33,113,114,95,115,96,116,28,27,117,100],"jev route","route","documents","pick","openrouter","router","model router","map","helper","model-tier",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":78,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":41},"01M6C6G6JZE0RC50QWWE6HG320","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\u002Fpretooluse-guard) that puts deterministic hard rules first and lets Jev only raise friction. Use for injection\u002Fsecret\u002Fdestructive-action screening or when the user runs \u002Fjev-guardrail.","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002Ftools\u002Fsystem-one-local\u002Fskills\u002Fjev-guardrail\u002FSKILL.md",[],[76,125,126,127,84,128,129,130,87,131,132,133,93,33,134,135,136,137,96,138,139,27,140,100],"jev guardrail","guardrail","policy","injection","first","guard","tool","text","Rules","friction","only","hooks","deterministic","battery","calls","agent tool",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":78,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":41},"01M6C6G426P7Q5J3F98HVYDCB2","jev-fanout","Ask every independent System One question over the same state in ONE POST \u002Fv1\u002Fsystemone to the local server (speculative fan-out). Use for parallel judgments, compound commands, one-call turn assessment, or when the user runs \u002Fjev-fanout. Do not fire one HTTP call per question.","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002Ftools\u002Fsystem-one-local\u002Fskills\u002Fjev-fanout\u002FSKILL.md",[147],{"categoryNo":148,"categoryName":149,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",[76,151,152,153,154,155,85,87,156,92,157,93,33,158,159,96,160,161,27,162,100],"fanout","jev fanout","http","assessment","state","parallel","question","do","call","post","v1","local server",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":78,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":41},"01M6C6G13D7JK869Q3DHMQ9542","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.","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002Ftools\u002Fmemory-drive-plugin\u002Fskills\u002Fmemory-drive\u002FSKILL.md",[],[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,93,186,33,187,188,189,190,191,192,100],"memory","drive","memory drive","sessions","remember","learn","git","agent memory","start","open","markdown","format","work","repo","read","write","session","what the","memories","about","questions","you","load",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":78,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":202,"publishedAt":41},"01M6C6FX778N1047QAJ39Y582H","agent-orchestrator","Orchestrate external CLI agents (kimi, codex, agy, claude, grok, gizzi) through the Allternit Factory (gizzi agents \u002F orchestration \u002F workspace \u002F workflows). Use when the user asks to delegate, offload, or farm out implementation work to another CLI agent \u002F terminal session, or to run work outside this session to save tokens. Part of Allternit Agents \u002F Bot Agents — not a separate product.","https:\u002F\u002Fgithub.com\u002FAllternit\u002Fallternit-platform\u002Fblob\u002Fmain\u002Ftools\u002Fagent-orchestrator\u002FSKILL.md",[199],{"categoryNo":200,"categoryName":201,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[203,204,205,206,207,208,209,210,211,212,213,214,215,182,216,217,186,33,218,219,220,221,222,223,224,225,100],"orchestrator","agent orchestrator","bot","cli","terminal","codex","orchestration","workflows","run","product","orchestrate","save","workspace","delegate","factory","grok","kimi","implementation","offload","tokens","cli agents","farm","terminal session"]