jgengine-harvest
JGengine — Harvest the build, harden the engine
A build that took five QA passes to feel right is five bug reports the engine never received. Every hand-fix that made the game feel right is a gap the engine should have covered — this skill collects them at the end of a build so the engine can be fixed and the same friction becomes impossible or automatic next time. "The game feels good now" is not the finish line; "the next game of this shape needs zero of these fixes" is.
The deliverable is one report, not a code change. This skill usually runs in the build conversation — which may not be the place to touch engine internals (you might be in a game package, deep in build context, or a consumer project entirely). So the output is a single paste-ready prompt you carry back to a fresh conversation in the jgengine repo, where the fixes actually land. Think of it as writing the bug reports the engine should have gotten — except structured so the receiving conversation can implement straight from them. The classification below is what makes the report worth pasting; a flat "here's what I fixed" list is not.
One thing the report must carry, because its recipient is inside the engine repo: fix the gaps directly, don't file issues. A consumer on the published SDK files at github.com/Noisemaker111/jgengine/issues; in-repo, closing the gap is the job. The report says so at the top so the next conversation doesn't just re-log everything.
Read first
Read jgengine-api (the engine surface — most "missing" primitives already exist, and every fix must land in the layer that owns it) and skim jgengine-ui + jgengine-assets (the quality bars a skill-doc gap failed to enforce). You cannot classify a friction point as an engine gap until you know what the engine already ships.
Step 1 — Reconstruct the friction log
Every correction the user made during the build is one entry. Pull them from the conversation history (or the summary the user pasted). Each user turn that said "it looks good but…", "that's terrible", "borderlands is first person", or "keep going" after an interruption is a place the engine or the skills let the builder down.
For each, record the symptom (what the user saw) and the fix that was applied game-side (the glue that made it right this once):