This site is private. Enter the password to continue.
A practical guide to publishing your first package — and making it good enough that buyers actually trust it.
To get a package through the audit at 60+, you need:
ark.json with all required fieldsCLAUDE.md with actual content (not just a template header)bin/install.sh (bash -n must pass)The README appears on your marketplace page. It's the first thing buyers read. It should cover: what the package does, who it's for, how to use it after install, and any requirements or limitations.
A README with at least 3 sections and 200+ words typically adds 4–5 points to D4 Completeness.
A missing bin/verify.sh costs you 4 points in D5. It takes 5 minutes to write and is one of the easiest wins:
#!/usr/bin/env bash set -euo pipefail # Check your key file is in place if [[ ! -f "$HOME/.claude/skills/my-skill.md" ]]; then echo "✗ Installation incomplete"; exit 1 fi echo "✓ Verified"; exit 0
An idempotent installer can run multiple times without breaking anything. This adds 4 points to D5. The key pattern: always use mkdir -p and cp -f or check before creating.
# Good — safe to run multiple times mkdir -p "$HOME/.claude/skills" cp -f CLAUDE.md "$HOME/.claude/skills/my-skill.md" # Bad — will fail if directory exists mkdir "$HOME/.claude/skills" cp CLAUDE.md "$HOME/.claude/skills/my-skill.md"
Every bash script in your package should start with this line. It exits on error, treats unset variables as errors, and catches pipeline failures. 3 points in D3, and it prevents bugs.
Static audit excludes D6. If you're close to a tier boundary (e.g., 78/90 normalized to ~87), running the full audit might push you into the 90+ Gold tier. The cost is a few cents in Claude tokens.
$ ark audit --full --save
After ark publish:
pending_review statusark install| Reason | Fix |
|---|---|
| Description doesn't match content | Update description to be accurate |
| Package is just a renamed template | Add real domain-specific content |
| Price too high for content quality | Improve package or choose lower price |
| Missing basic functionality | Test your package before publishing |