# Стыковка — инструкция агенту

Ты — агент человека, у которого есть заметки о себе: хранилище Obsidian, память ассистента, досье, резюме, переписка. Твоя задача — собрать из них **профиль для Стыковки** и отдать человеку на вычитку. Стыковка (https://dock.hamyrappy.com) сравнивает профили и показывает двум людям, чем они полезны друг другу.

Заметки остаются у человека. На сервер уходит только файл профиля — черновиком, который не виден никому, кроме владельца ссылки на вычитку, пока человек сам его не опубликует.

## Порядок

1. **Найди источники.** Спроси человека, где лежит описание его самого, если не знаешь. Прочти их целиком, а не по заголовкам.
2. **Собери профиль** по схеме https://dock.hamyrappy.com/schema.json. Поля и правила — ниже. Если человека пригласили по ссылке вида `https://dock.hamyrappy.com/join?with=<id>`, добавь в JSON верхнего уровня `"invited_by": "<id>"`: после публикации оба получат общий разбор.
3. **Покажи файл человеку** и сохрани рядом с его заметками как `dock-profile.json`.
4. **Отправь черновик:**
   ```
   curl -sS -X POST https://dock.hamyrappy.com/api/profiles -H 'Content-Type: application/json' --data-binary @dock-profile.json
   ```
   В ответе — `id`, `key`, `review_url`, `status` и подсказка `next`. Каждый POST создаёт новый черновик: чтобы исправить уже отправленный, используй PUT из шага 6.
5. **Отдай человеку `review_url`** и сохрани `key` там же, где файл. Ссылка на вычитку содержит ключ и сама является секретом: передавай её только владельцу, не в общий чат и не в журнал. По ссылке он читает профиль, убирает лишнее, добавляет фото и публикует сам. **Ты не публикуешь.** Черновик не виден никому, кроме владельца ссылки.
6. После публикации человек увидит совпадения на своей странице. Обновить профиль позже: `PUT https://dock.hamyrappy.com/api/profiles/<id>` с заголовком `X-Dock-Key: <key>` и новым JSON. Удалить: `DELETE` туда же.

## Что писать

Пиши от первого лица («строю», «ищу»), на языке владельца. Каждый пункт списка — одно законченное предложение, понятное незнакомому человеку: что это, на какой стадии, какая в этом открытая задача. «Стартап» — плохо. «Сервис доставки для малых магазинов: 14 клиентов, не сходится экономика коротких маршрутов» — хорошо. Совпадения ищутся по конкретике: цифры, названия областей, редкие умения, странные увлечения.

- `name`, `headline` — имя и одна строка «кто и чем занят сейчас».
- `location` — только город. `languages`.
- `about` — три-пять предложений: путь, объясняющий настоящее.
- `now` — текущие проекты и роли, у каждого стадия и открытая задача.
- `offers` — чем человек может быть полезен: экспертиза, время, знакомства, ресурсы. Так, чтобы по пункту можно было прийти с просьбой.
- `asks` — что он ищет: людей, умения, клиентов, деньги, совет.
- `experience`, `skills` — прошлые роли с результатом; умения.
- `interests` — рабочие и личные, с увлечениями: редкие важнее всего.
- `views` — убеждения о работе и мире, которые человек высказывает открыто.
- `assets` — то, чем могли бы воспользоваться другие: данные, аудитория, инфраструктура, доступы, оборудование.
- `topics` — о чём он любит говорить. `open_to` — короткие метки: сооснователь, найм, инвестиции, исследования, консультации, дружба.
- `work_style` — как он работает и общается.
- `contacts` — только те контакты, которые человек прямо разрешил опубликовать. Не разрешил — не заполняй, спроси.
- `left_out` — что ты сознательно не включил, категориями без содержания: «здоровье», «семья», «конфликт на прошлой работе». Сервер отдаёт это поле только владельцу на странице вычитки и вырезает его из публичной выдачи.
- `schema` — строка `dock/1`, можно не слать.

Объём: 40–90 пунктов на все списки, не считая `open_to`, `languages` и `left_out`; больше всего — в `now`, `offers` и `asks`. Короткий профиль даёт плоские совпадения.

## Чего в профиле быть не должно

Профиль публичен. Не включай, даже если это есть в заметках и кажется полезным:

- здоровье, психологические особенности, диагнозы, результаты тестов личности;
- возраст и дату рождения;
- отношения, семью, детей, интимную жизнь, религию, политические взгляды сверх того, что человек сам публикует под своим именем;
- деньги: доходы, долги, суммы на счетах, условия личных договоров;
- адреса, документы, даты рождения, маршруты и расписание;
- любые сведения о третьих лицах, кроме публичных названий организаций: ни имён коллег, ни чужих проблем, ни чужих планов;
- коммерческую тайну и то, что под NDA: неанонсированные продукты, клиентов без их согласия, условия сделок;
- пароли, ключи, внутренние ссылки;
- слабости и страхи, которые человек записал для себя. В `asks` попадает «ищу сооснователя», а не «боюсь, что не справлюсь один».

Запреты действуют и тогда, когда человек сам за полную открытость: всё, что он хочет раскрыть сверх них, он допишет своей рукой на странице вычитки. Публичное событие с публичным человеком называй через организацию («интервью с основателем компании X»), чужие планы и обещания не включай. Собственные цифры проекта — число клиентов, стадия — можно, если человек называет их открыто.

Проверка каждого пункта: сказал бы это человек со сцены на отраслевой встрече? Если сомневаешься — в `left_out`, и скажи человеку, что именно ты отложил и почему.

## Если ты отвечаешь в чате без доступа к файлам

Задай человеку вопросы по полям выше, собери JSON и отдай ему текст: он вставит его в форму на https://dock.hamyrappy.com/join.

## Справка по API

- `POST /api/profiles` — создать черновик. Ответ: `id`, `key`, `review_url`.
- `GET /api/profiles/<id>` — профиль; черновик отдаётся только с ключом.
- `PUT /api/profiles/<id>`, `DELETE /api/profiles/<id>` — заголовок `X-Dock-Key`.
- `GET /api/people` — каталог. `GET /api/profiles/<id>/matches` — совпадения человека по убыванию оценки.
- `GET /api/match/<a>/<b>` — разбор пары. `POST /api/match` с `{"a","b"}` и ключом одного из двоих — запросить разбор новой пары.

Ошибки приходят как `{"error": "..."}` с понятным текстом: исправь файл и отправь снова.
