ebay-post-listing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ebay-post-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.
Open eBay in the browser, fill the listing form from listing.json, stop at preview.
User specifies which listing to post (directory name under listings/, may be passed as $ARGUMENTS). If not specified, list available directories and ask.
A listing is ready to post if it has listing.json but no published.json. A listing has pending updates if listing.json differs from published.json.
Chrome extension conflicts: The Claude in Chrome extension uses Chrome's debugger API for screenshots and clicks. Other extensions (especially Grammarly, LastPass, MetaMask, AdBlock, NordVPN, React DevTools) can block this and cause "Cannot access a chrome-extension:// URL" errors. If you hit these errors, tell the user to disable conflicting extensions or open a clean Chrome window with google-chrome --disable-extensions.
ls the photos/ directory.https://www.ebay.co.uk/sl/prelist; use the seller's local eBay domain instead (.com, .de, .com.au, etc.) if they specified one, or if you can tell from listing.json's currency / language that another locale is intended. The prelist page has a search box — type the item title (or keywords) and click Search.a) Title — Update if needed to match listing.json exactly (use form_input on the title textbox).
b) Condition notes — If condition.notes exists in listing.json, find the condition description/notes text field in the Required section (near the Condition dropdown). Click the Condition dropdown, and look for a text area to enter condition notes. Type the notes from listing.json.
c) Item specifics — The form has Required, Recommended, and Additional sections.
listing.json specs to eBay fields: e.g., "6061-T6 Alloy" → "Aluminium", "Road Drop Bar" → "Drop Bar", Width → Item Length.d) Photos — Click "Upload from computer". This opens a native OS file dialog that cannot be automated. Tell the user to navigate to the photos/ directory and select the files. Provide the full path. Wait for user confirmation.
e) Description — Click in the rich text editor area and type the description from listing.json.
f) Pricing — The form defaults to eBay's recommended price. Click "Change" next to Pricing to expand the full pricing editor.
fixed_with_offers strategy: ensure Buy It Now is on and "Allow offers" is enabled. Click "More options" under pricing to find the Allow Offers toggle.auction strategy: toggle Auction on and set the starting bid.g) Returns — Always set to "No returns accepted". Scroll to the Delivery section and find the returns/listing preferences area. If returns are set to anything else, change them.
h) Shipping, location — Use eBay's defaults (Simple Delivery, buyer pays). Dismiss any info popups ("Got it").
a) Navigate to the eBay listing URL the user provided.
b) Scrape the listing page to capture what actually went live:
c) Build `published.json` — start with a copy of listing.json, then add:
{
"ebay_url": "https://www.ebay.co.uk/itm/...",
"ebay_item_id": "394754829351",
"ebay_details": {
"condition_ebay": "Used",
"returns": "No returns accepted",
"postage": "Standard Tracked Delivery, buyer pays £2.94",
"collection": "Click & Collect, £2.26",
"location": "London, United Kingdom",
"duration": "Good 'Til Cancelled",
"listed_date": "2026-03-22",
"item_specifics_submitted": {
"Brand": "Bontrager",
"Material": "Aluminium",
"...": "..."
}
}
}d) Also update `listing.json` with ebay_url and ebay_item_id (but NOT ebay_details — that's only in published.json).
When published.json exists and differs from listing.json:
ebay_url from published.json. Click "Revise listing" or similar edit action.published.json (same scrape process as step 8 above).~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.