mcpField
S
spec

spec

github.com/adobe开发31645 次安装1 天前更新
代码仓库

关于 spec

stardust:spec 是用于规划网站迁移的 Agent 技能,面向迁移团队及执行迁移的 Agent。它按阶段分析现有网站,并产出映射、实现决策和可执行的知识文件。

主要功能

  1. 01分阶段盘点、抓取和解析网站
  2. 02按布局变体规划与检查页面
  3. 03记录映射和实现判断及依据
  4. 04为未决问题提供默认答案
  5. 05计算迁移发现与影响数据

适用场景

  1. 01为网站迁移整理页面和链接清单
  2. 02规划组件复用、映射及待办事项
  3. 03记录迁移实现决策和开放问题

安装

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

$npx skills add https://github.com/adobe/skills --skill spec

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

包含的文件

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

reference/
config.md
evaluation.md
implementation.md
judgement.md
knowledge.md
scripts/
lib.mjs
rules.mjs
spec-capture.mjs
spec-fetch.mjs
spec-inventory.mjs
spec-knowledge.mjs
spec-links.mjs
spec-map.mjs
spec-martech.mjs
spec-parse.mjs
spec-pick.mjs
spec-profile.mjs
spec-rum.mjs
spec-sheet.mjs
spec-variants.mjs
scripts/test/
rules.test.mjs
spec-capture.test.mjs
spec-fetch.test.mjs
spec-inventory.test.mjs
spec-knowledge.test.mjs
spec-links.test.mjs
spec-map.test.mjs
spec-martech.test.mjs
spec-parse.test.mjs
spec-pick.test.mjs

详细介绍

stardust:spec — 迁移前的迁移规范

这份规范为规划迁移的人员(决定要构建、复用、修复或确定什么)以及执行迁移的 Agent 提供答案 (原型、区块待办列表、契约、重定向,以及每项决策的默认值)。Agent 会分阶段构建。

原则

  • 先取证,再判断。 阶段 S1–S6 和 S8 用于测量线上站点;S7 和 S9 属于判断(映射、复用、功能、问题),记录在 judgement/ 中,并为每项决策说明理由。
  • 盲判。 仅根据源站点进行判断(reference/judgement.md);在 implementation.json#provenance 中注明来源。
  • 变体,而非模板。 CMS 模板比较宽泛;按布局变体进行规划、采集和 QA(S8)。
  • 每个未解决问题都要附带默认值。 无需人工介入的迁移会应用默认值;记录的答案会取代默认值。
  • 计算得出,绝不手动填写。 发现项、功能覆盖范围和问题影响中的每个数值都必须是规则(reference/knowledge.md § Rules),由知识阶段进行评估。

设置

stardust/spec/spec.config.json(reference/config.md):origin、scopePath、template 规则、parser 配置 (适用于其他站点的 aem-classic、aem-core 或 generic)和主选择器,可选的 maxPages、rum、 referenceBlocks。将规范、diff、dynamics 和 deploy 脚本复制到 stardust/scripts/<skill>/(各阶段会导入这些脚本)。

阶段

#阶段命令(在项目根目录运行)输出
S1清点spec-inventory.mjs<work>/inventory/
S2抓取spec-fetch.mjs<work>/fetch/
S3解析spec-parse.mjs<work>/parse/
S4链接spec-links.mjs,然后运行 spec-fetch.mjs --urls <work>/links/pages.txt --out <work>/links/pages.jsonl 和 spec-parse.mjs --fetch <work>/links/pages.jsonl --out <work>/links<work>/links/
S5真实用户数据(可选)spec-rum.mjs(密钥来自 $RUM_DOMAIN_KEY)<work>/rum/rum.json
S6首次采集spec-pick.mjs --components-only、spec-capture.mjs<work>/media/
S7判断:映射spec-profile.mjs、spec-sheet.mjs <component>,编写 judgement/mapping.json,spec-map.mjs<work>/map/page-blocks.jsonl
S8变体 + 视觉spec-variants.mjs、spec-pick.mjs、spec-capture.mjs<work>/map/variants.json、<work>/media/
S9实现dynamics-detect.mjs --urls <reps> --out <work>/dynamics、spec-martech.mjs、chrome-explore.mjs <home> <work>/chrome/header.json;编写 judgement/catalog.json、implementation.json、findings.json、search-probes.json<work>/、judgement/
S10知识spec-knowledge.mjsknowledge/

每个阶段都会将开始和结束记录到 stardust/status.jsonl(ledger.mjs spec s1-inventory start)。<work> 是 stardust/.work/spec/,绝不提交。大型站点:S2 以 4 个并行请求运行,且可恢复 — 启动后,可在运行期间编写配置和判断框架。每次只运行一个浏览器任务(S6/S8/S9),打开两个标签页。

判断(S7、S9)

从 templates/ 开始。mapping.json 和 catalog.json:参见 reference/judgement.md。implementation.json: 参见 reference/implementation.md。findings.json:6–10 条纯文本标题,格式为 { title, text, chapter, rank }。记录的答案写入 judgement/answers.json。

输出

stardust/spec/ 中的 judgement/ 和 knowledge/ 会提交;reference/knowledge.md 是契约。原始材料、 采集内容和裁剪图保留在 <work> 中。

关卡

  • 当 spec-map.mjs 报告没有未映射组件,且页面区块中的每个区块都在 catalog.json 中时,S7 通过(否则 spec-knowledge.mjs 会发出警告)。
  • 当 spec-knowledge.mjs 以 0 退出(每条规则均已计算),且每个开放问题都有默认值时,S10 通过。
  • 来源被拦截(S1 或 S2 以 3 退出:机器人质询或拒绝的比例达到或超过 10%)会导致构建停止:请用户将爬虫加入允许列表,或选择 --headed(插件的真实 Chrome 隐身模式层级,来自差异技能的 live-session.mjs,replica 也采用此方式),或选择 --archive <date>(Internet Archive 快照,必须在溯源信息和一项发现中披露)。绝不要替用户做选择,也绝不要用其他方式绕过拦截。
  • 分享前:项目或输出中不得包含客户机密、内部评估信息或其他迁移项目的名称。

参考资料

  • reference/config.md — spec.config.json、模板规则、解析器配置。
  • reference/judgement.md — 盲审规则、映射规则、联系表、区块系列、复用判定。
  • reference/implementation.md — 功能、营销技术、数据层、元数据、索引、本地化、开放问题。
  • reference/knowledge.md — 输出契约:文件、字段、规则格式。
  • reference/evaluation.md — 根据已交付的迁移项目为规范评分;盲审复核。

评论

支持 Markdown