Skip to content

[Enhancement] Course design MCP: skill-aware sim bot + design rubric + editor #35

@scottmccarrison

Description

@scottmccarrison

Background

Course design currently relies on a tight loop between human (creative-spatial work) and Claude (translation, physics validation, code). The loop is fast but has a gap: Claude has no "hands or eyes" for spatial work. ASCII sketches, coordinate math, and one-shot vision interpretation of reference images are all lossy.

For mini-golf specifically, design is small in scope but rich in tradeoffs (path choice, difficulty, readability, gate/teleporter mechanics). The design space could be assisted, not just transcribed.

What's missing

A "design knowledgebase + companion" layer that gives Claude:

  • Hands: tools to place walls, gates, teleporters and see the result
  • Eyes: a way to evaluate a layout against design principles, not just bot sim

Proposed: MCP wrapper around editor + simulator

Build an MCP server (e.g. mini-golf-design) that exposes:

  • place_wall(x1, y1, x2, y2) / remove_wall(...)
  • add_gate(x1, y1, x2, y2, nx, ny)
  • add_teleporter(a, b)
  • set_tee(x, y) / set_hole(x, y)
  • simulate(n_trials, skill_level) — runs a skilled bot (not the current dumb aim-at-hole bot) that path-plans through gates and teleporters; returns sink rate, median strokes, common failure modes
  • score_design() — returns a rubric scorecard (multiple paths exist? straight-line tee→hole blocked? trap entry visible? gates non-redundant? difficulty curve sensible?)
  • export_courses_js() — emits the full hole definition as a JS object ready to paste

Sub-components (could be staged)

  1. Skill-aware sim bot — replace the +/-20° aim-at-hole bot with one that knows about gates and teleporters. Significantly more useful than the current sim.
  2. Design rubric — codify principles into a checklist that scores any hole.
  3. Editor UI (tools/editor.html) — click-and-drag layout tool, separate from but complementary to the MCP. Possibly built first as a standalone tool; the MCP can wrap it later.
  4. MCP server — wraps 1+2+3 so Claude can call them directly.

Why this is enhancement not blocking

For 9 holes, hand-design + Claude-translation works. Just barely. As we move toward more holes, theme variations, or community-contributed courses, the gap widens. This is the right tool to invest in before the next major content push, but not strictly needed for v1.

References

  • See conversation thread where this gap was identified (Claude struggling with hole 6 maze design via ASCII; bot sim too dumb to validate design quality).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions