Skip to content
Frontend
Skill

/website-rebuild

1:1 rebuild of award-winning creative websites (WebGL / scroll-animation / portfolio sites). Evidence-driven pipeline - mirror-first forensics, line-number-traceable reverse engineering of minified bundles, verbatim porting, quantitative verification gates. Use when user asks to

BOOST
From plugin
website-rebuild-skill
1.5k1 skill
Install
$ npx -y skills add boyang-hu/website-rebuild-skill --skill website-rebuild --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/website-rebuild

Context preview

The summary Claude sees to decide when to auto-load this skill.

1:1 rebuild of award-winning creative websites (WebGL / scroll-animation / portfolio sites). Evidence-driven pipeline - mirror-first forensics, line-number-traceable reverse engineering of minified bundles, verbatim porting, quantitative verification gates. Use when user asks to

SKILL.md

website-rebuild.SKILL.md
name: website-rebuild
description: 1:1 rebuild of award-winning creative websites (WebGL / scroll-animation / portfolio sites). Evidence-driven pipeline - mirror-first forensics, line-number-traceable reverse engineering of minified bundles, verbatim porting, quantitative verification gates. Use when user asks to "复刻网站", "重建网站", "1:1 rebuild", "clone this site", or provides a URL of a creative/award site to reproduce.
compatibility: Requires Node 22+ (bundled scripts use built-in WebSocket to talk to CDP), npx, and a local Chrome/Chromium for headless comparison. POSIX shell optional - the Step 0 probe protocol has a zero-dependency Node equivalent (scripts/fingerprint.mjs) for shells without curl/cmp/tr/perl (e.g. Windows PowerShell); everything after Step 0 (headless Chrome process groups, npx spawns, ps) is POSIX-only (macOS / Linux / WSL). Agent-agnostic - works in any Agent Skills-compatible runtime.
metadata:
  version: "0.3.24"

Website Rebuild(获奖创意站 1:1 复刻)

把一个获奖创意网站(WebGL / 滚动叙事 / 作品集站)以**取证式方法**复刻为可独立运行、可验证还原度的工程。不是"看着像"的仿制——是以源站 bundle 为唯一规格书、以量化验收门收口的逐行为移植。

本方法论提炼自六个连续实践项目(工期从 6.5 周收敛到 1 天),后经 **22 个完整复刻 + 5 个死站存档抢救**持续回填、43 站边界探测实测校准适用范围(清单见仓库 README「已验证过的网站」)。

使用前提与授权 ⛔ 必读

本 skill 面向**学习与研究目的**的保真复刻,用于研究获奖创意站的实现手法。适用对象是你**自有的、已获授权的,或公开可访问且允许学习临摹**的网站。它不是用于未授权地采集受保护内容、规避访问控制、或商业性盗用他人作品的工具。

执行时遵守下列边界:

  • **尊重目标站规则**:遵守其 `robots.txt`、服务条款与版权;抓取保持低频、单会话,不对目标站施加异常负载。⛔ **`robots.txt` 是逐路径的许可声明,不是全站开关**——逐 URL 判定(选组 → 最长匹配 → 无匹配即允许),**不得因为存在任何 `Disallow` 行就判"整站禁止"**(几乎每个商业站都有 `/cart`、`/checkout`、`/admin` 的 `Disallow`);禁令要按行为类别归类,**只有针对"抓取"的禁令才影响镜像范围**,针对交易的禁令只意味着"别去点结账"。⭐ **"读不懂 / 拿不准"不等于"禁止"**:走呈交,不走停工,更不自行缩小抓取范围。读法见 [references/legal-and-deploy.md](references/legal-and-deploy.md) §0.3。
  • **不触碰受保护边界**:不采集需要登录态、付费墙或授权才能访问的内容;本 skill 只处理匿名可公开访问的资源。若目标站明确禁止此类复制,停止并告知用户——**何为"明确禁止"见 `legal-and-deploy.md` §0.3.6 写死的四条门槛,其余一切不确定性走呈交不走停工**。
  • **产出默认私有**:默认 noindex、不公开部署。任何公开前必须完成逐资产版权取证,并显著标注"非官方复刻"与原作者归属(见 [references/legal-and-deploy.md](references/legal-and-deploy.md))。

⛔ **法务判断归用户,skill 只取证与呈现**(三条,全程有效):

1. **决定权在用户**:skill 收集事实(逐资产归属、许可状态、第三方权利人、源站是否仍在营业、产物内第三方标识符)、列出选项与各自的风险边界、给出建议与理由;凡涉及"能不能公开 / 部署 / 再分发 / 对外展示",**必须用下文「User Input Tools」显式交回用户**,不许 agent 自行下法律结论后继续往下走。 2. **未获用户明确决定前按安全默认执行**:私有仓库 + `noindex` + 不公开部署 + 不再分发。写给用户时说明这是**默认动作**("在你决定之前我不会把它发出去"),**不是** agent 已作出的法务结论——两者责任归属完全不同。agent 只能往保守侧执行默认,往公开侧走必须有用户的明确决定。 3. ⛔ **法务考量不得削减镜像完整性或门的覆盖面**:镜像是证据基座,**完整性是技术不变量**(四遍法、闭包门、GAP=0 全建立在它之上)。不抓只能有**技术性理由**(不是文件 / 服务端不提供 / 需授权或登录态 / 源站明令禁止),一律登记;**不得**以"反正不公开""不该多存一份"这类法务理由留洞【objectarchive】(实证:`references/case-studies/skill.md`「使用前提与授权」)。法务决定作用于**产出怎么被使用**,不是证据基座是否完整。

适用范围 ⛔ 必读

**主场(A 类)**:内容静态托管、签名行为(动画/交互)全部存放在客户端静态资产里的站——命令式 WebGL/Canvas 场景、GSAP 时间轴、烘焙数据文件(GLB/.buf/.riv)、minified 或未混淆的 bundle。绝大多数 Awwwards 风格创意站属于此类。

**有条件支持(B 类)**:管线成立但需要额外场景处理(Shopify 平台层剥离、第三方存储桶资产、运行时 API 快照、SSG payload 展开)。当前版本的指南覆盖大部分 B 类场景,遇到未覆盖的要向用户明示风险。

**明确拒绝(C/D 类)**:

  • **C1(v0.3 起可做:重构式逆向)**:服务端组件源确实不下发,但**它的完整输出(flight 流)内联在每页 HTML 里,是可对拍的规格书**。路线:flight-decode 建坐标系 → 重构一个可构建的 Next 工程(客户端一方组件按 C2 逐字译,服务端组件从 flight 树反推为显式登记的推断物)→ verify-flight 语义门收口(模块 id 全局双射;实证:`references/case-studies/skill.md`「适用范围」)。⚠ C1 的 L2/L3 合并——第一份产物就是「人写的源码 + 门证明的等价」。全流程见 [references/rsc-reconstruction.md](references/rsc-reconstruction.md)。
  • **C2(可做,按 A 类跑)**:⭐ 写法是声明式但**源码下发**(R3F / Theatre / Vue SFC 编译产物)。**切片器不关心范式——它切的是字节。** 渲染器当平台层从镜像伺服(实证:`references/case-studies/skill.md`「适用范围」)。⛔ 判别器不是库名,是「客户端是否持有行为源」(`scope-and-fingerprint.md` §4.0.1)。
  • **D**:行为主体在服务端(CMS 内容站、电商 cart/库存、A/B 实验分桶、个性化注水)——客户端没有可移植的目标物,且确定性验收无基准。

**X 类(可抢救)**:原站已消失(域名易主 / 平台回收 / 路径移除 / 原地被替换),但 Internet Archive 往往有捕获——`scripts/wayback-mirror.mjs` 从 CDX 索引按**锚点 + 时间窗**选一个连贯时刻、以 `id_` 原始字节抓成**标准镜像**(下游门原样工作),洞按既成事实登记进 `wayback-holes.txt`(读法与流程见 [references/archival-rescue.md](references/archival-rescue.md))。⭐ 抢救产出是**标准镜像**——X 类可走完 L3 全程(实证:`references/case-studies/skill.md`「适用范围」)。⛔ **"CDX 无覆盖才是真不可做"按资产层读,不按站读**:IA 爬虫不执行 JS,清单/拼接驱动的站可以代码层覆盖 100% 而画面层为零(实证:`references/case-studies/skill.md`「适用范围」)——Step 0 先做分层覆盖侦察(推导 + CDX 前缀查询)预判抢救深度,见 `archival-rescue.md` §1.9。历年获奖站实测消失率约 29%——这也是"第一时间镜像"是本 skill 第一纪律的原因。

判级由 Step 0 指纹侦察决定,完整判定树见 [references/scope-and-fingerprint.md](references/scope-and-fingerprint.md)。**拒绝时要解释原因并说明该站属于哪一类**,不要硬跑。

User Input Tools

需要向用户提问时(确认范围、**法务决定**、外部依赖决策):优先使用当前运行时的内置提问工具(如 `AskUserQuestion`);没有则输出编号问题清单让用户回复编号。支持多问合并时一次问完。法务类提问按 `legal-and-deploy.md` §0.1 的五段式写:事实 / 查不清的 / 选项 / 每个选项的风险边界 / 建议与当前默认动作。

宪法(六条纪律,全程有效)

以下六条在六个源项目中被称为"宪法级",违反任何一条都会在后续阶段以 bug 形式偿还:

1. **镜像神圣不可污染**:`mirror/` 磁盘文件永不修改;一切本地化适配(CDN 改写、外链 stub)在服务层响应时动态完成。 2. **源站代码是唯一裁决,不凭观感修**:每个改动先在 bundle/CSS/镜像 HTML 里找到归属行号再落地。Do not tune visuals, motion, or interaction by eye. 3. **源站有的都要有,源站没有的不做**:不自创补偿性 CSS/JS。宁可先不像,也不要发明规则——自创补丁会在机制对齐后反转成 bug。 4. **bug / 死代码 / 怪写法照抄不修**:压缩代码里的每个怪写法都可能是行为本身。"好心修正" no-op bug 曾导致转场崩溃(实证见 porting-discipline.md)。 5. **有意偏差必须登记**:写清"源站怎么做 / 我们怎么做 / 为什么 / 什么条件下重新考虑"。**没登记的差异一律视为 bug**。 6. **代码与文档同一次提交**:每个里程碑成对提交(`Port xxx` + `Update rebuild plan: xxx`),日志固定含产出 / 验收 / 教训 / 下一步断点(带行号)。

⭐ **纪律 3 在 M(n+1) 的边界**:`src/` 是显式登记的衍生物,不是对源站的断言,所以**在 `src/` 里重命名、拆模块、写注释不算"发明"**——纪律 3 约束的是"为了让它看起来像而自创行为",不是"让已证明等价的代码变得可读"。但两条硬边界不动:**① 结构性重写默认禁止**(合并重复、提取公共函数、改算法——它们让等价不可判定);**② 注释里的推测必须标注为推测**,不许把逆向笔记里的猜测写成陈述句。`port/` 与 `mirror/` 仍然一个字节都不许动。详见 [references/readable-source.md](references/readable-source.md) §3.4 与 §5。

Workflow

Progress Checklist

[ ] Step 0  指纹侦察与范围门 ⛔(判级 A/B/C/D/X;C/D/X 拒绝或引导,不进入下一步)
[ ] Step 1  开工评级(架构证否、分项难度打星、工期预估、与用户确认范围 + 终点 L1/L2/L3)
[ ] M0      镜像取证 ⛔(BFS 爬虫 + CDP 补录 + manifest 账本;GAP=0)
[ ] M0.5    镜像断网跑通 ⛔(零 404 / 零控制台错误 / 零外联;serve.mjs 伺服)← L1 镜像存档 终点
[ ] M1      逆向建坐标系 ⛔(_pretty 钉版本展开;engine-notes 先于任何代码;技术栈钉死;REBUILD_PLAN 建立)
[ ] M2+     严格溯源移植(依赖序里程碑推进;先竖切一条端到端链路;每里程碑冷启动实测 + CLEAN 门)
[ ] M(n-1)  对拍验收(按 verification-gates.md 决策树选门型;根因修复,不调参糊平)
[ ] M(n)    收口 ⛔(冷头评审 / 模块清单对账;版权取证 + 呈交用户决定——公开部署前必须完成)← L2 工程化复刻 终点
[ ] M(n+1)  源码化(port/ → src/:拆模块、去混淆重命名、补注释、自包
Read more
Ships withwebsite-rebuild-skill

给一个网址,让你的 AI agent 把那个网站逐行复刻出来,并且能证明复刻得对。 它不是"做一个看起来很像的页面"。它把源站的实现当作规格书:先把整站抓成只读证据,再从压缩过的代码里逐行还原逻辑,最后用一整套自动验收门证明"复刻侧和源站在做同一件事"——包括逐像素比对。 遵循 Agent Skills 开放规范,为任何支持 skills 的智能体设计。跨运行时不是口号而是实测:验证清单里既有 Claude Code 跑完的目标,也有 Codex 全程跑完的目标(Hashgraph VC,166/166

Get the whole plugin
Stats
1,530
Stars
277
Forks
Active
Maintenance
JavaScript
Language
MIT
License
6d ago
Last commit
2mo ago
Created
11d ago
Added

Repo: boyang-hu/website-rebuild-skill