Find accounts for a username across 400+ platforms.
57
68%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./optional-skills/security/sherlock/SKILL.mdHunt down social media accounts by username across 400+ social networks using the Sherlock Project.
pipx install sherlock-project or pip install sherlock-projectdocker run -it --rm sherlock/sherlock)Before doing anything else, verify sherlock is available:
sherlock --versionIf the command fails:
pipx install sherlock-project (recommended) or pip install sherlock-projectExtract the username directly from the user's message if clearly stated.
Examples where you should NOT use clarify:
nasajohndoe123alicebobOnly use clarify if:
When extracting, take the exact username as stated — preserve case, numbers, underscores, etc.
Default command (use this unless user specifically requests otherwise):
sherlock --print-found --no-color "<username>" --timeout 90Optional flags (only add if user explicitly requests):
--nsfw — Include NSFW sites (only if user asks)--tor — Route through Tor (only if user asks for anonymity)Do NOT ask about options via clarify — just run the default search. Users can request specific options if needed.
Run via the terminal tool. The command typically takes 30-120 seconds depending on network conditions and site count.
Example terminal call:
{
"command": "sherlock --print-found --no-color \"target_username\"",
"timeout": 180
}Sherlock outputs found accounts in a simple format. Parse the output and present:
<username>.txt by defaultExample output parsing:
[+] Instagram: https://instagram.com/username
[+] Twitter: https://twitter.com/username
[+] GitHub: https://github.com/usernamePresent findings as clickable links when possible.
If Sherlock finds no accounts, this is often correct — the username may not be registered on checked platforms. Suggest:
? wildcard: sherlock "user?name"Some sites are slow or block automated requests. Use --timeout 120 to increase wait time, or --site to limit scope.
--tor requires Tor daemon running. If user wants anonymity but Tor isn't available, suggest:
--proxy with an alternative proxySome sites always return "found" due to their response structure. Cross-reference unexpected results with manual checks.
Aggressive searches may trigger rate limits. For bulk username searches, add delays between calls or use --local with cached data.
pipx install sherlock-projectpip install sherlock-projectdocker pull sherlock/sherlock
docker run -it --rm sherlock/sherlock <username>Available on Debian 13+, Ubuntu 22.10+, Homebrew, Kali, BlackArch.
This tool is for legitimate OSINT and research purposes only. Remind users:
After running sherlock, verify:
<username>.txt file created (default output) if using file output--print-found used, output should only contain [+] lines for matchesUser: "Can you check if the username 'johndoe123' exists on social media?"
Agent procedure:
sherlock --version (verify installed)sherlock --print-found --no-color "johndoe123" --timeout 90Response format:
Found 12 accounts for username 'johndoe123':
• https://twitter.com/johndoe123 • https://github.com/johndoe123 • https://instagram.com/johndoe123 • [... additional links]
Results saved to: johndoe123.txt
User: "Search for username 'alice' including NSFW sites"
Agent procedure:
sherlock --print-found --no-color --nsfw "alice" --timeout 906327930
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.