annotate
Build and verify a PII gold set with HUMAN annotators (first-class). Launch the browser annotator, label spans per the codebook,…
Set up, install, and configure CONFIDE local de-identification — installs Python deps (natasha, scrubadub, phonenumbers, pymorphy2), ensures Ollama + pulls the default qwen2.5:3b model, detects optional llama.cpp, and writes the optimal-default config so confide:anon and
$ npx -y skills add glebis/claude-skills --skill setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/setupContext preview
The summary Claude sees to decide when to auto-load this skill.
Set up, install, and configure CONFIDE local de-identification — installs Python deps (natasha, scrubadub, phonenumbers, pymorphy2), ensures Ollama + pulls the default qwen2.5:3b model, detects optional llama.cpp, and writes the optimal-default config so confide:anon and
name: setup description: Set up, install, and configure CONFIDE local de-identification — installs Python deps (natasha, scrubadub, phonenumbers, pymorphy2), ensures Ollama + pulls the default qwen2.5:3b model, detects optional llama.cpp, and writes the optimal-default config so confide:anon and confide:red work with zero further config. Everything is local-first; raw text never leaves the machine. Use when the user says "set up confide", "install confide", "configure confide de-id", "confide setup", or "get confide ready".
One-shot installer + optimal-default config writer for the CONFIDE local de-identification toolkit. After running this, `confide:anon` (redact a transcript) and `confide:red` (residual re-identification risk check) work with no further configuration.
**Local-first:** all detection and redaction run on the user's machine. Readiness checks and config writing never read, print, or transmit any transcript text or PII — only booleans and the config path.
Trigger phrasings: "set up confide", "install confide", "configure confide de-id", "confide setup", "get confide ready to anonymize".
The entrypoint is `scripts/setup.py`. It imports the shared core (`shared/confide_core.py`) for the canonical `DEFAULTS` — do not redefine preferences here.
1. **Check readiness (default, no install):**
python3 skills/setup/scripts/setup.py --check
Prints a ✓/✗ table: Python deps importable (natasha, scrubadub, phonenumbers, pymorphy2), Ollama reachable (`GET ollama_host/api/tags`), the `anon_model` pulled, llama.cpp on PATH (optional), and whether the config exists. Booleans only — no PII.
2. **Install everything (best-effort, tolerates failures):**
python3 skills/setup/scripts/setup.py --install # core deps + ollama pull python3 skills/setup/scripts/setup.py --install --with-presidio # + optional EN baseline
(`setuptools<81` supplies `pkg_resources` for pymorphy2). Optional `presidio-analyzer` behind `--with-presidio`.
3. **Write the optimal-default config (idempotent):**
python3 skills/setup/scripts/setup.py --write-config # writes only if absent python3 skills/setup/scripts/setup.py --reconfigure # overwrites with defaults python3 skills/setup/scripts/setup.py --show # print current config
On first run with no config present, the script writes the defaults automatically. `--write-config` will **not** clobber an existing (user-customized) config; use `--reconfigure` to force-reset.
Config lives at `~/.config/confide/config.json`.
Written from `confide_core.DEFAULTS`:
| Key | Value | Why | |---|---|---| | `engine` | `ollama` | zero-config, Metal-accelerated, handles long docs (llama.cpp 400s on long RU) | | `anon_model` | `qwen2.5:3b` | fast local LLM layer for quasi-PII | | `red_attacker_model` | `qwen2.5:3b` | local default; it is a **floor** — a stronger attacker is the true ceiling | | `languages` | `["ru", "en"]` | bilingual corpus | | `layers` | `["regex", "natasha", "llm"]` | deterministic → RU NER → quasi-PII | | `redaction_style` | `typed_placeholder` | `[PERSON]`, `[DATE]`, … (reversible map kept locally, never shipped) | | `privacy.local_only` | `true` | raw text never leaves the machine | | `privacy.cloud_apis` | `false` | cloud disabled by default | | `privacy.cloud_only_on_synthetic` | `true` | cloud attacker only opt-in on synthetic/consented data | | `ollama_host` | `http://localhost:11434` | local Ollama |
`install(with_presidio=False)`, `show_config()`.
~100 skills for Claude Code — meeting pipelines, research, image generation, TDD, publishing, personal analytics, and Claude Code ops. Each skill is a self-contained folder with a SKILL.md; Claude triggers them from natural language.
Build and verify a PII gold set with HUMAN annotators (first-class). Launch the browser annotator, label spans per the codebook,…
De-identify a session transcript (file or folder) by redacting PII LOCALLY before any sharing or cloud use. Produces a redacted…
Run a corpus-scale, STATS-ONLY PII audit over a folder of session transcripts LOCALLY and produce an aggregate report — counts by…
Residual re-identification RISK CHECK on text you have ALREADY redacted (defensive, dual-use). Use when the user asks to "check…
Put the real values back into an analysis that was produced from GREEN (placeholder) text — LOCALLY, using the user's own…