porcupine-md/jonggrang/auth

Claude Code and agent skill by porcupine-md/jonggrang

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Setup authentication flow (register, login, session/JWT, middleware)

Install

npx vskill@latest install porcupine-md/jonggrang/auth

SKILL.md

Context

Project {{project_name}} uses {{stack}}. Setup authentication with strategy: {{input.strategy}}.

Read AGENTS.md for security conventions.

Instructions

  1. Analyze existing auth setup
  • Check if auth middleware / auth routes already exist
  • Check already installed dependencies (bcrypt, jsonwebtoken, passport, next-auth, etc.)
  • Identify existing user model/schema
  1. Setup dependencies

Adjust based on strategy:

  • JWT: bcrypt/argon2, jsonwebtoken/jose
  • Session: express-session, connect-redis (optional)
  • OAuth: next-auth / passport + passport-google-oauth20, etc.
  1. Create/update user model
  • Fields: id, email, password_hash, name, created_at, updated_at
  • If OAuth: add provider, provider_id fields
  • Migration if needed (use migration skill)
  1. Create auth service
  • Register: validate input, hash password, create user, return token
  • Login: find user, verify password, return token
  • Verify: validate token, return user
  • Refresh: refresh expired token (if JWT)
  1. Create auth routes
  • POST /api/auth/register
  • POST /api/auth/login
  • POST /api/auth/logout
  • GET /api/auth/me (current user)
  • POST /api/auth/refresh (if JWT)
  1. Create auth middleware
  • Extract token from header/cookie
  • Verify token
  • Attach user to request
  • Return 401 if invalid
  1. Create tests
  • Register: success, duplicate email, weak password
  • Login: success, wrong password, user not found
  • Protected route: with token, without token, expired token
  • Middleware: valid token, invalid token, no token

Script

bash
#!/bin/bash
# Install auth dependencies based on strategy
STRATEGY="{{input.strategy}}"
if [ "$STRATEGY" = "jwt" ]; then
echo "Dependencies needed: bcryptjs jsonwebtoken"
elif [ "$STRATEGY" = "session" ]; then
echo "Dependencies needed: bcryptjs express-session"
elif [ "$STRATEGY" = "oauth" ]; then
echo "Dependencies needed: next-auth (or passport)"
fi

Validation

  • [ ] User model/schema created with proper fields
  • [ ] Password hashing works (not stored as plaintext)
  • [ ] Register endpoint works (happy path + errors)
  • [ ] Login endpoint works (happy path + errors)
  • [ ] Auth middleware protects routes correctly
  • [ ] Token validation works
  • [ ] Tests passing (minimum 8 test cases)
  • [ ] No security vulnerabilities (no secret in code, proper CORS, etc)
  • [ ] Typecheck passing

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
14
Repository forks
3
7-day trend score
19

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/porcupine-md/jonggrang/auth/badge)](https://verified-skill.com/skills/porcupine-md/jonggrang/auth)

Something wrong with this skill or its page? Tell us.