Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计异常

secondme-nextjssecondme Next.js 前端

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

2,987

周安装

122

GitHub Stars

19

下载量

966
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:secondme-nextjs(secondme Next.js 前端)
来源仓库:https://github.com/mindverse/second-me-skills
仓库路径:skills/secondme-nextjs
安装命令:
npx skills add https://github.com/mindverse/second-me-skills --skill secondme-nextjs
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/mindverse/second-me-skills --skill secondme-nextjs

简介

secondme-nextjs 用于辅助前端页面、组件、样式和交互逻辑的开发与维护,适合在 Codex、Claude、Cursor、Gemini CLI 中生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码时使用。

  • 它可协助整理组件结构、定位布局和性能问题,并确保与现有设计系统和路由方式兼容。
  • 通过 npx skills add 命令从指定仓库安装,具体用法请参考原始 README 和项目文档。
  • 涉及页面改动时,应配合本地预览和构建检查确认视觉效果,避免只生成孤立片段。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

SecondMe Next.js 项目生成

基于 /secondme-init 的配置和 /secondme-prd 的需求定义,生成完整的 Next.js 项目。


前置条件检查

1. 检查 state.json

首先检查 .secondme/state.json 是否存在:

  • 不存在 → 提示:请先运行 /secondme-init 初始化项目配置
  • 存在 → 继续

2. 检查执行模式

检查参数是否包含 --quick

快速模式 (--quick)

  • 跳过 stage 检查
  • 使用默认 PRD 配置
  • 直接开始生成项目

标准模式

  • 检查 stage >= "prd"
  • 如果 stage == "init" → 提示:请先运行 /secondme-prd 定义需求,或使用 /secondme-nextjs --quick 快速生成
  • 如果 stage >= "prd" → 继续

读取配置

.secondme/state.json 读取:

const state = {
  app_name: "secondme-tinder",  // 应用名称
  modules: ["auth", "chat", "profile"],  // 已选模块
  config: {
    client_id: "71658da7-659c-414a-abdf-cb6472037fc2",
    client_secret: "xxx",
    redirect_uri: "http://localhost:3000/api/auth/callback",
    redirect_uris: [...],
    database_url: "postgresql://...",
    allowed_scopes: [...]
  },
  api: {
    base_url: "https://api.mindverse.com/gate/lab",
    oauth_url: "https://go.second.me/oauth/",
    token_endpoint: "https://api.mindverse.com/gate/lab/api/oauth/token/code",
    refresh_endpoint: "https://api.mindverse.com/gate/lab/api/oauth/token/refresh",
    access_token_ttl: 7200,
    refresh_token_ttl: 2592000
  },
  docs: {
    quickstart: "https://develop-docs.second.me/zh/docs",
    oauth2: "...",
    api_reference: "...",
    errors: "..."
  },
  prd: {
    summary: "应用概要",
    features: ["功能1", "功能2"],
    design_preference: "简约现代"
  }
}

重要: 所有 API 端点、文档链接均从 state.apistate.docs 读取,不要硬编码。


前端设计要求

重要: 在构建前端界面时,必须使用 frontend-design:frontend-design skill 来生成高质量的 UI 组件。

设计原则:

  • 亮色主题:仅使用亮色/浅色主题,不使用暗色/深色主题
  • 简约优雅:遵循极简设计理念,减少视觉噪音
  • 产品特性驱动:UI 设计应紧密结合要实现的功能特性
  • 现代感:采用当下流行的设计趋势,避免过时的 UI 模式
  • 一致性:保持整体视觉风格统一
  • 响应式:适配各种屏幕尺寸
  • 中文界面:所有用户可见的文字(按钮、提示、标签、说明等)必须使用中文
  • 稳定优先:避免复杂动画效果,仅使用简单的过渡动画(如 hover、fade),确保界面稳定流畅

项目生成流程

1. 初始化 Next.js 项目

在当前目录直接初始化 Next.js 项目:

npx create-next-app@latest . --typescript --tailwind --app --src-dir --import-alias "@/*" --yes

2. 安装依赖

npm install prisma @prisma/client
npx prisma init

3. 生成.env.local

state.configstate.api 生成环境变量:

# SecondMe OAuth2 配置
SECONDME_CLIENT_ID=[config.client_id]
SECONDME_CLIENT_SECRET=[config.client_secret]
SECONDME_REDIRECT_URI=[config.redirect_uri]

# 数据库
DATABASE_URL=[config.database_url]

# SecondMe API(从 state.api 读取)
SECONDME_API_BASE_URL=[api.base_url]
SECONDME_OAUTH_URL=[api.oauth_url]
SECONDME_TOKEN_ENDPOINT=[api.token_endpoint]
SECONDME_REFRESH_ENDPOINT=[api.refresh_endpoint]

4. 生成 Prisma Schema

根据已选模块动态生成 prisma/schema.prisma

auth 模块(必有)- User 表必须包含的字段

User 表必须包含 Token 相关字段用于存储和刷新用户凭证:

model User {
  id                String   @id @default(cuid())
  secondmeUserId    String   @unique @map("secondme_user_id")
  accessToken       String   @map("access_token")
  refreshToken      String   @map("refresh_token")
  tokenExpiresAt    DateTime @map("token_expires_at")
  createdAt         DateTime @default(now()) @map("created_at")
  updatedAt         DateTime @updatedAt @map("updated_at")
  // 其他字段根据模块需求自行添加

  @@map("users")
}

其他模块

根据已选模块(profile、chat、note)的实际需求,自行设计相应的数据库表结构和关联关系。

5. 生成代码

根据已选模块生成对应代码:

auth 模块

文件说明
src/app/api/auth/login/route.tsOAuth 登录跳转
src/app/api/auth/callback/route.tsOAuth 回调处理
src/app/api/auth/logout/route.ts登出处理
src/lib/auth.ts认证工具函数
src/components/LoginButton.tsx登录按钮组件

profile 模块

文件说明
src/app/api/user/info/route.ts获取用户信息
src/app/api/user/shades/route.ts获取兴趣标签
src/components/UserProfile.tsx用户资料组件

chat 模块

文件说明
src/app/api/chat/route.ts流式聊天 API
src/app/api/sessions/route.ts会话列表 API
src/components/ChatWindow.tsx聊天界面组件

act 模块

文件说明
src/app/api/act/route.ts流式动作判断 API(结构化 JSON 输出)
src/lib/act.tsAct API 工具函数(发送 actionControl、解析 SSE JSON 结果)

note 模块

文件说明
src/app/api/note/route.ts添加笔记 API

6. 更新 state.json

{
  "stage": "ready",
  ...
}

技术栈

  • 框架: Next.js 14+ (App Router)
  • 语言: TypeScript
  • 样式: Tailwind CSS
  • 数据库 ORM: Prisma
  • 前端设计: 使用 frontend-design:frontend-design skill 生成
  • API 调用: fetch
  • 状态管理: React hooks
  • 运行端口: 必须使用 3000 端口

常见问题与注意事项

CSS @import 顺序问题

问题:globals.css 中使用 @import url(...) 引入 Google Fonts 会导致构建失败。

错误信息:

@import rules must precede all rules aside from @charset and @layer statements

原因: Tailwind CSS 的 @import "tailwindcss" 展开后生成大量规则,导致后续的 @import url(...) 不再是第一个。

正确做法:

  1. 使用 <link> 标签(推荐):layout.tsx 中引入 <head> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link href="https://fonts.googleapis.com/css2?family=..." rel="stylesheet" /> </head>
  2. 使用 next/font(最佳实践): import {Noto_Sans_SC} from 'next/font/google' const notoSans = Noto_Sans_SC({subsets: ['latin'], weight: ['400', '500']})

构建验证

重要: 每次完成代码修改后,必须运行以下命令验证构建:

npm run build

特别关注:

  • CSS 解析错误
  • TypeScript 类型错误
  • 导入路径错误

WebView OAuth 认证问题

问题: 在 WebView 环境中(如移动端 App 内嵌页面、微信小程序等),OAuth state 验证可能失败,因为 WebView 与系统浏览器之间的存储不共享。

解决方案: 使用宽松的 state 验证,验证失败时记录警告但继续处理登录流程。

// 之前:验证失败直接拒绝
if (!isValidState) {
  return NextResponse.redirect('/?error=invalid_state');
}

// 之后:验证失败记录警告,继续处理
if (!isValidState) {
  console.warn('OAuth state 验证失败,可能是跨 WebView 场景');
  // 继续处理,不阻止登录
}

注意: 这种方式降低了 CSRF 防护,仅建议在可信的 WebView 环境中使用


输出结果

✅ Next.js 项目已生成!

已生成模块: auth, chat, profile
数据库: PostgreSQL

启动步骤:
1. npm install
2. npx prisma db push
3. npm run dev

项目将在 http://localhost:3000 启动

API 响应格式

重要:所有 SecondMe API 响应都遵循统一格式:

{
  "code": 0,
  "data": { ... }
}
本地路由与上游 API 的关系: Next.js 本地路由(如 /api/secondme/user/shades)作为代理层, 将请求转发到上游 SecondMe API({state.api.base_url}/api/secondme/...),并透传上游的响应格式。 前端代码调用本地路由即可,无需直接访问上游 API。

前端代码必须正确提取数据:

// ✅ 正确写法(调用 Next.js 本地路由,响应格式与上游一致)
const response = await fetch('/api/secondme/user/shades');
const result = await response.json();
if (result.code === 0) {
  const shades = result.data.shades;
  shades.map(item => ...)
}

官方文档

state.docs 读取文档链接:

文档配置键
快速入门docs.quickstart
OAuth2 指南docs.oauth2
API 参考docs.api_reference
错误码docs.errors

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.57%
按下载量换算324

Claude

32.79%
按下载量换算317

Cursor

19.43%
按下载量换算188

Gemini CLI

9.86%
按下载量换算95

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

未通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills