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.
npx agentmods add skills/ogrodev/fsociety/data-acquisitionnpx skills add ogrodev/fsociety --skill data-acquisitiongit clone --depth 1 https://github.com/ogrodev/fsocietyWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ogrodev/fsociety/data-acquisition)<a href="https://agentmods.dev/skills/ogrodev/fsociety/data-acquisition"><img src="https://agentmods.dev/badge/skills/ogrodev/fsociety/data-acquisition.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00096 | $0.00746 |
| Opus 5 | $0.00048 | $0.00373 |
| Sonnet 5 | $0.00019 | $0.00149 |
| Haiku 4.5 | $0.00010 | $0.00075 |
Grade A, and why
data-acquisition 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.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Acquisition
Overview
Safely acquire data from confirmed open/unauthenticated databases. All acquisition follows a read-only, rate-limited approach with safety caps. Raw dumps are stored in the dumps/ directory and registered in the acquisition tracker before any downstream processing.
Pre-Acquisition Checklist
Before dumping any database:
- Confirm source is classified as
openin the source tracker - Verify the active hunt profile authorizes the acquisition scope
- Ensure sufficient disk space for the estimated dump size
- Note the target IP/port and database name
Acquisition via dumper.js
node ${CLAUDE_PLUGIN_ROOT}/scripts/dumper.js probe <url> [--service auto|mongo|elastic|redis|couch|mysql|postgres]
node ${CLAUDE_PLUGIN_ROOT}/scripts/dumper.js dump <url> --service <type> --source-id <source-tracker-id> [--timeout N]
This is a full-dump tool — it acquires all accessible data from the target. Probe first to estimate size before committing to a full dump.
Post-Acquisition Registration
After a successful dump, register it in the acquisition tracker:
node ${CLAUDE_PLUGIN_ROOT}/scripts/acquisition-tracker.js add \
--source-id <source-tracker-id> \
--file dumps/<filename> \
--record-count <N> \
--format <jsonl|csv|bson|json>
Format Conversion
Convert raw dumps to normalized JSONL for downstream pipeline processing:
node ${CLAUDE_PLUGIN_ROOT}/scripts/pipeline.js convert \
--input dumps/<raw-file> \
--output dumps/<target>-normalized.jsonl \
--format <source-format>
Supported input formats: BSON, JSON array, CSV (auto-detect headers), NDJSON.
Per-Database Acquisition Patterns
MongoDB: Use mongoexport for collection-level exports or mongosh for selective queries. Prefer JSONL output (--type json --jsonArray false).
Elasticsearch: Use scroll API for paginated extraction. elasticdump with --type data --limit 1000 handles pagination automatically.
Redis: Use KEYS * followed by GET for small keyspaces. For large instances, use SCAN with cursor to avoid blocking. Export as JSON key-value pairs.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 72 lines · 96 tokens per session scan A 4251954cd2e0
data-acquisition is a skill published in the GitHub repository ogrodev/fsociety (20 stars, last pushed 5mo ago), licensed MIT. It adds 96 tokens to every session and 746 once invoked, about $0.0005 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-09-03.
Other skills, from other repositories
ecto-patterns
Ecto patterns — schemas, changesets, queries, migrations, Multi, associations, preloads, upserts. Use when editing Repo calls, Ecto.Query, or schema fields. Skip for Ash.
bun-redis
Use when working with Redis in Bun (ioredis, Upstash), caching, pub/sub, session storage, or key-value operations.
cloudflare-hyperdrive
Cloudflare Hyperdrive for Workers-to-database connections with pooling and caching. Use for PostgreSQL/MySQL, Drizzle/Prisma, or encountering pool errors, TLS issues, connection refused.
nw-database-technology-selection
Database comparison catalogs, RDBMS vs NoSQL selection criteria, CAP/ACID/BASE theory, OLTP vs OLAP, and technology-specific characteristics.
ecto-constraint-debug
Debug Ecto constraint violations - trace triggers, check migrations, find duplicate data. Use when seeing uniqueconstraint, foreignkeyconstraint, or checkconstraint errors.
nuxthub
Use when building NuxtHub v0.10.6 applications - provides database (Drizzle ORM with sqlite/postgresql/mysql), KV storage, blob storage, and cache APIs. Covers configuration, schema definition, migrations, multi-cloud deployment (Cloudflare, Vercel), and the new hub:db, hub:kv, hub:blob virtual module imports.