snowflake

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Snowflake — Static-to-EDS Conversion

Snowflake — 静态HTML转EDS转换工具

Convert a static HTML page into an EDS page while preserving the original design and making content authorable in Document Authoring. Two conversion levels are supported:
  • Page-level (overlay) — the original DOM is preserved byte-for-byte via a template with
    [data-slot]
    markers. One template, one CSS file, one DA doc with slot-keyed rows.
  • Block-level — each content section becomes an independent EDS block with its own
    decorate()
    function and CSS. Content is authored in DA block tables. Header and footer stay as static fragments.
Both levels keep the original visual design intact. Page-level is the safer default; block-level produces more standard EDS output but requires section independence in the source page.
将静态HTML页面转换为EDS页面,同时保留原始设计并让内容可在Document Authoring(DA)中编辑。支持两种转换层级:
  • 页面级(覆盖模式) — 通过带有
    [data-slot]
    标记的模板,逐字节保留原始DOM结构。仅需一个模板、一个CSS文件,以及一个包含插槽键控行的DA文档。
  • 区块级 — 每个内容区域成为独立的EDS区块,拥有自己的
    decorate()
    函数和CSS。内容在DA区块表格中编辑,页眉和页脚保留为静态片段。
两种层级均能完整保留原始视觉设计。页面级是更安全的默认选项;区块级生成更标准的EDS输出,但要求源页面中的各个内容区域相互独立。

When to use

使用场景

The user has an AI-generated polished static HTML page and wants to launch it on Edge Delivery Services without losing the original design while still making content editable in DA. Typical phrasing:
  • "Convert https://example.com/static-page to EDS"
  • "Make this page editable in DA but keep the original markup"
  • "Convert this page to EDS blocks" (signals
    level=block
    )
  • "Start the next experimentation for URL …"
  • "Static-to-EDS overlay for …" (signals
    level=page
    )
当用户拥有AI生成的精美静态HTML页面,希望在Edge Delivery Services上发布,同时不丢失原始设计,且仍能在DA中编辑内容时适用。典型指令示例:
  • "Convert https://example.com/static-page to EDS"
  • "Make this page editable in DA but keep the original markup"
  • "Convert this page to EDS blocks"(表示
    level=block
  • "Start the next experimentation for URL …"
  • "Static-to-EDS overlay for …"(表示
    level=page

What this skill does NOT do

该工具不支持的场景

Not for canonical EDS block-rewrite migrations — that's
page-import
. Snowflake preserves the source design;
page-import
rewrites to standard EDS block patterns with no visual fidelity target. Three asset strategies are supported (see knowledge/methodology.md §3):
absolute
,
vendor
,
da-media
.
不适用于标准EDS区块重写迁移 — 此类场景请使用
page-import
工具。Snowflake工具会保留源页面设计;而
page-import
会将页面重写为标准EDS区块模式,不保证视觉一致性。支持三种资源策略(详见knowledge/methodology.md §3):
absolute
vendor
da-media

Parameters

参数

ParameterValuesDefaultDescription
level
page
,
auto
,
check
,
block
page
Conversion level — see below
参数可选值默认值描述
level
page
,
auto
,
check
,
block
page
转换层级 — 详见下文

level
values

level
参数值说明

ValueBehavior
auto
Run the feasibility analysis in Phase 2, present the recommendation, ask the user to confirm before Phase 3
check
Run the feasibility analysis only — produce the report in
decisions.json
, stop before Phase 3. Useful for batch scanning
block
Block-level conversion. Analysis still runs as validation (written to
decisions.json
) but does not gate the conversion
page
Page-level conversion (standard overlay). Analysis still runs as validation but does not gate the conversion
When
level
is not provided and the user's phrasing signals intent, infer it:
  • "convert to EDS blocks", "block-level" →
    level=block
  • "overlay", "preserve the DOM", "snowflake overlay" →
    level=page
  • Neutral phrasing →
    level=page
行为
auto
在第二阶段运行可行性分析,给出推荐方案,在进入第三阶段前需用户确认
check
仅运行可行性分析 — 在
decisions.json
中生成报告,在第三阶段前停止操作。适用于批量扫描场景
block
执行区块级转换。仍会运行分析作为验证(结果写入
decisions.json
),但不会阻止转换流程
page
执行页面级转换(标准覆盖模式)。仍会运行分析作为验证,但不会阻止转换流程
若未提供
level
参数,将根据用户指令推断:
  • "convert to EDS blocks"、"block-level" →
    level=block
  • "overlay"、"preserve the DOM"、"snowflake overlay" →
    level=page
  • 中性指令 →
    level=page

Usage examples

使用示例

/snowflake https://example.com/promo              → page-level; infer repo, daRoot, slug
/snowflake https://example.com/promo level=block  → block-level, infer the rest
/snowflake https://example.com/promo level=auto   → feasibility analysis decides
/snowflake level=check                            → feasibility scan only (asks for URL)
/snowflake                                        → page-level, fully interactive
The Source URL is the leading positional input and the only required argument. Everything else is resolved automatically and presented in a single confirmation summary before any work begins.
/snowflake https://example.com/promo              → 页面级转换;自动推断仓库、daRoot、slug
/snowflake https://example.com/promo level=block  → 区块级转换;自动推断其余参数
/snowflake https://example.com/promo level=auto   → 由可行性分析决定转换层级
/snowflake level=check                            → 仅执行可行性扫描(会要求提供URL)
/snowflake                                        → 页面级转换;完全交互式操作
源URL是首个位置参数,也是唯一必填参数。所有其他参数会自动解析,并在开始任何操作前以确认摘要形式展示。

Skill dependencies

工具依赖

Snowflake cites DA HTML rules and the DA admin API contract from the da-content skill. Load
da-content
alongside Snowflake.
Phases 3 (Generate) and 5 (Round-trip) reference it directly.
Snowflake工具会引用da-content工具中的DA HTML规则和DA管理员API协议。请同时加载da-content工具。第三阶段(生成)和第五阶段(往返验证)会直接依赖该工具。

Prerequisites

前置条件

Required — the only input the skill cannot resolve on its own:
  1. Source URL — the static page to convert. Must be reachable (publicly hosted or local dev server).
Resolved automatically — shown in the init summary for one-shot confirmation before any work begins:
  1. Target EDS repo — detected via
    gh repo view --json nameWithOwner
    , falling back to parsing
    git remote get-url origin
    . Must already have the overlay engine wired (see knowledge/architecture.md §"Solution shape"). Phase 0 installs it if absent.
  2. DA root path — read from
    .snowflake/config.json
    daRoot
    key if set, otherwise defaults to the current git branch name (the same branch the skill uses for code). Shown in summary; override inline.
  3. Conversion level — inferred from phrasing (see Parameters), else
    page
    . Shown in summary; override inline.
  4. Slug / template name — derived from the source URL (kebab-case, ≤30 chars). Shown in summary; override inline.
Auth check (non-blocking) — DA token resolved from
$DA_TOKEN
~/.aem/da-token.json
. Its status appears in the init summary. Phases 1–4 do not need it; if absent at invocation time, invoke the da-auth skill before Phase 5 (Round-trip) runs.
必填项 — 工具无法自动解析的唯一输入:
  1. 源URL — 待转换的静态页面地址。必须可访问(公开托管或本地开发服务器)。
自动解析项 — 在开始操作前会在初始化摘要中展示,供用户一键确认:
  1. 目标EDS仓库 — 通过
    gh repo view --json nameWithOwner
    检测,若失败则解析
    git remote get-url origin
    。仓库必须已配置覆盖引擎(详见knowledge/architecture.md §"Solution shape")。若未配置,第0阶段会自动安装。
  2. DA根路径 — 若已设置
    .snowflake/config.json
    中的
    daRoot
    键,则读取该值;否则默认使用当前git分支名称(即工具使用的代码分支)。会在摘要中展示,可直接覆盖。
  3. 转换层级 — 根据用户指令推断(详见参数说明),否则默认
    page
    。会在摘要中展示,可直接覆盖。
  4. Slug / 模板名称 — 从源URL派生(短横线命名格式,长度≤30字符)。会在摘要中展示,可直接覆盖。
权限检查(非阻塞) — DA令牌从
$DA_TOKEN
读取,若不存在则读取
~/.aem/da-token.json
。其状态会在初始化摘要中显示。第1-4阶段不需要令牌;若调用时令牌不存在,则在第5阶段(往返验证)运行前调用da-auth工具获取。

Initialization

初始化流程

On every invocation the agent performs these steps before entering Phase 0:
  1. Resolve inputs — apply the fast-path rules from the Prerequisites section above.
  2. Probe substrate
    bash
    node <SKILL_DIR>/scripts/install-substrate.mjs --dry-run
    Captures the outcome (no-op / clean-install / drift / custom-code-detected).
  3. Check DA token
    bash
    DA_TOKEN=$(node -e "
      const fs = require('fs');
      const p = process.env.HOME + '/.aem/da-token.json';
      try {
        const t = JSON.parse(fs.readFileSync(p, 'utf8'));
        if (t.expires_at > Date.now() + 60000) process.stdout.write(t.access_token);
      } catch {}
    ")
    Non-blocking — records status for the summary only.
  4. Always display the run parameters before any phase begins. Show this summary unconditionally — even when all values were provided upfront or inferred without ambiguity — then proceed immediately without waiting for confirmation:
    Source URL : https://example.com/promo   ← required (provided)
    Target repo: acme/my-site                ← detected from git
    DA root    : /main                        ← from current branch
    Level      : page                        ← default
    Slug       : promo                       ← derived from URL
    Substrate  : clean install — 9 files     ← (or: already current ✓)
    DA token   : cached ✓                    ← (or: not found — needed at Phase 5)
    Proceed without pausing for the common case (fresh install — no snowflake substrate yet; replaced files are backed up). Only pause for drift (a prior snowflake substrate that diverged), where overwriting could lose intentional customization — Phase 0 handles that case.
  5. Proceed — Phase 0 → 1 → … → 6 in order.
每次调用时,代理会在进入第0阶段前执行以下步骤:
  1. 解析输入 — 应用前置条件章节中的快速路径规则。
  2. 探测底层环境
    bash
    node <SKILL_DIR>/scripts/install-substrate.mjs --dry-run
    捕获执行结果(无操作/全新安装/环境变更/检测到自定义代码)。
  3. 检查DA令牌
    bash
    DA_TOKEN=$(node -e "
      const fs = require('fs');
      const p = process.env.HOME + '/.aem/da-token.json';
      try {
        const t = JSON.parse(fs.readFileSync(p, 'utf8'));
        if (t.expires_at > Date.now() + 60000) process.stdout.write(t.access_token);
      } catch {}
    ")
    非阻塞操作 — 仅记录状态用于展示摘要。
  4. 始终展示运行参数 — 在进入任何阶段前展示此摘要。无论所有值是预先提供还是自动推断且无歧义,均会无条件展示该摘要,然后立即继续操作,无需等待用户确认:
    Source URL : https://example.com/promo   ← 必填项(已提供)
    Target repo: acme/my-site                ← 从git检测到
    DA root    : /main                        ← 来自当前分支
    Level      : page                        ← 默认值
    Slug       : promo                       ← 从URL派生
    Substrate  : clean install — 9 files     ←(或:已为最新版本 ✓)
    DA token   : cached ✓                    ←(或:未找到 — 第5阶段需要)
    对于常见场景(全新安装 — 尚未配置Snowflake底层环境;替换文件会自动备份),无需暂停操作。仅当检测到环境变更(之前的Snowflake底层环境已发生变化)时才会暂停,因为覆盖操作可能会丢失用户的自定义修改 — 第0阶段会处理这种情况。
  5. 继续执行 — 按顺序执行第0阶段 → 第1阶段 → … → 第6阶段。

Quick start — end-to-end example

快速入门 — 端到端示例

From the target EDS repository root, here's the full seven-phase conversion in compressed form. Each phase file under phases/ holds the complete prompt; this is the shape of the actual commands the agent emits.
bash
undefined
在目标EDS仓库根目录下,以下是完整七阶段转换的简化流程。每个阶段的完整指令位于phases/目录下的对应markdown文件中;以下是代理实际执行的命令结构。
bash
undefined

Inputs (resolved during init, confirmed in the summary)

输入参数(初始化时解析,在摘要中确认)

SOURCE_URL="https://example.com/promo" PAGE_SLUG="promo" DA_ROOT="/main" # defaults to current branch name NNN=001 # next run number PROJECT=".snowflake/projects/${NNN}-${PAGE_SLUG}" TEMPLATE_NAME="promo" LEVEL="page" # page | auto | check | block
SOURCE_URL="https://example.com/promo" PAGE_SLUG="promo" DA_ROOT="/main" # 默认使用当前分支名称 NNN=001 # 下一次运行编号 PROJECT=".snowflake/projects/${NNN}-${PAGE_SLUG}" TEMPLATE_NAME="promo" LEVEL="page" # page | auto | check | block

Phase 0 — install (or verify) the overlay substrate (once per repo)

第0阶段 — 安装(或验证)覆盖底层环境(每个仓库仅需执行一次)

node "<SKILL_DIR>/scripts/install-substrate.mjs"
node "<SKILL_DIR>/scripts/install-substrate.mjs"

Phase 1 — capture: fetch source + assets into the project folder

第1阶段 — 捕获:将源页面及资源下载到项目文件夹

mkdir -p "$PROJECT/input" curl -fsS "$SOURCE_URL" -o "$PROJECT/input/index.html"
mkdir -p "$PROJECT/input" curl -fsS "$SOURCE_URL" -o "$PROJECT/input/index.html"

For JS-rendered pages, use a browser to get the fully rendered HTML instead

对于JS渲染的页面,请使用浏览器获取完全渲染后的HTML

Phase 2 — analyze: produce decisions.json (sections, slots, asset

第2阶段 — 分析:生成decisions.json(包含内容区域、插槽、资源策略、头部链接、转换层级)。包括区块级可行性评估。若LEVEL=check,在此阶段停止操作。

strategy, head-links, conversionLevel). Includes block-level

由phases/2-analyze.md驱动。

feasibility assessment. If LEVEL=check, stop here.

第3阶段 — 生成:生成5个工件及DA源内容

Driven by phases/2-analyze.md.

Phase 3 — generate: produce 5 artifacts + DA-source body

(templates/<tpl>.html, fragments/<tpl>/{header,footer}.html,

styles/<tpl>.css, scripts/<tpl>-animations.js, da/<slug>.html).

Driven by phases/3-generate.md.

Phase 4 — wire: copy artifacts to EDS-served paths and build the

drafts file. Driven by phases/4-wire.md.

Phase 5 — round-trip: local dev server + production preview

npx -y @adobe/aem-cli up --html-folder drafts & TOKEN="${DA_TOKEN:-$(jq -r .access_token ~/.aem/da-token.json)}" git checkout -b "snowflake-${NNN}" && git add . && git commit -m "snowflake #${NNN}" git push -u origin "snowflake-${NNN}" curl -X PUT -H "Authorization: Bearer $TOKEN"
-F "data=@${PROJECT}/output/da/${PAGE_SLUG}.html;type=text/html"
"https://admin.da.live/source/${OWNER}/${REPO}${DA_ROOT}/${PAGE_SLUG}.html" curl -X POST -H "Authorization: Bearer $TOKEN"
"https://admin.hlx.page/preview/${OWNER}/${REPO}/snowflake-${NNN}${DA_ROOT}/${PAGE_SLUG}"
#(templates/<tpl>.html、fragments/<tpl>/{header,footer}.html、

styles/<tpl>.css、scripts/<tpl>-animations.js、da/<slug>.html)。

Phase 6 — reflect: append findings to $PROJECT/learnings.md;

由phases/3-generate.md驱动。

promote cross-project rules to knowledge/learnings.md.

第4阶段 — 关联:将工件复制到EDS服务路径,并构建drafts文件。

由phases/4-wire.md驱动。

第5阶段 — 往返验证:本地开发服务器 + 生产环境预览


`<SKILL_DIR>` is the absolute path to the directory containing this
`SKILL.md`. The agent substitutes it before invoking — see
[HOST-NOTES.md](./HOST-NOTES.md) for per-host resolution rules.
npx -y @adobe/aem-cli up --html-folder drafts & TOKEN="${DA_TOKEN:-$(jq -r .access_token ~/.aem/da-token.json)}" git checkout -b "snowflake-${NNN}" && git add . && git commit -m "snowflake #${NNN}" git push -u origin "snowflake-${NNN}" curl -X PUT -H "Authorization: Bearer $TOKEN"
-F "data=@${PROJECT}/output/da/${PAGE_SLUG}.html;type=text/html"
"https://admin.da.live/source/${OWNER}/${REPO}${DA_ROOT}/${PAGE_SLUG}.html" curl -X POST -H "Authorization: Bearer $TOKEN"
"https://admin.hlx.page/preview/${OWNER}/${REPO}/snowflake-${NNN}${DA_ROOT}/${PAGE_SLUG}"

第6阶段 — 总结:将运行结果追加到$PROJECT/learnings.md;

将跨项目规则更新到knowledge/learnings.md。

Each phase is a self-contained markdown file with executable bash + Node. The agent reads the phase prompt, runs its steps, updates
state.json
at the project root (
<projectsDir>/<NNN>-<slug>/state.json
), and proceeds. Reruns are safe — phases skip work already done.
  1. Prerequisites — install/verify the overlay substrate; stamp
    .snowflake/config.json
    . Runs once per repo. See phases/0-prereq.md.
  2. Capture — fetch source HTML and referenced external assets; create the project folder. See phases/1-capture.md.
  3. Analyze — structural map: header/footer boundaries, section list, slot opportunities, head-level links to lift, asset strategy. Also runs the block-level feasibility assessment — see knowledge/block-level-feasibility.md. Includes a page complexity gate: pages with >8 sections or >100 slottable elements auto-switch from page-level to block-level to avoid incomplete content extraction (see phases/2-analyze.md). Produces
    notes.md
    +
    decisions.json
    (including
    conversionLevel
    ). See phases/2-analyze.md.
  4. Generate — branches by
    conversionLevel
    from Phase 2:
    • page
      : produce the 5 overlay artifacts (template HTML, header fragment, footer fragment, page CSS, animations JS) plus the DA-source body with slot-keyed rows.
    • block
      : produce per-section block JS/CSS, header/footer fragments, global styles/tokens, and the DA-source body with standard block tables.
    • hybrid
      : block-level for passing sections, page-level fragments for failing sections. Both
      page
      and
      block
      are supported under either substrate flavor (
      eds
      or
      milo
      ). All Milo-specific deltas — chrome metadata, page-level/block-level generation, the
      --pa-*
      animation sidecars, and wiring — live in assets/substrate-milo/FLAVOR.md; the phase docs carry a gated pointer to it. The core skill stays substrate-neutral. See phases/3-generate.md.
  5. Wire — copy artifacts to EDS-served paths, build the local-test drafts file, run lint. See phases/4-wire.md.
  6. Round-trip — local (dev server) then production (branch + push + DA PUT + preview API). Enforces a browser health gate on both: the page must render (not blank), apply the overlay, match the source structure, be free of console/network errors, and pass the 1:1 DOM-equality check before the run may continue. See phases/5-roundtrip.md.
  7. Reflect — append run findings; promote cross-project learnings to knowledge/learnings.md. Does not close the iteration — that's a user decision. See phases/6-reflect.md.
Knowledge resolution per phase: each phase tries
.snowflake/knowledge/<file>.md
(project-specific override) first, then
<SKILL_DIR>/knowledge/<file>.md
(bundled, canonical). Project overrides win on conflict.

`<SKILL_DIR>`是包含此`SKILL.md`文件的绝对路径。代理在调用前会替换该路径 — 详见[HOST-NOTES.md](./HOST-NOTES.md)中的路径解析规则。

Reading order

七个阶段(顺序执行)

Load knowledge just-in-time — only when the phase that needs it begins.
On invocation (before Phase 0):
  1. This file.
  2. knowledge/methodology.md — canonical phase rules.
  3. Confirm the
    da-content
    skill is loadable (needed by phases 3 and 5).
At Phase 2 (Analyze): 4. knowledge/block-level-feasibility.md — criteria for block-level vs page-level conversion.
At Phase 3 (Generate): 5. knowledge/architecture.md — overlay engine and slot writer semantics. 6. knowledge/block-level-conversion.md — architecture and patterns for block-level conversion. 7. knowledge/learnings.md — cross-project findings relevant to generation.
At Phase 5 (Round-trip): 8. knowledge/eds-da-mechanics.md — EDS pipeline overlay-runtime lore. 9. knowledge/learnings.md — entries on media handling, CORS, scroll-animation quirks (if not already loaded).
Then start at Phase 0.
每个阶段都是独立的markdown文件,包含可执行的bash和Node指令。代理读取阶段指令,执行步骤,更新项目根目录下的
state.json
<projectsDir>/<NNN>-<slug>/state.json
),然后继续执行。重复运行是安全的 — 已完成的步骤会自动跳过。
  1. 前置准备 — 安装/验证覆盖底层环境;生成
    .snowflake/config.json
    。每个仓库仅需执行一次。 详见phases/0-prereq.md
  2. 捕获 — 获取源HTML及引用的外部资源;创建项目文件夹。 详见phases/1-capture.md
  3. 分析 — 生成结构映射:页眉/页脚边界、内容区域列表、插槽候选、待提取的头部链接、资源策略。同时执行区块级可行性评估 — 详见knowledge/block-level-feasibility.md。包含页面复杂度限制:若页面包含超过8个内容区域或超过100个可插槽元素,会自动从页面级转换切换为区块级转换,以避免内容提取不完整(详见phases/2-analyze.md)。生成
    notes.md
    decisions.json
    (包含
    conversionLevel
    )。 详见phases/2-analyze.md
  4. 生成 — 根据第2阶段的
    conversionLevel
    分支执行:
    • page
      :生成5个覆盖工件(模板HTML、页眉片段、页脚片段、页面CSS、动画JS),以及带插槽键控行的DA源内容。
    • block
      :生成每个内容区域对应的区块JS/CSS、页眉/页脚片段、全局样式/令牌,以及带标准区块表格的DA源内容。
    • hybrid
      :通过验证的内容区域使用区块级转换,未通过的使用页面级片段。
      page
      block
      层级均支持两种底层环境(
      eds
      milo
      。所有Milo相关的差异 — 浏览器元数据、页面级/区块级生成、
      --pa-*
      动画附属文件、关联操作 — 均位于assets/substrate-milo/FLAVOR.md中;阶段文档会提供 gated 指向链接。核心工具保持底层环境中立。详见phases/3-generate.md
  5. 关联 — 将工件复制到EDS服务路径,构建本地测试用的drafts文件,运行代码检查。 详见phases/4-wire.md
  6. 往返验证 — 先在本地(开发服务器)验证,再在生产环境(分支+推送+DA PUT+预览API)验证。在两个环境中均强制执行浏览器健康检查:页面必须能正常渲染(非空白)、应用覆盖层、匹配源页面结构、无控制台/网络错误,且通过1:1 DOM一致性检查,才能继续运行。 详见phases/5-roundtrip.md
  7. 总结 — 将运行结果追加到对应文件;将跨项目经验更新到knowledge/learnings.md不会自动结束迭代 — 此决策由用户做出。 详见phases/6-reflect.md
各阶段知识解析规则:每个阶段会优先尝试读取
.snowflake/knowledge/<file>.md
(项目自定义覆盖),若不存在则读取
<SKILL_DIR>/knowledge/<file>.md
(内置标准文档)。项目自定义文档在冲突时优先生效。

Further reading (not loaded by the agent)

阅读顺序

  • README.md — human-readable overview, install commands, contribution guidelines.
  • HOST-NOTES.md — per-host adapter notes (Slicc, Claude Code, generic shell),
    <SKILL_DIR>
    path resolution rules,
    .snowflake/
    directory convention, and forbidden cross-host primitives (for maintainers).
  • examples/README.md — pointers to worked examples from closed iterations.
按需加载知识文档 — 仅在对应阶段开始时加载所需文档。
调用时(第0阶段前)
  1. 本文档。
  2. knowledge/methodology.md — 标准阶段规则。
  3. 确认
    da-content
    工具可加载(第3和第5阶段需要)。
第2阶段(分析): 4. knowledge/block-level-feasibility.md — 区块级与页面级转换的判定标准。
第3阶段(生成): 5. knowledge/architecture.md — 覆盖引擎和插槽写入器语义。 6. knowledge/block-level-conversion.md — 区块级转换的架构和模式。 7. knowledge/learnings.md — 与生成阶段相关的跨项目经验。
第5阶段(往返验证): 8. knowledge/eds-da-mechanics.md — EDS管道覆盖运行时知识。 9. knowledge/learnings.md — 媒体处理、CORS、滚动动画相关问题的经验总结(若尚未加载)。
然后从第0阶段开始执行。

拓展阅读(代理不会自动加载)

  • README.md — 面向人类的概述、安装命令、贡献指南。
  • HOST-NOTES.md — 各宿主环境适配说明(Slicc、Claude Code、通用Shell)、
    <SKILL_DIR>
    路径解析规则、
    .snowflake/
    目录约定,以及禁止跨宿主使用的原语(供维护者参考)。
  • examples/README.md — 已完成迭代的示例项目链接。