360 Secure SkillHub
360 安全技能中心

gdas-reader

把源码树、Web 打包目录、资源文件夹、WASM 模块或 PE/ELF 文件分类扫描,将确认事实、部分推断、unknown 与 limits 写入 ledger.json,作为 Godot 或 Bevy 重建前的证据清单;脚本为标准库 Python,默认不复制资源字节,也不反编译。

thedivergentai
热度 0.00
最近更新 2026-10-19 07:27:14
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写 / 研究 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add thedivergentai/game-dev-agentic-skills/gdas-reader
Metadata
name
gdas-reader
description
GDAS-reader turns a source tree, web bundle, asset folder, WASM module, or PE/ELF file into an evidence ledger for godot-rea or bevy-rea. Use before emitting a Godot or Bevy reconstruction. Keywords: GDAS-reader, ledger, read_artifact, reconstruction, evidence.

GDAS-reader

Read an artifact and write ledger.json. This skill does not create a Godot scene or a Bevy crate. godot-rea and bevy-rea do that from the ledger.

When to use

Load this when the input is a folder or a shipped file and the output must be a reconstruction in Godot or Bevy. Run the reader first. Hand the ledger to one emitter.

python skills/gdas-reader/scripts/read_artifact.py P:\artifact --out P:\work\ledger.json
python skills/gdas-reader/scripts/read_artifact.py --self-test

A hub-only install uses the copy under Available Scripts: read_artifact.py.

Schema: references/ledger.md.

What the reader records

Artifact Confirmed facts What stays partial or unknown
Source tree Declarations, including class_name, async fn, and pub(crate) fn. UI-shaped string literals. State-looking names (state, phase, mode) stay partial.
Web bundle Document title outside script and style, headings, script URLs, image URLs, JSON key paths for every array element Behavior inside minified scripts. A folder is also scanned for source, assets, and WASM instead of dropping them.
Asset folder File path, media type, and source_path Bytes stay put unless --allow-assets and a real --license-note are both set
WASM Export names, import module and field names, up to 10 ASCII runs Function bodies. Non-ASCII text. A truncated section becomes unknown instead of a crash.
PE or ELF Format identification and readable strings Machine code. A .dll or .so string is partial because the import table is not walked. A short header becomes unknown.

The reader is stdlib Python. It does not call an external decompiler. A native binary contributes a header walk, imports, and strings. Packed or encrypted sections become unknown entries.

Ledger honesty

Score the ledger before an emitter runs. Bands are additive. A ledger below 3 does not get emitted as gameplay.

Band Rule
0 Entries claim behavior the file does not show.
1 Status is missing, or every guess is marked confirmed.
2 Status values exist, but limits hides a format the reader cannot parse.
3 Each entry has id, status, evidence, and a skill suggestion. unknown is listed.
4 Caps and license gaps are in limits. No asset bytes were copied. Partial names are not described as working mechanics.

NEVER

  • NEVER mark a symbol confirmed because its name looks like health, damage, or save. Those matches are partial.
  • NEVER copy image, audio, or glTF bytes unless both --allow-assets and --license-note are set. A note alone records the license and still leaves the bytes in place.
  • NEVER decompile native code, WASM bodies, or minified JavaScript to invent a mechanic.
  • NEVER drop limits when the scan hit the 40-entry cap or the file was packed.
  • NEVER point godot-rea or bevy-rea at a relative ../gdas-reader path. Link the GitHub URL above so a single-skill install still names the prerequisite.

Available Scripts

read_artifact.py

Classifies a file or directory and writes the ledger. --self-test checks fixtures. --license-note records a license. --allow-assets copies bytes into copied-assets/ next to --out and requires that note.

Related Skills

Prerequisites

  • None. This skill is the first step.

Complements

  • godot-rea — Godot 4.7 project emitted from this ledger.
  • bevy-rea — Bevy 0.20 crate emitted from this ledger.

Downstream / consumers

Master