By obselate
Author Goo UI in s&box: follows framework rules, surface map, canonical patterns, and engine facts for writing idiomatic C#-only UI code.
goo is a full-featured s&box UI framework in C#. structure, style, and behavior in one language.
think about it like this: if markup and stylesheets did the whole job, there'd be no JavaScript. goo exists to consolidate layout, behavior, and styling into one language with a simplified syntax.
Docs: https://obselate.github.io/Goo/docs/ itch.io: https://obselate.itch.io
goo provides a skill for creating goo UI in s&box. install it then next time you mention goo or creating UI, the skill will be invoked. Install in claude code with:
/plugin marketplace add obselate/Goo
/plugin install goo-ui@goo
If you're using another agent, copy .claude-plugin/goo-ui/skills/goo-ui/ into your agent's skills directory.
using Goo;
using Sandbox.UI;
namespace Sandbox;
public class CounterUI : GooPanel<Container>
{
private int _count;
protected override Container Build() => new Container
{
Padding = 16,
Gap = 12,
FlexDirection = FlexDirection.Row,
AlignItems = Align.Center,
BackgroundColor = Color.White,
BorderRadius = 12,
Children =
{
new Text( _count.ToString() ),
new Container
{
Padding = 8,
BorderRadius = 6,
BackgroundColor = Color.Orange,
HoverBackgroundColor = Color.Cyan,
TransitionMs = 150,
OnClick = e => _count++,
Children = { new Text( "+" ) },
},
},
};
}
Build() is a pure function of your state. Event handlers trigger a rebuild automatically, so OnClick = e => _count++ is the whole wiring; the reconciler applies only what changed. Hover and focus variants like HoverBackgroundColor resolve engine-side with no rebuild at all.
GooPanel<TRoot> is a Sandbox.PanelComponent, so CounterUI is a Component. In the s&box editor:
ScreenPanel (fullscreen overlay) or WorldPanel (3D worldspace).CounterUI on the same GameObject.Container/Text nodes with flexbox positioning, plus blobs for images, shapes (Sector, Arc, Polygon), text entry, SVG, web, and 3D scene panels.Hover/Active/Focus variants and transitions.Cell gives reusable widgets their own private state.Tick, sampled in Build; transforms and colors are the cheap per-frame channels.Hud.Overlay, Hud.Anchored, Hud.Fill, Hud.Scrim for full-screen layers and corner pinning, and Goo.Controls for ready-made buttons and sliders.ShaderEffect with live uniforms, keyboard tracking with KeyTracker, and drag and drop with DragSource/DropZone.Start with your first panel, or jump to the overview.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub obselate/goo --plugin goo-uiHarness-native ECC operator layer - 64 agents, 262 skills, 84 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Binary reverse engineering, malware analysis, firmware security, and software protection research for authorized security research, CTF competitions, and defensive security
Next.js development expertise with skills for App Router, Server Components, Route Handlers, Server Actions, and authentication patterns
Comprehensive .NET development skills for modern C#, ASP.NET, MAUI, Blazor, Aspire, EF Core, Native AOT, testing, security, performance optimization, CI/CD, and cloud-native applications
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use