agentsclimarketplace

Ebay prepare listing

Skill glebmish/lifeops-skills/plugins/ebay-listing/skills/ebay-prepare-listing

Create an eBay listing from photos and a description — research item, verify specs, check sold comps, produce listing.json. Use when the user wants to sell something, list an item on eBay, or says things like "sell this", "list this on eBay", "how much is this worth", or provides photos of items they want to sell.From its SKILL.md

Install
npx -y skills add glebmish/lifeops-skills --skill ebay-prepare-listing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Prepare eBay Listing

Photos + description → research → interactive Q&A → validated listing.json.

Input

User provides:

  • Photos — pasted into chat (you'll see source paths) or file paths
  • Description — free text, 1-3 sentences about the item. May be passed as $ARGUMENTS.

Steps

Follow this exact order. Do not skip steps or reorder.

  1. Create listing directory. Generate a short slug from the user's description: 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.

  2. Copy photos into photos/ with their original filenames.

  3. Write input.txt with the seller's description.

  4. Examine every photo. Read each image in 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.

  5. Identify the item — brand, model, variant, generation. Use visible text, labels, and design cues from the photos combined with the seller's description.

  6. STOP. Confirm identification with the seller. Ask: "I believe this is [identification]. Is that correct?" Do not proceed until confirmed.

  7. Search the web for full specs from authoritative sources (manufacturer site, GSMArena, etc.). Save 1-3 reference URLs.

  8. Assess condition from each photo — note any visible damage, wear, scratches, missing parts.

  9. STOP. Ask the seller about item state. Ask about: damage, wear, missing parts, accessories included, battery health if applicable. Also ask any other clarifying questions. Do not proceed until answered.

  10. Search eBay sold listings for pricing data. Find recently sold comparable items. Record comps. If none can be found (rare items, fresh release with no resale market yet), leave 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.

  11. Write listing.json. Follow the schema in ${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.

  12. Run validation:

    python3 ${CLAUDE_SKILL_DIR}/scripts/validate_listing.py listings/<slug>-<YYYY-MM-DD>/listing.json
    

    Fix any errors and re-validate. If validation still fails after the second attempt, stop and report to the seller — don't loop indefinitely.

  13. Present a summary to the seller: title, price with comps, condition, and any notes. Include reference URLs and comp URLs as clickable links so the seller can verify the research.

Rules

  • No marketing fluff. Descriptions are factual — specs, condition, what's included. No "perfect for", "stunning", "excellent choice", or any sales language. Buyers on eBay want facts, not pitches.
  • Don't guess specs. If you can't confirm a spec from an authoritative source, leave it out and mention it to the seller. Wrong specs erode buyer trust and lead to returns.
  • Be honest about condition. If you see a scratch, call it a scratch. Buyers trust honest sellers, and under-disclosing damage leads to disputes.
  • Price from data, not intuition. Always check eBay sold listings before setting a price — the market decides what something is worth.
  • Use round prices. No .99 or .95 pricing tricks — use whole numbers (e.g., £20, not £19.99).
  • Two mandatory stops. Steps 6 and 9 require seller confirmation before continuing. Getting these wrong wastes all the research work that follows.
  • Never delete published.json. If it exists in the listing directory, the listing is already live on eBay. Do not overwrite, delete, or recreate it. Only the post-listing skill writes published.json.
  • Preserve posting state. When writing or editing 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.

Schema

Read ${CLAUDE_SKILL_DIR}/schema/reference.md for the full listing.json schema, field descriptions, and example.

What ships with it: 3 files

17.9 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 326,851. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.