Agent skills for reverse-engineering undocumented APIs from websites and Android APKs.
This repository contains two skills that trace endpoints, authentication, request construction, serialization, signing, and multi-step flows. Both produce implementation-ready API documentation and small replay scripts for behavior that cannot be described as a plain HTTP request.
| Skill | Target | Primary analysis path |
|---|---|---|
api-mapper |
Websites | Chrome CDP capture, curl probing, and JavaScript bundle analysis |
apk-api-mapper |
Android APKs | Hermes/JavaScript bundles for React Native; JADX for Android-native code and bridges |
The APK mapper follows the layer that owns each request. React Native Hermes bundles are analyzed
with hermes-dec, plain JavaScript bundles are traced directly, and JADX is used when behavior
lives in Android code or crosses a native bridge. apktool is an optional fallback for decoded
resources or broad smali searches.
Install only the tools needed for the selected skill and target:
- Website mapping: Python 3, Google Chrome, and curl or
curl.exe - APK mapping: an APK file or JADX project, plus
hermes-decfor Hermes bytecode, JADX MCP for Android-native analysis, orapktoolwhen decoded resources or broad smali searches are needed
Missing optional tools are not installed automatically.
Install either or both skills with the skills CLI:
npx -y skills add github.com/11philip22/api-mapper-skill -a codex --global --skill api-mapper
npx -y skills add github.com/11philip22/api-mapper-skill -a codex --global --skill apk-api-mapperReplace codex with opencode or claude to install for another supported agent.
Map a website:
Use the api-mapper skill to reverse-engineer and document https://example.com.
Map an APK:
Use the apk-api-mapper skill to reverse-engineer and document the APIs used by app.apk.
An APK may instead be supplied through an open JADX project. When native analysis is required, the skill uses the project's read-only JADX MCP integration.
Note
Website mapping opens a visible Chrome session. User input is only needed for walls such as missing credentials, CAPTCHAs, or blocking rate limits.
Results are written into the target project, not this skill repository:
docs/apis/
README.md
{area}.md
scripts/flows/
{flow}.py # only for non-trivial reproducible flows
artifacts/{timestamp}/ # website captures and JavaScript bundles
artifacts/apk/{timestamp}/ # APK artifacts, only when extraction is needed
Documentation is language-agnostic and includes evidence, confidence, request schemas, and the state shared across multi-request flows. Replay scripts run without reopening Chrome or JADX.
api-mapper/
SKILL.md
agents/openai.yaml
references/
apk-api-mapper/
SKILL.md
agents/openai.yaml
references/