Skip to content
Back to skills

Skill Marketplace Publisher

ASecurity

Publish a Codex or Claude skill to Skillstore, SkillMap, or similar public skill marketplaces. Use when you need to audit a skill for public safety, build a public package, create a public GitHub repo, or submit a repo URL to marketplace intake endpoints.

  • 416 stars
  • 0 votes
  • 0 copies
  • 12 views
  • Added June 2, 2026
ai-agentspythongobashgit

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned June 2, 2026

npx -y skills add aiskillstore/marketplace --skill skill-marketplace-publisher --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Marketplace Publisher?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Skill Marketplace Publisher
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiskillstore-skill-marketplace-publisher/badge)](https://www.skillsdirectory.com/skills/aiskillstore-skill-marketplace-publisher)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: skill-marketplace-publisher
description: Publish a Codex or Claude skill to Skillstore, SkillMap, or similar public skill marketplaces. Use when you need to audit a skill for public safety, build a public package, create a public GitHub repo, or submit a repo URL to marketplace intake endpoints.
---

# Skill Marketplace Publisher

## Overview

Use this workflow when a local skill should become a public, reviewable marketplace submission.
It covers four things end-to-end: public-safety audit, public packaging, GitHub publication, and marketplace submission.

This skill is optimized for:

- `Skillstore` self-serve submission
- `SkillMap` listing request via its current public intake channels
- any future marketplace that expects a public GitHub repo with a valid `SKILL.md`

## Required Inputs

Before running the workflow, confirm:

1. the source skill path
2. the target marketplace list
3. the public GitHub repo owner/name
4. whether the source skill is already public-safe or must be packaged in `public` mode first

If the user asks to publish a skill but does not say otherwise, assume:

- target mode: `public`
- source of truth stays in `ai-shared/skills/`
- packaged output goes to `ai-shared/skill-packages/`

## Workflow

### Step 1: Audit Public Safety

Run the local scanner first. It looks for secrets, local absolute paths, secret-hub references, and obvious non-portable material.

```bash
python3 scripts/public_skill_audit.py /absolute/path/to/skill
```

Interpretation:

- no `HIGH` findings: okay to continue
- `HIGH` findings: stop and sanitize first
- `MEDIUM` findings: review manually before publishing

If the skill references shared secrets, local private paths, or owner-only runtime assumptions, do not publish the source folder directly.

### Step 2: Decide Source vs Public Package

If the skill is already self-contained and clean, you may publish the source skill directory directly.

If the skill is not obviously portable, package it in `public` mode:

```bash
python3 ../../skill-package/scripts/skill_package.py analyze /absolute/path/to/skill
python3 ../../skill-package/scripts/skill_package.py build /absolute/path/to/skill --mode public
```

Use the packaged output as the publishable artifact for marketplaces.

Default packaged output root is the shared `skill-packages/` directory configured by the local `skill-package` workflow.

### Step 3: Validate Skill Metadata

Public submissions should include:

- a valid `SKILL.md` with frontmatter `name` and `description`
- supporting files referenced by the skill
- `agents/openai.yaml` when available
- a permissive repo-level license such as `MIT` or `Apache-2.0`

Validate the skill structure before publishing:

```bash
python3 ../skill-creator/scripts/quick_validate.py /absolute/path/to/skill-marketplace-publisher
```

For the target skill, at minimum manually confirm:

- `SKILL.md` loads cleanly
- referenced scripts and documents exist
- no broken relative links remain after packaging

### Step 4: Publish to a Public GitHub Repo

Create a clean git repo that contains either:

- the source skill folder, or
- the public package output

Typical flow:

```bash
mkdir -p /path/to/public-repo
rsync -a /path/to/publishable-artifact/ /path/to/public-repo/
cd /path/to/public-repo
git init
git checkout -b main
git add .
git commit -m "Publish skill for marketplace submission"
gh repo create <owner>/<repo> --public --source=. --remote=origin --push
```

If the skill lives inside a larger repo, marketplaces that support subdirectory URLs can accept a path such as:

```text
https://github.com/<owner>/<repo>/tree/main/path/to/skill
```

### Step 5: Submit to Skillstore

Skillstore has a real self-serve intake endpoint. Submit the public repo or public subdirectory URL:

```bash
python3 scripts/submit_marketplace.py skillstore \
  --repo-url https://github.com/<owner>/<repo>/tree/main/path/to/skill \
  --notes "Public-safe skill package prepared on 2026-03-26."
```

Expected result:

- JSON response with `success`
- a `submission_id`
- a status URL of the form `https://skillstore.io/submissions/<id>`

Save the submission ID and URL in the final delivery note.

### Step 6: Send SkillMap Listing Request

As of `2026-03-26`, SkillMap exposes public marketplace pages and public feedback/contact channels, but no clearly documented self-serve “publish skill” form was verified.

Use the feedback endpoint to send a listing request that includes:

- the public GitHub repo URL
- the skill summary
- installation notes if relevant

```bash
python3 scripts/submit_marketplace.py skillmap-feedback \
  --repo-url https://github.com/<owner>/<repo>/tree/main/path/to/skill \
  --skill-name <skill-name> \
  --email you@example.com
```

If needed, also use the contact email listed in `references/marketplaces.md`.

### Step 7: Record Outcome

For each marketplace, record:

- submitted URL
- submission/request timestamp
- returned submission ID or acknowledgement
- pending manual follow-up items

Formal delivery notes should be written to the user-facing outbox, not pasted only in chat.

## Decision Rules

- If the source skill contains any real secrets or private business logic, do not publish the source directly.
- If the skill depends on local-only files, prefer packaged `public` output.
- If the marketplace accepts only a repo URL, publish a dedicated clean repo.
- If the marketplace accepts a subdirectory URL, you may publish only the skill subtree.
- If a marketplace name cannot be verified with a public live submission path, mark it `unverified` and do not pretend it is a supported route.

## Current Marketplace Notes

Read these before claiming a marketplace is supported:

- `references/marketplaces.md`

Key current state:

- `Skillstore`: verified live submission route
- `SkillMap`: verified live marketplace plus verified public intake channels, but no confirmed self-serve listing form
- `CrowdHub`: unverified for this workflow as of `2026-03-26`

## Scripts

### `scripts/public_skill_audit.py`

Checks a skill tree for:

- likely secret values
- local absolute paths
- secret-hub references
- obvious non-portable content

### `scripts/submit_marketplace.py`

Supports:

- `skillstore` submission
- `skillmap-feedback` listing request

## References

- `references/marketplaces.md`: dated marketplace research and current submission paths

Files in this skill

  • SKILL.md6.2 KB
  • agents/openai.yaml240 B
  • references/marketplaces.md2.4 KB
  • scripts/public_skill_audit.py5 KB
  • scripts/submit_marketplace.py3.9 KB
  • skill-report.json15.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.