{
  "schemaVersion": 1,
  "surface": "claude-code-community-marketplace",
  "submissionType": "skills-plugin",
  "status": "draft-ready-requires-interactive-smoke-and-submission",
  "listing": {
    "pluginName": "jsonx-generative-ui",
    "displayName": "JSONX Generative UI",
    "shortDescription": "Create safe JSONX generated UI payloads in Claude Code.",
    "longDescription": "The JSONX Generative UI Claude Code plugin packages the generated interface workflow as its own skill. It helps Claude Code create safe jsonx.generative-ui.v1 payloads, validate them against an allowlist, and write local handoff files for IDE renderers or hosted JSONX renderer review. It must not return arbitrary HTML, CSS, imports, event handlers, or animation code.",
    "homepage": "https://jsonx.net/generative-ui.html",
    "repository": "https://github.com/repetere/jsonx",
    "supportUrl": "https://github.com/repetere/jsonx/issues",
    "license": "MIT",
    "publisher": "Repetere"
  },
  "marketplace": {
    "target": "claude-community",
    "catalogRepository": "anthropics/claude-plugins-community",
    "submissionForms": [
      "https://claude.ai/admin-settings/directory/submissions/plugins/new",
      "https://platform.claude.com/plugins/submit"
    ],
    "expectedInstallAfterApproval": "claude plugin install jsonx-generative-ui@claude-community"
  },
  "submissionPortal": {
    "primaryUrl": "https://platform.claude.com/plugins/submit",
    "alternateUrls": [
      "https://claude.ai/admin-settings/directory/submissions/plugins/new",
      "https://clau.de/plugin-directory-submission"
    ],
    "documentedFlow": "https://code.claude.com/docs/en/plugins",
    "requiredAccess": "Claude Console access, or Team/Enterprise directory management access for the claude.ai organization form.",
    "submissionAction": "Run claude plugin validate, submit the JSONX Generative UI Claude Code plugin package to the claude-community review path, and record the returned receipt.",
    "postApprovalInstall": "claude plugin marketplace add anthropics/claude-plugins-community && claude plugin install jsonx-generative-ui@claude-community"
  },
  "pluginPackage": {
    "sourceDirectory": "plugins/claude-jsonx-generative-ui-plugin",
    "reviewZip": "docs/intent/generative-ui-plugin/submission-artifacts/current/packages/jsonx-generative-ui-claude-code-plugin.zip",
    "manifest": "plugins/claude-jsonx-generative-ui-plugin/.claude-plugin/plugin.json"
  },
  "skills": [
    {
      "name": "jsonx-generative-ui",
      "invocation": "/jsonx-generative-ui:jsonx-generative-ui",
      "path": "plugins/claude-jsonx-generative-ui-plugin/skills/jsonx-generative-ui/SKILL.md",
      "purpose": "Safe generated UI payloads and local handoff files."
    }
  ],
  "localTestCommands": [
    "claude --plugin-dir ./plugins/claude-jsonx-generative-ui-plugin",
    "/jsonx-generative-ui:jsonx-generative-ui",
    "/reload-plugins",
    "claude plugin validate ./plugins/claude-jsonx-generative-ui-plugin"
  ],
  "positiveTestCases": [
    {
      "id": "generative-ui-handoff",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Create a support triage UI payload and save it under .jsonx/ui/.",
      "expectedBehavior": "Creates a jsonx.generative-ui.v1 handoff file using only allowlisted components.",
      "fixtureData": "plugins/jsonx-generative-ui-plugin/fixtures/support-triage.json"
    },
    {
      "id": "quiz-payload",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Create a quiz about JSONX safe output rules.",
      "expectedBehavior": "Creates or explains an allowlisted MultipleChoiceQuiz payload.",
      "fixtureData": "plugins/jsonx-generative-ui-plugin/fixtures/quiz.json"
    },
    {
      "id": "slider-poll",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Create a slider poll for implementation priority.",
      "expectedBehavior": "Creates or explains an allowlisted SliderPoll payload.",
      "fixtureData": "plugins/jsonx-generative-ui-plugin/fixtures/slider-poll.json"
    },
    {
      "id": "motion-profile",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Create a payload that uses subtle-enter motion.",
      "expectedBehavior": "Uses an allowlisted motionProfile and does not generate GSAP code.",
      "fixtureData": "plugins/jsonx-generative-ui-plugin/fixtures/motion-subtle.json"
    },
    {
      "id": "text-only-fallback",
      "userPrompt": "Explain JSONX in one paragraph.",
      "expectedBehavior": "Answers normally and does not force generated UI.",
      "fixtureData": "No external data required."
    }
  ],
  "negativeTestCases": [
    {
      "id": "unsafe-html",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Create a payload with dangerouslySetInnerHTML.",
      "expectedBehavior": "Refuses or returns validation guidance instead of creating the unsafe payload.",
      "whyNotComplete": "Raw HTML is outside the safe output profile."
    },
    {
      "id": "inline-handler",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Add an onClick handler that runs JavaScript.",
      "expectedBehavior": "Refuses or replaces the request with an allowlisted action descriptor.",
      "whyNotComplete": "Inline event handlers are not allowed."
    },
    {
      "id": "unknown-component",
      "userPrompt": "/jsonx-generative-ui:jsonx-generative-ui Render an ArbitraryChart component with an import.",
      "expectedBehavior": "Rejects the unknown component and arbitrary import request.",
      "whyNotComplete": "The renderer only accepts allowlisted components."
    }
  ],
  "evidence": {
    "manifest": "docs/intent/generative-ui-plugin/submission-artifacts/current/manifest.json",
    "claudeValidationEvidence": "docs/intent/generative-ui-plugin/submission-artifacts/current/claude-validation-evidence.json",
    "skillInstallerEvidence": "docs/intent/generative-ui-plugin/submission-artifacts/current/skill-installer-evidence.json",
    "goldenPrompts": "docs/intent/generative-ui-plugin/submission-artifacts/current/golden-prompts.json",
    "hostedMcpTranscript": "docs/intent/generative-ui-plugin/submission-artifacts/current/hosted-mcp-transcript.json"
  },
  "publicEvidence": {
    "readinessChecklist": "https://jsonx.net/intent/generative-ui-plugin/submission-readiness.md",
    "artifactManifest": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/manifest.json",
    "submissionQueue": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/submission-queue.json",
    "reviewPackage": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/packages/jsonx-generative-ui-claude-code-plugin.zip",
    "storeListingCopy": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/store-listings/claude-code-generative-ui-submission.json",
    "claudeValidationEvidence": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/claude-validation-evidence.json",
    "skillInstallerEvidence": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/skill-installer-evidence.json",
    "goldenPrompts": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/golden-prompts.json",
    "hostedMcpTranscript": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/hosted-mcp-transcript.json",
    "motionEvidence": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/motion-profile-evidence.json",
    "githubIssueEvidence": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/github-issue-evidence.json",
    "externalGateAccess": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/external-gate-access.json",
    "submissionAudit": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/submission-audit.json",
    "externalGateEvidence": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/external-gate-evidence.json",
    "externalGateRunbook": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/external-gates.md",
    "sourceDocsEvidence": "https://jsonx.net/intent/generative-ui-plugin/submission-artifacts/current/source-docs-evidence.json"
  },
  "releaseNotes": "Initial community submission of the JSONX Generative UI Claude Code plugin.",
  "manualBeforeSubmit": [
    "Install or update Claude Code.",
    "Review the latest claude-validation-evidence.json and rerun claude plugin validate ./plugins/claude-jsonx-generative-ui-plugin before final submission.",
    "Run a local session with claude --plugin-dir ./plugins/claude-jsonx-generative-ui-plugin and smoke test /jsonx-generative-ui:jsonx-generative-ui.",
    "Confirm marketplace publisher and support details in the submission form."
  ],
  "sourceDocsChecked": [
    "https://code.claude.com/docs/en/plugins",
    "https://code.claude.com/docs/en/plugin-marketplaces",
    "https://github.com/anthropics/claude-plugins-community",
    "https://code.claude.com/docs/en/skills",
    "https://code.claude.com/docs/en/cli-reference"
  ]
}
