skills/auth-config-check/SKILL.md
Check for authentication configuration before auth-dependent tasks like E2E tests, screenshots, or QA browser testing. Triggers on: auth config check, authentication check, pre-auth validation, auth prerequisite.
npx skillsauth add mdmagnuson-creator/yo-go auth-config-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
⛔ CRITICAL: Check for authentication config BEFORE any auth-dependent task.
Failure behavior: If config is missing/invalid, run inline auth setup (below). Do not proceed without valid configuration.
Auth-dependent tasks: E2E tests, screenshot capture, QA browser testing, any Playwright/browser automation requiring login.
jq '.authentication' docs/project.json
If authentication exists and is valid:
method + provider)⛔ DO NOT stop and ask the user. Resolve auth autonomously first. Builder has
setup-authand detection patterns — use them before involving the user.
Step A: Attempt autonomous resolution via setup-auth skill
Load the setup-auth skill and run its detection + configuration flow:
package.json for auth dependenciesauthentication config to project.jsonIf setup-auth succeeds → loop back to Step 2a with the new config.
Step B: If autonomous resolution fails (no auth infrastructure detectable)
Only THEN involve the user, with a specific diagnostic report:
═══════════════════════════════════════════════════════════════════════
⚠️ AUTHENTICATION CONFIGURATION REQUIRED
═══════════════════════════════════════════════════════════════════════
I attempted to configure authentication automatically but could not
detect your auth setup.
What I tried:
• Scanned package.json — no known auth dependencies found
• Scanned src/ for auth patterns — no matches
• Checked environment variables — none detected
I cannot proceed with auth-dependent tasks without configuration.
Please add auth config to docs/project.json:
{
"authentication": {
"method": "passwordless-otp",
"provider": "supabase",
"testUser": {
"type": "fixed",
"email": "[email protected]"
},
"routes": {
"login": "/login",
"verify": "/verify",
"authenticated": "/dashboard"
}
}
}
After configuration, retry the task.
> _
═══════════════════════════════════════════════════════════════════════
Step C: Wait only after autonomous resolution has failed
| Dependency | Provider | Likely Method |
|------------|----------|---------------|
| @supabase/supabase-js | supabase | Check for OTP vs password |
| @supabase/ssr | supabase | Check for OTP vs password |
| next-auth | nextauth | credentials or oauth |
| @auth/core | nextauth | credentials or oauth |
| @clerk/nextjs | clerk | oauth |
| @auth0/auth0-react | auth0 | oauth |
Based on authentication.provider and authentication.method:
| Provider | Method | Auth Skill |
|----------|--------|------------|
| supabase | passwordless-otp | auth-supabase-otp |
| supabase | email-password | auth-supabase-password |
| nextauth | email-password | auth-nextauth-credentials |
| custom | * | auth-generic |
If authentication.headless.enabled is true, prefer auth-headless for speed.
When authentication.acquisition is present, validate:
| Field | Required | Check |
|-------|----------|-------|
| description | Yes | Must be a non-empty string |
| steps | Yes | Must be a non-empty array of strings |
| fallbackToUI | No | Boolean, defaults to true |
| notes | No | Optional string |
If acquisition exists but is invalid (empty steps or missing description), warn:
⚠️ ACQUISITION CONFIG INCOMPLETE
authentication.acquisition exists but is missing required fields:
- description: [present/missing]
- steps: [N items / empty / missing]
Fix: Ensure both description and steps are populated.
Agents use acquisition.steps as fallback when headless auth fails.
When authentication.headless.method is "cli", additionally validate:
| Field | Required | Check |
|-------|----------|-------|
| command | Yes | Must be a non-empty string |
| responseFormat | No | Must be json, text, or env if present |
| tokenPath | No | Must be a non-empty string if present |
| sessionStorage | No | Must be cookies, localStorage, or both if present |
If method: "cli" but command is missing:
⚠️ CLI AUTH CONFIG INCOMPLETE
headless.method is "cli" but command is missing.
Fix: Add headless.command with the CLI command to generate auth tokens.
Example: "pnpm cli auth:test-token --email $TEST_EMAIL"
When delegating to auth-dependent sub-agents, include auth config in context:
<context>
version: 1
project:
path: {path}
stack: {stack}
authentication:
method: {method}
provider: {provider}
skill: {skill name}
testUserEmail: {email}
routes:
login: {login path}
authenticated: {authenticated path}
</context>
setup-auth — Interactive auth configuration wizardauth-supabase-otp — Supabase OTP loginauth-supabase-password — Supabase password loginauth-nextauth-credentials — NextAuth credentials loginauth-generic — Generic/custom authauth-headless — Headless auth session injectiondata-ai
Generate verification contracts before delegating tasks to sub-agents, defining how success will be measured. Triggers on: verification contract, delegation contract, task verification, contract-first delegation.
testing
Verify that Vercel environment variables point to the correct Supabase project for each environment to prevent staging/production cross-wiring. Triggers on: vercel supabase check, environment alignment, env var check, supabase environment.
development
Manage codebase and database vectorization for semantic search. Use when initializing, refreshing, or querying the vector index. Triggers on: vectorize init, vectorize refresh, vectorize search, semantic search, vector index, enable vectorization.
testing
Patterns for XCUITest UI tests for native Apple apps (macOS/iOS). Use when writing or reviewing XCUITest tests for Swift apps. Triggers on: XCUITest, xcuitest, native app testing, Apple UI tests, SwiftUI tests, AppKit tests, UIKit tests.