Use when starting Auth0 integration in any framework - detects your stack (React, Next.js, Vue, Angular, Express, Fastify, React Native) and routes to correct SDK setup workflow
Install with Tessl CLI
npx tessl i github:auth0/agent-skills --skill auth0-quickstart92
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillEvaluation — 94%
↑ 1.14xAgent success when using this skill
Validation for skill structure
Auth0 App Type Selection and CLI Creation
SPA type identified
100%
100%
--type spa flag
100%
100%
Correct callback URL
0%
58%
Correct logout URL
37%
62%
metadata flag present
0%
100%
origins flag included
0%
70%
web-origins flag included
60%
70%
No client secret recommended
100%
100%
React/Vite detection rationale
100%
100%
Detection command referenced
0%
0%
Without context: $0.1680 · 45s · 8 turns · 11 in / 2,397 out tokens
With context: $0.2686 · 50s · 12 turns · 4,383 in / 2,369 out tokens
Vite Environment Variable Setup
VITE_ prefix in .env
100%
100%
import.meta.env usage
100%
100%
.env excluded from git
100%
100%
.env.example created
100%
100%
No client secret in files
100%
100%
No process.env in Vite code
100%
100%
Domain and ClientId exported
100%
100%
No hardcoded credentials
100%
100%
.env.example VITE_ prefix
100%
100%
.env.example placeholder values
100%
100%
Without context: $0.1621 · 39s · 15 turns · 16 in / 1,967 out tokens
With context: $0.5070 · 1m 9s · 24 turns · 7,055 in / 3,776 out tokens
Next.js Server-Side Auth0 Environment Configuration
File named .env.local
100%
100%
AUTH0_SECRET present
100%
100%
openssl rand -hex 32 for secret
100%
100%
AUTH0_BASE_URL set
100%
100%
AUTH0_ISSUER_BASE_URL set
100%
100%
AUTH0_CLIENT_ID present
100%
100%
AUTH0_CLIENT_SECRET present
100%
100%
.env.local in .gitignore
100%
100%
.env.example created
100%
100%
No VITE_ or REACT_APP_ prefix
100%
100%
Without context: $0.1904 · 48s · 14 turns · 18 in / 2,493 out tokens
With context: $0.5974 · 1m 16s · 26 turns · 261 in / 4,333 out tokens
React Native app registration and Expo config
Native app type
100%
100%
Correct callback scheme
100%
100%
Correct logout scheme
100%
100%
metadata flag present
0%
100%
No client secret for native
100%
100%
app.json extra config
100%
100%
Constants.expoConfig access
100%
100%
expo-constants import
100%
100%
Framework detection mentioned
50%
100%
Without context: $0.3709 · 1m 33s · 21 turns · 28 in / 5,008 out tokens
With context: $0.3779 · 1m 12s · 18 turns · 3,904 in / 3,656 out tokens
Express.js backend Auth0 setup with session config
Regular web app type
100%
100%
Correct callback URL
0%
0%
metadata flag present
0%
100%
dotenv loaded at entry point
100%
100%
AUTH0_SECRET in .env
0%
100%
AUTH0_BASE_URL in .env
0%
100%
AUTH0_ISSUER_BASE_URL in .env
100%
100%
AUTH0_CLIENT_SECRET in .env
100%
100%
Session rolling enabled
100%
100%
rollingDuration is 86400
100%
100%
absoluteDuration is 604800
100%
100%
.env excluded from git
100%
100%
Without context: $0.4498 · 1m 57s · 24 turns · 31 in / 6,324 out tokens
With context: $0.7595 · 2m 3s · 28 turns · 7,517 in / 6,897 out tokens
API JWT protection with express-oauth2-jwt-bearer
express-oauth2-jwt-bearer used
100%
100%
AUTH0_AUDIENCE in .env
100%
100%
AUTH0_ISSUER_BASE_URL in .env
40%
100%
audience passed to auth middleware
100%
100%
issuerBaseURL passed to auth middleware
80%
100%
No jwt.decode without verify
100%
100%
dotenv loaded at entry point
100%
100%
Protected route uses middleware
100%
100%
Server-side validation rationale
100%
100%
Without context: $0.5074 · 2m 3s · 28 turns · 76 in / 6,801 out tokens
With context: $0.9502 · 2m 38s · 37 turns · 3,157 in / 8,430 out tokens
Create React App environment variable configuration
REACT_APP_ prefix in .env
100%
100%
process.env access in config
100%
100%
No import.meta.env usage
100%
100%
No client secret in config
100%
100%
.env excluded from git
100%
100%
.env.example created
100%
100%
.env.example REACT_APP_ prefix
100%
100%
Domain and clientId exported
100%
100%
No hardcoded credentials
100%
100%
.env.example placeholder values
100%
100%
Without context: $0.1929 · 43s · 14 turns · 19 in / 2,168 out tokens
With context: $0.5256 · 1m 7s · 24 turns · 28 in / 3,955 out tokens
Angular Auth0 app registration and environment configuration
angular.json detection referenced
0%
0%
--type spa for Angular
100%
100%
metadata flag present
0%
100%
SPA callback URL
50%
100%
environment.ts created
100%
100%
auth0 object structure
50%
100%
redirect_uri window.location.origin
0%
100%
environment.prod.ts created
100%
100%
No .env file for Angular
100%
100%
No client secret in Angular config
100%
100%
Without context: $0.2223 · 53s · 12 turns · 16 in / 2,565 out tokens
With context: $0.5719 · 1m 24s · 24 turns · 8,278 in / 4,290 out tokens
M2M service authentication and API registration
--type m2m for service app
100%
100%
metadata flag present
0%
100%
No callback or logout URLs for M2M
100%
100%
auth0 apis create used
100%
100%
API identifier is a URL
100%
100%
AUTH0_AUDIENCE in .env
100%
100%
AUTH0_ISSUER_BASE_URL in .env
0%
0%
AUTH0_CLIENT_SECRET in .env
100%
100%
AUTH0_CLIENT_ID in .env
100%
100%
Client Credentials flow documented
100%
100%
Without context: $0.3669 · 1m 34s · 19 turns · 24 in / 5,037 out tokens
With context: $0.5296 · 1m 35s · 21 turns · 3,910 in / 4,679 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.