Skip to main content

Submit Skill (Admin)

Create or update a partner skill submission in draft state. Returns Stage-1 lint inline. Requires an admin-scoped API key. Per spec §6.2, the response carries {submissionId, status: 'draft', validationSummary}.

Parameters

NameTypeDefaultDescription
submissionIdstring-
name Requiredstring-
slug Requiredstring-
description Requiredstring-
heroCopy Requiredstring-
markdownBody Requiredstring-
toolAllowlistarray[]
marketingUseCasesarray[]
marketingUseCases[].title Requiredstring-
marketingUseCases[].description Requiredstring-
useCasesarray[]
meshCategorystring-
screenshotUrlstring-
versioninteger1
changelogstring-

Use Cases

  • Create a new partner skill submission in draft, with inline Stage-1 lint feedback
  • Update an existing draft skill's markdown or tool allowlist (pass its submissionId)

Example Usage

Create a skill draft

{
"tool": "admin_submit_skill",
"arguments": {
"name": "Competitive Teardown",
"slug": "competitive-teardown",
"description": "A skill that structures a competitor teardown.",
"heroCopy": "Structure a competitor teardown in minutes.",
"markdownBody": "# Competitive Teardown\nGather firmographics, spend, and intent, then summarize."
}
}

Response Format

FieldTypeDescription
submissionIdstring | nullUUID of the created/updated submission. Null only on the pre-write slug_collision path (validationSummary carries a single slug_collision error).
statusstringSubmission state after this call.
validationSummaryobjectStage-1 lint result (same shape as validate_submission output). Absent on the happy path when no issues surfaced.
validationSummary.statusstring
validationSummary.issuesarray
validationSummary.issues[].codestringStable issue code (ISSUE_CODES).
validationSummary.issues[].severitystring
validationSummary.issues[].fieldstring
validationSummary.issues[].messagestring
validationSummary.issues[].fixHintstringActionable remediation hint for blocking issues.