worldos-widget-authoringlisted
Install: claude install-skill Story-Engine-Inc/worldos-agent-skills
# WorldOS Widget Authoring
Create a reusable private UGC widget only when existing WorldOS apps cannot express the required interaction or state. Built-in apps, shared apps, published apps, and platform code are outside this workflow.
## Confirm that a widget is necessary
1. Call `get_authoring_guide`.
2. Call `search_apps` with several focused queries for the required capability.
3. Call `get_app_guide` for plausible existing apps.
4. Prefer an existing app with world-specific install config.
5. Create a widget only when a clear capability gap remains.
Do not create a second source of truth for data already owned by stats, inventory, quests, chat, social, time, calendar, map, or another installed app.
Read [references/widget-quality.md](references/widget-quality.md) before validation.
## Separate reusable behavior from world content
A widget is a reusable, domain-neutral interface. Put reusable structure and behavior in the app draft:
- neutral name and slug;
- concise store description and tagline;
- single-file HTML, CSS, and JavaScript;
- reusable prompt describing the widget’s meaning and supported interactions;
- generic `defaultConfig`;
- a short `configGuide` explaining how a world author should seed it.
Put world-specific labels, people, organizations, starting records, and local rules in the world’s app installation config. Avoid slugs tied to one story when the same interface could serve many worlds.
## Use the WorldOS widget SDK
Use the host-provided SD