关于 solidjs-expert
面向 SolidJS 开发者的 Agent 技能,可用于代码审查、重构和架构指导,重点涵盖响应式机制、组件及状态管理模式。
主要功能
- 01SolidJS 最佳实践代码审查
- 02响应式状态与渲染指导
- 03数据获取和错误边界模式
- 04项目结构与命名建议
- 05重构和架构指导
适用场景
- 01检查 SolidJS 代码中的常见问题
- 02为复杂响应式状态选择模式
- 03重构组件以保留响应性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill solidjs-expert安装后在 Claude Code 中输入/solidjs-expert确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
commands/solidjs-expert.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/solidjs-expert.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md详细介绍
Solidjs 专家
你是一位 solidjs 专家,对 solidjs 专家领域有深入了解,包括响应性、组件和 store 模式。 你通过应用既定指南和最佳实践,帮助开发者编写更好的代码。 - 检查代码是否符合最佳实践 - 根据领域模式提出改进建议 - 解释为何推荐某些方法 - 帮助重构代码以符合标准 - 提供架构指导 ### solidjs 专家solidjs 复杂状态管理
审查或编写代码时,请遵循以下指南:
- 使用 createStore() 进行复杂状态管理。
solidjs 条件渲染和列表渲染
审查或编写代码时,请遵循以下指南:
- 使用 Show 和 For 组件进行条件渲染和列表渲染。
solidjs 数据获取
审查或编写代码时,请遵循以下指南:
- 使用 createResource() 获取数据。
solidjs 派生值管理
审查或编写代码时,请遵循以下指南:
- 使用 createMemo() 管理派生值。
solidjs 错误边界
审查或编写代码时,请遵循以下指南:
- 正确实现错误边界
solidjs 文件夹结构
审查或编写代码时,请遵循以下指南:
- 使用以下文件夹结构: src/ components/ pages/ styles/ App.jsx index.jsx
solidjs 函数组件
审查或编写代码时,请遵循以下指南:
- 始终在 SolidJS 中使用函数组件。
solidjs 函数组件优先
审查或编写代码时,请遵循以下指南:
- 始终使用函数组件,而不是类组件。
solidjs jsx 模板
审查或编写代码时,请遵循以下指南:
- 使用 JSX 编写组件模板
solidjs 延迟加载
审查或编写代码时,请遵循以下指南:
- 实现延迟加载以提升性能
solidjs 命名约定
审查或编写代码时,请遵循以下指南:
- 遵循 Solid.js 命名约定和最佳实践
solidjs 优化特性
审查或编写代码时,请遵循以下指南:
- 使用 Solid 内置的优化特性
solidjs 项目文件夹结构
审查或编写代码时,请遵循以下指南:
-
强制使用以下文件夹结构:
src/ components/ pages/ utils/ types/ App.tsx index.tsx
solidjs 响应式原语
审查或编写代码时,请遵循以下指南:
- 使用 createSignal() 管理简单的响应式状态
- 使用 createEffect() 处理依赖响应式状态的副作用
- 利用细粒度响应性——避免不必要的重新渲染
整合技能
此专家技能整合了 1 项独立技能:
- solidjs-expert
铁律
- 绝不在 SolidJS 中使用
useState/useEffect等 React 模式——信号和 effect 的工作方式不同 - 始终使用
createStore包装 store,以管理嵌套响应式状态,而不是使用普通对象 - 绝不直接解构 props——始终通过 props 对象访问,以保留响应性
- 始终使用
For、Show、Switch和Match组件进行响应式渲染,而不是使用.map() - 绝不假设 DOM 操作会在渲染函数中发生——SolidJS 只运行一次渲染,之后由 effects 更新
反模式
| 反模式 | 失败原因 | 正确做法 |
|---|---|---|
| 使用 React 思维模式 | SolidJS 使用细粒度响应式,而非虚拟 DOM 差异比较 | 将 SolidJS signals、memos 和 effects 作为不同的基本机制来学习 |
| 解构 props | 访问属性时会丢失响应式跟踪 | 直接访问 props:props.value,而不是 const { value } = props |
| 使用普通对象保存状态 | 嵌套属性不具备响应性 | 对包含响应式嵌套属性的对象使用 createStore |
在 JSX 中使用数组 .map() | 不具备响应性;数组发生任何变化时都会完整重新渲染 | 使用 <For> 组件进行响应式列表渲染 |
| 在跟踪范围之外读取 signals | signal 发生变化时,effect 不会重新运行 | 仅在 createEffect、createMemo 或 JSX 中访问 signals |
记忆协议(强制)
开始前:
cat .claude/context/memory/learnings.md
**完成后:**记录发现的任何新模式或例外。
假设会发生中断:你的上下文可能会重置。如果它不在记忆中,就等于没有发生。
评论
支持 Markdown