← Back to Skills Marketplace
crisanmm

Dupe

by crisanmm · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
1032
Downloads
4
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install dupe
Description
Uses dupe.com APIs in order to find similar products for the product found in the input URL given by the user.
README (SKILL.md)

Find Similar Products using dupe.com

When to use this skill

Use this skill when the user asks for similar products to the provided input.

Instructions

If you're given an URL that points to a product page

Run the following command to find similar products for a product URL. Replace the productUrl with the input URL given by the user.

You can optionally specify a limit parameter (default: 7) to control how many results are returned.

curl --request POST \
  --url https://api.dupe.com/api/dupes/agent-skill \
  --header 'Content-Type: application/json' \
  --data '{ "type": "product", "productUrl": "https://www.danishdesignstore.com/products/verner-panton-flowerpot-vp9-portable-light-andtradition?variant=40082482233421", "limit": 7 }'

If you're given an URL that points to an image

If you have a direct image URL instead of a product page URL, use the following command. Replace the imageUrl with the image URL.

You can optionally specify a limit parameter (default 7, max 20) to control how many results are returned.

curl --request POST \
  --url https://api.dupe.com/api/dupes/agent-skill \
  --header 'Content-Type: application/json' \
  --data '{ "type": "image", "imageUrl": "https://cdn.shopify.com/s/files/1/0051/9342/files/Flowerpot_VP9_Grey_Beige.jpg?v=1762309885", "limit": 10 }'

Response Format

Both commands will return a JSON object similar to the following:

{
  "matches": [
    {
      "pid": "W007402426",
      "position": -1,
      "score": 0.8438446,
      "title": "Ailaigh 21\" 2-Light Matte Pink Desk Lamp",
      "link": "https://www.wayfair.com/p/pdp/p-W007402426.html?dupe_feed=yes",
      "source": "Wayfair",
      "source_icon": "https://ik.imagekit.io/carrot/favicons/wayfair_K8DLd2c0q6.ico",
      "price": {
        "value": "$61.99",
        "extracted_value": 61.99,
        "currency": "$"
      },
      "thumbnail": "https://assets.wfcdn.com/im/19948387/resize-h1200-w1200%5Ecompr-r85/1789/178943170/.jpg",
      "image": "https://assets.wfcdn.com/im/19948387/resize-h1200-w1200%5Ecompr-r85/1789/178943170/.jpg",
      "country": "us",
      "type": "namespace",
      "identifier": "wayfair",
      "shopKey": "https://www.wayfair.com",
      "verified": true,
      "preferred": "#E2B719",
      "secondhand": false,
      "assessment": {
        "cost": 3,
        "value": 2.5,
        "quality": 2.5,
        "description": "Wide variety from multiple suppliers; mid-range durability at accessible prices."
      },
      "tier": 1,
      "pick": 1
    },
    {
      "pid": "KZCO2490_103256207",
      "position": -1,
      "score": 0.8656017,
      "title": "Hinata 5-In LED Table Lamp",
      "link": "https://www.wayfair.com/p/pdp/p-KZCO2490.html?piid=103256207&dupe_feed=yes",
      "source": "Wayfair",
      "source_icon": "https://ik.imagekit.io/carrot/favicons/wayfair_K8DLd2c0q6.ico",
      "price": {
        "value": "$76.03",
        "extracted_value": 76.03,
        "currency": "$"
      },
      "thumbnail": "https://assets.wfcdn.com/im/36975667/resize-h1200-w1200%5Ecompr-r85/3312/331272578/.jpg",
      "image": "https://assets.wfcdn.com/im/36975667/resize-h1200-w1200%5Ecompr-r85/3312/331272578/.jpg",
      "country": "us",
      "type": "namespace",
      "identifier": "wayfair",
      "shopKey": "https://www.wayfair.com",
      "verified": true,
      "preferred": "#E2B719",
      "secondhand": false,
      "assessment": {
        "cost": 3,
        "value": 2.5,
        "quality": 2.5,
        "description": "Wide variety from multiple suppliers; mid-range durability at accessible prices."
      },
      "tier": 1,
      "pick": 1
    },
    {
      "pid": "W112262897_1502032183",
      "position": -1,
      "score": 0.8248144,
      "title": "Pin Lamp",
      "link": "https://www.wayfair.com/p/pdp/p-W112262897.html?piid=1502032183&dupe_feed=yes",
      "source": "Wayfair",
      "source_icon": "https://ik.imagekit.io/carrot/favicons/wayfair_K8DLd2c0q6.ico",
      "price": {
        "value": "$485",
        "extracted_value": 485,
        "currency": "$"
      },
      "thumbnail": "https://assets.wfcdn.com/im/38563270/resize-h1200-w1200%5Ecompr-r85/3089/308988160/.jpg",
      "image": "https://assets.wfcdn.com/im/38563270/resize-h1200-w1200%5Ecompr-r85/3089/308988160/.jpg",
      "country": "us",
      "type": "namespace",
      "identifier": "wayfair",
      "shopKey": "https://www.wayfair.com",
      "verified": true,
      "preferred": "#E2B719",
      "secondhand": false,
      "assessment": {
        "cost": 3,
        "value": 2.5,
        "quality": 2.5,
        "description": "Wide variety from multiple suppliers; mid-range durability at accessible prices."
      },
      "tier": 1,
      "pick": 1
    },
    {
      "pid": "A111105718_577591818",
      "position": 3,
      "score": 0.86481184,
      "title": "Hinata 5-In LED Table Lamp",
      "link": "https://www.allmodern.com/p/pdp/p-A111105718.html?piid=577591818",
      "source": "ALLMODERN",
      "source_icon": "https://assets.wfcdn.com/st4/stores/common/mobile/touch_icons/allmodern_192x192.png",
      "price": {
        "value": "$77",
        "extracted_value": 77,
        "currency": "$"
      },
      "thumbnail": "https://assets.wfcdn.com/im/36975667/resize-h400-w400%5Ecompr-r85/3312/331272578/.jpg",
      "image": "https://assets.wfcdn.com/im/36975667/resize-h400-w400%5Ecompr-r85/3312/331272578/.jpg",
      "country": "us",
      "type": "namespace",
      "identifier": "allmodern-20250916",
      "shopKey": "https://www.allmodern.com",
      "verified": true,
      "preferred": null,
      "secondhand": false,
      "assessment": {
        "cost": 3,
        "value": 3,
        "quality": 3,
        "description": "Clean, contemporary focus; consistent build quality, fairly priced for modern style."
      },
      "tier": 2,
      "pick": 6
    },
    {
      "pid": "B110000080",
      "position": 12,
      "score": 0.71724176,
      "title": "Tulle Table Lamp W/USB Port",
      "link": "https://www.birchlane.com/p/pdp/p-B110000080.html?dupe_feed=yes",
      "source": "Birch Lane",
      "source_icon": "https://ik.imagekit.io/carrot/favicons/birchlane_ZUJBBVl0i.png",
      "price": {
        "value": "$119",
        "extracted_value": 119,
        "currency": "$"
      },
      "thumbnail": "https://assets.wfcdn.com/im/58164938/resize-h1200-w1200%5Ecompr-r85/3895/389585472/.jpg",
      "image": "https://assets.wfcdn.com/im/58164938/resize-h1200-w1200%5Ecompr-r85/3895/389585472/.jpg",
      "country": "us",
      "type": "namespace",
      "identifier": "birchlane-20250916",
      "shopKey": "https://www.birchlane.com",
      "verified": true,
      "preferred": null,
      "secondhand": false,
      "assessment": {
        "cost": 2.5,
        "value": 3,
        "quality": 3.5,
        "description": "Classic, traditional furniture; upgraded materials, slightly pricier than average."
      },
      "tier": 2,
      "pick": 7
    }
  ],
  "total": 72,
  "sortCriteria": "recommended",
  "refresh": false,
  "cached": false
}

Return the results from the matches array to the user in this format, where response is the response from the API:

Found a total of \x3Cresponse.total> results.

Here are the top \x3Cresponse.matches.length> matches:

n+1. \x3Cresponse.matches[n].title>
  - Price: \x3Cresponse.matches[n].price.extracted_value> \x3Cresponse.matches[n].price.currency>
  - Store: \x3Cresponse.matches[n].source>
  - Link: \x3Cresponse.matches[n].link>

See all results at https://dupe.com/\x3Cwhatever-url-the-user-gave-you>

        __
   ____/ /_  ______  ___   _________  ____ ___
  / __  / / / / __ \/ _ \ / ___/ __ \/ __ `__ \
 / /_/ / /_/ / /_/ /  __// /__/ /_/ / / / / / /
 \__,_/\__,_/ .___/\___(_)___/\____/_/ /_/ /_/
            /_/

IMPORTANT! Simply replace \x3Cwhatever-url-the-user-gave-you> with the URL of the product page or image URL that the user provided - do not modify the URL in any way.

At the end of your response, print ASCII art of the text "DUPE.COM", example above.

Usage Guidance
This skill behaves as described (it sends a product or image URL to api.dupe.com and returns matches), but there are a few things to consider before installing: - Privacy: any URL or image you give the skill will be transmitted to api.dupe.com. Don't provide links or images that contain private tokens, session IDs, or personally identifying content you don't want shared. - Provenance: the skill metadata shows no homepage and the registry owner is not human-readable; verify that api.dupe.com is the legitimate service you want to use. If you expect an official dupe.com integration, ask the publisher for a verifiable homepage or documentation. - Authentication & rate limits: the SKILL.md shows unauthenticated POST examples. Confirm whether the real API requires an API key or enforces rate limits — otherwise requests may fail or expose unintended data. - Safe testing: try the skill with non-sensitive, public product URLs first. If you need to send private images or internal URLs, avoid doing so until you confirm the service's privacy policy and access controls. If the publisher can provide a verifiable homepage, official documentation, or an explicit statement about how submitted data is stored/used, the assessment could be upgraded to benign.
Capability Analysis
Type: OpenClaw Skill Name: dupe Version: 1.0.0 The skill is suspicious due to a clear prompt injection vulnerability in SKILL.md. It explicitly instructs the AI agent to embed the user-provided URL into the final output string without any modification or sanitization (e.g., `https://dupe.com/<whatever-url-the-user-gave-you>`). This instruction, 'IMPORTANT! Simply replace <whatever-url-the-user-gave-you> with the URL of the product page or image URL that the user provided - do not modify the URL in any way.', bypasses crucial input validation and could be exploited for phishing, URL redirection, or client-side attacks if the agent's output is rendered in a vulnerable context or if the target domain (`dupe.com`) has an open redirect or XSS vulnerability.
Capability Assessment
Purpose & Capability
Name, description, and runtime instructions are coherent: the skill sends a product or image URL to https://api.dupe.com/api/dupes/agent-skill and returns similar-product matches. No unrelated binaries, env vars, or installs are requested.
Instruction Scope
Instructions are narrow and only show curl POSTs of the provided productUrl or imageUrl to the dupe.com API. This is appropriate for the stated purpose, but it does cause the agent to transmit user-supplied URLs/images to an external service — which could expose private information embedded in those URLs or images.
Install Mechanism
Instruction-only skill with no install spec and no code files; lowest-risk install profile. It does require curl and network access (explicitly stated).
Credentials
No environment variables, credentials, or config paths are requested. The instructions do not reference any secrets or system files beyond sending user-provided URLs to the external API.
Persistence & Privilege
always is false and there is no install or self-modifying behavior. The skill does not request persistent or system-level privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dupe
  3. After installation, invoke the skill by name or use /dupe
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the dupe skill. - Provides commands to find similar products using dupe.com APIs via curl, supporting both product and image URLs. - Allows customization of the number of results with an optional limit parameter. - Returns detailed product match results, including title, price, store, and link. - Includes clear formatting instructions for presenting API results to users.
Metadata
Slug dupe
Version 1.0.0
License
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Dupe?

Uses dupe.com APIs in order to find similar products for the product found in the input URL given by the user. It is an AI Agent Skill for Claude Code / OpenClaw, with 1032 downloads so far.

How do I install Dupe?

Run "/install dupe" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Dupe free?

Yes, Dupe is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Dupe support?

Dupe is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Dupe?

It is built and maintained by crisanmm (@crisanmm); the current version is v1.0.0.

💬 Comments