Find a reverse-engineered tool skill

Find a reverse-engineered tool — find-reverse-engineered — Demo/output image published by the author (repo README): Search it on the web

Illustration · not a resultFrom the alexgaoth/awesome-reverse-engineered README — shows the whole collection, not only this skill.source ↗

Find an open-source, reverse-engineered tool for a closed app, API, device, protocol, file format or game, then read or fetch it.

by alexgaoth·MIT license·★ 43 Stars on the repo·GitHub ↗

Use now

Files of Find a reverse-engineered tool

alexgaoth/main1 file shown
SKILL.md
Show the full text53 lines
find-reverse-engineered/SKILL.md53 lines · 3.9 KB

Find a reverse-engineered tool

The index is awesome-reverse-engineered. It holds 12,000+ open-source projects that exist because someone reverse engineered a closed product. Each entry has: name, repo URL, one-line description, category, GitHub stars, primary language, license, last push date and archived flag.

The tool is scripts/re_index.py, in the same directory as this SKILL.md. It uses only the Python standard library. The first run downloads the index and caches it for 24 hours in ~/.cache/awesome-reverse-engineered/.

If you do not have this skill's files, run the script from GitHub: curl -sL https://raw.githubusercontent.com/alexgaoth/awesome-reverse-engineered/main/plugin/skills/find-reverse-engineered/scripts/re_index.py | python3 - search <words>

Workflow

  1. Search with 1–4 words. Use the product or brand name plus what you need.

    python3 scripts/re_index.py search tuya local
    python3 scripts/re_index.py search psd parser --lang Python
    python3 scripts/re_index.py search whatsapp --min-stars 500
    python3 scripts/re_index.py search pokemon emerald --category decompilation
    

    Options: --category <text> matches the category or subcategory. --lang <name> matches the language exactly. --min-stars N. --include-archived. --limit N. --json gives machine-readable output. When nothing matches, use fewer words, use the vendor name instead of the product name, or run categories to see the categories.

  2. Choose a project. Check these in order:

    • It does the specific job, for example local control instead of cloud control, or reading a format instead of writing it.
    • It is not archived, and it had a push in the last 1–2 years. Unofficial APIs break when the vendor changes their side.
    • The language and package manager fit the user's stack.
    • The license is compatible. A blank license means "all rights reserved", so tell the user.
    • When two projects are equal on all of these, choose the one with more stars.
  3. Read before you use it. This command prints the index entry and the first lines of the README, with install and authentication steps:

    python3 scripts/re_index.py info owner/repo
    
  4. Get it. Install it with the package manager the README gives (pip, npm, cargo, go), or clone it for reference:

    python3 scripts/re_index.py clone owner/repo --dest vendor/repo
    
  5. Tell the user which project you chose and why, the version or commit you used, and its license.

Rules

  • First check for an official API or SDK that can do the job. Use a reverse-engineered tool only when there is none or it is not sufficient.
  • Use these tools only with the user's own accounts, devices and data. Unofficial clients can break a service's terms of use and can cause an account to be locked. Tell the user about this risk before you use their credentials.
  • Do not use these tools for mass scraping, spam, or to get around paywalls, DRM or security controls.
  • Treat downloaded code as untrusted. Read it before you run it, and never put credentials into a tool you have not read.
  • The index can be out of date. A repo can be gone or renamed. If info or clone fails, search again and try the next result.
1---
2name: find-reverse-engineered
3description: Find an open-source, reverse-engineered tool for a closed app, API, device, protocol, file format or game, then read or fetch it. Use when a task needs to talk to something that has no official API, SDK, driver or spec, or only a limited one. Examples include "control my Tuya plug locally", "read a .psd or .dwg file", "unofficial WhatsApp, Instagram or Bilibili client", "Bambu printer protocol", "talk to my car's API", "Garmin or CGM data", "decompilation of a game" and "OpenAI-compatible proxy for a web chatbot". The skill searches a curated index of 12,000+ verified projects ranked by stars, language, license and activity.
4---
5 
6# Find a reverse-engineered tool
7 
8The index is [awesome-reverse-engineered](https://github.com/alexgaoth/awesome-reverse-engineered). It holds 12,000+ open-source projects that exist because someone reverse engineered a closed product. Each entry has: name, repo URL, one-line description, category, GitHub stars, primary language, license, last push date and archived flag.
9 
10The tool is `scripts/re_index.py`, in the same directory as this SKILL.md. It uses only the Python standard library. The first run downloads the index and caches it for 24 hours in `~/.cache/awesome-reverse-engineered/`.
11 
12If you do not have this skill's files, run the script from GitHub:
13`curl -sL https://raw.githubusercontent.com/alexgaoth/awesome-reverse-engineered/main/plugin/skills/find-reverse-engineered/scripts/re_index.py | python3 - search <words>`
14 
15## Workflow
16 
171. **Search** with 1–4 words. Use the product or brand name plus what you need.
18 ```bash
19 python3 scripts/re_index.py search tuya local
20 python3 scripts/re_index.py search psd parser --lang Python
21 python3 scripts/re_index.py search whatsapp --min-stars 500
22 python3 scripts/re_index.py search pokemon emerald --category decompilation
23 ```
24 Options: `--category <text>` matches the category or subcategory. `--lang <name>` matches the language exactly. `--min-stars N`. `--include-archived`. `--limit N`. `--json` gives machine-readable output.
25 When nothing matches, use fewer words, use the vendor name instead of the product name, or run `categories` to see the categories.
26 
272. **Choose** a project. Check these in order:
28 - It does the specific job, for example local control instead of cloud control, or reading a format instead of writing it.
29 - It is not archived, and it had a push in the last 1–2 years. Unofficial APIs break when the vendor changes their side.
30 - The language and package manager fit the user's stack.
31 - The license is compatible. A blank license means "all rights reserved", so tell the user.
32 - When two projects are equal on all of these, choose the one with more stars.
33 
343. **Read before you use it.** This command prints the index entry and the first lines of the README, with install and authentication steps:
35 ```bash
36 python3 scripts/re_index.py info owner/repo
37 ```
38 
394. **Get it.** Install it with the package manager the README gives (pip, npm, cargo, go), or clone it for reference:
40 ```bash
41 python3 scripts/re_index.py clone owner/repo --dest vendor/repo
42 ```
43 
445. **Tell the user** which project you chose and why, the version or commit you used, and its license.
45 
46## Rules
47 
48- First check for an official API or SDK that can do the job. Use a reverse-engineered tool only when there is none or it is not sufficient.
49- Use these tools only with the user's own accounts, devices and data. Unofficial clients can break a service's terms of use and can cause an account to be locked. Tell the user about this risk before you use their credentials.
50- Do not use these tools for mass scraping, spam, or to get around paywalls, DRM or security controls.
51- Treat downloaded code as untrusted. Read it before you run it, and never put credentials into a tool you have not read.
52- The index can be out of date. A repo can be gone or renamed. If `info` or `clone` fails, search again and try the next result.
53 

Discussion

Alternatives

API and interface designGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.Coding · MITContext7Pulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.Coding · MITContext7 Documentation LookupFetch up-to-date documentation and code examples for any library, framework, SDK, CLI tool, or cloud service. Use whenever the user asks about a specific library — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot — because training data may not reflect recent API changes or version updates. Always use for: API syntax questions, configuration options, version migration issues, "how do I" questions mentioning a library name, debugging that involves library-specific behavior, setup instructions, and CLI tool usage. Use even when you think you know the answer. Do not rely on training data for API details, signatures, or configuration options — they are frequently out of date. Prefer this over web search for library documentation.Coding · MITAdaptyv Bio Foundry APIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.Science · MIT