From gavel
Multi-tenant firm-scoped authentication for API and UI tests. Use when tests get 401 across tenants, need tenant-scoped tokens, or debug firm-scope mismatches. Framework-adaptive.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gavel:gavel-authThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Multi-tenant authentication for tests.
Multi-tenant authentication for tests.
// Fixture: login as tenant-specific user
test.extend<{ tenantAUser: APIRequestContext }>({
tenantAUser: async ({}, use) => {
const response = await request.post('/api/auth/login', {
data: { email: UserFactory.create('tenantA').email, password: env.PASSWORD },
headers: { 'X-Tenant': 'tenant-a' },
});
await use(response);
},
});
// Navigate via tenant-specific subdomain
await page.goto(`http://tenant-a.localhost:${port}/login`);
| Issue | Cause | Fix |
|---|---|---|
| 401 on cross-tenant request | Token scoped to wrong tenant | Use correct tenant's credentials |
| 404 instead of 403 | App returns 404 for scope mismatch | Expected behavior for security |
| Session expired | Token TTL exceeded | Re-login in beforeEach |
npx claudepluginhub dsolisp/gavel --plugin gavelRoutes gstack requests to the correct skill (planning, review, QA, shipping, debugging, docs, security, design). Invokes when user types /gstack or asks which skill to use.
Provides UI/UX design intelligence with 50+ styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 10 stacks. Use for designing pages, components, or reviewing visual quality.