Install
openclaw skills install skill-market-publisherPublish, submit, and verify local skills across public skill marketplaces, directories, and registries. Use when an agent needs to take a skill folder or skill repository, confirm current submission paths, prepare cross-market metadata, run verified live adapters, or generate manual submission bundles for markets such as AgentSkill.sh, Skillstore, SkillNet, agent-skills.md, SkillsMD, SkillHub, SkillHQ, and related registries.
openclaw skills install skill-market-publisherUse this skill to turn one local skill folder into a reusable market release plan. Keep the skill itself timeless: document current submission surfaces, verification patterns, and adapter logic, but keep one-off submission IDs, sample URLs, and dated field logs outside the reusable skill folder.
python3 scripts/skill_market_publish.py recon
python3 scripts/skill_market_publish.py plan /abs/path/to/skill \
--repo-url https://github.com/owner/repo \
--git-ref main \
--tag automation \
--tag research
python3 scripts/skill_market_publish.py bundle /abs/path/to/skill \
--repo-url https://github.com/owner/repo \
--git-ref main \
--author-email you@example.com \
--version 0.1.0 \
--skillz-category automation \
--bogen-category development \
--a2a-category research \
--a2a-price 9.0 \
--a2a-seller 0xYourWalletAddress \
--out-dir /tmp/skill-market-bundle
--execute.python3 scripts/skill_market_publish.py publish agentskill-sh /abs/path/to/skill \
--repo-url https://github.com/owner/repo \
--execute
Verify the result using the market-specific checks in references/verification-playbook.md.
When a market still needs browser-side login or form interaction, open the tracked submit pages and use the printed checklist:
python3 scripts/open_manual_submit_pages.py \
--repo-url https://github.com/owner/repo \
--git-ref main \
--skill-path /abs/path/to/skill-a \
--skill-path /abs/path/to/skill-b
Treat the publishable unit as one skill folder containing SKILL.md.
SKILL.md contentRun inspect or plan first. The bundled CLI classifies the current repository as:
single-skill-reporoot-packskills-subdir-packnested-skill-dirstandalone-skill-dirSome markets accept any repository URL. Others currently prefer a repository with a top-level skills/ directory. When layout and market expectations conflict, create a mirror or release repository instead of reshaping the source repository for one listing.
Treat submit-page copy as a hint, not proof. Some live backends accept root-pack repositories even when the visible page copy talks about a repo-root skills/ directory. Verify layout assumptions from the live preview, submit response, or public read API before forcing a mirror.
Use automated publishing only for targets that are currently verified in references/market-matrix.md.
Current modes:
auto-cli: official CLI publishing wrapped by this skillauto-http: stable HTTP form or API submission wrapped by this skillmanual-web: browser submission workflow with no stable documented endpoint in this skillindex-only: discovery depends on installability, GitHub App ingestion, or passive indexing rather than explicit submissionincompatible: expects a different artifact format than a plain skill folderneeds-recon: public site exists, but the current publish path is not verifiedSome markets also expose official CLI or seller dashboards that this skill records but does not proxy. Treat those as documented manual flows unless the bundled CLI explicitly supports them.
Provide explicit values for market-only fields instead of guessing.
--version for ClawHub publishing.--repo-url. Override --author-name only when you need a different public identity.--author-email and --skillz-category for Skillz Directory.research, browser, or another domain label you want, choose the closest supported value or other instead of inventing one.--a2a-price, --a2a-category, and --a2a-seller for A2A Market.--git-ref when the bundle should include stable GitHub blob and raw SKILL.md URLs, or when a market benefits from a folder-scoped GitHub tree URL.tree/<ref>/<path> URLAccepted input alone does not prove scoping. Some markets accept a folder URL but still ingest the entire repository pack.
Run plan after setting these fields. The CLI reports missing inputs and layout blockers per market.
Use bundle before live submission. The bundle gives you:
Use the bundle as an operator review packet, not just a payload dump. Before live submit, check that it exposes:
SKILL.md URLUse this order:
inspectplanbundlepublish <market> without --executepublish <market> with --executeDo not claim one-click support for a market marked manual-web, index-only, incompatible, or needs-recon.
Interpret live responses by semantics, not by HTTP status alone:
alreadyExists or updated often means the market recognized an existing public listing.processing or submission received means the intake pipeline accepted the request, not that the listing is public yet.Keep reusable skill docs free of sample-specific evidence.
inspectParse frontmatter, derive summary text, detect repository layout, and show normalized metadata.
planBuild a readiness matrix for known markets and report missing fields or layout warnings.
bundleWrite a reusable submission bundle containing:
manifest.jsonmarket-plan.jsonpublish <market>Supports live execution only when --execute is present.
Wrapped live targets:
clawhubagent-skills-mdagentskill-shskillz-directoryskillstore-ioskills-reskills-shskillsmd-devbogen-aiskillsrepa2a-marketreconFetch known market pages and check expected markers. Run this when a marketplace may have changed since the last verification pass.
open_manual_submit_pages.pyOpen the current manual-web submit pages in the default browser, print a short per-site checklist, and optionally print exact folder and SKILL.md URLs for the skills being submitted.
SKILL.md URLs when the market supports deep links.recon before changing adapters or writing claims about current support.