ebay-prepare-listing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ebay-prepare-listing (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Photos + description → research → interactive Q&A → validated listing.json.
User provides:
$ARGUMENTS.Follow this exact order. Do not skip steps or reorder.
listings/<slug>-<YYYY-MM-DD>/. The slug must match [a-z0-9-]+ (lowercase letters, digits, and hyphens only — no spaces, dots, slashes, or shell metacharacters). A rough name from the description is fine (e.g., listings/carbon-handlebar-2026-03-21/). Create photos/ inside it.photos/ with their original filenames.photos/. Rename files to short meaningful names that describe what the photo shows (e.g., front.webp, back.webp, scratch-left.webp, ports.webp). Filenames must be plain basenames matching [a-z0-9-]+\.(webp|jpg|jpeg|png) — no directory components, no .., no spaces or shell metacharacters. The validator rejects anything else.price.comparable_sales as an empty array and note the lack of comps to the seller — it's valid, but pricing will be a judgment call rather than data-driven.${CLAUDE_SKILL_DIR}/schema/reference.md exactly. The file contains both buyer-facing fields (title, description, condition, price, specs, photos) and internal fields (price.comparable_sales, references, ebay_url, ebay_item_id). Buyer-facing fields appear on eBay — quality matters. Internal fields support the seller's workflow — they're for provenance and posting state, not shown to buyers. python3 ${CLAUDE_SKILL_DIR}/scripts/validate_listing.py listings/<slug>-<YYYY-MM-DD>/listing.jsonFix any errors and re-validate. If validation still fails after the second attempt, stop and report to the seller — don't loop indefinitely.
published.json.listing.json, preserve existing ebay_url and ebay_item_id values. Clearing these breaks the link between the local listing and the live eBay item.Read ${CLAUDE_SKILL_DIR}/schema/reference.md for the full listing.json schema, field descriptions, and example.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.