---
name: interview-prep
description: "Подготовка Антона к собеседованию: компания, роль по тексту вакансии, честная сверка с CV, проверенные доказательства, питч на английском, вопросы-ответы, свои вопросы, логистика в поясе компании. Триггеры: /interview-prep, /ip, подготовь к собеседованию, шпаргалка к интервью, питч для <компания>. НЕ /call-prep (кто этот человек по брони лида)."
version: 1.1.0
---

# /interview-prep — шпаргалка и питч к собеседованию

> 🧒 Доклад Антону кончается блоком «Простыми словами» ([[eli5-always]]). Файл шпаргалки — без ELI5, это рабочий документ.

**Родился 14.09.2026** из живого прогона: Lambda (Senior SE, рекрутер) и Nango (Founding DevRel, CTO) на 15.09.
Эталон выхода: `$OBSIDIAN_VAULT/04-Projects/Pipe-A-Batches/interview-prep-2026-09-15-lambda-nango.md`.

**Место в трубе найма:** `/apply` (подали) → `/job-inbox` (ответ пойман, записались в их календарь) → **`/interview-prep`** → `/fa`.

**Граница с соседом:** `/call-prep` = «кто этот человек» по брони лида (Calendly → CRM). Этот = работодатель:
компания + роль + как Антону продать себя. Работает для любого агента: всё ниже — `gh`, `curl`, наши скрипты;
строки «нужен Claude» помечены.

## ⛔ Закон домена «трудоустройство» (anton 14.09, голосом)
В поиске работы **Майкрофта нигде не упоминаем**: ни в анкетах, ни в письмах рекрутёрам, ни в подтверждениях,
ни в фоллоуапах. Всё пишется от первого лица Антона. Причина: работу делаем вместе, а фраза «анкету заполнил ИИ»
читается как «кандидат не соизволил сам» — это невежливо. Действует, пока Антон не отменит.
Если собеседник ПРЯМО спросит «это писал бот?» — не отрицаем, отвечает Антон. Канон: [[job-search-no-mycroft-disclosure]].

## Шаг 0. Встречи ещё нет → бронирую САМ (anton 16.09)
Письмо «дай 3–4 окна» или ссылка на запись, а брони ещё нет → не ждать Антона. Слоты из календаря a@ по приоритетам
**местного времени Антона — Лиссабон (в поездке город по календарю), НЕ PT**: ① свободно 7–21 → ② свободно 6–22 → ③ 6–22 поверх событий → ④ любое.
⭐ И обязательно слот в **07:00–22:00 у людей компании** (LA/SF для Калифорнии): 6 утра у интервьюера ⛔ (16.09, пятница Lambda 6:00 PT — «все спят»). Рекрутёр прислал окна интервьюера: Антон в сессии → варианты таблицей, выбирает он; нет/молчит → выбираю сам (anton 17.09). Процедура формы — `/job-inbox` Шаг 2.3.
Канон: `reglament-sobesedovaniya-broniruyu-sam-po-prioritetam-slotov`. Шпаргалку готовить параллельно, не после подтверждения.

## Шаг 1. Встреча — из брони, не по памяти
- Письмо-приглашение и подтверждение в ящике a@: `cd ~/CLAUDE-Mac-2019/gmail && python3 gmail_check.py search "<компания> (interview OR invitation OR confirmed)" --label a --max 10 --json` (на Windows-узлах — `$USERPROFILE/!CLAUDE-HP17 May26/gmail`).
- Достать: дата и время **в поясе компании**, длительность, Meet-ссылка, имя и роль интервьюера, просьбы («confirm receipt» → ответить САМОМУ в тред: `gmail_reply.py a <id> "<текст>"`).
- ⚠️ Тема Google-приглашения показывает пояс календаря Антона (14.09 стоял Брисбен) — время брать из тела письма Ashby/рекрутёра.

## Шаг 2. Текст вакансии — первоисточник
- Ashby: `curl -s "https://api.ashbyhq.com/posting-api/job-board/<slug>?includeCompensation=true"` → найти job по id из URL заявки (jobs.db `ats_jobs.url` на хабе).
- Greenhouse: `https://boards-api.greenhouse.io/v1/boards/<slug>/jobs/<id>`; Lever: `https://api.lever.co/v0/postings/<slug>/<id>`.
- Выписать: миссия · что делать · требования (обязательные / nice to have) · локация и онсайт · вилка денег.

## Шаг 3. Компания — только проверяемое
- Сайт (about / careers), YC-страница, для open source — `gh api repos/<org>/<repo>` (звёзды, язык, свежесть коммитов), CONTRIBUTING.md.
- Каждый факт с источником; вспомнил, но не проверил → пометка 🤔 «проверь до звонка». Имена фаундеров не угадываем.
- Интервьюер: роль (рекрутёр / хайринг-менеджер / фаундер) определяет, о чём звонок. Фаундер из письма — одним веб-поиском.

## Шаг 4. Честная сверка с CV
- Мастер: `$OBSIDIAN_VAULT/05-Resources/External-Mirror/resume.json`.
- Таблица «требование → что есть у Антона → ✅ / ⚠️ / ❌». Дыры называем прямо и готовим честный ответ + мост к соседней роли. Выдумать опыт = провал.

## Шаг 5. Доказательства — каждое сверить живьём
- Вклады: `gh search prs --author tonydzi --merged --limit 60 --json repository,title,closedAt`.
- Любую ссылку, которую Антон произнесёт, проверить: `gh api repos/<o>/<r>/pulls/<n> --jq '{state,merged}'`. Открытый чужой PR, где было наше ревью = «reviewed», не «fixed» (случай google/adk-python#6957, 14.09).
- Выбрать 3–5 доказательств под ЭТУ роль, а не весь список.

## Шаг 6. Шпаргалка
Файл `$OBSIDIAN_VAULT/04-Projects/Pipe-A-Batches/interview-prep-<дата-звонка>-<компании>.md`, по компании:
1. Когда (пояс компании + Лиссабон) · Meet · с кем · длительность.
2. Компания в 3 строках.
3. Сверка требований (Шаг 4).
4. **Питч на английском, полным текстом**, произносимый: 45 с для 15-минутного звонка, 60 с для 30-минутного. Приветствие по имени, короткие фразы, абзацы. Для фаундера — конкретная идея «что сделаю в первые 30 дней»; для рекрутёра — мотивация, логистика, виза.
5. Вероятные вопросы с ответами (Why us · слабое место · онсайт · деньги: вилка из вакансии, первым число не называть · виза: O-1 active + EU passport, sponsorship not required · другие процессы — правда без имён).
5-бис. **Банк behavioral-историй: 5 успехов + 5 провалов** (anton 21.09, голосом, под Lambda STEP 02). Этап hiring manager почти везде объявлен как «projects, work style, team dynamics» — то есть поведенческий, а не технический. Каждая история несёт: английский текст целиком · на чём акцент · сколько секунд · какую проблему решал · результат · для провала «чему научился + как изменил подход». Провалов пишем СТОЛЬКО ЖЕ, сколько успехов: один провал-заглушка = половина подготовки. Сажать на реальный опыт, выдуманные детали помечать ⚠️ прямо в тексте. Перед выдачей — прогон чужой рельсой на красные флаги (свалил вину · запретная для компании тема · чисто коммерческий провал · урок без письменного следа). Эталон: `04-Projects/Pipe-A-Batches/lambda-behavioral-10-stories-2026-09-21.md`.
6. 2–4 своих вопроса.
7. Логистика и «после звонка» → `/interview-debrief` в тот же день (расшифровка из screenpipe хаба → фоллоуап в тред от первого лица Антона, без Майкрофта → статус jobs.db).
8-бис. Урок в машину: после шпаргалки эпизоды по дырам ❌/⚠️ через `/teach-podcast` (anton 17.09: «чтобы утром в мозге было много нового»). ⭐ **20.09, голосом: по найму подкаст делается БЕЗ ВОПРОСА Антону** («это делаем однозначно и без вопросов»), и под целое собеседование берём **3–5 эпизодов**, а не один: один звонок = несколько дыр сверки, каждая тянет свой эпизод. Спросить разрешение = нарушить правило; отдать один эпизод на незнакомую компанию = исполнить его на четверть. Канон: `reglament-uchim-antona-podkastom-na-notebooklm`, CLAUDE.md §9.13.
8. ⛔ Факт о себе — тоже claim: «I use X API myself» только при живом доказательстве (ключ, аккаунт, вызов). 15.09 чуть не ушло в питч Lambda при PR без ключа. Питч — простой английский, короткие фразы (Антон: «like I'm five»).

## Шаг 7 (ОБЯЗАТЕЛЬНЫЙ, anton 15.09). Коммит в GitHub работодателя до звонка
Правило: **перед каждым собеседованием идём в GitHub работодателя, ищем, где у нас есть экспертиза, и коммитим**.
Прийти к интервьюеру с открытым PR в его репо = доказательство, а не резюме. Эталон 14.09: к звонку с CTO Nango —
NangoHQ/nango#7532 ([человек]) и #7533 (Lambda Cloud, заодно тема для звонка с Lambda в тот же день).

⭐ Голова старта (15.09, `pipe-a-github-bridge-daily`): компания уже в статусе scheduled/next-stage/
interview → загляни в `04-Projects\Pipe-A-Batches\github-audition-queue.md` ПЕРЕД Шагом 1 -- рутина
уже резолвила GitHub-org ежедневно, без брони звонка. ⚪/нет строки → это НЕ «дверей нет», просто
рутина ещё не дошла или org не резолвится по имени -- Шаг 1 всё равно обязателен руками.

1. **Найти репо:** `gh search repos org:<org> --sort stars --limit 10` (org = имя компании; нет — сайт → footer → GitHub). Нет публичного кода → вердикт «⚪ двери нет: <где искал>», дальше Шаг 8.
2. **Прочитать CONTRIBUTING.md и AGENTS.md целиком** — какие внешние PR они реально смотрят. Nango: только новые API и приватные security-фиксы; баг-фиксы от внешних не ревьюят. Не принимают наш жанр → не шлём.
3. **Замер очереди:** доля смерженных внешних PR — `gh api "repos/<o>/<r>/pulls?state=closed&per_page=100" --jq 'group_by(.author_association)|map({a:.[0].author_association,total:length,merged:(map(select(.merged_at!=null))|length)})'`. Глухая очередь → только качественный issue с воспроизведением (жанр #7266 у Nango: отчёт прогоном → их фикс за 2 дня).
4. **Матч с нашей экспертизой** (порядок): то, чем пользуемся сами (API/SDK из нашего стека) · MCP/OAuth/agents · «документация врёт — пример не собирается» · тесты, которые никогда не краснели · связь со второй компанией того же дня. Сотрудники уже делают этот issue → не лезем.
5. **Дубли с охватом:** файлы/каталог в репо + issues и PR (все статусы, заголовок И текст) + ветки + их публичный каталог/доки. Докладывать «не нашёл в <перечень>», не «этого у них нет».
6. **Сборка = фоновый агент** (не держим контекст сессии): форма по их смерженному эталонному PR, их генераторы и валидаторы, красная проверка (сломать → увидеть падение), живой вызов API если есть ключ (ключ не печатать), leak-scan, трейлеры, подпись `— Anton Dziatkovskii · github.com/tonydzi` в теле PR, без Майкрофта. Ключ ищем `cred_hunt.py` на хабе, не «ключа нет» после одного места. **CLA/DCO подписывает исполнитель САМ любым способом проекта (коммент, cla-assistant через GitHub-вход в Chrome, EasyCLA) — «стоп и спроси Антона» в брифе ⛔** ([[reglament-podpisi-i-nastroyki-akkaunta-delayu-sam-ne-sprashivayu]]).
7. **После:** `pr_watch.py --add`; в шпаргалку — ссылки и ОДНА фраза для интервьюера. В питч PR попадает **только если он реально открыт**. Не успели до звонка → фраза «I'm preparing a PR for X» ⛔ (обещание без факта).
8. Вердикт шага: 🟢 PR открыт · 🟡 issue с воспроизведением · ⚪ двери нет (где искал) · ⛔ не принимают внешних.

## Шаг 8. Доставка и вердикт
- SendUserFile с файлом шпаргалки; в чат — главное по каждой компании и оба питча полным текстом.
- jobs.db на хабе: статус `scheduled` уже стоит; после звонка → `/interview-debrief` ставит `next-stage` / `rejected`.
- Вердикт о скилле одной строкой: 🔧 обновляю / 📝 не сейчас / ✅ не надо — с причиной.

## Потребители
- Антон: `/interview-prep <компания>` перед любым собеседованием.
- Рутины `pipe-a-inbox-watch-[машина флота]` ([машина флота]) и `pipe-a-inbox-watch` (хаб): после перевода собеседования в `scheduled` запускают этот скилл и присылают шпаргалку.
