Free OpenClaw skill · No signup · v1.0.0

Free OpenClaw Skill for Vintage Resale Stores: Multi-Channel and Authentication Agent (Download)

A working OpenClaw skill that runs the multi-channel and authentication back office for a vintage resale store. eBay, Grailed, Depop, Poshmark cross-listing, Entrupy authentication queue, consignor payout cadence, and Buya marketplace integration, all from one SKILL.md drop-in.

Built and maintained by Adhiraj Hangal, OpenClaw Consult. Code I wrote runs inside OpenClaw's source, merged by the project's creator.

Free OpenClaw skill for vintage resale stores

13 KB file. Free for any use. Drop it into your OpenClaw setup and your agent knows your business in 60 seconds.

v1.0.0

We email you a copy plus the install notes. One email, no list, no spam.

What this skill does for your vintage resale stores

  • Maintains the cross-channel listing inventory across eBay, Grailed, Depop, Poshmark, and Buya; pulls a SKU from all channels in under 90 seconds when it sells anywhere.
  • Runs the Entrupy authentication queue: which items need authentication, what is the expected authentication-cost vs sale-price margin, when did the lab return the report.
  • Owns the consignor payout cadence: per-consignor net-of-fees ledger, monthly statement draft, dispute handling for returned or damaged consigned items.
  • Drafts platform-specific listings: eBay long-form with measurements and flaw transparency, Grailed condition-graded copy, Depop younger-buyer voice, Poshmark hashtag pack.
  • Routes every customer-facing message that touches authentication disputes, consignor payouts over the threshold, or chargebacks to a human; flips routine listing and shipping replies to autonomous after validation.

What's inside this OpenClaw skill

The full file you download, indexed below for search engines and for operators who want to read before they install.

---
name: vintage-resale-coordinator
description: Cross-channel listing, Entrupy authentication, and consignor payout coordination for vintage resale stores. Integrates with ConsignCloud, RICS, eBay, Grailed, Depop, Poshmark, Buya, Entrupy.
version: 1.0.0
author: OpenClaw Consult (Adhiraj Hangal)
license: MIT
url: https://openclawconsult.com/skills/vintage-resale-stores
---

# OpenClaw Skill: Vintage Resale Multi-Channel and Authentication Coordinator

## Overview

This skill turns the OpenClaw agent into the multi-channel and authentication
back office for a vintage resale store. It owns cross-listing across eBay,
Grailed, Depop, Poshmark, and Buya, the Entrupy authentication queue for
luxury items, the consignor payout cadence, and the channel-specific listing
voice.

The two big back-office failures in resale are the duplicate-sold scramble
when the same item sells on two channels at once, and the consignor payout
drift that happens when the bookkeeping is in a spreadsheet that nobody owns.
This skill keeps both clean.

Designed for single-location and small-chain vintage resale stores running
ConsignCloud or RICS, with active listings across at least two of eBay,
Grailed, Depop, Poshmark, and Buya.

## What this skill does

1. Cross-channel inventory sync: pull a SKU from all channels in 60 to 90 seconds when it sells anywhere
2. Channel-specific listing draft: eBay long-form, Grailed graded, Depop short, Poshmark hashtags
3. Entrupy authentication queue management for luxury inbound
4. Consignor payout ledger: per-consignor net-of-fees statement, monthly cadence
5. Dispute and damaged-item handling routed to the owner
6. Cross-channel customer memory for repeat buyer recognition

## Triggers

```yaml
triggers:
  - type: heartbeat
    schedule: "0 18 * * 0"          # Sundays 6pm
    action: weekly_cross_channel_sync_and_listing_queue

  - type: heartbeat
    schedule: "0 8 15 * *"          # 15th of each month
    action: draft_consignor_payout_statements

  - type: heartbeat
    schedule: "0/5 * * * *"         # Every 5 minutes during open hours
    action: poll_channels_for_new_sales

  - type: on_event
    event: channel.sold_event
    action: pull_listings_from_other_channels

  - type: on_event
    event: pos.luxury_item_intake
    action: route_to_entrupy_queue

  - type: on_event
    event: entrupy.report_received
    action: log_authentication_result_and_update_listing
```

## Workflow: cross-channel inventory sync

When any channel fires a sold event:

1. Match the sold SKU to the cross-channel listing map
2. Issue end-listing or quantity-decrement API calls to the other channels within 60 to 90 seconds
3. Verify each pull-down succeeded; log any failure for retry
4. If a duplicate-sold race condition is detected (two channels sold within the polling window), flag for owner decision
5. Update the consignment software (ConsignCloud / RICS) inventory status

The duplicate-sold race is unavoidable on hot inventory. The skill catches the
common case where one channel sells and the others have 60 to 90 seconds of
exposure, but a true simultaneous sale across two channels still requires
owner intervention. The owner picks which buyer gets the item; the skill
drafts the cancellation message to the other buyer with a discount-on-
substitute offer.

## Workflow: channel-specific listing draft

When new inventory enters the system (intake record with photos, measurements,
condition notes), the skill drafts platform-specific listings:

```yaml
listing_styles:
  ebay:
    voice: long_form_descriptive
    requires: [full_measurements, flaw_disclosure, provenance, return_policy]
    keywords: [brand, era, style, fabric_content, condition_grade]

  grailed:
    voice: menswear_graded
    requires: [pit_to_pit, length, sleeve, shoulder, condition_grade, designer_archive_reference]

  depop:
    voice: short_form_trend
    requires: [vibe_descriptor, trend_hashtag_pack, styling_suggestion]

  poshmark:
    voice: hashtag_heavy_styling_tip
    requires: [styling_tip, hashtag_pack_of_20_to_30, brand_listing]

  buya:
    voice: jewelry_luxury_clinical
    requires: [metal_content, stone_specs, hallmark_documentation, certified_appraisal_link_if_applicable]
```

The same intake record produces 5 channel-specific drafts. The owner reviews
once. The skill posts when approved.

## Workflow: Entrupy authentication queue

For luxury intake (LV, Goyard, Hermes, Chanel, Dior, Gucci, Prada, Fendi,
Balenciaga, Saint Laurent, designer streetwear), the skill:

1. Routes to the Entrupy queue with the item details and photos
2. Computes the authentication-cost vs expected-sale-price margin
3. Surfaces items where authentication is not economic (low expected sale price)
4. Logs the Entrupy report when it returns
5. Embeds the Entrupy certificate of authenticity into the channel listings

Default rule: authenticate any LV, Hermes, Chanel, or Dior over $300 expected
sale price. Authenticate any other designer over $500. Below those thresholds,
sell with photo-based authentication notes and accept the buyer-side risk
that some channels (Poshmark, Depop) will not authenticate themselves.

## Workflow: consignor payout cadence

On the 15th of each month, the skill:

1. Pulls every sold item from the prior month tagged to a consignor
2. Computes the gross sale, platform fee, in-house commission split, net payable
3. Drafts the consignor statement with line-item detail
4. Surfaces consignors above the configured threshold (default $500) for owner sign-off
5. Routes statements below the threshold to autonomous send (after validation period)

The consignor statement is the most under-managed bookkeeping output in resale.
Consignors who do not get a clean monthly statement stop bringing inventory.

## Memory keys

```yaml
memory:
  - key: resale.cross_channel_listing[{sku_id}]
    description: Per-SKU listing map across channels
    schema: { ebay_id: string, grailed_id: string, depop_id: string, poshmark_id: string, buya_id: string, last_synced: datetime }

  - key: resale.consignor_ledger[{consignor_id}]
    description: Per-consignor running ledger
    schema: { items_active: number, items_sold_mtd: number, gross_mtd: number, net_payable_mtd: number, last_paid: date }

  - key: resale.entrupy_queue[{sku_id}]
    description: Authentication queue status
    values: [queued, in_transit_to_lab, in_review, passed, failed, returned_no_authenticate]

  - key: resale.duplicate_sold_log[{conflict_id}]
    description: Duplicate-sold race conditions for owner resolution
    schema: { sku: string, channel_a: string, channel_b: string, time_delta_seconds: number, resolution: string }
```

## Message templates

```yaml
templates:
  duplicate_sold_buyer_cancellation:
    channel: email
    body: |
      Hi {buyer_first_name},

      I am so sorry. The {item_name} you bought sold to another customer on
      a different platform within the same minute. We have refunded your order
      in full ({refund_amount}) and want to make it right. Here is a 15% off
      code for your next purchase: {discount_code}

      A few similar items currently in stock:
      {substitute_suggestions}

      Reach back if anything catches your eye and I will personally ship it
      with priority.

      {shop_owner_first_name}
      {shop_name}

  consignor_monthly_statement:
    channel: email
    subject: "{shop_name} consignor statement: {month_name}"
    body: |
      Hi {consignor_first_name},

      Your {month_name} consignor statement is attached.

      Summary:
      - Items sold: {items_sold_count}
      - Gross sales: {gross_sales}
      - Platform fees: {platform_fees}
      - In-house commission: {in_house_commission}
      - Your net payable: {net_payable}

      Payment will arrive via {payout_method} by {payout_date}.

      Full line-item detail below:
      {line_items_table}

      Reach back any time with questions on a specific line.

      {shop_owner_first_name}
      {shop_name}

  entrupy_pass_listing_update:
    channel: internal
    body: |
      Entrupy report received: PASS
      Item: {item_name}, SKU: {sku_id}
      Certificate: {entrupy_certificate_id}

      Updated listings to include the Entrupy authentication line on all
      channels: {channels_updated}
```

## Required integrations

| Integration              | Purpose                                       | Read | Write |
|--------------------------|-----------------------------------------------|------|-------|
| ConsignCloud / RICS      | Consignment ledger and inventory              | yes  | optional |
| eBay Trading API         | Listing CRUD                                  | yes  | yes   |
| Grailed Seller API       | Listing CRUD                                  | yes  | yes   |
| Depop API                | Listing CRUD                                  | yes  | yes   |
| Poshmark                 | Listing CRUD (via API or extension bridge)    | yes  | yes   |
| Buya                     | Listing CRUD (jewelry channel)                | yes  | yes   |
| Entrupy API              | Authentication submission and report retrieval| yes  | yes   |
| OpenClaw Memory          | Cross-channel state                           | yes  | yes   |
| OpenClaw Heartbeat       | Polling and monthly payout cadence            | yes  | yes   |

Write-back to ConsignCloud and RICS starts disabled. The skill drafts inventory
status updates; the owner commits.

## Compliance notes

Cross-channel selling triggers each platform's policy enforcement. eBay and
Grailed both have anti-cross-listing detection that can flag accounts for
duplicate listings. The skill's pull-down speed (60 to 90 seconds typically)
keeps duplicate-listing exposure short, but the owner remains responsible for
each channel's policy compliance.

Consignor payouts are typically taxable income to the consignor. The skill
maintains 1099-relevant gross totals per consignor for end-of-year reporting.
It does not file 1099-K or 1099-MISC; the owner's accountant does.

## Configuration

```yaml
config:
  shop_name: "Your Resale Shop"
  consignment_software: consigncloud  # or "rics", "simpleconsign", "liberty"
  channels_active: [ebay, grailed, depop, poshmark, buya]
  consignor_split_default: 0.55     # consignor gets 55%, shop gets 45%
  payout_day_of_month: 15
  payout_threshold_owner_review_usd: 500
  entrupy_threshold_top_luxury_usd: 300
  entrupy_threshold_other_designer_usd: 500
  channel_polling_interval_minutes: 5
  approval_mode: owner_approves_all   # or "autonomous_after_2_weeks"
```

## Quick install

```bash
mkdir -p ~/.claude/skills
mv vintage-resale-stores.md ~/.claude/skills/vintage-resale-coordinator.md
# Edit the config block to match your shop
```

Launch OpenClaw and the skill is live. Trigger it manually with `sync cross channel inventory`
or `draft consignor statements` or wait for Heartbeat.

## Want it wired to your stack?

The free SKILL.md is the starting point. If you want this plugged into your
specific consignment software, your channel mix, your authentication partner,
your consignor terms, and your per-channel buyer voice, OpenClaw Consult ships
a fixed-price 14-day build.
https://www.adhirajhangal.com/work

Install in 60 seconds

  1. 1

    Drop the file into your OpenClaw skills directory

    Save the downloaded vintage-resale-stores.md as ~/.claude/skills/vintage-resale-coordinator.md (or your project-level .claude/skills/ if you run multiple storefronts). OpenClaw picks up new skill files on next agent launch.

  2. 2

    Connect your consignment software and channel APIs

    Edit the integrations block to point at your ConsignCloud or RICS export, plus your eBay developer API, Grailed seller token, Depop API access, Poshmark Posh Stories API or browser-extension bridge, and Buya merchant key. Add your Entrupy API key if you authenticate inbound luxury items. Read-only is enough to start.

  3. 3

    Launch in owner-approval mode, validate, then go autonomous on routine traffic

    Start with the owner approving every cross-listing and every consignor payout statement for two weeks. The skill defaults route authentication disputes, consignor payouts over $500, and any chargeback to a human. After two weeks, flip routine listing drafts and shipping replies to autonomous.

Example conversation

You

Sunday night. Sync cross-channel inventory and queue this week's listings and consignor payouts.

Agent

Cross-channel sync complete. 47 sold items confirmed across the week: 22 on eBay, 14 on Grailed, 6 on Depop, 4 on Poshmark, 1 on Buya. All 47 pulled from the other channels within the typical 60 to 90 second window. 6 SKUs got duplicate-sold alerts (sold simultaneously on two channels); 4 were caught in time and one channel order was cancelled by the agent, 2 escalated to you for a buyer-pick decision. Listing queue: 18 new intake items photographed and measured this weekend, drafted channel-specific listings for each: eBay long-form with all measurements, Grailed condition-graded copy, Depop short-form with the hashtag pack, Poshmark with the trending hashtag set. 4 luxury items routed to the Entrupy queue (1 Goyard, 2 Hermes silks, 1 Louis Vuitton speedy 30). Consignor payouts: 23 consignors hit the monthly payout window, drafted statements with the net-of-fees ledger. 2 consignors are above the $500 threshold and surfaced for your sign-off before disbursement.

Founder-led · 14 days

Want this multi-channel and authentication coordinator live in your vintage resale store in 14 days?

Adhiraj ships OpenClaw AI agents into real businesses. Short discovery to map it to ConsignCloud or RICS, eBay, Grailed, Depop, Poshmark, and Entrupy, build in 14 days, then optional ongoing support so your OpenClaw system keeps working.

Build it with me

Common questions

Which consignment software does this work with?

+

ConsignCloud and RICS both have first-party integration prompts in the SKILL.md. ConsignCloud is the most common in modern resale shops, RICS is common in larger multi-location operations. For SimpleConsign and Liberty Consignment the skill ships read-only via CSV export. For stores running on spreadsheets alone, the skill consumes a Google Sheets feed.

How does cross-channel pull-down actually work?

+

Each channel (eBay, Grailed, Depop, Poshmark, Buya) gets polled at staggered intervals. When the agent detects a sold item on any channel, it issues end-listing API calls to the other channels within 60 to 90 seconds. The duplicate-sold race is unavoidable on hot inventory; the skill catches most cases but cannot eliminate the race entirely. The skill maintains a duplicate-sold ledger and surfaces conflicts to the owner.

Does this handle Entrupy authentication for luxury items?

+

Yes. The skill maintains a queue of items routed for Entrupy authentication, tracks lab return times, computes the authentication-cost vs sale-price margin, and surfaces items where authentication is not economic. It does not perform the authentication, that stays with Entrupy.

What about the consignor payout cadence?

+

The skill maintains a per-consignor ledger of items sold, gross sale price, platform fees, in-house commission split, and net payable. On the configured payout day (default 15th of the month), it drafts the consignor statement with line-item detail and the total payable. The owner reviews and disburses via ACH, check, or store credit. Disputes and damaged-item handling stay in the owner's hands.

How does the platform-specific listing voice work?

+

Each channel has a different buyer profile. eBay buyers want long-form descriptions with every measurement, every flaw, and verifiable provenance. Grailed buyers want condition-graded copy in the menswear vocabulary. Depop buyers respond to short-form and trend hashtags. Poshmark buyers want hashtags and styling-tip copy. The skill drafts each version from the same source intake record.

Will this work for stores that do consignment, buy-outright, or both?

+

Both. The skill ships with a default split where consignment and buy-outright inventory both track through the same listing and shipping pipeline, but only consignment inventory triggers the consignor payout cadence. Stores that only buy outright still get the cross-channel listing, Entrupy queue, and shipping workflow.

Can I modify this skill?

+

Yes. MIT licensed. Edit the channel polling intervals, the Entrupy threshold for what gets authenticated, the consignor split percentages, the payout schedule, the listing voice per channel. Most stores fork it within the first month.

What does the skill cost to run on top of OpenClaw?

+

Token cost depends on inventory turnover and listing volume. A representative resale shop with 2,000 active SKUs across 4 channels sees expected monthly token spend in the $50-$120 range using OpenClaw's default model selection.

How is this different from Vendoo, List Perfectly, or CrossListed?

+

Vendoo, List Perfectly, and CrossListed are excellent cross-listing tools. The OpenClaw skill is the layer on top that reasons about Entrupy authentication economics, consignor payout disputes, duplicate-sold race recovery, and per-channel buyer voice. Many stores keep their cross-listing tool and add this skill on top for the judgment work.

Can OpenClaw Consult build a customized version for my store?

+

Yes. The free SKILL.md is the starting point. If you want it wired into your specific consignment software, your channel mix, your authentication partner, your consignor terms, and your buyer voice per channel, we run a 14-day fixed-price build at adhirajhangal.com/work.

Want the full implementation playbook?

Read the deep-dive guide for vintage resale stores

The playbook covers workflows, software integrations, compliance, ROI math, and a four-week rollout plan. The skill file above is a working slice of that build.

Read the vintage resale stores playbook →

Related free skills

Want it wired to your stack?

The free skill is the starting point. If you want it plugged into your actual software, on a fixed-price two-week clock, with the founder writing every line, this is the door.