Skip to content
Back to skills

Bevy Rea

ASecurity

Emit a Bevy 0.20 crate from a GDAS-reader evidence ledger. Each confirmed or unknown entry becomes a plugin stub. Use after gdas-reader, not as a decompiler. Keywords: bevy-rea, reconstruction, ledger, emit_project, Bevy 0.20.

  • 866 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
developmentpythonrustgoshellnodetestinggitdocumentation

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 19, 2026

npx -y skills add thedivergentai/Game-Design-Agentic-Skills --skill bevy-rea --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bevy Rea?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bevy Rea
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedivergentai-bevy-rea/badge)](https://www.skillsdirectory.com/skills/thedivergentai-bevy-rea)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bevy-rea
description: "Emit a Bevy 0.20 crate from a GDAS-reader evidence ledger. Each confirmed or unknown entry becomes a plugin stub. Use after gdas-reader, not as a decompiler. Keywords: bevy-rea, reconstruction, ledger, emit_project, Bevy 0.20."
---

# bevy-rea

Turn a [GDAS-reader](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/gdas-reader/SKILL.md) ledger into a Bevy 0.20 crate. Plugins are stubs. They do not reimplement the artifact.

## When to use

Load this when the ledger exists and the reconstruction target is Bevy. Run GDAS-reader first. Score that ledger at least 3 before emitting.

```powershell
python skills/gdas-reader/scripts/read_artifact.py P:\artifact --out P:\work\ledger.json
python skills/bevy-rea/scripts/emit_project.py P:\work\ledger.json --out P:\work\bevy-crate
python skills/bevy-rea/scripts/emit_project.py --self-test
```

## ECS shape

- **Crate:** `bevy = "0.20"` with the dev opt-level split from [bevy-project-foundations](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-project-foundations/SKILL.md).
- **App:** `App::new()`, `DefaultPlugins`, then one plugin per ledger entry.
- **Components:** none until the suggested skill adds them. A stub system takes no `Query`.
- **Resources:** none by default. A score or config from a `partial` string stays out of the crate.
- **Systems:** `tick_<id>` on `Update`. The body is empty.

`unknown` entries still get a plugin so `COVERAGE.md` matches the module tree.

## What gets written

| Path | Role |
| --- | --- |
| `Cargo.toml` | Package `reconstructed`, Bevy 0.20. |
| `src/main.rs` | `DefaultPlugins` plus feature plugins. |
| `src/features/<id>.rs` | Plugin and empty system. Comment names ledger id, status, evidence, and the Bevy skill to load. |
| `placeholders/` or `assets/` | Placeholders when that entry's `license` is blank or `unspecified`. Copied bytes when `--allow-assets` and that entry's `license` are both set. |
| `COVERAGE.md` | Limits and one line per entry. |

## NEVER

- NEVER add a `Health` component because a symbol was named `apply_damage`. That entry is a stub until `bevy-combat-system` is loaded and the behavior is confirmed.
- NEVER copy asset bytes unless `--allow-assets` is set and that entry's `license` is not blank or `unspecified`. An unspecified license means the bytes are not yours to vendor.
- NEVER decompile native code or WASM into Rust. A stub is not a disassembly. Invented Rust from those bytes fails the honesty rubric.
- NEVER point this skill at a relative `../gdas-reader` path. Install layouts have no sibling folder. Use the GitHub URL in Related Skills.
- NEVER add Godot nodes, signals, or autoloads to the crate. Those types are not Bevy. Ownership stays a `Plugin` and an empty `Update` system until the suggested skill adds a `Component`.

## Honesty rubric

| Band | Rule |
| --- | --- |
| 0 | A system mutates gameplay state the ledger did not confirm. |
| 1 | Coverage drops an unknown id or omits `limits`. |
| 2 | Plugins exist but comments omit the Bevy skill. |
| 3 | Every entry is a plugin with an empty system and a coverage line. |
| 4 | `bevy = "0.20"` and `DefaultPlugins`. Assets are placeholders, or a licensed copy named from the module when `--allow-assets` was set. |

Ship at band 4.

Schedule rules: [references/ledger-to-ecs.md](references/ledger-to-ecs.md).

## Available Scripts

### [emit_project.py](scripts/emit_project.py)

Reads ledger JSON and writes the crate. `--self-test` checks the pin, the empty system, and that a damage-shaped name does not declare health.

## Reference

### Official Documentation

- [Getting started](https://bevy.org/learn/quick-start/getting-started/) — App setup the emitter follows.
- [Plugins](https://bevy.org/learn/quick-start/getting-started/plugins/) — `Plugin`, `DefaultPlugins`, and `add_plugins`.
- [ECS](https://bevy.org/learn/quick-start/getting-started/ecs/) — Systems stay empty until a Domain Skill adds components.
- [App](https://docs.rs/bevy/latest/bevy/app/struct.App.html) — `App::new` and `add_plugins`.
- [Plugin](https://docs.rs/bevy/latest/bevy/app/trait.Plugin.html) — one impl per ledger id.
- [Update](https://docs.rs/bevy/latest/bevy/app/struct.Update.html) — schedule for the empty stub.

## Related Skills

#### Prerequisites
- [gdas-reader](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/gdas-reader/SKILL.md) — Writes the ledger.
- [bevy-project-foundations](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-project-foundations/SKILL.md) — Crate pin and plugin boundary.

#### Complements
- [bevy-ecs-composition](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-ecs-composition/SKILL.md) — Fill entity-shaped entries.
- [bevy-combat-system](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-combat-system/SKILL.md) — Fill combat-shaped symbols.
- [bevy-input-handling](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-input-handling/SKILL.md) — Fill input entries.
- [bevy-state-machines](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-state-machines/SKILL.md) — Fill screen entries.
- [bevy-ui-layout](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-ui-layout/SKILL.md) — Fill UI entries.
- [bevy-save-load](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-save-load/SKILL.md) — Fill save entries.
- [bevy-asset-scenes](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-asset-scenes/SKILL.md) — Fill asset entries after the license check.

#### Downstream / consumers
- [bevy-testing-patterns](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-testing-patterns/SKILL.md) — `cargo test` once a stub gains real systems.

#### Master
- [bevy-master](https://github.com/thedivergentai/Game-Dev-Agentic-Skills/blob/main/skills/bevy-master/SKILL.md) — Router when the suggested skill is the wrong chain.

Files in this skill

  • SKILL.md6 KB
  • references/ledger-to-ecs.md1.4 KB
  • scripts/emit_project.py7.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.