portret · diff
v1.0.0 to git:20261003.a2d662f
41 added, 27 removed. Audit A to A.
---
name: portret
- description: "- Build a deep DOSSIER on a person — recall everything Anton already has on them, map ALL their public social profiles via web research, emit an Alpha-Protocol… Trigger on “/портрет <имя>“, “/portret <name>“, “портрет <имя>“, “досье на <имя>“, “собери досье <имя>“, “профиль человека <имя>“, “изучи <имя> как личность“, “profile <name>“, “dossier on <name>“, “research this person <name>“"
- version: 1.0.0
+ description: >-
+ Build a dossier on a person: recall everything the vault already knows, map their public
+ profiles by web research, emit a deep-research prompt for external tools, and persist a
+ well-linked person card. Triggers: "/portret <name>", "dossier on <name>", "profile <name>".
+ license: MIT
---
- # /портрет — глубокое досье на человека
+ # /portrait — a deep dossier on a person
- > 🧒 **When reporting to Anton:** end with a child-simple «Простыми словами» recap.
+ > 🧒 **When reporting to a non-technical operator:** end with a child-simple "In plain words" recap in their language.
- Оркестратор: **RECALL (всё своё) → ВЕБ (все соцсети) → DR-промпт (Alpha Protocol) → карточка в волт → синтез, когда Антон принесёт DR**. Это связка `/find` + `/ask` + Alpha-Protocol + ingest, заточенная под ОДНОГО человека-образец/лида/партнёра.
+ An orchestrator: **RECALL (everything we already have) → WEB (all social profiles) → a DR prompt (Alpha Protocol) → a card in the vault → synthesis once the operator brings the DR back**. It chains `/find` + `/ask` + the Alpha Protocol + ingest, aimed at ONE person — a role model, a lead or a partner.
- ## Шаг 0 — RECALL первым (дёшево, прежде веба)
- Поднять ВСЁ, что уже есть (правило recall-before-activity):
- - Память: `grep` по `~/.claude/.../memory/` на имя/варианты.
- - Точное имя: `/find <имя>` → `PYTHONUTF8=1 python "$IMPORTS_ROOT/namesearch/find_name.py" <имя>` (ловит транслит/раскладку/опечатки).
- - Смысл: `/ask "<имя> / тема"` (RAG по волту).
- - Прямой grep волта на латинский слаг (`07-People\person-<slug>.md`, `01-Conversations\...\<slug>`, CRM-лиды, Facebook-посты про него).
- - **Проверить существующую карточку** `07-People\person-<slug>.md` (+ `-2` дубли) — ОБОГАЩАТЬ, не плодить новую; дубли → supersede (skill `dedup`).
+ ## Step 0 — RECALL first (cheap, before the web)
+ Pull up EVERYTHING we already have (the recall-before-activity rule):
+ - Memory: `grep` through `~/.claude/.../memory/` for the name and its variants.
+ - Exact name: `/find <name>` → `PYTHONUTF8=1 python "$IMPORTS_ROOT/namesearch/find_name.py" <name>` (catches transliteration, wrong layout, typos).
+ - Meaning: `/ask "<name> / topic"` (RAG over the vault).
+ - A direct vault grep for the Latin slug (`07-People\person-<slug>.md`, `01-Conversations\...\<slug>`, CRM leads, Facebook posts about them).
+ - **Check for an existing card** `07-People\person-<slug>.md` (plus `-2` duplicates) — ENRICH it, never breed a new one; duplicates → supersede (skill `dedup`).
- ## Шаг 1 — ВЕБ: все соцсети (параллельно)
- `WebSearch`/`WebFetch` (Chrome-MCP при пейволле). Собрать таблицу: X/Twitter, Telegram (канал+личный), Medium/Substack/блог, LinkedIn, Facebook, Instagram, YouTube, GitHub/Gist, Keybase, личный сайт, фонд/компания, подкасты, академический след. Отмечать уверенность и битые/suspended ссылки. Кросс-верифицировать identity (handle ↔ Keybase/GitHub-proof), разводить однофамильцев по handle/темам/компаниям.
+ ## Step 1 — WEB: all social profiles (in parallel)
+ `WebSearch`/`WebFetch` (Chrome MCP when paywalled). Build a table: X/Twitter, Telegram (channel + personal), Medium/Substack/blog, LinkedIn, Facebook, Instagram, YouTube, GitHub/Gist, Keybase, personal site, fund/company, podcasts, academic trail. Mark confidence and any dead/suspended links. Cross-verify identity (handle ↔ Keybase/GitHub proof) and separate namesakes by handle, topics and companies.
- ⚠️ **Гейт лёгкого прохода (урок портретов СОСТАВ 2026-07):** лёгкий веб-проход верифицирует **IDENTITY** (кто это), а НЕ **CLAIMS** о человеке. «Уверенность high» ставить только по факту identity; сумму экзита, титул, «крупнейший игрок», а также НЕГАТИВ («публичного следа нет») — помечать `unverified`/`club-only` до глубокого DR. Негатив после мелкого поиска = запрещён ([[negative-claims-need-live-verification]]): «не нашёл за 2 запроса» ≠ «следа нет». Реальные промахи этого класса: [человек] (ложный «следа нет» → на деле IG 34K + фед.дела), [человек] («exit за $десятки млн high» → наёмный CEO, сумма не подтверждена).
+ ## Step 2 — the DR prompt (Alpha Protocol; the deep DR is run by the operator in an external tool)
+ Emit a filled-in DEEP RESEARCH PROMPT as one clean block (subject, sources, CONTEXT from recall, 6-8 questions: psyche/character, mental models, evolution, influences, contradictions/blind spots, personal philosophy, "the imprint worth emulating"). Template: `08-Templates\deep-research-prompt-template.md`. I do not run the deep DR myself — a light web pass is fine.
- ## Шаг 2 — DR-промпт (Alpha Protocol; глубокий DR делает Антон во внешнем тулзе)
- Выдать заполненный DEEP RESEARCH PROMPT одним чистым блоком (объект, источники, КОНТЕКСТ из recall, 6–8 вопросов: психика/характер, ментальные модели, эволюция, влияния, противоречия/слепые зоны, личная философия, «слепок для подражания»). Шаблон: `08-Templates\deep-research-prompt-template.md`. Я сам глубокий DR не делаю — лёгкий веб-проход ок.
+ ## Step 3 — the card into the vault (backup → write → reindex)
+ 1. `python $IMPORTS_ROOT/vault_backup.py "<label>"` BEFORE writing ([[vault-backup-rule]]).
+ 2. `07-People\person-<latin-slug>.md` (Latin slug! the native-script name goes into `title:`/`aliases:`): who they are · ⭐ why they matter to the owner + the link to their goals · a table of every social profile · a map of how they think · what the vault already holds (the recall index) · personal history (DMs/calls/CRM) · connections and concepts. At least 1 inbound link (no-orphan).
+ 3. Reindex: `python $IMPORTS_ROOT/brain_embed_update.py [--cpu]` (15-minute cooldown → `--force`).
- ## Шаг 3 — Карточка в волт (бэкап → write → reindex)
- 1. `python $IMPORTS_ROOT/vault_backup.py "<label>"` ПЕРЕД записью ([[vault-backup-rule]]).
- 2. `07-People\person-<latin-slug>.md` (латиница! заголовок/кириллица → `title:`/`aliases:`): кто это · ⭐ почему важен Антону + связь с целями · таблица всех соцсетей · карта мышления · что уже есть в волте (recall-индекс) · личная история (DM/звонки/CRM) · связи/концепты. ≥1 входящая ссылка (no-orphan).
- 3. Реиндекс: `python $IMPORTS_ROOT/brain_embed_update.py [--cpu]` (кулдаун 15м → `--force`).
+ ## Step 4 — synthesis (once the operator brings the DR back)
+ Merge recall + DR → a Decision Memo `03-Insights\insight-*` ("what to adopt / how they think") and weave it into the dossier. Original reports → `_originals\<slug>-deep-research\` ([[preserve-originals-rule]]).
- ## Шаг 4 — Синтез (когда Антон принёс DR назад)
- Объединить recall + DR → Decision Memo `03-Insights\insight-*` («что перенять / как мыслит») + вплести в досье. Оригиналы отчётов → `_originals\<slug>-deep-research\` ([[preserve-originals-rule]]).
+ ## Gates
+ - We do not touch their social accounts from the outside; outreach to the person is draft-first + an explicit "yes" from the operator (Tier-2).
+ - Grunt work (collecting profiles, frequency analysis of a corpus) can run on cheap-model subagents; the synthesis and the map of thinking need the top model.
+ - Reference precedent: an earlier dossier built exactly this way (see the matching `person-*` and `insight-*` notes).
- ## Гейты
- - Соцсети наружу не трогаем; outreach к человеку = draft-first + явное «да» Антона (Tier-2).
- - Грунт (сбор соцсетей, частотный анализ корпуса) можно на Sonnet-субагентах; синтез/карта мышления — Opus.
- - Прецедент-эталон: досье [человек] Гершуни (память `content-gershuni-style`, `person-stepan-gershuni`, `insight-ai-native-playbook-gershuni`).
+
+ <!--kit-footer-->
+
+ ---
+
+ **Like this skill?** It is one of 100 in [second-brain-starter-kit](https://github.com/tonydzi/second-brain-starter-kit): the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with `npx skills add tonydzi/second-brain-starter-kit`. Everything is open source and free, so take what you need.
+
+ Flagships worth a look on their own: [secondop-panel](https://github.com/tonydzi/secondop-panel) (a second opinion from a panel of external models), [claude-memory-tidy](https://github.com/tonydzi/claude-memory-tidy) (stop your agent's memory from rotting), [telegram-mcp-kit](https://github.com/tonydzi/telegram-mcp-kit) (your own Telegram over MCP in about 15 minutes).
+
+ Author: **Anton Dziatkovskii**, Palo Alto AI Research Lab. Telegram [@tonydzi](https://t.me/tonydzi) - WhatsApp [+1 341 222 9178](https://wa.me/13412229178) - X [@Tony_Stef_](https://x.com/Tony_Stef_)
+
+ **Engineers: want to test-drive this setup?** Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.