agentleFS
sponge-b0bsponge-b0b/Polaris/.agents/skills/prototype/SKILL.md

prototype

Skill4 starsChanged 3 months agoApache-2.0View on GitHub

Build throwaway code to answer one concrete design question, then preserve only the useful conclusion.

194 other projects use a version of this, 45 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use playtest-report, soak-test and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • CoralGameSkill

    playtest-report

    Generates a structured playtest report template or analyzes existing playtest notes into a structured format. Use this to standardize playtest feedback collection and analysis.

    Also in 12 projects that use this

  • lilangMaxSkill

    soak-test

    Generate a soak test protocol for extended play sessions. Defines what to observe, measure, and log during long play sessions to surface slow leaks, fatigue effects, and edge cases that only appear after sustained play. Primarily used in Polish and Release phases.

    Also in 9 projects that use this

  • lilangMaxSkill

    team-live-ops

    Orchestrate the live-ops team for post-launch content planning: coordinates live-ops-designer, economy-designer, analytics-engineer, community-manager, writer, and narrative-director to design and plan a season, event, or live content update.

    Also in 9 projects that use this

  • CoralGameSkill

    team-polish

    Orchestrate the polish team: coordinates performance-analyst, technical-artist, sound-designer, and qa-tester to optimize, polish, and harden a feature or area for release quality.

    Also in 14 projects that use this

  • +5 more from lilangMax
  • +3 more from CoralGame

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 9 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 179 edited versions we read keep these.

  • 9

    Distinctive

    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
  1. Distinctive:

    If the question is genuinely ambiguous and cannot be resolved from context, ask.

    line 18
  2. Distinctive:

    Throwaway from day one: Keep the prototype close to the code it explores, but name it clearly as a prototype.

    line 24
  3. Distinctive:

    One command to run: Use the project's existing tooling.

    line 25
  4. Distinctive:

    No persistence by default: Use memory unless persistence itself is the question.

    line 26
  5. Distinctive:

    Skip production polish: No abstractions, broad test suite, production observability, or generalized error handling beyond what is needed to …

    line 27
  6. Distinctive:

    Surface the state: After each logic action or UI variant switch, expose the relevant resulting state.

    line 28
  7. Distinctive:

    Test only the question: Do not mistake incidental prototype choices—single-file structure, no DI, in-memory storage, etc.—for validated …

    line 29
  8. Distinctive:

    Do not treat the prototype as production implementation.

    line 41
  9. Very specific:

    If the user wants the idea implemented, hand it to the normal implementation workflow.

    line 43
  10. Very specific:

    If the failure represents a durable architectural rejection and the Living Entity Wiki exists, use $wiki-sync to record it as a Rejected …

    line 51
  11. Distinctive:

    Do not record ordinary prototype bugs, environment failures, temporary priorities, or unsupported agent judgment as architectural rejection.

    line 55
  12. Very specific:

    If the result warrants an ADR under $to-adr-doc, use that lifecycle instead.

    line 57
  13. Very specific:

    If the experiment changes or clarifies canonical domain meaning, use $domain-modeling.

    line 65
  14. Very specific:

    Do not put implementation details into CONTEXT.md.

    line 67
  15. Very specific:

    If preserved, keep it out of normal production history and respect any parent workflow's branch guard.

    line 73

“Common” is measured: kept by at least 6 in 10 of the 179 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Prototype

A prototype is throwaway code that answers a question. The question decides the shape.

Pick a branch

Identify which question is being answered:

  • "Does this logic / state model feel right?" → LOGIC.md. Build a tiny interactive terminal app that pushes the state machine through cases that are hard to reason about on paper.
  • "What should this look like?" → UI.md. Generate several meaningfully different UI variations on a single route using the project's existing routing conventions.

If the question is genuinely ambiguous and cannot be resolved from context, ask. Otherwise choose the branch that best matches the surrounding work and state the assumption.

Before building, if the Living Entity Wiki exists, use wiki/index.md to read the relevant entity's Rejected Approaches. If the same approach was already rejected, do not silently retry it. Surface the prior reasoning; re-prototype only when circumstances have materially changed or a Reconsider when: condition may now apply.

Rules

  1. Throwaway from day one. Keep the prototype close to the code it explores, but name it clearly as a prototype.
  2. One command to run. Use the project's existing tooling; do not introduce a new runner.
  3. No persistence by default. Use memory unless persistence itself is the question. Any scratch persistence must be isolated and disposable.
  4. Skip production polish. No abstractions, broad test suite, production observability, or generalized error handling beyond what is needed to answer the question reliably.
  5. Surface the state. After each logic action or UI variant switch, expose the relevant resulting state.
  6. Test only the question. Do not mistake incidental prototype choices—single-file structure, no DI, in-memory storage, etc.—for validated production architecture.

Verdict

Classify the result as:

  • Validated — the tested idea is worth carrying forward.
  • Invalidated — the experiment produced concrete evidence against the approach.
  • Inconclusive — the experiment did not answer the question reliably.

Validated

Do not treat the prototype as production implementation.

If the user wants the idea implemented, hand it to the normal implementation workflow. Production changes still require their normal $wiki-sync, $coding-standards, $tdd, $database-migrations, and $verify-code handling as applicable.

A successful prototype is not itself a wiki write trigger.

Invalidated

Capture the question and failure reason in the relevant issue or ticket.

If the failure represents a durable architectural rejection and the Living Entity Wiki exists, use $wiki-sync to record it as a Rejected Approach with:

source: session experiment, undocumented

Do not record ordinary prototype bugs, environment failures, temporary priorities, or unsupported agent judgment as architectural rejection.

If the result warrants an ADR under $to-adr-doc, use that lifecycle instead.

Inconclusive

Report what was learned and what remains unknown. Do not manufacture an accepted or rejected conclusion.

Domain discoveries

If the experiment changes or clarifies canonical domain meaning, use $domain-modeling.

Do not put implementation details into CONTEXT.md.

Cleanup

Prototype code is disposable. Remove it once its useful knowledge has been captured unless the user explicitly wants the experiment preserved.

If preserved, keep it out of normal production history and respect any parent workflow's branch guard; never switch branches behind $implement-ticket.

Handoff

Report:

  • question tested;
  • prototype path and run command;
  • scenarios or variants exercised;
  • verdict and evidence;
  • whether the prototype was removed or preserved;
  • any $domain-modeling, $to-adr-doc, or $wiki-sync outcome.

Clearly distinguish prototype validated from production implementation completed.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.