dcl-prototype
Skill4 starsChanged 9 days agoApache-2.0View on GitHub
Explore a Decentraland toy or test a design question: make a small playable SDK7 prototype, run an owner self-test or a registered experiment, and record what it does and does not establish. Use for an early sound, movement or look trial without a finished GDD; for a parked hypothesis, greybox, playtest, arithmetic check, pre-build audience check, mobile check or verdict. Pairs with dcl-gdd through its shared Hypothesis Log. Exploration needs no invented metric; registered experiments preserve their agreed criterion. Takes a hypothesis ID or resume. For playtest surveys and organizing test rounds, use scene-feedback.
In this repository37 other files it gives its agents.
- add-3d-modelsSkill
- add-interactivitySkill
- advanced-inputSkill
- advanced-renderingSkill
- animations-tweensSkill
- audio-analysisSkill
- audio-videoSkill
- authoritative-serverSkill
- avatar-animationsSkill
- build-uiSkill
- camera-controlSkill
- compositesSkill
- create-sceneSkill
- creator-hub-mcpSkill
- dcl-gddSkill
- deploy-sceneSkill
- deploy-worldsSkill
- fontsSkill
- lighting-environmentSkill
- migrate-sdk6-to-sdk7Skill
- multiplayer-syncSkill
- nft-blockchainSkill
- npcsSkill
- optimize-sceneSkill
- particle-systemSkill
- player-avatarSkill
- player-physicsSkill
- promote-sceneSkill
- report-sdk-issueSkill
- scene-feedbackSkill
- scene-retroSkill
- scene-runtimeSkill
- script-componentsSkill
- sdk-scenesSkill
- smart-wearablesSkill
- unity-explorer-mcpSkill
- wearablesSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 4 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Toy first for exploration: Prefer the smallest connected interaction the owner can play with.
- Distinctive: line 56
Keep useful inspirations in the shared reference notes as they appear.
- Very specific: line 57
A failure is a result: Never rescue a hypothesis by widening its criterion, adding testers until it passes, or explaining away a session.
- Very specific: line 75
Read the shared working direction and its saved record before choosing work, including any doc-only boundary.
- Very specific: line 77
Use the established design/ path in the scene repo.
- Distinctive: line 85
If the owner wants to try an unfinished idea without an agreed criterion, take the exploratory route instead of forcing a pick.
- Very specific: line 104
If nothing is parked, you may create one experiment file per invocation under the contract's four requirements, and you must say aloud that …
- Very specific: line 129
Use sdk-skills for SDK7 APIs and sdk7-test-scenes for mechanics, never memory.
- Distinctive: line 176
If evidence cannot settle the registered criterion, record the attempt and gap in Sessions, keep the source claim open and the experiment …
- Very specific: line 191
Update the existing linked source, if any, to state what is now known, and report what you changed and where.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Game Prototyping in Decentraland
Explore "what happens when we play it?" through a playable idea or a focused experiment.
Make the action tangible and record learning, including inconclusive results; exploration needs
no invented metric. Share records under design/ with dcl-gdd. A standalone prototype needs
no GDD; continuing a dcl-gdd project preserves and updates its design/gdd.md. Registered tests
use the generated design/hypothesis-log.md index, which the owner need not fill or read.
You address the design owner in one voice, the same as dcl-gdd.
The file conventions, statuses, ownership split and verdict format are fixed by the interface
contract: ../dcl-gdd/references/hypothesis-log.md.
Install this skill alongside dcl-gdd so the shared references resolve. Read the contract
in phase 0. Never keep a second copy of it, and never diverge from it on your own.
Hard rules
- One current focus. Exploration can include successive build–play–adjust passes and owner-led changes of direction. For registered tests, run one experiment at a time; say which alternatives you left.
- For a registered experiment, the verdict criterion is pre-registered. It is written in the Brief before the build starts,
and judged unchanged at the end. Moving a threshold after seeing the sessions turns an experiment
into a story. If a mid-experiment change genuinely invalidates the criterion, that is a return to
the Brief with a new pre-registration recorded in
## Sessions— never a silent edit. - Toy first for exploration. Prefer the smallest connected interaction the owner can play with. One focus can need several mechanics, feedback and a space together. Cut content and polish, not the connections that make the experience meaningful; no full story or win state is required. Choose a narrow trial when it better answers a meaningful design or technical question, or the owner wants it. Check its findings in the intended experience before generalising; an isolated result need not explain the whole game. This is guidance, not an extra gate. For registered experiments, build the least that can answer the claim. Use placeholders for unrelated parts; keep the tested actions and the feedback needed to perceive them real. For a Creator Success milestone, apply funding and scope when sizing the experiment: fixed support for the studio's own game, within its chosen time commitment. Simplify or reuse; do not prescribe unpaid work or recommend more funding merely to fit an oversized idea.
- Cheapest rung that can answer the question. Arithmetic settles only what its inputs and criterion support (arithmetic evidence); builds normally start on desktop Explorer via Creator Hub, then mobile where needed. Estimate from the existing setup, dependencies and action being built; do not promise a fixed duration. A hypothesis testable by arithmetic must never reach a build untested. Whether chosen people understand or act on the promise can be asked before any build: an optional audience check, never a gate.
- Do not narrate the expected feel before a pass. Say what to do, never what it should feel like — a narrated feeling gets found. The full no-hinting session discipline belongs to external testers; for Creator Success testing, use the program's external-player protocol when supplied.
- Save meaningful evidence when it appears. In a registered experiment, write the Brief before building, smoke before
the human pass, each completed pass with its conditions, and amendments before the next pass;
save the current state before any pause or stop. Keep debug chatter out of the record.
Rebuild the index at open, close or status change, not after every observation. New hypotheses
get their files immediately under the parking contract. Ideas and author decisions go straight
to
ideas.mdanddecisions.md, dated and attributed; uncertainty goes to ideas, not owner decisions. Keep useful inspirations in the shared reference notes as they appear. - A failure is a result. Never rescue a hypothesis by widening its criterion, adding testers
until it passes, or explaining away a session.
failedstays in the log and is worth as much asvalidated. - In registered tests, you own
## Brief,## Sessions,## Verdict— plusTested on, the file rename, the source-section rewrite and the index regeneration after a verdict. You do not touch the rest of the header block; if the IF/THEN is not falsifiable, raise it with the owner instead of rewriting it.
For every preview pass, including resume, reuse the open Explorer and hot reload; check the existing instance before launching or restarting. Follow preview lifecycle.
Phases
Registered tests follow the numbered phases. Exploration takes its own route from phase 0 to stop or handoff, using shared build guidance without Brief/Sessions headings, H-ID, verdict or index.
0 — Orient and pick
Read the shared working direction
and its saved record before choosing work, including any doc-only boundary.
Use the established design/ path in the scene repo; clarify only if unknown. Resume the current
note or experiment before choosing new work, preserving next-step ownership.
For registered tests, glob design/*/H*_*.md and
read the header blocks.
For scene work, follow bootstrap and resume checks: verify the needed workflow once, save its state, then check current availability cheaply. Skip setup for paper/math.
If the owner wants to try an unfinished idea without an agreed criterion, take the exploratory route instead of forcing a pick. An existing experiment keeps its record and criterion; explicitly defer it if the owner switches away. For exploration, continue with that route instead of the experiment-picking steps below.
Resume before you pick. An _active file means an experiment is in flight, and its contents name
the phase — this is why a session can be cut anywhere:
| The file has | Resume at |
## Brief empty | 1 — Brief |
Brief written, ## Sessions empty | 2 — Build (skip to 3 if the scene already runs) |
| Sessions contain smoke, amendments or passes, no verdict | Resume the recorded next step; smoke alone is not a human pass |
| Sessions closed, no verdict line | 4 — Verdict |
Otherwise pick one: among the hypotheses whose killing test is cheapest, take the one that kills the most design if it turns out false. Cheapest first is the ordering key; risk is the tie-breaker inside a band — not the other way round. See references/the-ladder.md.
If nothing is parked, you may create one experiment file per invocation under the contract's four
requirements, and you must say aloud that you did. Source section names an existing design
document or note, or reads — (standalone); a GDD is not required.
Close the phase by naming the pick, its rung and its cost in one sentence, and getting a yes. If the owner picks something a cheaper test could kill first, say so once — then do what they chose.
1 — Brief
Rename _parked → _active, then write ## Brief:
references/experiment-brief.md. It carries the pre-registered
pair — Criterion (external): (the agreed observable criterion and failure condition) and
Kill-check (owner-testable): (the claim the owner can kill by feel) — plus who tests and who
launches, the rung and why that rung, what gets faked, what gets instrumented, and what is
deliberately not built.
The brief is finished when another person could run the procedure and interpret the same recorded evidence consistently; different people may experience the action differently.
2 — Build
Greybox on the rung the brief chose: references/greybox-build.md.
Greybox geometry goes through the Creator Hub MCP or the scene file; code-spawned geometry only
as the owner's explicit choice, per the build guidance. For layout, camera clearance, navigation or spatial feel, read the relevant moves in the
level-design playbook before shaping the space.
Use sdk-skills for SDK7 APIs and sdk7-test-scenes for mechanics, never memory. If neither is
available and installation is declined or fails (ask the owner before installing), report that and use official SDK7 docs via the
capability index. Mark the code
as built from docs with no verified reference.
Make the selected check observable. A measured criterion needs its instrument; an owner-only pass needs the action and feedback for its kill-check, not instrumentation for a future external test. Dry-run the setup before the human pass; a mechanical check cannot predict the human's verdict.
For a registered experiment, if the build outgrows the brief, resolve the scope before continuing; do not silently widen the experiment. Owner-led exploratory changes follow the exploratory route.
3 — Playtest
The phase does not open until a smoke line exists in ## Sessions. Three sources count: an
agent MCP run, an agent manual dry-run (any transport), or an owner dry-run explicitly recorded as
smoke. This gate binds your initiative, never the owner's request — "give it to me now" is honoured
immediately: hand the build over and write smoke: skipped at owner request. Without a smoke line,
later debug passes read as playtest sessions.
For this early experiment, the owner self-tests for a feel verdict. This is a local test convention, not completion of funded V0 or a substitute for its agreed player testing. Fix the instrument between owner passes and log what changed between which passes, or the passes stop being comparable. The criterion does not move with them (hard rule 2). Stop early when the answer is already unambiguous: a clean kill after two passes is a result, not a half-experiment. For Creator Success testing, use the program's external-player protocol when supplied; it is not required for a standalone experiment.
For a solo-enjoyment claim, run the intended lone-arrival condition rather than a group test or
mere winability check. Observe the action and its perceivable response; let the tester describe
what drew them to continue or stop without scripting an expected feeling. Note whether earlier
players' traces were present. Do not add bots or another game simply to make the test pass.
An owner self-test remains survived at most; group success does not validate the solo claim.
4 — Verdict
Apply claim-to-evidence limits when interpreting a comparison: a preferred version does not isolate which change caused it.
Judge against the brief, unchanged. Three outcomes, of different sizes:
validated— the registered criterion held through measurement or a sufficient calculation under the arithmetic rules. Name which; a model scenario is not observed behaviour. Never awarded on an owner-feel self-test.survived— the kill-check held under an owner self-test; the criterion was not measured. Terminal for this owner self-test, not a funding milestone verdict.failed— the criterion or the kill-check did not hold. A failure is a result.
If evidence cannot settle the registered criterion, record the attempt and gap in Sessions, keep the source claim open and the experiment nonterminal (active, or deferred if postponed). The owner kill-check can still support its narrower survived/failed result. Apply the verdict limits and write-back before closing; an inconclusive attempt gets no terminal verdict.
Then write back, in this order:
## Verdict— first line machine-readable, exactly as the contract specifies. Asurvivedverdict names which claim survived:**Verdict:** survived — kill-check held: <what> (owner self-test) · criterion not measured · <date> · tested on: <rung>.Tested on— the rung that was actually used.- Rename the file
_validated/_survived/_failed— the suffix goes terminal at the verdict. A mobile-sensitive hypothesis closed on desktop keeps its terminal suffix; the index renders … — mobile pending fromMobile-sensitive: yes+Tested on: desktopwhile that is true. - Update the existing linked source, if any, to state what is now known, and report what you
changed and where. A standalone test needs no GDD or backfill. For
survivedthe rewrite is scoped exactly to the kill-check — indicative mood for what held; the unmeasured criterion stays in the section as[HYPOTHESIS]with its H-link. If the rewrite would contradict the design rather than refine it, raise the conflict instead. - Regenerate the Hypothesis Log index (
design/hypothesis-log.md). Any HTML render follows the chosen document workflow; a verdict does not require one.
5 — Hand off
Close with the result, remaining uncertainty and the owner's chosen next step; distinguish your
suggestion from their choice. That may be another experiment, an adjustment, a pause or design work
with dcl-gdd. No next H-ID or document is compulsory. For a useful transition in either direction,
follow the shared handoff: carry the working
direction and existing record, reuse the established chat/path, and ask about the vehicle only
if unclear or changing. A full document pass may suit a separate session; interactive work
stays with the owner.
Escape hatches
In exploration, honour skip/stop by saving the current build, observations and remaining question in its note. Do not create a deferred/active hypothesis or a verdict just to stop. For registered tests:
The owner can say "just build it" (use the exploratory route if no criterion is agreed;
an existing registered experiment keeps its criterion and history), "skip the playtest" (say what the verdict is then worth, and
either mark the hypothesis _deferred or record the owner self-test as a verdict — survived if
the kill-check held, failed if it did not, never validated from a self-test — with tested on
set honestly),
"we already know this" (mark _deferred with the reason — skipped experiments never vanish), or
"stop" (write the current phase to the file, leave it _active, and say in one line where to
resume). Honour all four immediately without arguing.
Files
Shared contract: ../dcl-gdd/references/hypothesis-log.md. Load by phase: experiment-brief · the-ladder · greybox-build.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

