This directory is the provider-neutral control layer for Openly Useful Agent Skills and MCP servers. It records publisher policy and component identities once, then generates plans for OpenAI/Codex, Claude, the official MCP Registry, and host discovery. It does not install, publish, authenticate, submit, deploy, or modify another repository.
The company record is intentionally formation-pending. Openly Useful LLC is one planned legal publisher/operator/licensee, not an active entity claim. Until formation is accepted, Openly Useful is founder-operated and external source, package, registry, and provider publication is directly authorized by the founder-owner. Provider account authentication, namespace verification, and provider review remain independent technical gates; they do not require representing the planned LLC as already formed.
RunGlance is founder-created and personally owned. Its record explicitly says that no assignment or ownership transfer is required; the planned company relationship is publisher/operator/licensee.
publisher/publisher.json— the editable source of truth for the shared brand, planned legal identity, domain authority, namespaces, policy URLs, and publication gates.components/*.json— component version, provenance, skills, MCP identity, provider mapping, and independently modeled local/source/registry/marketplace states.schemas/*.schema.json— portable JSON Schemas for the records.
Generated files under generated/ are reproducible views, not independent sources of truth.
The public projection authority endpoint is https://openlyuseful.org/publisher/manifest.json. check can compare a local site projection using --site-projection <path> or OPENLY_USEFUL_SITE_PUBLISHER_MANIFEST; this control layer never writes the website copy.
npm run sync
npm run check
npm testsync writes only generated/. check is read-only and fails on invalid canonical data or generated drift. Tests use only Node.js built-ins.
The host plan deliberately contains no executable install actions. A future installer must require separate user authorization and must verify source digests before creating provider discovery links or copies.
For an MCP component, these values must remain identical:
component.mcp.registryName
= package.json.mcpName
= server.json.name
Open-source servers use org.openlyuseful/<slug> and npm packages use @openly-useful/<slug>-mcp. com.openlyuseful/* is reserved for future Studio/proprietary services.
The MCP Registry is still in preview. Registry records target the current official 2025-12-11 schema, but publication and domain authentication remain separate, owner-authorized operations.