DC linkedin-hack
Ваш агент сканирует LinkedIn через сессию браузера, которую вы уже имеете — профили, поиск, контакты, почту, ленту. Никакого официального API, никакой проверки приложения. Ваши cookie никогда не покидают браузер: вызовы API — это fetch(), выполняемый внутри вкладки linkedin.com, которую вы предоставили (people-search перенаправляет эту вкладку на страницу поиска LinkedIn и читает результаты), а в версии 1.2.1 были удалены код извлечения cookie, хранения сессий и внешнего воспроизведения из пакета, вместо того чтобы оставить его отключенным — больше нечего хранить или красть. Каждый запрос, навигация и выбор вкладки привязаны точно к https://www.linkedin.com, включая переопределение LINKEDIN_TARGET_ID, поэтому поддельный хост не может использовать вашу сессию. Читает и редактирует свободно; единственное действие записи, отправка сообщения, требует согласия для каждого действия, которое повторяет точный URN диалога, и без него вы получите черновик, а сообщение не будет отправлено. Браузерный ретранслятор должен быть буквальным IP-адресом обратной связи, без переопределения. Ежедневные лимиты учитывают каждую запрошенную запись и резервируются до отправки запроса. Создано для форка TinkerClaw — github.com/globalcaos/tinkerclaw. См. Permissions, Data Flow & Consent.
машинный переводПоказать оригиналСкрыть оригинал«Your agent crawls LinkedIn through the browser session you already hav…»
Your agent crawls LinkedIn through the browser session you already have — profiles, search, connections, inbox, feed. No official API, no app review. Your cookies never leave the browser: API calls are a fetch() run inside the linkedin.com tab you shared (people-search navigates that tab to a LinkedIn search page and reads the results), and 1.2.1 DELETED the cookie-extraction, session-store and external-replay code from the package rather than leaving it switched off — there is no longer anything to store or steal. Every request, navigation and tab pick is pinned to exactly https://www.linkedin.com, including the LINKEDIN_TARGET_ID override, so a look-alike host cannot borrow your session. Reads and drafts freely; the one write, message-send, needs per-action consent that repeats the exact conversation URN, and without it you get the draft and nothing is sent. The browser relay must be a literal loopback IP, with no override. Daily ceilings count every record requested and are reserved before the request goes out. Built for the TinkerClaw fork — github.com/globalcaos/tinkerclaw. See Permissions, Data Flow & Consent.
Ваш агент сканирует LinkedIn через сессию браузера, которую вы уже имеете — профили, поиск, контакты, почту, ленту.
Как процесс C 50/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, повторный запуск
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Сократите description до 1024 символов.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1133 символов, лимит 1024 - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
body-longтело SKILL.md ≈ 6463 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "repository" - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage" - заметка
edit-residueв тексте есть пометки об устаревшем (строки 190, 191, 197, 217, 285, 305): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 50/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 47, без проверки текущего состояния
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 60Инструменты и файлы. Используются инструменты (bash, web, git, node), но во frontmatter они не объявлены
- 70Стоимость исполнения. Тело инструкции 6463 токенов
- 85Шаги. Шагов: 50, расплывчатых формулировок: 1
- 100Согласованность. Имя и обязательные поля на месте
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле
- high Скилл велит модели самой совершать необратимое действие, без подтверждения человеком
- low Ответ описан самодельной разметкой (14 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1133: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 23 заголовков
- +3Пошаговые инструкции: 50 пунктов
- +4Есть примеры (6 блоков кода)
- +3Все 1 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 33.