api-recon
Invoke this skill when collecting website API endpoints.
Skill by ijlalhaider313
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ijlalhaider313-api-recon
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/api-recon
What's inside
- Skill name
api-recon- Description
- Invoke this skill when collecting website API endpoints.
- License
- AGPL-3.0
- Instructions
- 421 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Files (10)
- SKILL.md
- reference.md
- build_perm_tree.py · scripts/
- extract_route_map.py · scripts/
- harvest_static.py · scripts/
- package-lock.json · scripts/
- package.json · scripts/
- preload.js · scripts/
- runtime_harvest.js · scripts/
- spider_mpa.py · scripts/
SKILL.md (first lines)
# API Recon (Frontend Endpoint Reconnaissance) Under **authorized** conditions, discover as completely as possible: **backend APIs** (paths, methods, parameters, response bodies), **frontend routes**, and **UI feature trigger points** (tabs, modals, table actions, etc.). --- ## Boundaries & Prohibitions (Agent Must-Read · Violating = Out of Scope) This skill **only performs API / parameter-surface reconnaissance**, not vulnerability hunting or exploitation. ### Task Boundaries | Scope | Allowed | Prohibited | |---|---|---| | **Target** | Enumerate path, method, parameters, routes, UI trigger points | SQLi/XSS/IDOR/brute-force/fuzz vulnerabilities, modified-packet attacks, destructive operations | | **Auth** | Hook + stub/mock to bypass **client-side** login gates | Asking user for or guessing account passwords; attempting real login form submission | | **Runtime** | Hook endpoints without credentials, use mock responses to let SPA enter the post-login shell | Flows that depend on a real backend session to continue | ### Credential-Free Dynamic Analysis (Phase 3 Default) 1. **Intercept and stub** login, permission, menu, and other bootstrap endpoints via `preload.js` / `runtime_harvest.js`; 2. Return **structurally correct, success business-code, data-may-be-empty** mock bodies for business query endpoints; 3. Enable the frontend to render post-login pages even without a backend or under 401 conditions, thereby triggering more XHR/fetch/WebSocket calls; 4. **Empty data, blank tables, placeholder UI blocks are expected** — do not pivot to real login or vulnerability testing for this. **In one sentence**: Use mocks to expand frontend routes and component mounting, **only record outbound requests**; what the backend returns doesn't matter — what matters is **what other endpoints the frontend still sends**. ### Hard Process Prohibitions | Prohibited | Alternative | |---|---| | grep/curl/Read main entry `index-*.js` to extract API paths before Phase 1 completes | Run `OUTDIR/harvest_static.py` | | Hand-writing `extract_apis.py` or similar scripts to replace harvest | Modify `OUTDIR/harvest_static.py` and re-run | | Repeating the same grep/command after ≥2 failures | Switch strategy: read tool_logs, modify harvest, consult reference | | Skipping gates A/B, directly running originals from `scripts/` | Copy to OUTDIR and adapt for the target | | Real username/password, OTP, OAuth, etc. authentication | stub/mock (see above) | | Skipping stub under the pretext of "getting real data", doing IDOR/injection testing | Only record outbound; that's recon scope | | Delete, export sensitive data, batch write, and other irreversible operations | Coverage clicks are the same | | Claiming all pages and endpoints obtained without completing runtime + dynamic enumeration | See "Completion Definition" or note limitations | | Claiming all parameters mastered without completing parameter trigger matrix + diff | Phase 3b matrix + Phase 5 diff | | Inferring required/optional from a single runtime sample | Multi-sample diff or reverse-engineer from validation rules/errors | --- ## Two-Layer Model + Run Modes | Layer | Output | Limitations | |---|---|---| | **Static** (JS bundle) | Full endpoint paths, draft routes, call-site field candidates | No HTTP methods; parameters need Phase 1b; misses runtime-assembled URLs | | **Runtime** (live session) | Method + body + response + dynamic URL + WS/SSE; multi-sample diff completes parameters | Pages must actually render to send requests; single sample insufficient for required/optional | | Run Mode | Engine | Use Case | |---|---|---| | **depth** | `runtime_harvest.js` (Puppeteer) | API list, METHOD/params/response body, WS/SSE, reproducible batch runs | | **coverage** | browser + `preload.js` | Click tabs/modals/tables, deeper feature-point coverage | | **both** | depth then coverage | Most complete, most time-consuming | **Parameter methodology** (no universal script): paths via harvest/regex; parameters via **anchor window-expansion + UI binding chain + multi-sample diff + error reverse-inference** (grep recipes see [reference.md](reference.md) section J). --- ## Completion Definition All must be satisfied before claiming recon complete: - [ ] **Static**: Phase 1 harvest produces `api_static.txt`, `routes.txt`, `js/` - [ ] **Runtime**: At least depth or coverage; coverage/both requires **Hook active + dynamic enumeration loop** - [ ] **Shell entry**: Accessing business paths is not `/login` (note hash routing) - [ ] **Parameters**: coverage/both completes parameter trigger matrix + `param_samples.json`; Phase 5 merges `params_merged.json` - [ ] **Depth** (if module pages are blank): Phase 4 permission tree restored and re-run until **module-level APIs** appear (not just locale/bootstrap) - [ ] **Delivery**: Phase 5 outputs complete (see Phase 5 output table); `insert_assets` writes service and endpoint assets --- ## Scripts & Gates `scripts/` are reference templates only — **prohibited** to run originals directly and treat as final results. **Rules**: Read first → adapt for target → write to `OUTDIR` (e.g. `recon/`) → record `CHANGES.md`; if not matching, rewrite per methodology, only borrow structure. | Gate | When | Reference Script → OUTDIR Copy | Common Must-Change Items | |---|---|---|---| | **A (Static)** | After Phase 0, **first** harvest/spider run | `harvest_static.py` / `spider_mpa.py` | **Most sites' default regex runs directly**; only change endpoint regex, webpack/Vite `publicPath`, MPA exclude/cookie when manifest/dialect doesn't match | | **B (Runtime)** | After Phase 2, before depth/coverage run | `runtime_harvest.js` / `preload.js` + `config.json` | Cookie/localStorage keys, neutralize success values, stubs, login regex, api prefix, hash/history | **SPA mandatory order** (non-exchangeable; Phase numbering takes precedence over "explore first, then script"): | Step | Required | Prohibited | |---|---|---| | After Phase 0 | Next Bash = `python3 OUTDIR/harvest_static.py <URL> OUTDIR` | curl/grep/Read main entry `index-*.js` (usually >500KB) | | Gate A | Copy script → minor changes as needed → **run immediately** | Manually extract APIs first then decide whether to harvest | | Before Phase 1 completes | `wc -l` verify outputs; 404 → fix harvest and retry | Hand-write extract scripts; repeatedly grep un-downloaded URLs | | From Phase 1b | grep only `OUTDIR/js/*.js` | Use main bundle instead of harvest | - ✅ Copy `harvest_static.py` → (optional) change regex → **run immediately** - ❌ curl main bundle → grep multiple times → write temp extract → harvest only at the end - **MPA**: After Phase 0, next Bash = `python3 OUTDIR/spider_mpa.py ...` --- ## Tool & Output Constraints | Constraint | Description | |---|---| | Large files | `index-*.js` >100KB **prohibited** from Read/grep into context; use OUTDIR scripts for batch processing | | grep output | Must `\| head -20` or `-m 5`; keep only path summaries in conversation, don't paste bundle fragments | | Validation | Use `wc -l`, `ls \| wc -l`; don't Read entire directories | | Regex probing | Optional, ≤1 time, only on ≤50KB small chunks or HTML; authoritative static results come from harvest | | reference | Recipes/templates/troubleshooting see [reference.md](reference.md), don't repeat full content inline | --- ## Execution Roadmap ``` Phase 0 Classify + OUTDIR → Gate A → Phase 1 harvest (★ run immediately ★) → Phase 1b parameter reverse-engineering → Phase 2 auth three gates → config.json
From ijlalhaider313/ARTEX, AGPL-3.0.
More from ijlalhaider313/ARTEX
- 0.570score
c2-bof-development
GhostWorks
Beacon Object File (BOF) development.
SkillAFreshness: AClaude Code +9 - 0.570score
cwe-code-review
ijlalhaider313
Perform CWE-grounded security code reviews and precise weakness mapping using a locally derived MITRE CWE corpus, relationship graphs, mapping notes…
SkillAFreshness: AClaude Code +9 - 0.570score
cobalt-strike-aggressor-development
GhostWorks
Aggressor Script development for Cobalt Strike.
SkillAFreshness: AClaude Code +9 - 0.570score
bloodhound-analysis
turbo
Use as the default router for generic BloodHound asks: check the BloodHound connection, verify MCP health, analyze BloodHound data, find or explain a path…
SkillAFreshness: AClaude Code +9 - 0.570score
cobalt-strike-malleable-c2-development
Outflank
Malleable C2 profile development for Cobalt Strike.
SkillAFreshness: AClaude Code +9 - 0.570score
cpp-core-guidelines
ijlalhaider313
Apply a condensed version of the ISO C++ Core Guidelines to C++ design, implementation, refactoring, modernization, and code review.
SkillAFreshness: AClaude Code +9 - 0.565score
electron-candidate-discovery
GhostWorks
Find practical Electron apps that are likely patchable with the same Electron-plus-Squirrel method.
SkillAFreshness: AClaude Code +9 - 0.565score
electron-install-persistence
GhostWorks
Preserve post-install execution and background residency for Electron apps in Squirrel-style delivery chains.
SkillAFreshness: AClaude Code +9 - 0.565score
bloodhound-opengraph
turbo
Use when creating or changing BloodHound OpenGraph extensions, custom node schemas, custom ingestors, edge models, or Cypher patterns that connect non-AD…
SkillAFreshness: AClaude Code +9 - 0.565score
azurehound-analysis
GhostWorks
Use for AzureHound and BloodHound Azure or Entra ID attack-path work when the user clearly means Azure semantics such as Global Administrator, privileged…
SkillAFreshness: AClaude Code +9 - 0.565score
bloodhound-ad-analysis
turbo
Use for BloodHound Active Directory and ADCS attack-path work when the user clearly means on-prem AD semantics: find a path to Domain Admin, DA, Tier Zero…
SkillAFreshness: AClaude Code +9 - 0.565score
bloodhound-query
turbo
Use when the user explicitly wants BloodHound Cypher or query work: write a BloodHound query, review or explain Cypher, optimize a query, adapt a saved query…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 11, 2026 (18 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/ijlalhaider313/ARTEX
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ijlalhaider313
- 0.570score
cpp-core-guidelines
ijlalhaider313
Apply a condensed version of the ISO C++ Core Guidelines to C++ design, implementation, refactoring, modernization, and code review.
SkillAFreshness: AClaude Code +9 - 0.570score
cwe-code-review
ijlalhaider313
Perform CWE-grounded security code reviews and precise weakness mapping using a locally derived MITRE CWE corpus, relationship graphs, mapping notes…
SkillAFreshness: AClaude Code +9
Cite this page
api-recon skill. Agent Mart. https://agentmart.dev/skills/ijlalhaider313-api-recon (last updated 2026-10-24)