# Auth Personalization

> Add Better Auth signup/signin, personalize chapter content, and persist user preferences. Use when implementing authentication, user sessions, or personalized content delivery.

- Skill: `aibot88/auth-personalization` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add aibot88/auth-personalization`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aibot88/auth-personalization/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: aibot88 (https://skillmd.com/u/aibot88)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aibot88/auth-personalization

---


# Auth Personalization Skill

## Instructions

1. **Auth plumbing**
   - Install Better Auth client/server SDKs
   - Configure redirect URIs and cookie/CSRF settings
   - In FastAPI, add auth dependency to protect endpoints
   - Verify tokens server-side

2. **Data model**
   - Neon tables:
     - `users(id, email, name, role)`
     - `preferences(user_id, difficulty, focus_tags, lang)`
   - Reuse `sessions` table if present from RAG service

3. **UX**
   - Docusaurus: add login/logout buttons
   - Display session state in header
   - Guard personalization features behind login
   - Provide preferences UI (dropdowns/tags) saved via backend

4. **Personalization logic**
   - Pass user prefs into RAG prompt context:
     - `difficulty` → adjust answer tone
     - `focus_tags` → rerank payload
   - Store last chapters read for resume suggestions

## Examples

```typescript
// Better Auth client setup
import { createAuthClient } from "better-auth/client";

export const authClient = createAuthClient({
  baseURL: process.env.NEXT_PUBLIC_API_URL,
});
```

```python
# FastAPI auth dependency
from fastapi import Depends, HTTPException

async def get_current_user(token: str = Depends(oauth2_scheme)):
    # Verify Better Auth token
    # Return user or raise 401
    pass
```

## Definition of Done

- Users can sign up/sign in via Better Auth; session recognized by backend
- Preferences persisted in Neon; API to update/fetch works
- RAG responses reflect preferences (tone/focus) when provided
- Basic UI for login + prefs exists in Docusaurus

