Use when adding authentication to Angular applications with route guards and HTTP interceptors - integrates @auth0/auth0-angular SDK for SPAs
82
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 — 100%
↑ 1.07xAgent success when using this skill
Validation for skill structure
Standalone Angular auth setup
Correct SDK package
100%
100%
provideAuth0 usage
100%
100%
Credentials in environment file
100%
100%
authorizationParams.redirect_uri
100%
100%
loginWithRedirect method
100%
100%
logout with returnTo
100%
100%
isLoading$ for initialization
100%
100%
isAuthenticated$ for auth check
100%
100%
user$ for profile data
100%
100%
No manual token storage
100%
100%
Without context: $0.3657 · 1m 32s · 20 turns · 25 in / 5,317 out tokens
With context: $0.6461 · 1m 54s · 29 turns · 2,917 in / 6,260 out tokens
Route guards and HTTP interceptor
Guard uses inject(AuthService)
20%
100%
Guard checks isAuthenticated$
20%
100%
Guard redirects to login
70%
100%
canActivate applied to routes
100%
100%
authHttpInterceptorFn used
100%
100%
withInterceptors wires interceptor
100%
100%
allowedList configured
100%
100%
audience in authorizationParams
100%
100%
HttpClient used in service
100%
100%
No manual token attachment in service
100%
100%
Without context: $0.4176 · 1m 33s · 24 turns · 31 in / 5,518 out tokens
With context: $0.7198 · 2m · 31 turns · 4,308 in / 7,042 out tokens
AuthService mocking in unit tests
isAuthenticated$ as observable
100%
100%
user$ as observable
100%
100%
error$ as observable
100%
100%
loginWithRedirect spy
100%
100%
logout spy
100%
100%
getAccessTokenSilently spy
100%
100%
Mock provided via TestBed
100%
100%
No real AuthService in tests
100%
100%
error$ subscribed in component
100%
100%
Spy call verified in test
100%
100%
Without context: $0.9874 · 6m 22s · 44 turns · 51 in / 13,534 out tokens
With context: $0.8650 · 2m 59s · 30 turns · 280 in / 12,136 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.