{"tools":[{"id":"0b505f96-e640-5b20-a7e0-9fdff1cd3779","name":"lsof","slug":"lsof","description":"List open files and the processes that opened them.","type":"cli","category":"system","tags":["files","processes","network","sockets"],"homepage":"https://github.com/lsof-org/lsof","repository":null,"license":"SMAIL","install":[{"kind":"brew","formula":"lsof"},{"kind":"apt","package":"lsof"}],"agentHints":{"summary":"Find which process has a file or port open","whenToUse":"Debugging 'port in use' errors or finding processes holding files","examples":["lsof -i :3000  # what's using port 3000","lsof -p 1234   # files opened by PID","lsof /var/log/app.log  # who has this file open"],"provenRecipes":[{"task":"Find the process listening on a port","command":"lsof -nP -iTCP:3000 -sTCP:LISTEN","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"lsof.port.find"},"fallback":"ss -ltnp 'sport = :3000'","commonFailures":[{"symptom":"no output","fix":"nothing is listening on that port, or the process belongs to another user: retry with sudo"}]},{"task":"Kill the process listening on a port","command":"kill $(lsof -t -iTCP:3000 -sTCP:LISTEN)","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"lsof.port.kill"},"fallback":"fuser -k 3000/tcp","commonFailures":[{"symptom":"kill: not enough arguments","fix":"the port is already free (lsof -t printed nothing)"}]},{"task":"Find the process listening on a port (Linux, no lsof)","command":"ss -ltnp 'sport = :3000'","platforms":["linux"],"verified":{"platforms":["linux"],"date":"2026-09-17","harness":"ss.port.find"}},{"task":"Kill the process on a port (Linux, no lsof)","command":"fuser -k 3000/tcp","platforms":["linux"],"verified":{"platforms":["linux"],"date":"2026-09-17","harness":"fuser.port.kill"}}],"mcpAvailable":false},"minVersion":null,"usageCount":0,"createdAt":"2026-06-01T00:00:00.000Z","updatedAt":"2026-06-01T00:00:00.000Z","matchedRecipes":[{"task":"Find the process listening on a port","command":"lsof -nP -iTCP:3000 -sTCP:LISTEN","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"lsof.port.find"},"fallback":"ss -ltnp 'sport = :3000'","commonFailures":[{"symptom":"no output","fix":"nothing is listening on that port, or the process belongs to another user: retry with sudo"}]},{"task":"Kill the process listening on a port","command":"kill $(lsof -t -iTCP:3000 -sTCP:LISTEN)","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"lsof.port.kill"},"fallback":"fuser -k 3000/tcp","commonFailures":[{"symptom":"kill: not enough arguments","fix":"the port is already free (lsof -t printed nothing)"}]},{"task":"Find the process listening on a port (Linux, no lsof)","command":"ss -ltnp 'sport = :3000'","platforms":["linux"],"verified":{"platforms":["linux"],"date":"2026-09-17","harness":"ss.port.find"}},{"task":"Kill the process on a port (Linux, no lsof)","command":"fuser -k 3000/tcp","platforms":["linux"],"verified":{"platforms":["linux"],"date":"2026-09-17","harness":"fuser.port.kill"}}]},{"id":"4bce9a13-e749-5577-ab53-5cd9994687db","name":"nmap","slug":"nmap","description":"Network exploration and security scanning tool.","type":"cli","category":"networking","tags":["network","scan","security","ports"],"homepage":"https://nmap.org/","repository":null,"license":"NPSL","install":[{"kind":"brew","formula":"nmap"},{"kind":"apt","package":"nmap"}],"agentHints":{"summary":"Scan networks for open ports, services, and OS fingerprinting","whenToUse":"Network discovery, port scanning, security audits","examples":["nmap 192.168.1.1","nmap -sV -p 80,443 example.com"],"provenRecipes":[{"task":"Scan a host for open ports","command":"nmap -sV 192.168.1.1","successRate":97},{"task":"Scan a range of IPs","command":"nmap 192.168.1.0/24","successRate":96},{"task":"Fast scan top 100 ports","command":"nmap -F example.com","successRate":97}],"mcpAvailable":false},"minVersion":null,"usageCount":0,"createdAt":"2026-06-01T00:00:00.000Z","updatedAt":"2026-06-01T00:00:00.000Z","matchedRecipes":[{"task":"Scan a host for open ports","command":"nmap -sV 192.168.1.1","successRate":97},{"task":"Fast scan top 100 ports","command":"nmap -F example.com","successRate":97}]},{"id":"9204134d-940b-599d-a21e-01f6ce6fc675","name":"docker","slug":"docker","description":"Build, run, and manage containers from the CLI.","type":"cli","category":"cloud","tags":["containers","build","images","run"],"homepage":"https://docs.docker.com/engine/reference/commandline/cli/","repository":null,"license":"Apache-2.0","install":[{"kind":"manual","url":"https://docs.docker.com/get-docker/"}],"agentHints":{"summary":"Build and run containers, manage images and networks","whenToUse":"Running containerized applications or building Docker images","provenRecipes":[{"task":"Build an image","command":"docker build -t myapp:latest .","successRate":97},{"task":"Run container with port mapping","command":"docker run -p 3000:3000 --rm myapp:latest","successRate":97},{"task":"Get shell inside running container","command":"docker exec -it container_name /bin/sh","successRate":97},{"task":"Remove all stopped containers and unused images","command":"docker system prune -af","successRate":98,"commonFailures":[{"symptom":"Removes too much","fix":"Use docker container prune or docker image prune separately"}]}],"mcpAvailable":false},"minVersion":null,"usageCount":0,"createdAt":"2026-06-01T00:00:00.000Z","updatedAt":"2026-06-01T00:00:00.000Z","matchedRecipes":[{"task":"Run container with port mapping","command":"docker run -p 3000:3000 --rm myapp:latest","successRate":97}]},{"id":"4c612a4b-d88d-5122-a565-2dec01b1c528","name":"yq","slug":"yq","description":"A lightweight YAML, JSON, and XML processor.","type":"cli","category":"text-processing","tags":["yaml","json","xml","query"],"homepage":"https://github.com/mikefarah/yq","repository":"https://github.com/mikefarah/yq","license":"MIT","install":[{"kind":"brew","formula":"yq"}],"agentHints":{"summary":"Query and edit YAML/JSON/XML files like jq for YAML","whenToUse":"Editing Kubernetes manifests, CI config, or any YAML files","examples":["yq '.spec.replicas' deploy.yaml","yq -i '.version = \"2.0\"' config.yaml"],"provenRecipes":[{"task":"Read a YAML value","command":"yq '.services.web.ports[0]' compose.yml","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"yq.read"},"commonFailures":[{"symptom":"Error: unknown command / different syntax","fix":"these recipes target mikefarah yq v4 (brew/apt yq). The Python yq (pip) uses jq syntax instead."}]},{"task":"Edit a YAML value in place","command":"yq -i '.spec.replicas = 3' deploy.yaml","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"yq.write"}},{"task":"Append an item to a YAML list in place","command":"yq -i '.list += [\"c\"]' config.yaml","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"yq.append"}},{"task":"Convert YAML to JSON","command":"yq -o=json '.' config.yaml","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"yq.tojson"}},{"task":"Convert JSON to YAML","command":"yq -p=json -o=yaml '.' data.json","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"yq.fromjson"}}],"mcpAvailable":false},"minVersion":">=4.0","usageCount":0,"createdAt":"2026-06-01T00:00:00.000Z","updatedAt":"2026-06-01T00:00:00.000Z","matchedRecipes":[{"task":"Read a YAML value","command":"yq '.services.web.ports[0]' compose.yml","verified":{"platforms":["macos","linux"],"date":"2026-09-17","harness":"yq.read"},"commonFailures":[{"symptom":"Error: unknown command / different syntax","fix":"these recipes target mikefarah yq v4 (brew/apt yq). The Python yq (pip) uses jq syntax instead."}]}]}],"total":4,"limit":20,"offset":0}