mcpField
E
extract

extract

github.com/educlopez开发407562 次安装2 周前更新
代码仓库

关于 extract

这是 `ui-craft` 的子技能,用于在目标代码中识别可复用的界面组件和设计令牌。它遵循项目现有约定,并列出每处调用点的更新。

主要功能

  1. 01查找重复的 Tailwind 类和标记
  2. 02将字面样式值集中为令牌
  3. 03遵循现有命名与组件约定
  4. 04更新并列出所有调用点

适用场景

  1. 01减少重复的界面标记
  2. 02集中管理颜色、尺寸等样式值
  3. 03按项目约定重构组件

安装

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

$npx skills add https://github.com/educlopez/ui-craft --skill extract

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

详细介绍

上下文: 此子技能是更广泛的 ui-craft 技能的一个视角。如果也安装了 ui-craft 技能,请先阅读其 SKILL.md,了解 Discovery + Anti-Slop + Craft Test,然后应用下方的具体视角。

从 $ARGUMENTS 中提取可复用的部分。加载 ui-craft 技能。

步骤 1 — 扫描目标,寻找可提取内容:

  • 重复的 Tailwind 类组合 — 任何出现 ≥3 次的类字符串都应变成组件(或者在项目使用 cva/tv 时变成变体——先检查)。
  • 魔法值 — 以字面形式出现的十六进制颜色、像素尺寸、阴影定义、字号、z-index 值。将它们提取到 CSS 变量或 theme.extend 中。
  • 重复的标记 — 仅文本/属性不同的代码块应合并为带属性的单个组件。

步骤 2 — 遵循项目约定,不要强加新约定:

  • 命名 — 查看相邻组件。文件名是 PascalCase 还是 kebab-case?使用命名导出还是默认导出?严格遵循现有做法。
  • 位置 — 创建新目录前,先检查 components/ui/、ui/、primitives/、src/components/。优先复用。
  • 令牌 — 遵循现有 CSS 变量命名方式(--color-*、--space-*、--font-*、--radius-*)。不要引入并行体系。

步骤 3 — 对每个新组件进行 Anti-Slop Test(来自 SKILL.md):

  • 组件名称必须体现具体领域,不能太通用。MetricCard / PricingTier / InviteRow 优于 Card / Box / Item。
  • 如果组件很通用(“带标题和描述的卡片”),请考虑是否应该改为内联组合——过早抽象比重复更糟糕。

步骤 4 — 更新每个调用位置。 不要只迁移一部分。

与参数无关 — DRY 不可调整。

需要阅读的参考资料:references/layout.md(组合模式)、references/typography.md 和 references/color.md(令牌命名),以及项目现有的组件库(编写前先扫描)。

输出:

  1. 新组件文件和任何令牌新增项。
  2. 列出每个调用位置更新的表格:
文件之前之后
  1. 一行差异说明:“提取了 N 个组件、M 个令牌。已更新调用位置:X。”

下一步: /tokens — 将刚刚集中管理的值提取到令牌主干(第 2 级)。

评论

支持 Markdown