Agent Skillsdavepoon/buildwithclaude › auth-patterns

auth-patterns

GitHub

提供 Next.js 应用的身份验证指南,涵盖 NextAuth.js、Clerk 等库选型,详解 v5 配置、中间件保护、会话管理及服务端/客户端数据获取模式。

plugins/nextjs-expert/skills/auth-patterns/SKILL.md davepoon/buildwithclaude

Trigger Scenarios

Next.js 身份验证实现 NextAuth/Auth.js 配置 受保护路由设置 会话管理 JWT 处理

Install

npx skills add davepoon/buildwithclaude --skill auth-patterns -g -y
More Options

Non-standard path

npx skills add https://github.com/davepoon/buildwithclaude/tree/main/plugins/nextjs-expert/skills/auth-patterns -g -y

Use without installing

npx skills use davepoon/buildwithclaude@auth-patterns

指定 Agent (Claude Code)

npx skills add davepoon/buildwithclaude --skill auth-patterns -a claude-code -g -y

安装 repo 全部 skill

npx skills add davepoon/buildwithclaude --all -g -y

预览 repo 内 skill

npx skills add davepoon/buildwithclaude --list

SKILL.md

Frontmatter
{
    "name": "auth-patterns",
    "version": "1.0.0",
    "description": "This skill should be used when the user asks about \"authentication in Next.js\", \"NextAuth\", \"Auth.js\", \"middleware auth\", \"protected routes\", \"session management\", \"JWT\", \"login flow\", or needs guidance on implementing authentication and authorization in Next.js applications."
}

Authentication Patterns in Next.js

Overview

Next.js supports multiple authentication strategies. This skill covers common patterns including NextAuth.js (Auth.js), middleware-based protection, and session management.

Authentication Libraries

Library Best For
NextAuth.js (Auth.js) Full-featured auth with providers
Clerk Managed auth service
Lucia Lightweight, flexible auth
Supabase Auth Supabase ecosystem
Custom JWT Full control

NextAuth.js v5 Setup

Installation

npm install next-auth@beta

Configuration

// auth.ts
import NextAuth from 'next-auth'
import GitHub from 'next-auth/providers/github'
import Credentials from 'next-auth/providers/credentials'

export const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [
    GitHub({
      clientId: process.env.GITHUB_ID,
      clientSecret: process.env.GITHUB_SECRET,
    }),
    Credentials({
      credentials: {
        email: { label: 'Email', type: 'email' },
        password: { label: 'Password', type: 'password' },
      },
      authorize: async (credentials) => {
        const user = await getUserByEmail(credentials.email)
        if (!user || !verifyPassword(credentials.password, user.password)) {
          return null
        }
        return user
      },
    }),
  ],
  callbacks: {
    authorized: async ({ auth }) => {
      return !!auth
    },
  },
})

API Route Handler

// app/api/auth/[...nextauth]/route.ts
import { handlers } from '@/auth'

export const { GET, POST } = handlers

Middleware Protection

// middleware.ts
export { auth as middleware } from '@/auth'

export const config = {
  matcher: ['/dashboard/:path*', '/api/protected/:path*'],
}

Getting Session Data

In Server Components

// app/dashboard/page.tsx
import { auth } from '@/auth'
import { redirect } from 'next/navigation'

export default async function DashboardPage() {
  const session = await auth()

  if (!session) {
    redirect('/login')
  }

  return (
    <div>
      <h1>Welcome, {session.user?.name}</h1>
    </div>
  )
}

In Client Components

// components/user-menu.tsx
'use client'

import { useSession } from 'next-auth/react'

export function UserMenu() {
  const { data: session, status } = useSession()

  if (status === 'loading') {
    return <div>Loading...</div>
  }

  if (!session) {
    return <SignInButton />
  }

  return (
    <div>
      <span>{session.user?.name}</span>
      <SignOutButton />
    </div>
  )
}

Session Provider Setup

// app/providers.tsx
'use client'

import { SessionProvider } from 'next-auth/react'

export function Providers({ children }: { children: React.ReactNode }) {
  return <SessionProvider>{children}</SessionProvider>
}

// app/layout.tsx
import { Providers } from './providers'

export default function RootLayout({ children }) {
  return (
    <html>
      <body>
        <Providers>{children}</Providers>
      </body>
    </html>
  )
}

Sign In/Out Components

// components/auth-buttons.tsx
import { signIn, signOut } from '@/auth'

export function SignInButton() {
  return (
    <form
      action={async () => {
        'use server'
        await signIn('github')
      }}
    >
      <button type="submit">Sign in with GitHub</button>
    </form>
  )
}

export function SignOutButton() {
  return (
    <form
      action={async () => {
        'use server'
        await signOut()
      }}
    >
      <button type="submit">Sign out</button>
    </form>
  )
}

Middleware-Based Auth

Basic Pattern

// middleware.ts
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'

const protectedRoutes = ['/dashboard', '/settings', '/api/protected']
const authRoutes = ['/login', '/signup']

export function middleware(request: NextRequest) {
  const token = request.cookies.get('session')?.value
  const { pathname } = request.nextUrl

  // Redirect authenticated users away from auth pages
  if (authRoutes.some(route => pathname.startsWith(route))) {
    if (token) {
      return NextResponse.redirect(new URL('/dashboard', request.url))
    }
    return NextResponse.next()
  }

  // Protect routes
  if (protectedRoutes.some(route => pathname.startsWith(route))) {
    if (!token) {
      const loginUrl = new URL('/login', request.url)
      loginUrl.searchParams.set('callbackUrl', pathname)
      return NextResponse.redirect(loginUrl)
    }
  }

  return NextResponse.next()
}

export const config = {
  matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
}

With JWT Verification

// middleware.ts
import { NextResponse } from 'next/server'
import { jwtVerify } from 'jose'

const secret = new TextEncoder().encode(process.env.JWT_SECRET)

export async function middleware(request: NextRequest) {
  const token = request.cookies.get('token')?.value

  if (!token) {
    return NextResponse.redirect(new URL('/login', request.url))
  }

  try {
    const { payload } = await jwtVerify(token, secret)
    // Token is valid, continue
    return NextResponse.next()
  } catch {
    // Token is invalid
    return NextResponse.redirect(new URL('/login', request.url))
  }
}

Role-Based Access Control

Extending Session Types

// types/next-auth.d.ts
import { DefaultSession } from 'next-auth'

declare module 'next-auth' {
  interface Session {
    user: {
      role: 'user' | 'admin'
    } & DefaultSession['user']
  }
}

// auth.ts
export const { handlers, auth } = NextAuth({
  callbacks: {
    session: ({ session, token }) => ({
      ...session,
      user: {
        ...session.user,
        role: token.role,
      },
    }),
    jwt: ({ token, user }) => {
      if (user) {
        token.role = user.role
      }
      return token
    },
  },
})

Role-Based Component

// components/admin-only.tsx
import { auth } from '@/auth'
import { redirect } from 'next/navigation'

export async function AdminOnly({ children }: { children: React.ReactNode }) {
  const session = await auth()

  if (session?.user?.role !== 'admin') {
    redirect('/unauthorized')
  }

  return <>{children}</>
}

// Usage
export default async function AdminPage() {
  return (
    <AdminOnly>
      <AdminDashboard />
    </AdminOnly>
  )
}

Session Storage Options

JWT (Stateless)

// auth.ts
export const { auth } = NextAuth({
  session: { strategy: 'jwt' },
  // JWT stored in cookies, no database needed
})

Database Sessions

// auth.ts
import { PrismaAdapter } from '@auth/prisma-adapter'
import { prisma } from '@/lib/prisma'

export const { auth } = NextAuth({
  adapter: PrismaAdapter(prisma),
  session: { strategy: 'database' },
  // Sessions stored in database
})

Custom Login Page

// app/login/page.tsx
'use client'

import { signIn } from 'next-auth/react'
import { useSearchParams } from 'next/navigation'

export default function LoginPage() {
  const searchParams = useSearchParams()
  const callbackUrl = searchParams.get('callbackUrl') || '/dashboard'

  return (
    <div className="flex flex-col gap-4">
      <button
        onClick={() => signIn('github', { callbackUrl })}
        className="btn"
      >
        Sign in with GitHub
      </button>
      <button
        onClick={() => signIn('google', { callbackUrl })}
        className="btn"
      >
        Sign in with Google
      </button>
    </div>
  )
}

Security Best Practices

  1. Use HTTPS in production
  2. Set secure cookie flags (HttpOnly, Secure, SameSite)
  3. Implement CSRF protection (built into NextAuth)
  4. Validate redirect URLs to prevent open redirects
  5. Use environment variables for secrets
  6. Implement rate limiting on auth endpoints
  7. Hash passwords with bcrypt or argon2

Resources

For detailed patterns, see:

  • references/middleware-auth.md - Advanced middleware patterns
  • references/session-management.md - Session strategies
  • examples/nextauth-setup.md - Complete NextAuth.js setup

Version History

  • 502fc01 Current 2026-07-05 15:16

Same Skill Collection

plugins/agent-triforce/skills/code-health/SKILL.md
plugins/agent-triforce/skills/feature-spec/SKILL.md
plugins/agent-triforce/skills/implement-feature/SKILL.md
plugins/agent-triforce/skills/release-check/SKILL.md
plugins/agent-triforce/skills/review-findings/SKILL.md
plugins/agent-triforce/skills/security-audit/SKILL.md
plugins/agents-uc-taskmanager/skills/init/SKILL.md
plugins/agents-uc-taskmanager/skills/work-pipeline/SKILL.md
plugins/agents-uc-taskmanager/skills/work-status/SKILL.md
plugins/all-skills/skills/activecampaign-automation/SKILL.md
plugins/all-skills/skills/agent-analytics/SKILL.md
plugins/all-skills/skills/airtable-automation/SKILL.md
plugins/all-skills/skills/amplitude-automation/SKILL.md
plugins/all-skills/skills/artifacts-builder/SKILL.md
plugins/all-skills/skills/asana-automation/SKILL.md
plugins/all-skills/skills/aurakit/SKILL.md
plugins/all-skills/skills/bamboohr-automation/SKILL.md
plugins/all-skills/skills/basecamp-automation/SKILL.md
plugins/all-skills/skills/bitbucket-automation/SKILL.md
plugins/all-skills/skills/box-automation/SKILL.md
plugins/all-skills/skills/brand-guidelines/SKILL.md
plugins/all-skills/skills/brevo-automation/SKILL.md
plugins/all-skills/skills/cal-com-automation/SKILL.md
plugins/all-skills/skills/calendly-automation/SKILL.md
plugins/all-skills/skills/canva-automation/SKILL.md
plugins/all-skills/skills/canvas-design/SKILL.md
plugins/all-skills/skills/changelog-generator/SKILL.md
plugins/all-skills/skills/circleci-automation/SKILL.md
plugins/all-skills/skills/clawring/SKILL.md
plugins/all-skills/skills/clickup-automation/SKILL.md
plugins/all-skills/skills/close-automation/SKILL.md
plugins/all-skills/skills/coda-automation/SKILL.md
plugins/all-skills/skills/coding-agent-pm/SKILL.md
plugins/all-skills/skills/coinpaprika-api/SKILL.md
plugins/all-skills/skills/competitive-ads-extractor/SKILL.md
plugins/all-skills/skills/confluence-automation/SKILL.md
plugins/all-skills/skills/content-research-writer/SKILL.md
plugins/all-skills/skills/convertkit-automation/SKILL.md
plugins/all-skills/skills/datadog-automation/SKILL.md
plugins/all-skills/skills/developer-growth-analysis/SKILL.md
plugins/all-skills/skills/dexpaprika-api/SKILL.md
plugins/all-skills/skills/discord-automation/SKILL.md
plugins/all-skills/skills/dispatch/SKILL.md
plugins/all-skills/skills/docusign-automation/SKILL.md
plugins/all-skills/skills/docx/SKILL.md
plugins/all-skills/skills/domain-name-brainstormer/SKILL.md
plugins/all-skills/skills/dropbox-automation/SKILL.md
plugins/all-skills/skills/envelope-team/SKILL.md
plugins/all-skills/skills/figma-automation/SKILL.md
plugins/all-skills/skills/file-organizer/SKILL.md
plugins/all-skills/skills/freshdesk-automation/SKILL.md
plugins/all-skills/skills/freshservice-automation/SKILL.md
plugins/all-skills/skills/gingiris-growth-playbooks/SKILL.md
plugins/all-skills/skills/github-automation/SKILL.md
plugins/all-skills/skills/gitlab-automation/SKILL.md
plugins/all-skills/skills/gmail-automation/SKILL.md
plugins/all-skills/skills/google-analytics-automation/SKILL.md
plugins/all-skills/skills/google-calendar-automation/SKILL.md
plugins/all-skills/skills/google-drive-automation/SKILL.md
plugins/all-skills/skills/google-drive-upload/SKILL.md
plugins/all-skills/skills/googlesheets-automation/SKILL.md
plugins/all-skills/skills/helpdesk-automation/SKILL.md
plugins/all-skills/skills/hubspot-automation/SKILL.md
plugins/all-skills/skills/image-enhancer/SKILL.md
plugins/all-skills/skills/immich-photo-manager/SKILL.md
plugins/all-skills/skills/instagram-automation/SKILL.md
plugins/all-skills/skills/intercom-automation/SKILL.md
plugins/all-skills/skills/internal-comms/SKILL.md
plugins/all-skills/skills/invoice-organizer/SKILL.md
plugins/all-skills/skills/ios-hig-design-guide/SKILL.md
plugins/all-skills/skills/jira-automation/SKILL.md
plugins/all-skills/skills/json-canvas/SKILL.md
plugins/all-skills/skills/klaviyo-automation/SKILL.md
plugins/all-skills/skills/lead-research-assistant/SKILL.md
plugins/all-skills/skills/linear-automation/SKILL.md
plugins/all-skills/skills/linkedin-automation/SKILL.md
plugins/all-skills/skills/lobsterdomains/SKILL.md
plugins/all-skills/skills/mailchimp-automation/SKILL.md
plugins/all-skills/skills/make-automation/SKILL.md
plugins/all-skills/skills/mcp-builder/SKILL.md
plugins/all-skills/skills/meeting-insights-analyzer/SKILL.md
plugins/all-skills/skills/microsoft-teams-automation/SKILL.md
plugins/all-skills/skills/miro-automation/SKILL.md
plugins/all-skills/skills/mixpanel-automation/SKILL.md
plugins/all-skills/skills/monday-automation/SKILL.md
plugins/all-skills/skills/morning-ai/SKILL.md
plugins/all-skills/skills/notion-automation/SKILL.md
plugins/all-skills/skills/obsidian-bases/SKILL.md
plugins/all-skills/skills/obsidian-markdown/SKILL.md
plugins/all-skills/skills/obsidian-rest-api/SKILL.md
plugins/all-skills/skills/one-drive-automation/SKILL.md
plugins/all-skills/skills/outlook-automation/SKILL.md
plugins/all-skills/skills/outlook-calendar-automation/SKILL.md
plugins/all-skills/skills/pagerduty-automation/SKILL.md
plugins/all-skills/skills/pdf/SKILL.md
plugins/all-skills/skills/pipedrive-automation/SKILL.md
plugins/all-skills/skills/posthog-automation/SKILL.md
plugins/all-skills/skills/postmark-automation/SKILL.md
plugins/all-skills/skills/pptx/SKILL.md
plugins/all-skills/skills/pressreleasesonline/SKILL.md
plugins/all-skills/skills/raffle-winner-picker/SKILL.md
plugins/all-skills/skills/reddit-automation/SKILL.md
plugins/all-skills/skills/render-automation/SKILL.md
plugins/all-skills/skills/resemble-detect/SKILL.md
plugins/all-skills/skills/salesforce-automation/SKILL.md
plugins/all-skills/skills/segment-automation/SKILL.md
plugins/all-skills/skills/sendgrid-automation/SKILL.md
plugins/all-skills/skills/sentry-automation/SKILL.md
plugins/all-skills/skills/sequenzy-email-marketing/SKILL.md
plugins/all-skills/skills/shopify-automation/SKILL.md
plugins/all-skills/skills/skill-creator/SKILL.md
plugins/all-skills/skills/skill-share/SKILL.md
plugins/all-skills/skills/skyvern/SKILL.md
plugins/all-skills/skills/slack-automation/SKILL.md
plugins/all-skills/skills/slack-gif-creator/SKILL.md
plugins/all-skills/skills/slack-message-formatter/SKILL.md
plugins/all-skills/skills/square-automation/SKILL.md
plugins/all-skills/skills/stripe-automation/SKILL.md
plugins/all-skills/skills/submit-to-agentlaunch/SKILL.md
plugins/all-skills/skills/supabase-automation/SKILL.md
plugins/all-skills/skills/szamlazz-invoicing/SKILL.md
plugins/all-skills/skills/tailored-resume-generator/SKILL.md
plugins/all-skills/skills/telegram-automation/SKILL.md
plugins/all-skills/skills/theme-factory/SKILL.md
plugins/all-skills/skills/tiktok-automation/SKILL.md
plugins/all-skills/skills/todoist-automation/SKILL.md
plugins/all-skills/skills/tracedocs/SKILL.md
plugins/all-skills/skills/trello-automation/SKILL.md
plugins/all-skills/skills/tubeify/SKILL.md
plugins/all-skills/skills/tweetclaw/SKILL.md
plugins/all-skills/skills/twitter-algorithm-optimizer/SKILL.md
plugins/all-skills/skills/twitter-automation/SKILL.md
plugins/all-skills/skills/tycana/SKILL.md
plugins/all-skills/skills/vercel-automation/SKILL.md
plugins/all-skills/skills/video-downloader/SKILL.md
plugins/all-skills/skills/webapp-testing/SKILL.md
plugins/all-skills/skills/webflow-automation/SKILL.md
plugins/all-skills/skills/whatsapp-automation/SKILL.md
plugins/all-skills/skills/wrike-automation/SKILL.md
plugins/all-skills/skills/xlsx/SKILL.md
plugins/all-skills/skills/youtube-automation/SKILL.md
plugins/all-skills/skills/zendesk-automation/SKILL.md
plugins/all-skills/skills/zoho-crm-automation/SKILL.md
plugins/all-skills/skills/zoom-automation/SKILL.md
plugins/cashflow/skills/recap/SKILL.md
plugins/cashflow/skills/tidy/SKILL.md
plugins/cc-best/skills/architecture/SKILL.md
plugins/cc-best/skills/testing/SKILL.md
plugins/claude-ops/skills/ops-comms/SKILL.md
plugins/claude-ops/skills/ops-daemon/SKILL.md
plugins/claude-ops/skills/ops-dash/SKILL.md
plugins/claude-ops/skills/ops-deploy/SKILL.md
plugins/claude-ops/skills/ops-doctor/SKILL.md
plugins/claude-ops/skills/ops-ecom/SKILL.md
plugins/claude-ops/skills/ops-fires/SKILL.md
plugins/claude-ops/skills/ops-go/SKILL.md
plugins/claude-ops/skills/ops-gtm/SKILL.md
plugins/claude-ops/skills/ops-inbox/SKILL.md
plugins/claude-ops/skills/ops-integrate/SKILL.md
plugins/claude-ops/skills/ops-linear/SKILL.md
plugins/claude-ops/skills/ops-marketing/SKILL.md
plugins/claude-ops/skills/ops-merge/SKILL.md
plugins/claude-ops/skills/ops-monitor/SKILL.md
plugins/claude-ops/skills/ops-next/SKILL.md
plugins/claude-ops/skills/ops-orchestrate/SKILL.md
plugins/claude-ops/skills/ops-projects/SKILL.md
plugins/claude-ops/skills/ops-revenue/SKILL.md
plugins/claude-ops/skills/ops-settings/SKILL.md
plugins/claude-ops/skills/ops-speedup/SKILL.md
plugins/claude-ops/skills/ops-status/SKILL.md
plugins/claude-ops/skills/ops-triage/SKILL.md
plugins/claude-ops/skills/ops-voice/SKILL.md
plugins/claude-ops/skills/ops-whatsapp-biz/SKILL.md
plugins/claude-ops/skills/ops-yolo/SKILL.md
plugins/claude-ops/skills/ops/SKILL.md
plugins/claude-ops/skills/setup/SKILL.md
plugins/claude-ops/skills/uninstall/SKILL.md
plugins/drill-me/skills/me/SKILL.md
plugins/drill-me/skills/status/SKILL.md
plugins/envelope-team/skills/envelope-team/SKILL.md
plugins/feedoracle-compliance/skills/compliance/SKILL.md
plugins/frontend-design-pro/skills/color-curator/SKILL.md
plugins/frontend-design-pro/skills/design-wizard/SKILL.md
plugins/frontend-design-pro/skills/inspiration-analyzer/SKILL.md
plugins/frontend-design-pro/skills/moodboard-creator/SKILL.md
plugins/frontend-design-pro/skills/trend-researcher/SKILL.md
plugins/frontend-design-pro/skills/typography-selector/SKILL.md
plugins/gsd/skills/add-backlog/SKILL.md
plugins/gsd/skills/add-tests/SKILL.md
plugins/gsd/skills/add-todo/SKILL.md
plugins/gsd/skills/ai-integration-phase/SKILL.md
plugins/gsd/skills/analyze-dependencies/SKILL.md
plugins/gsd/skills/audit-fix/SKILL.md
plugins/gsd/skills/audit-milestone/SKILL.md
plugins/gsd/skills/audit-uat/SKILL.md
plugins/gsd/skills/autonomous/SKILL.md
plugins/gsd/skills/cleanup/SKILL.md
plugins/gsd/skills/code-review-fix/SKILL.md
plugins/gsd/skills/code-review/SKILL.md
plugins/gsd/skills/complete-milestone/SKILL.md
plugins/gsd/skills/debug/SKILL.md
plugins/gsd/skills/discuss-phase/SKILL.md
plugins/gsd/skills/do/SKILL.md
plugins/gsd/skills/docs-update/SKILL.md
plugins/gsd/skills/eval-review/SKILL.md
plugins/gsd/skills/execute-phase/SKILL.md
plugins/gsd/skills/explore/SKILL.md
plugins/gsd/skills/extract_learnings/SKILL.md
plugins/gsd/skills/fast/SKILL.md
plugins/gsd/skills/forensics/SKILL.md
plugins/gsd/skills/from-gsd2/SKILL.md
plugins/gsd/skills/graphify/SKILL.md
plugins/gsd/skills/health/SKILL.md
plugins/gsd/skills/import/SKILL.md
plugins/gsd/skills/inbox/SKILL.md
plugins/gsd/skills/ingest-docs/SKILL.md
plugins/gsd/skills/insert-phase/SKILL.md
plugins/gsd/skills/intel/SKILL.md
plugins/gsd/skills/list-phase-assumptions/SKILL.md
plugins/gsd/skills/manager/SKILL.md
plugins/gsd/skills/map-codebase/SKILL.md
plugins/gsd/skills/milestone-summary/SKILL.md
plugins/gsd/skills/mvp-phase/SKILL.md
plugins/gsd/skills/new-milestone/SKILL.md
plugins/gsd/skills/new-project/SKILL.md
plugins/gsd/skills/new-workspace/SKILL.md
plugins/gsd/skills/next/SKILL.md
plugins/gsd/skills/note/SKILL.md
plugins/gsd/skills/pause-work/SKILL.md
plugins/gsd/skills/plan-milestone-gaps/SKILL.md
plugins/gsd/skills/plan-phase/SKILL.md
plugins/gsd/skills/plant-seed/SKILL.md
plugins/gsd/skills/pr-branch/SKILL.md
plugins/gsd/skills/profile-user/SKILL.md
plugins/gsd/skills/progress/SKILL.md
plugins/gsd/skills/quick/SKILL.md
plugins/gsd/skills/remove-phase/SKILL.md
plugins/gsd/skills/research-phase/SKILL.md
plugins/gsd/skills/resume-at/SKILL.md
plugins/gsd/skills/resume-work/SKILL.md
plugins/gsd/skills/review-backlog/SKILL.md
plugins/gsd/skills/review/SKILL.md
plugins/gsd/skills/scan/SKILL.md
plugins/gsd/skills/secure-phase/SKILL.md
plugins/gsd/skills/session-report/SKILL.md
plugins/gsd/skills/set-profile/SKILL.md
plugins/gsd/skills/ship/SKILL.md
plugins/gsd/skills/sketch-wrap-up/SKILL.md
plugins/gsd/skills/sketch/SKILL.md
plugins/gsd/skills/spec-phase/SKILL.md
plugins/gsd/skills/spike-wrap-up/SKILL.md
plugins/gsd/skills/spike/SKILL.md
plugins/gsd/skills/stats/SKILL.md
plugins/gsd/skills/thread/SKILL.md
plugins/gsd/skills/ui-phase/SKILL.md
plugins/gsd/skills/ui-review/SKILL.md
plugins/gsd/skills/ultraplan-phase/SKILL.md
plugins/gsd/skills/undo/SKILL.md
plugins/gsd/skills/update/SKILL.md
plugins/gsd/skills/validate-phase/SKILL.md
plugins/gsd/skills/verify-work/SKILL.md
plugins/gsd/skills/workstreams/SKILL.md
plugins/hookradar-creative-intelligence/skills/hookradar-creative-intelligence/SKILL.md
plugins/kegg-mcp-server/skills/kegg-analysis/SKILL.md
plugins/meeting-bots/skills/meeting/SKILL.md
plugins/memstack/skills/memstack/SKILL.md
plugins/mortgage/skills/about-atlantic-home-mortgage/SKILL.md
plugins/mortgage/skills/closing-costs/SKILL.md
plugins/mortgage/skills/mortgage-compliance/SKILL.md
plugins/mortgage/skills/mortgage-loan-officer/SKILL.md
plugins/mortgage/skills/security-guardrails/SKILL.md
plugins/nextjs-expert/skills/app-router/SKILL.md
plugins/nextjs-expert/skills/route-handlers/SKILL.md
plugins/nextjs-expert/skills/server-actions/SKILL.md
plugins/nextjs-expert/skills/server-components/SKILL.md
plugins/obsidian-skills/skills/json-canvas/SKILL.md
plugins/obsidian-skills/skills/obsidian-bases/SKILL.md
plugins/obsidian-skills/skills/obsidian-markdown/SKILL.md
plugins/origin/skills/brief/SKILL.md
plugins/origin/skills/capture/SKILL.md
plugins/origin/skills/debrief/SKILL.md
plugins/origin/skills/distill/SKILL.md
plugins/origin/skills/forget/SKILL.md
plugins/origin/skills/handoff/SKILL.md
plugins/origin/skills/help/SKILL.md
plugins/origin/skills/init/SKILL.md
plugins/origin/skills/read/SKILL.md
plugins/origin/skills/recall/SKILL.md
plugins/origin/skills/review/SKILL.md
plugins/ralph-review-trio/skills/ralph-review-trio/SKILL.md
plugins/slopmop/skills/slopmop/SKILL.md
plugins/startup-superpowers/skills/competitors/SKILL.md
plugins/startup-superpowers/skills/hypotheses/SKILL.md
plugins/startup-superpowers/skills/market-research/SKILL.md
plugins/startup-superpowers/skills/mvp/SKILL.md
plugins/startup-superpowers/skills/using-startup-superpowers/SKILL.md
plugins/startup-superpowers/skills/whats-next/SKILL.md
plugins/ultracost/skills/ultracost/SKILL.md
plugins/vulnetix/skills/dashboard/SKILL.md
plugins/vulnetix/skills/exploits-search/SKILL.md
plugins/vulnetix/skills/exploits/SKILL.md
plugins/vulnetix/skills/fix/SKILL.md
plugins/vulnetix/skills/package-search/SKILL.md
plugins/vulnetix/skills/remediation/SKILL.md
plugins/vulnetix/skills/vuln/SKILL.md
plugins/youtube-full/skills/youtube-full/SKILL.md
plugins/all-skills/skills/cf-proxy/SKILL.md
plugins/all-skills/skills/macos-design/SKILL.md
plugins/all-skills/skills/socialclaw/SKILL.md
plugins/foresight-intelligence/skills/hard-predict-future/SKILL.md
plugins/foresight-intelligence/skills/soft-predict-future/SKILL.md
plugins/give-claude-eyes/skills/qwen-vision/SKILL.md
plugins/gsd/skills/add-phase/SKILL.md
plugins/gsd/skills/check-todos/SKILL.md
plugins/gsd/skills/help/SKILL.md
plugins/gsd/skills/join-discord/SKILL.md
plugins/gsd/skills/list-workspaces/SKILL.md
plugins/gsd/skills/reapply-patches/SKILL.md
plugins/gsd/skills/remove-workspace/SKILL.md
plugins/gsd/skills/settings/SKILL.md
plugins/public-plugin-builder/skills/public-plugin-builder/SKILL.md
plugins/startup-superpowers/skills/interviews/SKILL.md
plugins/startup-superpowers/skills/surveys/SKILL.md
plugins/budgetclaw/skills/spend/SKILL.md
plugins/all-skills/skills/oiloil-ui-ux-guide/SKILL.md

Metadata

Files
0
Version
502fc01
Hash
494c73d6
Indexed
2026-07-05 15:16

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-06 03:29
浙ICP备14020137号-1 $Гость$