audit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

stardust:audit

stardust:audit

One URL in. One scored, evidence-bound audit out.
audit
looks at an existing website from three perspectives — design (brand tensions + concrete improvement opportunities), SEO/technical, and LLM/AI-search visibility — measures Core Web Vitals, and synthesizes everything into a seven-dimension scorecard plus a prioritized findings ledger that tells the owner what to improve to generate a better business outcome. The report is also the natural seed for a redesign: its findings feed
stardust:uplift
's improvements list and
stardust:direct
's Phase 2.5, and it closes with uplift-shaped redesign directions so "run
stardust:uplift
" is the obvious next step.
输入一个URL,输出一份带评分、有证据支撑的审计报告。
audit
从三大维度审视现有网站——设计(品牌张力+具体改进机会)、SEO/技术层面、LLM/AI搜索可见性——测量Core Web Vitals指标,并将所有信息整合为一份七维度评分卡,以及一份按优先级排序的问题清单,告知网站所有者需改进哪些方面以获得更好的业务成果。该报告也是网站重设计的天然基础:其发现结果可为
stardust:uplift
的改进列表和
stardust:direct
的2.5阶段提供输入,报告结尾还会给出符合uplift风格的重设计方向,因此“运行
stardust:uplift
”显然是下一步的最佳选择。

Opinionated defaults

预设规则(带主观倾向)

  • Multi-page by default
    stardust:extract <url> --cap 8
    (home + seven IA pillars) unless
    --single
    or
    --pages
    overrides.
  • Non-interactive — the audit never asks questions. Every assumption it makes instead is recorded in
    audit.json#assumptions
    and stated in the report's executive summary.
  • Evidence-bound — every claim cites a measurement, a
    T-*
    tension id, a check result, or a screenshot observation. A claim with no citation does not ship.
  • No fabricated data — a measurement that could not be taken is reported as
    not measured (<reason>)
    , never estimated silently. An estimate, where reasoned, is labeled as one with its basis.
  • Graceful degradation, not failure — optional capabilities (refero, marketing-skills, modern-web-guidance, PageSpeed Insights) are probed once and their absence is recorded, never fatal. See § Degradation ladder.
  • 默认多页面审计 —— 默认执行
    stardust:extract <url> --cap 8
    (首页+7个信息架构核心页面),除非使用
    --single
    --pages
    参数覆盖。
  • 非交互式 —— 审计过程中不会提问,所有假设都会记录在
    audit.json#assumptions
    中,并在报告的执行摘要中说明。
  • 有证据支撑 —— 每一项结论都引用了测量数据、
    T-*
    张力ID、检查结果或截图观察结果。无引用的结论不会纳入最终报告。
  • 无伪造数据 —— 无法获取的测量数据会标注为
    not measured (<reason>)
    ,绝不会静默估算。若确需估算,必须明确标注并说明依据。
  • 优雅降级而非失败 —— 可选功能(refero、marketing-skills、modern-web-guidance、PageSpeed Insights)仅探测一次,若不可用则记录下来,不会导致审计失败。详见§ 降级机制。

Inputs

输入参数

  • <url>
    — required. The site to audit. A path narrows the crawl to that subtree (extract's semantics).
  • --pages <n>
    — optional. Override the default 8-page extraction cap (passed through as
    --cap <n>
    ).
  • --single
    — optional. One-page audit of the given URL only. The cross-page checks (duplicate titles, sitemap coverage, CTA fragmentation across pages) then run on a single page and say so.
  • --deploy
    — optional. After the report renders, publish
    report.html
    as a single self-contained page via the DA transport (
    ../deploy/da-deploy-protocol.md
    : source PUT → preview → live) and print the delivered URL. Transport only — the report never goes through deploy's section→block conversion, which would decompose the self-contained file.
  • --benchmark
    — optional. Force Phase 5 reference benchmarking: probe the refero MCP even when the earlier capability probe was slow or ambiguous. Without this flag Phase 5 fires only when the probe succeeds quickly.
There are no other flags. Everything else is derived from the captured surface or governed by the underlying skills' contracts.
  • <url>
    — 必填。待审计的网站URL。若包含路径,则仅爬取该子路径(遵循extract的语义规则)。
  • --pages <n>
    — 可选。覆盖默认的8页面提取上限(传递为
    --cap <n>
    参数)。
  • --single
    — 可选。仅对给定URL进行单页面审计。此时跨页面检查(重复标题、站点地图覆盖范围、各页面CTA碎片化)仅针对单个页面执行,并会在报告中说明。
  • --deploy
    — 可选。报告生成后,通过DA传输协议将
    report.html
    发布为独立页面(参考
    ../deploy/da-deploy-protocol.md
    :源文件PUT → 预览 → 上线),并输出交付URL。仅负责传输,报告不会经过deploy的区块转换流程,以免破坏独立文件结构。
  • --benchmark
    — 可选。强制执行第5阶段的参考基准测试:即使早期功能探测缓慢或结果模糊,仍会调用refero MCP。若无此标志,仅当探测快速成功时才会触发第5阶段。
无其他标志参数,所有其他配置均从捕获的页面内容推导,或由底层技能的协议决定。

Phase 0 — Setup

第0阶段 — 准备工作

  1. Run the master skill's setup (
    ../stardust/SKILL.md
    § Setup) — with one audit-specific carve-out: impeccable absence is a degradation here, not the master setup's hard stop. When the dep check fails, record
    impeccable: unavailable
    in
    audit.json#degradations
    and continue — Phase 2 runs without the critique/audit arms (VISION pass + accessibility fold-in still fire) and Phase 6 skips the report render; the run ends at stop condition (b) after
    audit.json
    is written.
  2. Extraction freshness check. If
    stardust/current/
    holds an extraction of the same origin less than 7 days old — origin from
    stardust/state.json
    (the site record extract stamped), recency from the newest
    pages/<slug>.json#_provenance.fetchedAt
    — reuse it and record
    site.extraction.reused: true
    . Otherwise invoke
    stardust:extract <url> --cap 8
    (or
    --single
    /
    --pages <n>
    per the inputs). Extract owns the crawl, the screenshots,
    _brand-extraction.json
    ,
    pages/<slug>.json
    ,
    PRODUCT.md
    /
    DESIGN.md
    , and
    brand-review.html
    with its Tensions section.
  3. Probe optional capabilities once, recording each outcome in the degradation record (
    audit.json#degradations
    ):
    • marketing-skills
      plugin (
      seo-audit
      ,
      ai-seo
      skills present?)
    • modern-web-guidance
      (
      npx -y modern-web-guidance@latest search "<query>"
      responds?)
    • refero MCP (attempt
      mcp__refero__refero_search_styles
      ; treat a tool-not-found or timeout as unavailable)
    • PageSpeed Insights API (network-reachable without a key?)
    • rollout project (
      stardust/rollout/rollout.json
      present?)
If extract fails entirely (site unreachable, bot-management block past the headed-Chrome fallback), stop and surface extract's error verbatim — there is nothing to audit. This is the only hard stop before synthesis; see § Stop conditions.
  1. 运行主技能的准备流程(参考
    ../stardust/SKILL.md
    § Setup)—— 针对审计有一项特殊例外:impeccable不可用时仅触发降级,而非主准备流程的强制终止。若依赖检查失败,在
    audit.json#degradations
    中记录
    impeccable: unavailable
    并继续——第2阶段将跳过评论/审计模块(仍会执行VISION扫描+无障碍功能整合),第6阶段跳过报告渲染;在写入
    audit.json
    后,触发停止条件(b)终止运行。
  2. 提取内容新鲜度检查。若
    stardust/current/
    中存在同一源站的提取内容,且时间不超过7天(源站信息来自
    stardust/state.json
    ,新鲜度由最新的
    pages/<slug>.json#_provenance.fetchedAt
    决定)——则复用该内容,并记录
    site.extraction.reused: true
    。否则调用
    stardust:extract <url> --cap 8
    (或根据输入参数使用
    --single
    /
    --pages <n>
    )。Extract模块负责爬取、截图、生成
    _brand-extraction.json
    pages/<slug>.json
    PRODUCT.md
    /
    DESIGN.md
    ,以及包含Tensions章节的
    brand-review.html
  3. 一次性探测可选功能,将每个结果记录到降级记录中(
    audit.json#degradations
    ):
    • marketing-skills
      插件(是否存在
      seo-audit
      ai-seo
      技能?)
    • modern-web-guidance
      (执行
      npx -y modern-web-guidance@latest search "<query>"
      是否有响应?)
    • refero MCP(尝试调用
      mcp__refero__refero_search_styles
      ;若工具未找到或超时则标记为不可用)
    • PageSpeed Insights API(无需密钥即可访问网络?)
    • rollout项目(是否存在
      stardust/rollout/rollout.json
      ?)
若extract完全失败(网站无法访问、结构无法解析、绕过有头Chrome fallback后仍被反爬虫拦截),则终止并直接输出extract的错误信息——无内容可审计。这是合成阶段前唯一的强制终止情况;详见§ 停止条件。

Procedure

执行流程

Phase 1 — Brand surface & tension analysis

第1阶段 — 品牌呈现与张力分析

Read
stardust/current/_brand-extraction.json
and
stardust/current/brand-review.html
§ Tensions surfaced (rule catalog in
../extract/reference/brand-review-template.md
§ Tensions). Every fired
T-*
tension is candidate evidence for a finding — carry the ids forward, do not re-derive the detections.
Compute the four brand-expression measurements the report needs. Each lands in
audit.json#measurements
with
status
+
method
per
reference/report-format.md
:
  • brandColorShare
    — brand-color share of painted pixels on the captured home screenshot. Preferred method: Playwright pixel sampling (
    method: "pixel-sample"
    ) — load the screenshot, sample a grid (e.g. every 8th pixel), classify each sample to the nearest palette entry within a tolerance, and divide brand-hue samples by painted (non-white/near-white) samples. When sampling is infeasible in the session, a reasoned estimate from the captured surfaces is allowed but must ship as
    method: "surface-estimate"
    with its basis — never presented as measured.
  • ctaFragmentation
    — distinct CTA labels per equivalence bucket, aggregated from
    pages/*.json#ctas[].label
    (the same buckets that drive
    T-cta-vocab
    ).
  • typeScale
    — distinct heading sizes and scale kind/ratio from
    _brand-extraction.json#type.scaleAudit
    .
  • radiusSprawl
    — distinct border-radius values with occurrence counts from
    _brand-extraction.json#motifs.borderRadius
    .
读取
stardust/current/_brand-extraction.json
stardust/current/brand-review.html
中的§ Tensions章节(规则目录参考
../extract/reference/brand-review-template.md
§ Tensions)。每个触发的
T-*
张力都是结论的候选证据——保留ID,无需重新推导检测结果。
计算报告所需的四项品牌呈现测量指标。每项指标都按
reference/report-format.md
的要求,以
status
+
method
的格式存入
audit.json#measurements
  • brandColorShare
    —— 捕获的首页截图中品牌色像素占比。优先方法:Playwright像素采样(
    method: "pixel-sample"
    )——加载截图,按网格采样(例如每8个像素采样一次),将每个样本按容差分类到最近的调色板条目,然后用品牌色调样本数除以已绘制(非白色/近白色)样本数。若会话中无法执行采样,则允许从捕获的页面内容进行合理估算,但必须标记为
    method: "surface-estimate"
    并说明依据——绝不能伪装成实测数据。
  • ctaFragmentation
    —— 按等效分组统计的不同CTA标签数量,从
    pages/*.json#ctas[].label
    聚合而来(与驱动
    T-cta-vocab
    的分组规则一致)。
  • typeScale
    —— 从
    _brand-extraction.json#type.scaleAudit
    获取的不同标题尺寸及缩放类型/比例。
  • radiusSprawl
    —— 从
    _brand-extraction.json#motifs.borderRadius
    获取的不同边框圆角值及其出现次数。

Phase 2 — Design & experience critique

第2阶段 — 设计与体验评论

Three passes over the captured home page (screenshot + live URL), folded into one set of design findings:
  1. impeccable critique + audit. Invoke via the Skill tool using the delegation mechanic in
    ../prototype/SKILL.md
    § Invoking impeccable (
    Skill { skill: "impeccable:impeccable", args: "critique <target>" }
    , then
    "audit <target>"
    for the accessibility / responsive / performance passes). Normalize its findings into the audit's finding shape.
  2. VISION pass. Study the captured screenshots directly (
    stardust/current/assets/screenshots/<slug>.png
    ) and name what a design director would: dated patterns the field has moved past, hierarchy failures, missed opportunities the captured surface doesn't capitalize on. The claim discipline is absolute — every observation cites a measurement, a tension id, or a screenshot region ("
    home.png
    , hero: three equal-weight CTAs compete"). Adjectives without evidence do not become findings.
  3. Accessibility fold-in. Contrast computed (WCAG ratios for the captured palette pairs in the roles they are actually used in), alt coverage from
    pages/*.json#media.images
    , landmark presence and heading order from
    pages/*.json#landmarks
    , content-free link labels (reuse
    T-link-content-free
    when fired).
对捕获的首页(截图+实时URL)进行三轮扫描,整合为一组设计结论:
  1. impeccable评论+审计。通过Skill工具调用,使用
    ../prototype/SKILL.md
    § Invoking impeccable中的委托机制(
    Skill { skill: "impeccable:impeccable", args: "critique <target>" }
    ,然后调用
    "audit <target>"
    执行无障碍/响应式/性能扫描)。将其结论标准化为审计的结论格式。
  2. VISION扫描。直接分析捕获的截图(
    stardust/current/assets/screenshots/<slug>.png
    ),站在设计总监的视角指出问题:行业已淘汰的陈旧模式、层级结构缺陷、页面未充分利用的潜在机会。结论必须严格遵循规范——每一项观察结果都要引用测量数据、张力ID或截图区域(例如“
    home.png
    ,hero区域:三个权重相同的CTA相互竞争”)。无证据支撑的形容词不能成为结论。
  3. 无障碍功能整合。计算对比度(捕获调色板对在实际使用场景中的WCAG比率)、
    pages/*.json#media.images
    中的替代文本覆盖率、
    pages/*.json#landmarks
    中的地标存在性和标题顺序、无内容链接标签(触发时复用
    T-link-content-free
    )。

Phase 3 — SEO & technical

第3阶段 — SEO与技术层面

When the
marketing-skills
plugin is installed, follow
marketing-skills:seo-audit
's methodology and normalize its issue/impact/evidence/fix items into findings. When absent, run the checks directly — they are all curl/Playwright-derivable:
areachecksmethod
Crawlability
robots.txt
present and sane; sitemap declared and valid XML
curl
Indexationcanonical present and self-referential;
meta robots
not accidentally
noindex
; http→https single-hop redirect; redirect chains
curl -I
Semantics
main
/
nav
/
footer
landmarks; single
<h1>
; heading hierarchy without skips
pages/*.json + Playwright
Metadatatitle/description presence + quality per page; duplicates across pages; Open Graph completenesspages/*.json#metadata
Structured dataJSON-LD presence, parse validity, entity types vs page typePlaywright / curl
Where a failure matches a
rollout:baseline
check id (
../rollout/reference/checks.md
:
single-h1
,
title-missing
,
meta-description
,
canonical
,
sitemap
,
jsonld
,
img-alt
,
landmark-main
,
duplicate-title
), reuse that id as the finding's
evidence.ref
(
check:<id>
) — findings recorded into a rollout ledger under a known id get picked up by the AEM autofix registry automatically.
Core Web Vitals. Measure LCP / CLS / TBT via Playwright performance APIs (
PerformanceObserver
for
largest-contentful-paint
and
layout-shift
,
longtask
entries for TBT) on two viewports: mobile (375×667, CPU throttled where the session supports it) and desktop (1440×900). When the PageSpeed Insights API is network-reachable without a key, prefer it and record
method: "psi-api"
(it adds field INP); otherwise record
method: "playwright-lab"
and say in the measurement note that lab TBT is a proxy for INP. Classify every metric against the Google thresholds tabled in
reference/scoring.md
§ performance.
Remediation guidance. When
modern-web-guidance
is installed, run
npx -y modern-web-guidance@latest search "<specific failure>"
for each distinct failure class and cite the returned guide ids in the finding's
guides[]
. When absent, write the generic remediation and leave
guides: []
.
若已安装
marketing-skills
插件,则遵循
marketing-skills:seo-audit
的方法,将其问题/影响/证据/修复项标准化为审计结论。若未安装,则直接执行以下检查——所有检查均可通过curl/Playwright实现:
领域检查项方法
可爬取性
robots.txt
存在且配置合理;站点地图已声明且为有效XML
curl
可索引性canonical标签存在且指向自身;
meta robots
未意外设置为
noindex
;http→https单次跳转;无跳转链
curl -I
语义化
main
/
nav
/
footer
地标;单个
<h1>
标签;标题层级无跳跃
pages/*.json + Playwright
元数据每页标题/描述的存在性+质量;跨页面重复情况;Open Graph完整性pages/*.json#metadata
结构化数据JSON-LD存在性、解析有效性、实体类型与页面类型匹配Playwright / curl
若失败项与
rollout:baseline
检查ID匹配(参考
../rollout/reference/checks.md
single-h1
title-missing
meta-description
canonical
sitemap
jsonld
img-alt
landmark-main
duplicate-title
)——复用该ID作为结论的
evidence.ref
(格式为
check:<id>
)——记录到rollout清单中的已知ID结论会被AEM自动修复注册表识别。
Core Web Vitals指标。通过Playwright性能API(使用
PerformanceObserver
监听
largest-contentful-paint
layout-shift
,通过
longtask
条目获取TBT)在两个视口测量LCP/CLS/TBT:移动端(375×667,会话支持时启用CPU节流)和桌面端(1440×900)。若无需密钥即可访问PageSpeed Insights API,则优先使用该API,并标记
method: "psi-api"
(它会增加真实用户环境的INP指标);否则标记
method: "playwright-lab"
,并在测量说明中注明实验室环境的TBT是INP的替代指标。根据
reference/scoring.md
§ performance中列出的Google阈值对每个指标进行分类。
修复指导。若已安装
modern-web-guidance
,则针对每个不同的失败类别执行
npx -y modern-web-guidance@latest search "<specific failure>"
,并在结论的
guides[]
中引用返回的指南ID。若未安装,则编写通用修复建议,保留
guides: []

Phase 4 — LLM visibility

第4阶段 — LLM可见性

When
marketing-skills:ai-seo
is installed, follow its methodology. When absent, assess directly:
  • llms.txt
    — present at the origin root?
  • Answerability — does each audited page answer the question a user would ask of it ("what does this cost", "what is this") in extractable, well-structured prose — and how early on the page?
  • schema.org coverage — do the JSON-LD entities cover the organization plus the page-type entities an answer engine needs for entity understanding?
  • Heading-as-question coverage — what share of
    h2
    /
    h3
    map to askable questions or scannable topics rather than slogans?
  • Content depth — extractable prose word counts on key pages; specific, citable claims vs thin marketing copy.
  • Key facts in crawlable text — are pricing, what-it-is, and who-it's-for stated in crawlable text, or locked in images and JS-rendered widgets?
Every Phase 4 finding names the concrete fix ("state the three price points in the pricing table as text; they currently render only inside the plan-card images"), not a category ("improve content").
若已安装
marketing-skills:ai-seo
,则遵循其方法。若未安装,则直接评估以下内容:
  • llms.txt
    —— 是否存在于源站根目录?
  • 可回答性 —— 每个被审计页面是否能用可提取、结构清晰的文本回答用户可能提出的问题(如“价格是多少”“这是什么”),且回答位置是否靠前?
  • schema.org覆盖范围 —— JSON-LD实体是否涵盖组织信息,以及回答引擎理解实体所需的页面类型实体?
  • 标题对应问题的覆盖范围 ——
    h2
    /
    h3
    标题中有多少比例对应可提问的问题或可快速浏览的主题,而非口号?
  • 内容深度 —— 关键页面的可提取文本字数;具体、可引用的声明 vs 空洞的营销文案。
  • 关键信息是否在可爬取文本中 —— 价格、产品定义、目标用户等信息是否在可爬取文本中,还是被锁定在图片或JS渲染的组件中?
第4阶段的每一项结论都要明确具体的修复方案(例如“将定价表中的三个价格点以文本形式呈现;目前它们仅在套餐卡片图片内渲染”),而非笼统的类别(如“改进内容”)。

Phase 5 — Reference benchmarking (optional)

第5阶段 — 参考基准测试(可选)

Fires when the refero MCP tools are reachable — the Phase 0 probe attempted
mcp__refero__refero_search_styles
;
--benchmark
forces a re-probe. Skip gracefully when unavailable (
benchmarks: { status: "skipped", reason: … }
).
When available: retrieve 2–3 same-vertical reference styles, compare the audited site's brand expression (Phase 1 measurements) against what best-in-class in the category does, and cite each reference — title, URL, one line on what they do better — in the relevant design findings and in
audit.json#benchmarks.references
.
当refero MCP工具可访问时触发——第0阶段已尝试调用
mcp__refero__refero_search_styles
--benchmark
参数会强制重新探测。若不可用则优雅跳过(
benchmarks: { status: "skipped", reason: … }
)。
若可用:获取2-3个同行业参考样式,将被审计网站的品牌呈现(第1阶段的测量指标)与行业最佳实践进行对比,并在相关设计结论和
audit.json#benchmarks.references
中引用每个参考项——标题、URL、以及它们做得更好的一个要点。

Phase 6 — Synthesis & report

第6阶段 — 合成与报告

  1. Scorecard. Score the seven dimensions per
    reference/scoring.md
    — anchors first, evidence floor enforced, not-measured dimensions nulled and renormalized. Compute the weighted overall.
  2. Findings. Consolidate Phases 1–5 into the prioritized ledger: P1 (actively losing business or excluding users) / P2 (material drag) / P3 (polish). Per finding:
    dimension
    ,
    evidence
    (measurement / tension / screenshot / check / benchmark citation),
    businessImpact
    one-liner, concrete
    fix
    ,
    guides[]
    .
  3. Uplift directions. Close with 2–3 redesign directions framed exactly like uplift's variant role contract (
    ../uplift/SKILL.md
    § The three-variant role contract): A faithful + fixes (names the findings it resolves), B one captured-but-underused trait amplified, C cinematic (motion as identity, register suggested per
    ../prototype/reference/motion-registers.md
    § Selection heuristic). Drop B when the captured surface can't support a differentiated middle — two strong directions beat three weak ones.
  4. Write
    stardust/audit/<domain-slug>/audit.json
    — schema, slug convention, and measurement rules in
    reference/report-format.md
    Part 1. Provenance
    _provenance
    first key.
  5. Render
    stardust/audit/<domain-slug>/report.html
    by delegating to
    $impeccable craft
    with the brief in
    reference/report-format.md
    Part 2 — the same Skill-tool mechanic as prototype, and the same rule: never hand-template the report. Run the post-render validation checklist; on failure re-invoke craft with the specific violation. Open the result with
    open stardust/audit/<domain-slug>/report.html
    .
  6. Ledger recording (rollout projects only). When
    stardust/rollout/rollout.json
    exists, record each finding into the delivery ledger via
    node skills/rollout/scripts/findings.mjs record
    with source namespace
    audit:
    --source audit:<dimension>
    ,
    --layer
    from the mapping below, severity carried through,
    --fixability
    normalized per
    ../rollout/reference/audit-sources.md
    § Recording an external finding. Write each returned id into the finding's
    ledgerId
    .
    audit dimensionledger layer
    brand-expression
    brand-tensions
    visual-hierarchy-craft
    design-ux
    conversion-focus
    content-conversion
    accessibility
    accessibility
    technical-seo
    seo
    (site-wide:
    cross-page
    )
    content-llm-visibility
    ai-search
    performance
    seo
  7. --deploy
    .
    When passed, publish
    report.html
    via the DA transport per
    ../deploy/da-deploy-protocol.md
    — PUT the file as a single source, POST preview, POST live, verify the delivered URL returns 200 — and print the delivered URL. Transport only; never run deploy's section→block conversion on the report.
  8. Chat summary. Short — the work is on disk and openable:
    audit complete — <url>
    
    Site health: <overall>/100
      <dimension>: <score>   × 7 (not-measured dimensions listed with reasons)
    
    Findings: <n> P1 · <n> P2 · <n> P3
    Top lever: <the single highest-impact P1, one line>
    
    Report: stardust/audit/<domain-slug>/report.html
    Data:   stardust/audit/<domain-slug>/audit.json
    
    Next: run stardust:uplift <url> — the report's closing directions
    are its variant briefs.
  1. 评分卡。根据
    reference/scoring.md
    对七个维度进行评分——先确定锚点,严格遵循证据底线,未测量的维度设为null并重新归一化。计算加权总分。
  2. 结论清单。将第1-5阶段的内容整合为按优先级排序的清单:P1(直接导致业务损失或用户流失)/ P2(对业务有实质性拖累)/ P3(优化打磨)。每项结论包含:
    dimension
    evidence
    (测量数据/张力ID/截图/检查项/基准测试引用)、
    businessImpact
    (一句话业务影响)、具体
    fix
    方案、
    guides[]
  3. Uplift重设计方向。结尾给出2-3个重设计方向,完全遵循uplift的变体角色协议(参考
    ../uplift/SKILL.md
    § The three-variant role contract):A 忠实还原+修复(明确列出解决的结论)、B 强化一个已存在但未充分利用的特性、C 动态视觉化(以动效为核心标识,参考
    ../prototype/reference/motion-registers.md
    § Selection heuristic选择动效等级)。若捕获的页面内容无法支撑差异化的中间方案,则去掉B选项——两个有力的方向胜过三个薄弱的方向。
  4. 写入
    stardust/audit/<domain-slug>/audit.json
    —— 格式、命名规则和测量规则参考
    reference/report-format.md
    第1部分。
    _provenance
    作为第一个键。
  5. 渲染
    stardust/audit/<domain-slug>/report.html
    —— 通过委托给
    $impeccable craft
    工具完成,参考
    reference/report-format.md
    第2部分的要求——与prototype使用相同的Skill工具委托机制,且遵循同一规则:绝不手动模板化报告。执行渲染后验证清单;若失败则根据具体问题重新调用craft工具。使用
    open stardust/audit/<domain-slug>/report.html
    打开结果。
  6. 清单记录(仅rollout项目)。若存在
    stardust/rollout/rollout.json
    ,则通过
    node skills/rollout/scripts/findings.mjs record
    将每项结论记录到交付清单中,源命名空间为
    audit:
    ——
    --source audit:<dimension>
    --layer
    对应下方映射,保留严重程度,
    --fixability
    根据
    ../rollout/reference/audit-sources.md
    § Recording an external finding进行标准化。将返回的每个ID写入结论的
    ledgerId
    审计维度清单层级
    brand-expression
    brand-tensions
    visual-hierarchy-craft
    design-ux
    conversion-focus
    content-conversion
    accessibility
    accessibility
    technical-seo
    seo
    (全站范围:
    cross-page
    content-llm-visibility
    ai-search
    performance
    seo
  7. --deploy
    参数处理
    。若传入该参数,则根据
    ../deploy/da-deploy-protocol.md
    通过DA传输协议发布
    report.html
    ——将文件作为单个源PUT、POST预览、POST上线,验证交付URL返回200状态码——并输出交付URL。仅负责传输;绝不针对报告执行deploy的区块转换流程。
  8. 聊天摘要。简洁明了——成果已保存到本地并可打开:
    audit complete — <url>
    
    Site health: <overall>/100
      <dimension>: <score>   × 7(未测量维度会列出原因)
    
    Findings: <n> P1 · <n> P2 · <n> P3
    Top lever: <单个最高影响的P1结论,一句话>
    
    Report: stardust/audit/<domain-slug>/report.html
    Data:   stardust/audit/<domain-slug>/audit.json
    
    Next: run stardust:uplift <url> — 报告结尾的方向即为其变体需求。

Degradation ladder

降级机制

Probed once in Phase 0; every degradation is recorded in
audit.json#degradations
and rendered in the report's methodology appendix. None of these stops the audit.
capability absentbehavior
refero MCPskip Phase 5;
benchmarks.status: "skipped"
with reason
marketing-skillsrun the Phase 3 / Phase 4 checks directly (tabled above)
modern-web-guidancegeneric remediation text;
guides: []
PageSpeed InsightsPlaywright-only lab metrics; measurement note says lab TBT proxies INP
Playwright pixel sampling infeasible
brandColorShare
ships as
method: "surface-estimate"
with basis
rollout projectno ledger recording;
ledgerId: null
on every finding
在第0阶段一次性探测;所有降级情况都记录在
audit.json#degradations
中,并在报告的方法附录中呈现。这些情况均不会终止审计。
缺失功能行为
refero MCP跳过第5阶段;
benchmarks.status: "skipped"
并说明原因
marketing-skills直接执行第3/4阶段的检查(如上文表格所示)
modern-web-guidance使用通用修复文本;
guides: []
PageSpeed Insights仅使用Playwright实验室指标;测量说明中注明实验室TBT是INP的替代指标
Playwright像素采样不可行
brandColorShare
标记为
method: "surface-estimate"
并说明依据
rollout项目不记录到清单;所有结论的
ledgerId: null

Hard constraints

硬性约束

  • No fabricated data. A measurement that could not be taken is
    not measured (<reason>)
    in both artifacts. Estimates are labeled with method + basis. This is the same discipline extract enforces against synthesis (
    ../extract/SKILL.md
    § Failure modes) — fabricated audit numbers are worse than missing ones because they are actionable-looking and wrong.
  • Evidence discipline. Every finding cites observable evidence: a measurement key, a
    T-*
    tension id, a screenshot region, a check id, or a benchmark URL. Uncited claims are cut in synthesis.
  • Report is craft-rendered.
    report.html
    is authored by
    $impeccable craft
    against the brief in
    reference/report-format.md
    , validated afterward — never hand-templated, never hand-patched.
  • Provenance is mandatory on both artifacts, per
    ../stardust/reference/artifact-map.md
    § Provenance shapes.
  • Non-interactive. No questions in normal flow; assumptions are stated in the report. The only stops are the two below.
  • Audit does not fix. Fixes belong to
    uplift
    (page redesign),
    direct
    Phase 2.5 (improvements list), and rollout's optimize loop (platform autofix). Audit names the fix; it never edits the site.
  • 无伪造数据。无法获取的测量数据在两个工件中都标注为
    not measured (<reason>)
    。估算数据必须标记方法+依据。这与extract对合成的约束一致(参考
    ../extract/SKILL.md
    § Failure modes)——伪造的审计数据比缺失数据更糟,因为它们看起来可执行但实际错误。
  • 证据规范。每一项结论都引用可观察的证据:测量数据键、
    T-*
    张力ID、截图区域、检查项ID或基准测试URL。无引用的结论在合成阶段会被剔除。
  • 报告由craft工具渲染
    report.html
    $impeccable craft
    工具根据
    reference/report-format.md
    的要求生成,生成后会进行验证——绝不手动模板化、绝不手动修补。
  • 必须包含溯源信息。两个工件都需遵循
    ../stardust/reference/artifact-map.md
    § Provenance shapes的要求。
  • 非交互式。正常流程中不会提问;假设会在报告中说明。仅以下两种情况会终止审计。
  • 审计不执行修复。修复工作属于
    uplift
    (页面重设计)、
    stardust:direct
    第2.5阶段(改进列表)和rollout的优化循环(平台自动修复)。审计仅指出修复方案;绝不修改网站。

Stop conditions

停止条件

Stop and surface only if:
(a) Extract fails entirely — site unreachable, structure unparseable, bot-management block past the headed-Chrome fallback. Surface extract's error verbatim; nothing to audit. (b) impeccable unavailable — Phase 2's critique/audit arms and Phase 6's report render require it. Per the Phase 0 carve-out, the run continues in degraded mode (VISION pass, SEO/technical, LLM visibility, benchmarks all still fire) and writes
audit.json
; then stop and tell the user the designed report needs the impeccable plugin — deliver the data, not a hand-templated substitute.
Everything else degrades per the ladder; the audit never stops for confirmation in normal flow.
仅在以下情况终止并输出信息:
(a) Extract完全失败 —— 网站无法访问、结构无法解析、绕过有头Chrome fallback后仍被反爬虫拦截。直接输出extract的错误信息;无内容可审计。 (b) impeccable不可用 —— 第2阶段的评论/审计模块和第6阶段的报告渲染依赖该工具。根据第0阶段的例外规则,运行会进入降级模式(仍执行VISION扫描、SEO/技术、LLM可见性、基准测试)并写入
audit.json
;然后终止并告知用户,完整报告需要impeccable插件——交付数据,而非手动模板化的替代报告。
其他所有情况均按降级机制处理;正常流程中审计绝不会因等待确认而终止。

Outputs

输出结果

stardust/
├── current/                             ← from extract (reused when <7 days old)
│   ├── _brand-extraction.json
│   ├── brand-review.html                ← Tensions section = Phase 1 input
│   ├── pages/<slug>.json
│   └── assets/screenshots/<slug>.png    ← VISION-pass + report evidence figures
└── audit/
    └── <domain-slug>/                   ← hostname, www-stripped, dots → dashes
        ├── audit.json                   ← scorecard, measurements, findings[], provenance
        └── report.html                  ← craft-rendered, self-contained

stardust/rollout/optimize/findings.json  ← appended via findings.mjs (rollout projects only)
Audit writes no
state.json
entries — extraction state belongs to
extract
; audit's own artifacts are self-describing via provenance. Re-running audit against a fresh extraction overwrites
stardust/audit/<domain-slug>/
; ledger recordings dedupe by the ledger's own id hash.
stardust/
├── current/                             ← 来自extract模块(7天内的内容会复用)
│   ├── _brand-extraction.json
│   ├── brand-review.html                ← Tensions章节 = 第1阶段输入
│   ├── pages/<slug>.json
│   └── assets/screenshots/<slug>.png    ← VISION扫描+报告证据图片
└── audit/
    └── <domain-slug>/                   ← 主机名,移除www,点替换为横杠
        ├── audit.json                   ← 评分卡、测量数据、findings[]、溯源信息
        └── report.html                  ← craft工具渲染的独立页面

stardust/rollout/optimize/findings.json  ← 通过findings.mjs追加(仅rollout项目)
审计不会写入
state.json
条目——提取状态属于
extract
模块;审计自身的工件通过溯源信息实现自描述。针对新提取内容重新运行审计会覆盖
stardust/audit/<domain-slug>/
;清单记录会通过自身ID哈希去重。

Scope

范围

  • Audits and prescribes; never modifies the site or its redesign artifacts.
  • One origin per run. Auditing a competitor set is N runs.
  • The natural continuations:
    stardust:uplift <url>
    (the closing directions are its variant briefs),
    stardust:direct
    (findings feed the Phase 2.5 improvements list), rollout's optimize loop (ledger findings with known check ids autofix on AEM).
  • 仅执行审计和给出建议;绝不修改网站或其重设计工件。
  • 每次运行仅审计一个源站。若要审计竞品集合,需执行N次运行。
  • 后续自然操作:
    stardust:uplift <url>
    (报告结尾的方向即为其变体需求)、
    stardust:direct
    (发现结果会输入到2.5阶段的改进列表)、rollout的优化循环(带有已知检查ID的清单发现结果可在AEM上自动修复)。

References

参考文档

  • reference/scoring.md
    — the seven dimensions, weights, observable anchors at 40/70/90, scoring procedure.
  • reference/report-format.md
    audit.json
    schema (Part 1) and the
    report.html
    craft brief + post-render validation (Part 2).
  • ../extract/SKILL.md
    — crawl, capture, brand-surface extraction; § Failure modes for the anti-synthesis discipline.
  • ../extract/reference/brand-review-template.md
    § Tensions — the
    T-*
    detector catalog Phase 1 carries forward.
  • ../prototype/SKILL.md
    § Invoking impeccable — the Skill-tool delegation mechanic reused for critique (Phase 2) and the report render (Phase 6).
  • ../rollout/reference/audit-sources.md
    — the findings-ledger normalization rules (severity, fixability) Phase 6 applies.
  • ../rollout/reference/checks.md
    — baseline check ids to reuse so AEM autofix picks the findings up.
  • ../rollout/scripts/findings.mjs
    — the ledger writer (
    record
    ).
  • ../uplift/SKILL.md
    § The three-variant role contract — the frame for the closing uplift directions.
  • ../prototype/reference/motion-registers.md
    § Selection heuristic — register suggestion for direction C.
  • ../direct/SKILL.md
    § Phase 2.5 — the improvements list audit findings feed on a subsequent redesign.
  • ../deploy/da-deploy-protocol.md
    — the DA transport behind
    --deploy
    (source PUT → preview → live; no block conversion).
  • ../stardust/SKILL.md
    § Setup — master-skill setup run in Phase 0.
  • ../stardust/reference/artifact-map.md
    — provenance shapes.
  • reference/scoring.md
    —— 七个维度、权重、40/70/90分的可观察锚点、评分流程。
  • reference/report-format.md
    ——
    audit.json
    格式(第1部分)和
    report.html
    的craft工具要求+渲染后验证规则(第2部分)。
  • ../extract/SKILL.md
    —— 爬取、捕获、品牌呈现提取;参考§ Failure modes了解反合成规范。
  • ../extract/reference/brand-review-template.md
    § Tensions —— 第1阶段复用的
    T-*
    检测器目录。
  • ../prototype/SKILL.md
    § Invoking impeccable —— 第2阶段评论和第6阶段报告渲染复用的Skill工具委托机制。
  • ../rollout/reference/audit-sources.md
    —— 第6阶段使用的结论清单标准化规则(严重程度、可修复性)。
  • ../rollout/reference/checks.md
    —— 可复用的基线检查ID,以便AEM自动修复识别结论。
  • ../rollout/scripts/findings.mjs
    —— 清单写入工具(
    record
    命令)。
  • ../uplift/SKILL.md
    § The three-variant role contract —— 结尾uplift重设计方向的框架。
  • ../prototype/reference/motion-registers.md
    § Selection heuristic —— 方向C的动效等级建议。
  • ../direct/SKILL.md
    § Phase 2.5 —— 后续重设计中,审计发现结果会输入到改进列表。
  • ../deploy/da-deploy-protocol.md
    ——
    --deploy
    参数背后的DA传输协议(源文件PUT → 预览 → 上线;无区块转换)。
  • ../stardust/SKILL.md
    § Setup —— 第0阶段运行的主技能准备流程。
  • ../stardust/reference/artifact-map.md
    —— 溯源信息格式。