user-scanner AGENTS.md

A contributor guide for user-scanner, a tool that checks whether email addresses and usernames exist on online platforms and collects profile details.

In plain words
What is it for?
Use it when adding scan modules, changing the command-line or library interface, or working with username, email, and cross-scan features.
Why use it?
It tells a coding agent where to start, how the repository is organised, and which rules new scanning modules must follow.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/kaifcodec/user-scanner/agents-md
Clone the repo
git clone --depth 1 https://github.com/kaifcodec/user-scanner

Made for: Codex, OpenCode.

Per session 1,281 This file is loaded in full into every session.
When invoked 1,281 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01281 $0.01281
Opus 5 $0.00641 $0.00641
Sonnet 5 $0.00256 $0.00256
Haiku 4.5 $0.00128 $0.00128

Measured 2d ago against content hash a6144831ca48, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

user-scanner AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AI contributor guide

This file orients an AI assistant (or any new contributor) working in this repository. CLAUDE.md imports it via @AGENTS.md — edit this file only.

What this project is

A 2-in-1 OSINT suite for email and username intelligence. It checks whether an account exists on a given platform and, when found, extracts rich profile metadata. See README.md for the full feature list and install steps.

Start here (read before writing code)

  • README.md — overview, features, installation, usage examples.
  • CONTRIBUTING.md — the authoritative guide for adding scan modules (naming, validator signatures, orchestrator helpers, return values, style).
  • docs/USAGE.md — library-mode usage (calling the engine from Python).
  • docs/FLAGS.md — every CLI flag.
  • docs/CROSS_SCAN.md — how --cross-scan mines scan metadata for usernames.
  • docs/PATTERNS.md — the username/email permutation pattern syntax.

Repository layout

  • user_scanner/user_scan/<category>/<site>.pyusername availability modules. Synchronous. Export def validate_<site>(user: str) -> Result.
  • user_scanner/email_scan/<category>/<service>.pyemail OSINT modules. Asynchronous. Export async def validate_<service>(email: str) -> Result.
  • user_scanner/core/ — engine, orchestrator, helpers, Result, formatters, exporters (JSON/CSV/PDF). Changes here affect every module; review carefully.
  • abandoned/<email_scan|user_scan>/<category>/<site>.py — retired modules (dead sites, permanently broken detection). See "Retiring a module" below.
  • tests/ — pytest suite. Add tests for new core behavior only. Do not add unit tests for individual scan modules — modules are verified by live-testing against real and nonexistent handles (see "Before opening a PR"), not by mocked unit tests.

Adding a new module (the short version)

Read CONTRIBUTING.md first — it has full examples. The essentials:

  1. File name = platform name, lowercase, no spaces/special chars (github.py, reddit.py).
  2. One validator per module: validate_<name> returning a Result (Result.available(), Result.taken(extra=..., media=...), Result.error("...")). Image URLs go in media, other metadata in extra.
  3. No false positives. Never infer availability from a bare HTTP 200 or a bare else. Verify a unique string/JSON key for both the found and not-found states. Confirm not found with an explicit marker too, not just a 404 — transient/blocked responses must return Result.error, never a verdict.
  4. Map every account namespace a site exposes before trusting one path; many sites split accounts across several public paths and a clean 404 on one must not launder a blocked response on another.
  5. Pick the transport by how the site defends itself. Reach for the impersonating transport (impersonate_validate / impersonate_request, curl_cffi) first for sites behind bot walls; drop to generic_validate (httpx) only when a plain request already returns clean 200/404.
  6. Never use raise. Return Result.error(...) so the scan continues.
  7. Respect the global CLI flags in any request-making code (timeout -t, concurrency -C, --allow-loud) — mirror the existing helpers.

Read the full file on GitHub · 105 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 105 lines · 1,281 tokens per session scan A a6144831ca48

Subscribe to this mod's changes

user-scanner AGENTS.md is an instructions file published in the GitHub repository kaifcodec/user-scanner (4,569 stars, last pushed today), licensed MIT. It adds 1,281 tokens to every session, about $0.0064 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

deepagents AGENTS.md

AGENTS.md instructions for langchain-ai/deepagents, covering global development guidelines for the deep agents monorepo, corridor security analysis, development workflow, suppressing ruff rules and pr conventions.

langchain-ai/deepagents · 2,268 tokens

autoharness AGENTS.md

Instructions for tigerless-labs/autoharness: This repo uses Open Knowledge — collaborative markdown via MCP. .open-knowledge/config.yml (with optional /.open-knowledge/config.yml; CLI/env may override) is the path contract: content.dir is the root for relative paths; content.include lists globs that add markdown…

tigerless-labs/autoharness · 2,201 tokens

python-cheatsheet copilot-instructions.md

Copilot instructions for labex-labs/python-cheatsheet, covering python cheatsheet - ai coding assistant instructions, project overview, architecture & key patterns, content structure and routing & layout system.

labex-labs/python-cheatsheet · 1,155 tokens

martex-quant CLAUDE.md

Instructions for martex-dev/martex-quant, covering session start — read these first, project instructions, ai trading bot project - master instructions, role and project objective.

martex-dev/martex-quant · 6,161 tokens

ZipAgent AGENTS.md

Instructions for JiayuXu0/ZipAgent, covering repository guidelines, project structure & module organization, build, test & development commands, coding style & naming conventions and testing guidelines.

JiayuXu0/ZipAgent · 504 tokens

medusa CLAUDE.md

Claude Code instructions for Pantheon-Security/medusa, covering medusa - medusa security scanning, critical: release gate — do not skip, 4. security hardening tests (must show: all pass), critical: bash sandbox and project overview.

Pantheon-Security/medusa · 2,806 tokens