关于 spec
stardust:spec 是用于规划网站迁移的 Agent 技能,面向迁移团队及执行迁移的 Agent。它按阶段分析现有网站,并产出映射、实现决策和可执行的知识文件。
主要功能
- 01分阶段盘点、抓取和解析网站
- 02按布局变体规划与检查页面
- 03记录映射和实现判断及依据
- 04为未决问题提供默认答案
- 05计算迁移发现与影响数据
适用场景
- 01为网站迁移整理页面和链接清单
- 02规划组件复用、映射及待办事项
- 03记录迁移实现决策和开放问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ adobe/ skills --skill spec安装后在 Claude Code 中输入/spec确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/config.mdevaluation.mdimplementation.mdjudgement.mdknowledge.mdscripts/lib.mjsrules.mjsspec-capture.mjsspec-fetch.mjsspec-inventory.mjsspec-knowledge.mjsspec-links.mjsspec-map.mjsspec-martech.mjsspec-parse.mjsspec-pick.mjsspec-profile.mjsspec-rum.mjsspec-sheet.mjsspec-variants.mjsscripts/test/rules.test.mjsspec-capture.test.mjsspec-fetch.test.mjsspec-inventory.test.mjsspec-knowledge.test.mjsspec-links.test.mjsspec-map.test.mjsspec-martech.test.mjsspec-parse.test.mjsspec-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.mjs | knowledge/ |
每个阶段都会将开始和结束记录到 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 — 根据已交付的迁移项目为规范评分;盲审复核。