开发与工程 reactemotiontypescriptmigrationrefactoringcss-in-js

React 组件转换专家

将旧式 styled-components 组件迁移到 Emotion css prop 模式,并遵循编码规范。

FollowSkills 评估 · FSRS-2.0
不推荐
47/ 100 五分制 2.4 / 5
1 2 3 4 5 6
1信任安全12 / 25 · 2.4/5

技能文档主要为代码转换指引,不涉及敏感数据处理或外部网络访问,无恶意行为迹象。但未提及权限最小化、用户确认、回滚等安全措施,也未提供可验证的来源归属(如官方签署或多次确认)。因此保守给12分。

2可靠稳定5 / 20 · 1.3/5

文档提供了详细的转换步骤和多种代码示例,但未包含任何测试或验证机制,且静态阅读无法执行验证,可靠性评分上限10分。鉴于缺乏错误反馈和异常处理说明,给5分。

3适用触发10 / 15 · 3.3/5

技能针对明确的场景(webcore到Simorgh的转换),受众明确,但未明确边界条件(如组件类型限制)和触发条件,且对于大陆用户可能依赖海外服务的风险未提及。给10分。

4规范维护9 / 15 · 3.0/5

技能文档结构清晰,有步骤和示例,但缺少版本记录、变更日志、维护责任说明,且未提及依赖安装等信息。给9分。

5有效结果7 / 15 · 2.3/5

文档提供了清晰的转换指南,可能有效完成核心任务,但缺乏实际输出验证,且手动转换可能更灵活,边际价值未充分证明。给7分。

6证据核验4 / 10 · 2.0/5

仅能静态阅读文档,无法运行测试。虽然文档引用了参考文件,但未提供独立验证证据。给4分。

证据充分度: 评估于 2026年8月7日 审查版本 9530e9ef9829
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 技能为静态文档,未提供测试或验证机制,使用前应自行验证转换结果。
  • 文档未说明对境外服务的依赖,若核心功能涉及不可达服务,可能影响大陆用户使用。
  • 建议在转换前进行代码审查和备份,以降低风险。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能把使用 @emotion/styled 或 styled-components 的 React 组件转换为 BBC Simorgh 的编码标准(采用 Emotion 的 css prop 模式)。它提供从依赖审计、样式转换、TypeScript 迁移到代码检查的逐步指南,并包含丰富的代码示例、规则和常见陷阱。适用于需要统一 React 代码库样式和类型风格的团队。

读取用户的 React 组件代码,识别 styled-components 用法。执行预转换检查,列出缺失的依赖。将 styled 组件转换为单独的 index.styles.ts 文件中的 css() 函数,并适配主题、媒体查询和像素到 rem 的转换。将 .jsx 转换为 .tsx,添加类型定义,处理条件属性、事件处理器。最后运行 yarn lint --fix 和 yarn prettier 命令。

  1. 正在将 React 组件从 styled-components 迁移到 Emotion 的 css prop 的开发人员
  2. 需要统一代码风格、避免混用两种样式模式的团队
  3. 将 JavaScript 组件转换为 TypeScript 并希望获得类型安全指导的开发者
  4. 处理需要支持 RTL 布局、需使用逻辑 CSS 属性的国际化组件

这个 Skill 有哪些优点和局限?

优点
  • 提供详细的逐步指导,包含代码示例
  • 强调使用逻辑 CSS 属性和移动优先媒体查询,利于国际化
  • 提供 TypeScript 转换的最佳实践和常见错误
  • 包含预处理清单,避免遗漏依赖
局限
  • 只适用于 React + Emotion 项目,不通用
  • 没有自动化测试,依赖 AI 正确执行步骤
  • 需要用户具备 React 和 TypeScript 基础
  • 未提供回滚或验证转换结果的方法

如何安装这个 Skill?

将本仓库克隆到本地,技能文件位于 .github/skills/convert-webcore-component/SKILL.md。可将其复制到你的 Agent Skills 目录(如 ~/.claude/skills/)以便使用。需要 Node.js 和 Yarn 环境。

如何使用这个 Skill?

向 AI 提供待转换的组件文件路径或代码,并说明目标。AI 将按照技能步骤执行:先审计依赖,再转换样式和类型,最后运行 lint 和 prettier。例如:“请将这个组件转换为 Simorgh 风格,文件在 src/components/Button.jsx”。

这个 Skill 与同类方案有什么区别?

与使用 styled-components 或直接使用 Emotion 的 css prop 相比,此技能推动代码风格统一。但并未与如 Material-UI 或其他样式库等特定替代方案比较。

常见问题

此技能是否支持其他样式库?
否,仅针对 @emotion/styled 和 styled-components 的转换,不涉及其他库。
是否会自动安装缺失的依赖?
不会。技能要求先审计依赖,若缺失则停止并请求先导入,不会自动安装。
转换后是否需要手动检查?
建议执行 lint 和 prettier,但技能不包含自动化测试,最好手动审查关键组件。
此技能是否需要特定网络访问?
不需要,只有本地文件操作和运行 yarn 命令。

同仓库的其他 Skills

均来自 bbc/simorgh

相关 Skills