Repository navigation
Conversation
Six Claude Code skills that carry a protocol feature through need, design, engine feasibility (unity-explorer, bevy-explorer, godot-explorer), .proto definition, cross-repo implementation and review, with one resumable proposal bundle per feature and a dry-run mode that writes only markdown. Includes per-repo references, cross-branch id/field-number scripts, a worked example bundle, evals, and a refreshed README merge-order section.
Test this pull request
|
kuruk-mm
marked this pull request as draft
October 11, 2026 15:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a set of Claude Code skills that carry a protocol feature through six phases (need, design, technology verification against unity-explorer / bevy-explorer / godot-explorer,
.protodefinition, cross-repo implementation, review) with one resumable proposal bundle per feature and a dry-run mode that only writes markdown./protocol-feature "<idea>"starts a proposal,--draftsimulates the whole rollout (the diff, the per-repo briefs, every PR body, the review) without opening anything, and/protocol-review <PR>checks a protocol PR against the SDK and the three engines. The skills bundle the per-repo knowledge that today lives in unity-explorer's docs, godot'sPROTOCOL_DEV_WORKFLOW.mdand people's heads, plus scripts that pick component ids and field numbers across every branch, open PR and engine copy (the local-treemake check-component-idmissed the 1221 collision in #464;scripts/next-component-id.sh --check 1223reports it taken by #495).Changes
.claude/skills/protocol-feature/→ router skill (the only description the model sees), policy and process references, per-repo references (protocol,sdk,unity,bevy,godot,verification,adr), subsystem → path table, PR-style guide, templates, seven read-only scripts (find-repos,next-component-id,field-numbers,engine-support,consumer-pins,proposal-gate,validate-skills), a worked example bundle, and the evals..claude/skills/protocol-{propose,tech-check,define,implement,review}/→ one skill per phase, hidden from the model's skill listing (disable-model-invocation: true) and invoked by the router or by/protocol-<phase>.proposals/README.md→ what a proposal bundle is and its lifecycle (real features commit their bundle in the protocol PR; simulations stay local).README.md→ the "Dev with Decentraland Repositories" section now names the current consumers (unity-explorer, bevy-explorer, godot-explorer, js-sdk-toolchain) and the repin step;CLAUDE.md→ one scope note pointing SDK work at the skills.Policy values in force (
references/policy.md): merge gate = every engine accounted for (implementation PR or parity-gap issue) before the protocol PR merges; ADR by size (small none, medium alongside, large before); rollout always lists test scene, docs and sdk-skills (N/A allowed).QA / Test plan
No QA needed — no behavior change (no
.prototouched;make buf-lint && make testgreen).Optional verification: open the repo in Claude Code and run
/protocol-feature --draft "keep an AvatarShape's emote playing while the scene moves it"; it should write a bundle underproposals/shaped like.claude/skills/protocol-feature/examples/avatar-shape-keep-emote-on-move/and open nothing. Scripts:bash .claude/skills/protocol-feature/scripts/next-component-id.shprintsNEXT_SAFE_ID=1226today;scripts/field-numbers.sh PBAvatarShapeprintsNEXT_SAFE_FIELD=14with 13 listed asforce_renderonexperimental-bevy.How it was tested
Eight hypothetical scenarios (
.claude/skills/protocol-feature/evals/evals.json), each run by a fresh agent in dry-run mode and graded on evidence in the produced files: with the skills 49/55 expectations passed in round 1 against 35/55 for the same prompts without them; after two fix rounds the final state passes 54/55 (every scenario at full marks except one benign scratch-file write), including the adversarial ones (a field rename is refused as wire-breaking, id 1223 is rejected because open PR #495 claims it, an existingmovePlayerTo.durationis found instead of re-added). Every run was scanned for outward actions (none: no PR, issue, commit, branch or sibling-repo edit). Trigger accuracy of the router description on 20 realistic queries (evals/trigger-eval.json, run throughclaude -pin this repo): every positive invokes the skill as the first tool call, no near-miss triggers.