Skip to content
Productivity
Skill

/unbroker

Find and remove authorized personal information exposures from data brokers and people-search sites with a consent-gated local workflow.

From plugin
cowork-os
421154 skills
Install
$ npx -y skills add CoWork-OS/CoWork-OS --skill unbroker --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/unbroker

Context preview

The summary Claude sees to decide when to auto-load this skill.

Find and remove authorized personal information exposures from data brokers and people-search sites with a consent-gated local workflow.

SKILL.md

unbroker.SKILL.md
name: unbroker
description: Find and remove authorized personal information exposures from data brokers and people-search sites with a consent-gated local workflow.

unbroker

This CoWork OS bundled port is based on the upstream Hermes Agent `unbroker` skill: https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/security/unbroker

CoWork runtime mapping:

  • Treat `terminal` as CoWork's shell/run_command capability.
  • Treat `web_extract` as CoWork web search, fetch, or extraction tools.
  • Treat `browser_*` as the available CoWork browser automation tools.
  • Treat `delegate_task` as CoWork multi-agent orchestration when available.
  • Treat `cronjob` as CoWork scheduling/automation.
  • The Python engine stores data under `$PDD_DATA_DIR` when set. Otherwise it prefers

`$COWORK_HOME/unbroker`, then `$COWORK_USER_DATA_DIR/unbroker`, then the upstream legacy `$HERMES_HOME/unbroker` / `~/.hermes/unbroker` path.

Code is MIT licensed. Broker data includes BADBOOL-derived data under CC BY-NC-SA 4.0; keep the license and attribution notes in `LICENSE.txt` and the README intact when redistributing.

Find where a person's personal information (name, addresses, phone, email, relatives) is exposed on data brokers and people-search sites, then remove it - automatically where possible, with guided human steps only where a site demands a CAPTCHA, government ID, phone call, or fax. Manages multiple people independently. It does **not** defeat anti-bot systems, does **not** act on anyone without recorded consent, and does **not** remove public records (voter/property/court) or accounts the person controls.

The Python CLI (`scripts/pdd.py`) owns the deterministic state - config, dossiers + consent, the broker database, tier planning, the ledger, drafts, reports, **email sending (SMTP), verification-link polling (IMAP), and the autonomous action queue (`next`)**. You (the agent) do the scanning, form-driving, parallel work, and scheduling with the matching CoWork tools.

Autonomy contract

This skill is designed to run **hands-off**. After intake (+ recorded consent) there are exactly TWO legitimate human touchpoints: (1) the intake conversation itself, and (2) ONE consolidated human-task digest at the end of the run (`$PDD tasks`). Between those:

  • **Never ask the operator to choose configuration.** `$PDD setup --auto` detects capabilities and

picks the most autonomous valid config itself.

  • **Never pause before individual submissions** when `autonomy=full` (the default): the consent

recorded at intake is standing authorization for T0-T2 opt-outs. (`autonomy=assisted` restores per-submission confirmation for cautious operators - honor `confirm_first` flags in `next` output.)

  • **Never interrupt the run for human-only work.** Record it (`record ... human_task_queued

--reason "..."`) and keep going; it all surfaces once in the final digest.

  • **Drive the whole run as a loop over `$PDD next <subject>`** - it returns the exact ordered actions

to take right now (scan, poll verification, re-check, opt out parents-first, requeue blocked), plus the human digest. Execute every action, record outcomes, re-run `next`, repeat until `done_for_now`. Then present the digest, report, and schedule the cron.

The hard limits that autonomy never overrides: no acting without recorded consent, no disclosure beyond `disclosure_fields`, no CAPTCHA/anti-bot bypass, and `confirmed_removed` only after a verifying re-scan.

When to Use

  • "Remove my (or my family member's) data from data brokers / people-search sites."
  • "Opt me out", "delete me from Spokeo/Whitepages/etc.", "clean up after a doxxing."
  • "Set up recurring privacy monitoring" (brokers re-list people).
  • Checking which brokers still expose someone and why.

Prerequisites

  • `python3` (stdlib only; no extra packages needed for the core engine).
  • **Optional upgrades** (the skill works zero-config without these; `setup --auto` turns on every

one it detects, reading credentials from the shell env **and from the CoWork runtime `.env`** (`$COWORK_HOME/.env` or `$COWORK_USER_DATA_DIR/.env`, with upstream `$HERMES_HOME/.env` as a compatibility fallback) so keys already loaded for local tools are picked up without re-exporting - each one converts a class of human tasks into agent actions):

  • **Cloud browser (recommended default): `BROWSERBASE_API_KEY`.** `setup --auto` selects it

whenever the key is present, and it is the intended baseline: a real residential-IP cloud browser **clears soft/managed CAPTCHAs (Cloudflare Turnstile, hCaptcha/reCAPTCHA checkbox) as normal operation**, so those brokers stay automated (T1) instead of becoming human tasks. This is not CAPTCHA "solving" - no solver service, no fingerprint spoofing; only interactive/behavioral ("hard") challenges the browser genuinely cannot pass fall back to a human task. Without the key, the plain agent browser is used and soft-CAPTCHA brokers drop to T2 (human).

  • Email automation, two credential-free-or-not options:
  • **Browser mode (no password): `setup --email-mode browser`.** The agent sends opt-out/CCPA

emails and opens verification links through the operator's **logged-in webmail** using browser tools. Nothing is stored. This requires CoWork to be pointed at the operator's own logged-in browser, **NOT** a cloud browser: a headless cloud browser (Browserbase) holds no webmail session and is itself Cloudflare/DataDome-gated on webmail and on session-bound broker gates (e.g. PeopleConnect guided-mode). Drive the operator's real Chrome over CDP - launch `chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.cowork/chrome-debug"` (a dedicated debug profile signed into the webmail once, not the Default profile) and connect the browser tools to `127.0.0.1:9222`. **`$PDD cdp` launches this for you** (finds Chrome/Chromium/Brave/Edge, starts it detached on the dedicated

Read more
Ships withcowork-os

Local-first personal agentic OS and everything app for coding, knowledge work, web design, automations, and artifacts.

Get the whole plugin