mcpField
R
reconstruct

reconstruct

github.com/maxgfr开发548 次安装1 天前更新
代码仓库

关于 reconstruct

reconstruct 是一项 Agent 技能,可将现有代码库或初步构想整理为可用于重建项目的 PRD 套件。它以确定性脚手架生成基础材料,再由 Agent 补充分析并通过检查和复核完善规格。

主要功能

  1. 01代码库分析与脚手架生成
  2. 02从零规划与构想探索
  3. 03PRD 补充与语义检查
  4. 04基于本地用例比较行为
  5. 05可选的复核流程编排

适用场景

  1. 01整理代码库以便重建
  2. 02将构想转为构建计划
  3. 03续做或刷新现有重建文档
  4. 04用测试样例检查重建行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/maxgfr/reconstruct --skill reconstruct

安装后在 Claude Code 中输入/reconstruct确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
adapters.md
ADR-FORMAT.md
ai-review-rubric.md
analysis-playbook.md
architecture-analysis.md
behavior-compare.md
brainstorm-playbook.md
buildability-checklist.md
CONTEXT-FORMAT.md
convergence-loop.md
engine-evidence.md
orchestration.md
prd-complex-template.md
prd-light-template.md
procedure.md
rebuild-instructions.md
scale-and-context.md
scratch-plan-schema.md
scratch-playbook.md
references/stack-guides/
angular.md
astro.md
desktop-electron-tauri.md
django-flask-fastapi.md
dotnet-aspnet.md
express-fastify-hono.md
go-net-http.md
graphql.md
INDEX.md
laravel.md

详细介绍

Reconstruct:任意代码仓库,或任意创意 → 可构建的 PRD 套件

有关引擎证据和覆盖范围限制,请阅读 engine-evidence。

一个零依赖的 Node 脚本负责确定性脚手架(事实 + 候选提示); 你负责提供适用于相应框架的理解——包括接口层面、数据模型和实际功能,适用于任何技术栈。输出是一个 PRD 文件夹,Agent 可据此重建项目,且无需访问原始项目或本次对话。

Markdown 就是程序。 引擎从不推理;所有判断都由你做出。

选择路径

用户想要路径从这里开始然后阅读
重建 / 克隆 / 逆向工程某个代码仓库;将代码转化为规格代码node scripts/analyze.mjs --repo <REPO> --out <OUT>procedure.md §路径 A
将创意转化为 PRD / 构建计划(尚无代码)从零开始先访谈——不运行命令scratch-playbook.md、procedure.md §路径 B
决定要构建什么;探索概念头脑风暴node scripts/analyze.mjs --brainstorm --out <DIR>brainstorm-playbook.md
继续 / 刷新已有的重建项目恢复node scripts/analyze.mjs --check --out <OUT>procedure.md §路径 D
提供给 Agent 实现的单个文件打包node scripts/analyze.mjs --specs --out <OUT>(不带 --repo)scale-and-context.md §6
在本地用例上比较重建程序与原程序行为先检查测试样例,并获取执行命令的授权behavior-compare.md

使用已安装技能文件夹中 scripts/analyze.mjs 的绝对路径。--help 会列出所有标志。对于简单的单文件脚本,或用户现在想要可运行的应用而非计划时,请跳过此技能。

需确认的输入(代码路径):目标代码仓库 · 输出目录 · 模式 preserve(保留架构)或 redesign(功能相同,采用全新架构)· 级别 light(忠实还原)或 complex(同时提出改进建议)· 保真度 mirror/embed/describe;若未设置,则根据模式和级别推导。

流程——四个阶段

# 1. SCAFFOLD — deterministic, no API key
node scripts/analyze.mjs --repo <REPO> --out <OUT> --mode <MODE> --level <LEVEL>

# 2. ORIENT — SUMMARY.md (~3 KB, written every run), NOT inventory.json (grows with the repo)
#    slice the inventory:  jq '.features[] | {slug, files: (.files|length)}' <OUT>/inventory.json
#    identify the stack → references/stack-guides/INDEX.md maps the label to its guide

# 3. ENRICH — fill INTERFACES.md, DATA-MODEL.md, ARCHITECTURE.md (+ DESIGN-SYSTEM.md for a UI),
#    then every features/<slug>/PRD.md to full spine depth. At scale, fan out:
node scripts/analyze.mjs --orchestrate --out <OUT> --phase enrich-map

# 4. CONVERGE — run to the fixpoint, autonomously, in one go
node scripts/analyze.mjs --check   --out <OUT>              # layer 1: structure
node scripts/analyze.mjs --review  --out <OUT>              # layer 2: worklist (changed units only)
#   → findings.json → --review --apply findings.json --out <OUT>
node scripts/analyze.mjs --verify  --out <OUT>              # faithfulness: requirement↔evidence
#   → verdicts.json → --verify --apply verdicts.json --out <OUT>
node scripts/analyze.mjs --check --semantic --out <OUT>     # the final, fail-closed gate

第 4 阶段是一个循环,不是检查清单:丰富 → 检查 → 审查 → 修复 → 验证 → 设门槛,直到 --check --semantic 以状态码 0 退出。规则、台账字段和停止条件统一定义在 convergence-loop.md 中。不要自行制定停止规则。

不容妥协的事项

  • hints、routes 和 i18n 都只是待验证的线索,绝非事实。 打开源代码并确认。解决 inventory.unknowns 中的每一项。如果存在 inventory.warnings,说明这些区域的检测结果不完整,请手动检查。
  • 解决并删除每一条 > 🧠 提示。 留下一条就意味着该单元尚未完成,且 --check 会失败。
  • 务必全面,绝不只举例。 不要写“等等”或“诸如此类”,也不要只涵盖理想路径。只要存在某种行为、角色、验证规则或错误状态,就要为其单独列出一行。
  • 记录契约,而非名称。 没有具体数值的速率限制、没有成员列表的枚举、没有请求格式的服务,都无法据此实现。十个类别见:buildability-checklist.md。
  • 多写小型 PRD,少写宽泛的大型 PRD。 一个单元中超过约 5–7 个用户故事或约 3 个实体时,就拆分。每项独立能力都应有自己的 PRD。
  • 绝不要在已丰富的目录树上重新运行分析器——它会重新渲染每份文档。CLI 会拒绝此操作;要继续处理现有目录树,请使用 --check/--review/--verify;要重新搭建脚手架,请将 --out 指向新目录。
  • 每项断言都必须以 source//data/(代码模式)或 CONTEXT.md/ADR(草稿模式)为依据。 凭空编造的修复只会用一个问题换来另一个问题。
  • 切勿让上限悄无声息地截断工作。 --verify 会限制其工作列表(默认 60 对),大量扇出也会限制 Agent 数量。查看 coverage,并报告实际覆盖的内容。
  • 从头到尾负责整个循环。 亲自运行到修复点——不要把后续轮次交还给别人,不要问“要不要继续?”,也不要在第一轮后停下。只在最后汇报一次。
  • 自检: 一个全新的 Agent 能否仅凭该单元的 PRD 和架构文档,正确地重建该单元——契约准确,而不只是大意?如果不能,就继续深入调查。worked-example.md 是深度标准。

编排——按运行环境选择路径

判断阶段会将独立的逐单元工作列表分发出去。--orchestrate 会根据 <OUT> 中当前的工作列表生成扇出任务,并写入绝对路径和实际单元 ID:

node scripts/analyze.mjs --orchestrate --out <OUT> [--phase enrich-map|review-find|review-verify|adjudicate] [--eco] [--list]
运行环境如何运行每个判断阶段
Codex 或其他支持子 Agent 的宿主环境使用 --orchestrate --phase <p>;按照 <OUT>/orchestration/agents/<role>.md,为每个批次分派一个子 Agent。子 Agent 返回片段;你负责一次性串行合并,并运行归并命令。
使用 Workflow 工具的 Claude Code使用 --orchestrate --phase <p>,然后通过 Workflow 启动 <OUT>/orchestration/<p>.workflow.mjs。子 Agent 返回片段;你负责一次性串行合并,并运行打印出的归并命令。
Eco 模式或没有子 Agent--orchestrate --eco → 按顺序遵循 <OUT>/orchestration/RUNBOOK.md,亲自承担每个角色。正确性完全相同,只有耗时不同。

扇出是优化手段,绝非必需——各道门槛都与运行环境无关,每个阶段都有产物相同的顺序执行后备方案。**子 Agent 不得写入:**归并操作(每份文档的合并、每次 --apply 归并)始终由你负责。绝不要扇出全新项目访谈、--brainstorm、归并步骤或草稿构建。工作列表尚不存在时运行 --phase <p> 会以状态码 2 退出,并指出生成该工作列表的命令。协议见:orchestration.md;规模与上下文见:scale-and-context.md。

参考索引

从这里开始

文件何时阅读
procedure.md执行工作时——四条路径的完整分步说明
convergence-loop.md第 4 阶段——循环、台账以及何时停止
worked-example.md编写第一份 PRD 之前——深度标准与反模式
troubleshooting.md遇到任何故障、拒绝或无法变绿的情况

方法

文件何时阅读
analysis-playbook.md通用方法——没有技术栈指南时也适用
stack-guides/INDEX.md**将技术栈标签映射到对应指南——不要猜文件名。**此索引列出了 references/stack-guides/ 中的每份速查表,包括无框架的情况(库/CLI/SDK)
buildability-checklist.md十类契约检查项与一致性自查
architecture-analysis.md填写 ARCHITECTURE.md,尤其是在 redesign 模式下
scale-and-context.md代码库很大、属于单体仓库,或运行耗费的上下文过多时
adapters.mdinventory.routes 的解析方式,以及如何添加框架

检查关卡

文件何时阅读
ai-review-rubric.md第 2 层——九项语义级可构建性检查
verify-playbook.md--verify——声明、证据、判定、置信度、上限
orchestration.md如何通过子 Agent 并行进行信息补充和评审循环

从零开始与构思

文件何时阅读
scratch-playbook.md从零开始的访谈方法
scratch-plan-schema.md编写 plan.json——架构与完整示例
CONTEXT-FORMAT.md · ADR-FORMAT.md编写术语表/ADR
brainstorm-playbook.md发散阶段,在作出任何决定之前

输出形式

文件何时阅读
prd-light-template.md · prd-complex-template.md各级别 PRD 的结构
rebuild-instructions.md告知用户如何驱动重建

安全

分析器只会读取目标代码库,并将文件复制到输出目录。分析期间,它绝不会 执行被分析项目的代码。单独选择启用的 --compare <cases.json> --original <dir> --rebuilt <dir> --run-tests 模式会以本地用户权限执行 夹具命令。使用 --run-tests 前,请阅读每条命令并取得明确授权;若未启用该选项,案例将保持 not-tested,且检查关卡会失败。只报告实际运行的案例,以及 stdout/stderr/退出状态是否完全一致, 绝不声称全局等价。源代码忠实度台账和可构建性台账仍是独立的检查关卡。在不可信的代码库上运行前,请检查 scripts/。

评论

支持 Markdown