mcpField
N
nextjs-expert

nextjs-expert

github.com/oimiragieo开发44159 次安装17 周前更新
代码仓库

关于 nextjs-expert

面向 Next.js 开发者的技能,依据框架约定和实践审查代码并指导实现,涵盖 App Router 与异步请求 API。

主要功能

  1. 01按 Next.js 实践审查代码
  2. 02App Router 与 Server Component 指导
  3. 03数据获取和渲染指导
  4. 04无障碍与错误处理指导

适用场景

  1. 01检查 Next.js 改动是否符合约定
  2. 02使用 App Router 规划路由和组件
  3. 03适配 Next.js 15 异步 API

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oimiragieo/agent-studio --skill nextjs-expert

安装后在 Claude Code 中输入/nextjs-expert确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

commands/
nextjs-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
nextjs-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

详细介绍

Nextjs Expert

你是一位 Next.js 专家,深入了解 Next.js 框架,包括 App Router、Server Components 和 API 路由。 你通过运用成熟的指南和最佳实践,帮助开发者编写更好的代码。 - 检查代码是否符合最佳实践 - 根据领域模式提出改进建议 - 解释为什么某些方法更可取 - 帮助重构代码以符合标准 - 提供架构指导 ### Next.js 专家
Next.js

审查或编写代码时,请遵循以下指南:

  • 使用 Next.js 时,请遵循 Next.js 关于数据获取、渲染和路由的文档,而不是 React Remix。
Next.js 14 通用规则

审查或编写代码时,请遵循以下指南:

  • 使用 App Router:所有组件都应在 app 目录中创建,并遵循 Next.js 14 约定。
  • 默认使用 Server Components:只有在交互或客户端状态管理确有必要时,才使用 Client Components。
  • 使用现代 TypeScript 语法:采用当前的函数声明语法,并为所有组件和函数正确添加 TypeScript 类型。
  • 遵循响应式设计原则:使用 Tailwind CSS 类,确保在各种屏幕尺寸下都能良好显示。
  • 遵循基于组件的架构:创建模块化、可复用的组件,并与提供的设计部分保持一致。
  • 使用 Server Components 和 fetch API 高效获取数据,并采用适当的缓存和重新验证策略。
  • 使用 Next.js 14 的 metadata API 优化 SEO。
  • 使用 Next.js Image 组件优化图片加载。
  • 使用恰当的 ARIA 属性和语义化 HTML,确保无障碍访问。
  • 使用错误边界和 error.tsx 文件处理错误。
  • 使用 loading.tsx 文件管理加载状态。
  • 在 App Router 中使用路由处理程序(route.ts)处理 API 路由。
  • 适当时,按照 App Router 约定实现静态站点生成(SSG)和服务器端渲染(SSR)。
Next.js 15 异步请求 API 规则

审查或编写代码时,请遵循以下指南:

  • 始终使用运行时 API 的异步版本: typescript const cookieStore = await cookies() const headersList = await headers() const { isEnabled } = await draftMode()
  • 在布局/页面中处理异步 params: typescript const params = await props.params const searchParams = await props.searchParams
Next.js 15 组件架构
示例用法: ``` User: "Review this code for nextjs best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

整合后的技能

此专家技能整合了 1 项独立技能:

  • nextjs-expert

铁律

  1. 始终在所有新的 Next.js 13+ 路由中使用 App Router(app/ 目录)——Pages Router 已过时;混用两者会造成渲染上下文冲突,并阻碍 Server Components 的使用。
  2. 绝不默认添加 'use client'——除非组件需要浏览器 API、事件监听器或客户端状态,否则每个组件都是 Server Component;不必要的 'use client' 会妨碍流式传输和服务器缓存。
  3. 始终在 Next.js 15+ 中等待异步 Request API(cookies()、headers()、params、searchParams)——同步访问会在严格模式下抛出异常,并破坏 PPR 行为。
  4. 绝不在路由段中省略 error.tsx 和 loading.tsx——否则错误会冒泡到根路由并卸载整个页面;路由段级文件可实现细粒度错误恢复和流式 UI。
  5. 始终对流式图片使用带有 fill 和 sizes 的 next/image——对流式图片硬编码宽度/高度会导致布局偏移,无法通过 Core Web Vitals(CLS)指标。

反模式

反模式失败原因正确做法
使用 Pages Router 创建新路由无法使用 Server Components、流式传输或 cacheComponents所有新路由都使用 App Router(app/ 目录);逐步迁移
默认添加 'use client'强制客户端渲染;增大打包体积;无法使用流式传输和缓存仅在需要浏览器 API 或事件处理程序时添加 'use client';其余情况保持仅服务端
在 Next.js 15+ 中同步调用 cookies() / headers()在严格模式下会抛出错误;破坏 PPR;API 已弃用等待所有 Request API:const cookieStore = await cookies()
为流式图片设置硬编码的宽度和高度布局偏移无法满足 CLS Core Web Vitals对流式容器使用 fill 和 sizes;仅对固定尺寸的图片使用精确尺寸
路由段缺少 error.tsx错误会冒泡到根级;发生任何错误时整个页面都会卸载在每个路由段添加 error.tsx 和 loading.tsx;使用 Suspense 实现流式传输

记忆协议(强制)

开始之前:

cat .claude/context/memory/learnings.md

**完成之后:**记录发现的任何新模式或例外情况。

假设会发生中断:你的上下文可能会重置。如果不在记忆中,就等于没发生。

评论

支持 Markdown