Skip to content

Guide · Agent skill

How to use the js-reverse agent skill for front-end JS analysis

Updated · written with AI from the project's own documentation and checked against our catalogue data

The js-reverse skill is a set of written working rules that an AI agent (such as Claude) follows when it analyses front-end JavaScript on a website. It is aimed at developers, security researchers and QA engineers who need to find the script that produces a request signature or encrypted parameter, watch it run, and rebuild it locally in Node.js. This guide explains what the skill makes the agent do, how to install it, how to trigger it, and what it needs before it works.

MCP Frontend JS Reverse Engineeringzhaoxuya520/reverse-skill · MIT

Quick start

  1. 1Download the ZIP. Download the js-reverse skill ZIP from this page and unzip it.
  2. 2Place the folder. Put the js-reverse folder in ~/.claude/skills/ for all projects, or in your project's .claude/skills/ for one project. Alternatively, upload the ZIP under Settings, Capabilities, Skills in the Claude apps.
  3. 3Confirm MCP tools. Check that js-reverse_* tools are available in your client. If they are not, set up the MCP server they come from before continuing.
  4. 4Optional: add jshookmcp. If you need stronger browser, CDP or hook features, install @jshookmcp/jshook, register it in your MCP client config and enable it.
  5. 5Ask a specific request. Describe the target page, request and parameter you want to understand, and state that the site is one you are authorised to test.
  6. 6Review the task record. Check the evidence the agent saves, including request samples, call stacks, breakpoints and each patch it made.

What the skill makes the agent do

An agent skill is a folder with a SKILL.md file and supporting reference notes. When a task matches the skill's description, the agent reads these instructions and follows them. The js-reverse skill does not add new browser abilities on its own. It gives the agent a method for using the browser tools it already has, called js-reverse_* MCP tools, or the optional jshookmcp server.

The method has five stages: Observe (find the target request, its initiator and likely scripts), Capture (take small runtime samples, such as breaking on an XHR or reading paused values), Rebuild (turn page evidence into a Node.js reproduction), Patch (fill missing environment pieces one at a time, re-running after each change) and DeepDive (deobfuscate only when the algorithm must be reused long term).

The skill also sets rules: observe the page before guessing, prefer hooks over breakpoints, record evidence for every step, and do not patch browser objects that the page evidence does not show are needed.

Install the js-reverse skill with a ZIP download

Download the skill ZIP from this page and unzip it. You have two options for where the folder goes. For a personal setup for all projects, unzip it into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder. Claude Code reads skills from these locations.

If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the ZIP there.

  • Personal install: ~/.claude/skills/js-reverse/
  • Project install: <your-project>/.claude/skills/js-reverse/
  • Claude apps: Settings → Capabilities → Skills → upload the ZIP

Set up the MCP tools the skill calls

The skill assumes js-reverse_* MCP tools are available in your client. It refers to these tools by name, for example js-reverse_new_page, js-reverse_list_network_requests and js-reverse_break_on_xhr. If these tools are not present, the skill tells the agent to run its bootstrap rather than guess paths.

jshookmcp is optional. It is an npm package, @jshookmcp/jshook, that you must download, register in your MCP client configuration and enable. The skill says it is an enhanced execution layer for browser automation, CDP debugging, JS hooks, network interception, SourceMap reconstruction and AST analysis. Registration is not automatic in the sense that the skill does not change client settings unless you ask for it.

The bundled bootstrap script can install and register jshookmcp. You choose the client explicitly. If you omit the host target, the script only prepares the capability and does not edit Claude or Codex configuration.

  • Required: js-reverse_* MCP tools available in the client
  • Optional: jshookmcp (@jshookmcp/jshook) registered and enabled in the MCP client config
  • Optional: anything-analyzer MCP server on port 23816, which needs pnpm and the project source
  • Node.js 22 is needed; the bootstrap installs it with winget if it is missing
powershell -File "<skill-root>\scripts\bootstrap-reverse.ps1" -Capability @('jshookmcp') -McpHostTarget Codex

Trigger the skill with natural requests

You do not need to name the skill for it to be considered. The skill applies to front-end JavaScript reverse engineering tasks such as locating a request signature, tracing which script fires an XHR or fetch call, capturing function inputs and outputs at runtime, or moving page evidence into Node.js for local reproduction.

If your request mentions jshookmcp, JS hooks, CDP, browser breakpoints, network interception, SourceMap or AST deobfuscation, the agent still uses this skill and switches the underlying tools to jshookmcp.

  • Find which script generates the sign parameter on this login request.
  • Trace what calls the XHR to the /api/order endpoint on a site I own, and capture its arguments.
  • Reproduce this page's encryption function in Node.js so I can call the API from my test suite.
  • Audit the client-side risk-control fields on my staging site and record evidence for each step.

Work through a typical task

A good session follows the stages in order. The agent opens the page, lists network requests, checks the call stack of the target request, narrows the script list and searches the sources for the request path or parameter name. Only then does it set a lightweight hook or breakpoint and inspect what is paused.

The skill asks the agent to keep a task record. Its template covers the target request, initiator, suspicious script, sampling method, entry function, environment gaps, each patch and whether the parameter was obtained and can be reproduced stably.

  • Observe: target URL, initiator clues, suspicious script URLs
  • Capture: hit location, key inputs, key return values
  • Rebuild: entry function, dependent scripts, environment gaps
  • Patch: first divergence, this patch, re-test result
  • Output: whether the parameter was obtained, whether it reproduces, remaining risks

Safety notes: scripts and network access

The skill runs scripts and uses the network. The bootstrap script in the skill's scripts folder is a Windows PowerShell file that can install Node.js through winget, install npm packages, clone the anything-analyzer project and install its dependencies with pnpm. Read the script before running it, and only run it on a machine where you accept those installs.

The skill is written for authorised work. It opens a precedent note that assumes the operations are approved. Use it only on sites you own or have written permission to test. Using it against third-party services can breach their terms or the law.

The skill does not cover binary files. For APK, PE, ELF, DLL or SO targets it redirects to other reverse-engineering skills such as ida-reverse, radare2 or reverse-engineering.

  • Run the bootstrap script only after reading it
  • Use only on sites you own or are authorised to test
  • Binary targets go to other skills

What people use it for

  • Finding the script and function that build a request signature so a developer can document it for their own API client.
  • Auditing client-side risk-control fields on a staging site the team owns, with evidence recorded for each step.
  • Rebuilding a page's JavaScript in Node.js so an integration test can generate valid parameters for a system the tester controls.
  • Capturing the arguments and return values of a function at runtime to understand the order in which a page calls it.

Frequently asked questions

Is the js-reverse skill free?

The skill is published under the MIT licence, which is stated on the source page. Check the licence file in the repository for the full terms before you use or redistribute it.

What do I need to install js-reverse?

You need an AI client that supports agent skills, the js-reverse_* MCP tools available in that client, and a way to place the skill folder in ~/.claude/skills/ or a project's .claude/skills/ folder. jshookmcp, anything-analyzer and Node.js 22 are optional or needed only for some setups.

How do I install the js-reverse skill in Claude?

Download the ZIP from this page and unzip it into ~/.claude/skills/ or the project's .claude/skills/ folder. In the Claude apps, you can instead open Settings, go to Capabilities, then Skills, and upload the ZIP.

Does js-reverse work without jshookmcp?

Yes, the skill is built around js-reverse_* MCP tools. jshookmcp is an optional, stronger execution layer for browser, CDP, hook, network, SourceMap and AST work, and you add it only if you need those features.

Can I use js-reverse on any website?

No. The skill is meant for authorised analysis, such as your own sites or sites you have written permission to test. Using it against third-party services may breach their terms or the law.

How is js-reverse different from a normal scraping tool?

It is a method for analysing JavaScript signing and encryption, not a simple scraper. It requires an MCP server setup and reverse-engineering knowledge, so non-technical users looking for basic browser automation will find it heavier than they need.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use js-reverse if you are a developer, security researcher or QA engineer who needs to understand how a site's request signing or encrypted parameters are generated, on sites you are authorised to test. Pick something else if you only need simple browser automation or scraping, if your target is a binary such as an APK or DLL, or if you are not comfortable with MCP setup and reverse-engineering concepts.

Download the skill