From hackingtool
Wraps 183+ pentest and OSINT tools (nmap, subfinder, nuclei, sherlock, sqlmap, etc.) for recon, scanning, enumeration, and secret detection. Activates on security testing or OSINT tasks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hackingtool:pentestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You have real Bash, real filesystem, real process execution, and a fleet of pentest tools one wrapper call away. **Use the wrappers — manual `curl` loops are a fallback, not a default.**
You have real Bash, real filesystem, real process execution, and a fleet of pentest tools one wrapper call away. Use the wrappers — manual curl loops are a fallback, not a default.
python ${CLAUDE_PLUGIN_ROOT}/scripts/ht_preflight.py
Read the verdict and act:
ready → state the backend in one sentence (e.g. "Running native on macOS" / "Running via Docker on Windows" / "Running native in WSL Ubuntu") and start work.partial → tell the user what's missing (use recommendations); offer to proceed with reduced coverage.blocked → stop. Surface the recommendations and wait. Do not substitute manual curl / Invoke-WebRequest probes for a missing tool — that misleads the user about coverage.Re-run preflight if the user installs something, starts Docker, or switches into WSL.
When the ask is "audit / scan / find vulns", reach for:
| Ask | Default chain |
|---|---|
| Subdomain enumeration | subfinder -all → httpx -title -tech-detect |
| Web vuln scan | nuclei -severity medium,high,critical |
| Port scan | nmap -sV -sC (or naabu for fast SYN sweep) |
| Directory / API discovery | ffuf -w wordlist -u https://target/FUZZ |
| Secret hunting | trufflehog filesystem . or gitleaks detect |
| Username / email investigation | holehe → sherlock → maigret |
| TLS audit | nuclei -tags ssl,tls |
| Domain OSINT | amass intel → theharvester |
Anti-patterns: for-looping curl across many paths instead of ffuf / nuclei; hand-parsing TLS output instead of nuclei -tags ssl; saying "I don't have nuclei" when preflight returned ready (you have it via Docker).
Every tool runs through ht_run.py, which:
ht_env.py to pick a backend — native on Linux/macOS, WSL on Windows with a real distro, Docker anywhere with Docker Desktop.instrumentisto/nmap, projectdiscovery/nuclei, caffix/amass, 20+ more). Falls back to kalilinux/kali-rolling.sudo -n on permission-denied (native/WSL).status, stdout, stderr, returncode, command.Only one pre-block: tools flagged interactive. Bypass with --force + --command if you have non-interactive args.
All at ${CLAUDE_PLUGIN_ROOT}/scripts/. Emit JSON.
| Script | Purpose |
|---|---|
ht_preflight.py | Run first. Capability check + setup recommendations. |
ht_search.py | Query the tool index (--q, --category, --tag, --capability, --os). |
ht_env.py | Low-level env detect. (Preflight wraps this.) |
ht_run.py | Execute. --command "..." to override, --args "..." to append, --network-host for LAN, --privileged for raw sockets, --force to bypass the interactive block. |
reference/workflows.md) and apply the defaults table.ht_search.py --q "<keyword>". Don't guess; ids are namespaced (e.g. web_attack.Nuclei).ht_run.py <tool_id> --args "...", or --command "<full>" for tools where runnable=False. Add --network-host for LAN, --privileged for raw sockets.ok → summarize highlights; error → report stderr, decide whether to retry; fallback → see reference/runtime-fallbacks.md; timeout → raise --timeout or chunk the scan.subfinder → httpx → nuclei, holehe → sherlock → maigret. Feed outputs forward.ht_run.py maps common tools to purpose-built images (faster pulls, proper ENTRYPOINTs):
| Tool | Image |
|---|---|
| NMAP | instrumentisto/nmap |
| Nuclei | projectdiscovery/nuclei |
| Subfinder / Httpx / Katana | projectdiscovery/* |
| Amass | caffix/amass |
| TheHarvester | secsi/theharvester |
| Holehe / Maigret / SpiderFoot | official images |
| TruffleHog / Gitleaks | official images |
| Sqlmap | paoloo/sqlmap |
| Impacket / NetExec | rflathers/impacket, byt3bl33d3r/netexec |
Override with --docker-image my/image for one-offs.
Bash directly is fine for spot-checks: a single curl -I, arp -a, dig @8.8.8.8 example.com. Reach for ht_run.py whenever:
If you're about to write a for loop hitting many paths with curl, stop — use ffuf / nuclei / gobuster instead.
${CLAUDE_PLUGIN_ROOT}/skills/pentest/reference/workflows.md — named playbooks${CLAUDE_PLUGIN_ROOT}/skills/pentest/reference/runtime-fallbacks.md — templates per fallback reason2plugins reuse this skill
First indexed Jun 24, 2026
npx claudepluginhub maxzl1/hackingtool-plugin --plugin hackingtoolWraps 183+ pentest and OSINT tools (nmap, subfinder, nuclei, sherlock, sqlmap, etc.) for recon, scanning, enumeration, and secret detection. Activates on security testing or OSINT tasks.
Wraps 183+ pentesting and OSINT tools for Claude Code with auto backend selection (native/WSL/Docker). Run nmap, subfinder, nuclei, and more via natural language commands.
Implements reconnaissance, subdomain enumeration, live host discovery, and technology fingerprinting workflows for authorized security assessments and bug bounty hunting.