跳到主内容
智客 ZICQ

技能库 智客分类:Agent 工作流 react

反应

用于平原( 非 Next.js) react development——客户端交接的SPA组件模式,钩子规则,状态管理决定(local state vs Context vs External store),以及常见的钩子反标. 对于下个.js特有的问题(Server Consulties, App Router, 路由器, 路由, 取取数据公约), 使用下个js-* 技能取而代之.

3 安装量

官方网址:skills.sh

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

用于平原( 非 Next.js) react development——客户端交接的SPA组件模式,钩子规则,状态管理决定(local state vs Context vs External store),以及常见的钩子反标. 对于下个.js特有的问题(Server Consulties, App Router, 路由器, 路由, 取取数据公约), 使用下个js-* 技能取而代之.

何时用

官方 description 未单独写出 Use when。按规范,代理会在用户任务与这段 description 的关键词匹配时激活本技能。

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:React、Core Patterns、Function components + hooks (the only current pattern)、Rules of Hooks、`use()` hook (React 19+)、`useOptimistic` / `useActionState` / `useFormStatus` (React 19+)。

文件分析

文件分析:这是一份仅含 SKILL.md 的指令型技能,代理激活后整份正文进入上下文。

官方 description(原文)

Use for plain (non-Next.js) React development — client-rendered SPA component patterns, hooks rules, state management decisions (local state vs Context vs external store), and common hook anti-patterns. For Next.js-specific concerns (Server Components, App Router, routing, data fetching conventions), use the nextjs-* skills instead.

ReactCore PatternsFunction components + hooks (the only current pattern)Rules of Hooks`use()` hook (React 19+)`useOptimistic` / `useActionState` / `useFormStatus` (React 19+)State Management DecisionsCommon Anti-Patterns to FlagVerification

来源分类:skills.sh agent-skill

SKILL.md 与 Agent 调用

官方规范 ↗
name
react
description
Use for plain (non-Next.js) React development — client-rendered SPA component patterns, hooks rules, state management decisions (local state vs Context vs external store), and common hook anti-patterns. For Next.js-specific concerns (Server Components, App Router, routing, data fetching conventions), use the nextjs-* skills instead.
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「react」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-2bc9490b3dbf9cad-%E5%8F%8D%E5%BA%94.html
请存为 .cursor/skills/react/SKILL.md 或 .claude/skills/react/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。

GitHub 完整包 ↗

终端安装 · Skills CLI

需要 Node.js 与 npx。先查看仓库技能列表,确认实际名称。

npx skills add 'https://github.com/yuen30/my-skills' --list

npx skills add 'https://github.com/yuen30/my-skills' --skill 'react'

CLI 会交互选择目标 Agent,默认安装到项目;用户级安装使用 -g。先通过查看命令核对仓库内容,再用 npx skills list 检查已安装技能。

阅读排版
--- name: react description: Use for plain (non-Next.js) React development — client-rendered SPA component patterns, hooks rules, state management decisions (local state vs Context vs external store), and common hook anti-patterns. For Next.js-specific concerns (Server Components, App Router, routing, data fetching conventions), use the nextjs-* skills instead. --- # React Guidance for plain, client-side React (Vite SPA, CRA-style, or any non-framework React app). Server Components, streaming SSR, and the App Router are Next.js/Remix framework features, not plain React APIs — they do not apply here. If the project uses Next.js, defer to the `nextjs-*` skills in this library for anything routing/data-fetching/RSC-related; use this skill only for generic component/hook patterns. **Precondition:** Before asserting a hook or API is available (`use()`, `useOptimistic`, `useActionState`, `useFormStatus`), verify the installed React version — these are React 19+ only. ```shell grep '"react"' package.json npm ls react react-dom ``` Canonical source for anything not covered below: `https://react.dev`. Training data on React APIs may be stale — verify against the docs rather than inventing hook signatures. ## Core Patterns ### Function components + hooks (the only current pattern) Class components are legacy; do not write new ones. Only touch existing class components if already in scope for other reasons. ```tsx function UserCard({ userId }: { userId: string }) { const [user, setUser] = useState(null); // ... return
{user?.name}
; } ``` ### Rules of Hooks - Call hooks only at the top level of a component or custom hook — never inside conditionals, loops, or nested functions. - Custom hooks must start with `use` and may call other hooks. - Enforce with `eslint-plugin-react-hooks` (`react-hooks/rules-of-hooks`, `react-hooks/exhaustive-deps`) — do not silence `exhaustive-deps` without understanding the missing dependency first. ### `use()` hook (React 19+) Reads a promise or context inside render, integrates with Suspense — replaces some `useEffect` + `useState` data-loading boilerplate for values sourced from a promise passed down (e.g. from a framework loader). Confirm React 19+ before suggesting it; on 18, fall back to `useEffect`-based fetching or a data-fetching library. ```tsx function Comments({ commentsPromise }: { commentsPromise: Promise }) { const comments = use(commentsPromise); // suspends until resolved return
    {comments.map((c) =>
  • {c.text}
  • )}
; } ``` ### `useOptimistic` / `useActionState` / `useFormStatus` (React 19+) Form-submission and optimistic-UI primitives. Only suggest these on confirmed React 19+; they do not exist on 18. ```tsx function LikeButton({ initialLikes, onLike }: Props) { const [optimisticLikes, addOptimistic] = useOptimistic(initialLikes, (state, delta: number) => state + delta); return ( { addOptimistic(1); onLike(); }}> {optimisticLikes} likes ); } ``` ## State Management Decisions | Need | Reach for | |---|---| | State used by one component/subtree | `useState` / `useReducer` locally | | State shared by a few nearby components | Lift state to the nearest common ancestor, pass as props | | State needed by many components across the tree, changes infrequently (theme, auth user, locale) | `Context` + `useContext` | | State needed widely, changes frequently, or needs selectors/middleware/devtools | External store (Zustand, Jotai, Redux Toolkit) — pick based on existing project convention | | Server/remote data (fetch, cache, revalidate) | A data-fetching library (TanStack Query, SWR) rather than hand-rolled `useEffect` + `useState` | Do not reach for Context as a default global-state solution — it re-renders every consumer on any value change and has no built-in selector mechanism. Split contexts by concern (e.g. separate `AuthContext` and `ThemeContext`) rather than one large app-wide context. ## Common Anti-Patterns to Flag - **Unnecessary `useEffect`**: deriving state from props/state, resetting state on prop change, or event-handling logic that belongs in the event handler itself. See react.dev's "You Might Not Need an Effect." Prefer computing values directly during render (`const doubled = count * 2`), or using `key` to reset component state on prop change instead of an effect + `setState`. - **Prop drilling** through 3+ layers of components that don't otherwise use the prop — use `Context` for cross-cutting values, or component composition (passing JSX as children/props) to avoid threading props through intermediate components that don't need them. - **Missing/incorrect `key` props** in lists — never use array index as `key` when the list can reorder, filter, or have items inserted/removed. - **Object/array/function literals in JSX props** without memoization causing unnecessary re-renders of memoized children — use `useMemo`/`useCallback` only when profiling shows it matters, not preemptively everywhere. - **Mutating state directly** (`state.push(...)`, `state.foo = x`) instead of creating new references — breaks React's change detection. - **Fetching in `useEffect` without cleanup/abort** — race conditions on fast prop changes; use a data-fetching library or an `AbortController` + ignore-flag pattern. ## Verification ```shell npm ls react react-dom npx eslint . --ext .tsx,.ts # confirm react-hooks/rules-of-hooks passes ```

相关技能

Agent 工作流

技能创建者Skill Creator

创造有效技能指南。 当用户想创造出新的技能(或更新现有的技能),以专业知识,工作流程,或工具集成来扩展克洛德的能力时,应该使用这种技能.

Agent 工作流

克劳德胡布Clawdhub

使用ClawdHub CLI搜索,安装,更新并发布从taladhub.com的代理技能. 需要获取苍蝇上的新技能时使用,将安装的技能同步到最新版本或特定版本,或者发布 npm-instainddhub CLI 的新/更新的技能文件夹.

Agent 工作流

团队指挥Agent Team Orchestration

管弦乐团多代理团队,任务设定周期,交接协议,审查工作流程. 使用时间: (1)建立2+特派员队伍,具有不同专业,(2)确定任务路线和生命周期(收录框_ spec_建设_审查_完成),(3)在特派员之间制定交接协议,(4)建立审查和质量关口,(5)管理特派员之间的交流和文物共享.

Agent 工作流

超级力量Superpowers

Spec-first,TDD,子代理驱动的软件开发工作流程. 当:(1)构建任何新功能或应用——触发脑暴_计划_子代理执行回路,(2)调试出一个bug或测试失败——触发系统性的根起过程,(3)用户说"让我们构建","帮助我计划","我想添加X",或"这个被打破",(4)完成一个功…