小红书导出技能:index.html 确定性约束只留在 validate

- zip-artifact-spec.md §5 删 viewport / <base> / CSP meta 三行(validate 已判 ERROR)
- SKILL.md 去掉对应的枚举,只保留「何时读命中时必须读」措辞
- .selective_rule.txt 记录删除项与对应的 validate 检查码
- 同步 manifest 指纹(version=2026-08-26.64)
This commit is contained in:
2026-10-06 18:08:32 +08:00
parent b0bde75fcb
commit a01891bdf0
4 changed files with 9 additions and 11 deletions
@@ -1,6 +1,6 @@
{
"schemaVersion": "agc-skill-pack.v1",
"version": "2026-08-26.63",
"version": "2026-08-26.64",
"skills": [
{
"name": "agc-unity-editor",
@@ -204,7 +204,7 @@
"scripts/validate.mjs",
"scripts/vite.config.xhs-minitool.mjs"
],
"sha256": "a6bbe8c4a8175486a5dfd9a0ec35d31d576a5a279700bddb883dbfee54f40796"
"sha256": "727e519f2f60d0fc999faad994b2e7e32656bf47aabb3b7be6d45e9811333412"
}
]
}
@@ -22,7 +22,9 @@
- 删 §5 表格里「资源全为相对路径」「脚本外置」两行(前者 Vite 保证,后者 §3 CSP 已声明)。
- 删 §5 的「index.html 模板」整段 HTML 骨架与其中的 reset / 字体 CSS;标题改为「index.html 要求」,只留要求表与 <title> 说明。
- 原因:模板是 pack 之后的 dist 形状,对 Vite 源 index.html 是错的(源需要 <script type="module"> 入口);reset / 字体 CSS 不是容器要求;doctype / charset / lang 由 validate 的 *_MISSING 兜。
- 保留 §2 文件类型、§3 容器 CSP、§5 index.html 要求(viewport 含 width=device-width, initial-scale=1.0, viewport-fit=cover;不用 <base href>;不引用外部资源;不自建 CSP <meta>)。
- 删 §5 表格里 viewport(width=device-width / initial-scale=1.0 / viewport-fit=cover)、不用 `<base href>`、不自建 CSP `<meta>` 三行。
- 原因:validate 的 VIEWPORT_MISSING / VIEWPORT_WIDTH_MISSING / VIEWPORT_SCALE_MISSING / VIEWPORT_FIT_MISSING / BASE_URL / CSP_META 已确定性判定,不在 skill 里重复。
- 保留 §2 文件类型、§3 容器 CSP、§5 的「不引用外部资源」与 `<title>` 说明。
- device-capabilities.md
- 删 §6 能力扫描清单:validate 的禁用 API code 已全覆盖。
- 保留 §1–§5(可用能力、禁用能力与替代、常见交互写法)。
@@ -16,7 +16,6 @@ metadata:
产物落在 **项目根** `.export/xhs-minitool.zip`; 相对 cwd 解析)
4. 跑通流程后请把需要的脚本配置复制 (agc_install_skill_resource )到项目里 (以免依赖skill), 并形成最终的打包脚本
* 写/改 `index.html` 前先读 `references/zip-artifact-spec.md` §3/§5:viewport-fit=cover、不用 `<base>`、不自建 CSP meta 等是改源码时的硬约束(`validate.mjs` 都会判 ERROR),不要等打包才看
* 不干扰正常的web构建
# 假设和默认项:
@@ -45,7 +44,7 @@ metadata:
| 文档 | 何时读 |
|-------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| [js-api.md](references/js-api.md) | 本地 API 快照; |
| [zip-artifact-spec.md](references/zip-artifact-spec.md) | 写/改 `index.html` 或处理文件类型、脚本外置、容器 CSP 时:viewport-fit=cover、不用 `<base>`、不自建 CSP meta(validate 均判 ERROR) |
| [zip-artifact-spec.md](references/zip-artifact-spec.md) | 写/改 `index.html`、选择文件类型或处理脚本外置 / 容器 CSP 时 |
| [device-capabilities.md](references/device-capabilities.md) | 处理端能力时:哪些 Web 能力可用 / 不可用及替代写法、如何实现常见交互(手势、拍照、选图等) |
| [js-compatibility.md](references/js-compatibility.md) | 写 JS / 选择构建产物时:Chrome 61 硬基线、不可用 API 与替代写法 |
| [css-compatibility.md](references/css-compatibility.md) | 写 CSS / 选择构建产物时:Chrome 61 硬基线、不支持的能力与替代写法 |
@@ -52,11 +52,8 @@ zip 内仅允许以下类型:
## 5. index.html 要求
| 规则 | 原因 |
|-------------------------------------------------------------------------|----------------------------------|
| viewport 含 `width=device-width, initial-scale=1.0, viewport-fit=cover` | 真机 + 模拟器布局与安全区 |
| 不用 `<base href>` | 破坏真机路径 |
| 不引用任何外部资源(图片 / CSS / JS / 字体) | 外部资源加载不到,须全部打进 zip |
| 不自建 CSP `<meta>` | 安全策略由容器统一管理 |
| 规则 | 原因 |
|-------------------------------------------------|----------------------------------|
| 不引用任何外部资源(图片 / CSS / JS / 字体) | 外部资源加载不到,须全部打进 zip |
- `<title>` 仅影响文档标题;导航栏标题由容器 UI 配置。