Мастер Claude · Блок 4. Skills и автоматизация

Урок 40 из 93 · ~10 мин чтения

Итог фазы 4 — личная автоматизация

Урок пока закрыт

Курс проходится последовательно.

К текущему уроку

Почему это важно именно вам

За последние десять дней вы освоили пять инструментов. Каждый — полезен сам по себе. Skills убирают повторное объяснение задачи. Именованные сессии дают память по проектам. Git worktrees позволяют держать несколько версий документов одновременно. Pre-commit hooks защищают файлы от случайных изменений. Автозапуск через launchd превращает разовый скрипт в ежедневный процесс.

Проблема в том, что до сих пор это были отдельные кирпичи. Если вы настроили только скрипт по расписанию, но не skill — скрипт содержит промпт прямо внутри, и когда нужно его поменять, придётся лезть в bash-код. Если вы используете только именованные сессии, но не автоматизацию — всё равно запускаете Claude вручную каждое утро. Каждый инструмент в одиночку закрывает один сценарий. Вместе они закрывают рабочий день.

Этот урок — про то, как собрать это в единую систему. Конкретная архитектура, конкретный сценарий, конкретный чек-лист: что настроить за выходные, чтобы в понедельник утром всё работало без вашего участия.

Что это такое

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

Быстрый обзор того, что вы изучили за дни 31–39:

Дни 31–34 — библиотека skills. Папки со SKILL.md в .claude/skills/ — это ваши зафиксированные рабочие инструкции. Один раз написали «как анализировать договор» или «как структурировать недельный отчёт» — и теперь вызываете одной командой /analiz-dogovora, не повторяя объяснения. В День 32 собрали первый скилл, в День 33 научились передавать в него параметры, в День 34 — собрали библиотеку для реальных директорских задач.

Дни 35–36 — именованные сессии и fork. claude --name 'квартальный-отчёт' создаёт сессию с памятью. Claude знает контекст этого проекта, помнит договорённости, не требует повторного ввода данных. Fork из Дня 36 — это ответвление сессии в точке, где нужно попробовать два подхода: один вариант письма жёсткий, другой партнёрский, и вы сравниваете оба.

День 37 — Git worktrees. Несколько версий документов в отдельных папках, Claude работает в каждой независимо. Для директора — это «основной вариант отчёта» и «версия для руководства» одновременно, без путаницы в файлах вида otchet_final_v3_ФИНАЛ.docx.

День 38 — Pre-commit hooks. PreToolUse в settings.json перехватывает запись файла. Агент хочет сохранить правку — сначала проверка. Это не откат и не журнал, это ворота: файл либо записывается чистым, либо агент получает отказ с объяснением.

День 39 — Автоматизация через launchd. claude -p в bash-скрипте, .plist файл в ~/Library/LaunchAgents/, первая строка после шебанга — source ~/.zshenv. Скрипт запускается ежедневно в 9:00 без вашего участия.

Ключевое наблюдение фазы

Skills + именованные сессии + автоматизация — это три слоя одной системы. Skills хранят инструкции. Сессии хранят контекст. Автоматизация убирает ручной запуск. Без одного из трёх система работает вполсилы.

Как работает на практике

Разберём конкретный сценарий: «утро директора» — то, что должно происходить каждый рабочий день до вашего прихода в офис.

Сценарий: что происходит в 8:45 МСК без вашего участия

Шаг 1. Launchd запускает скрипт ~/scripts/morning-context.sh.

Шаг 2. Скрипт вызывает claude -p с skill /утренний-дайджест. Не пишет промпт прямо в bash — вызывает файл из .claude/skills/. Промпт живёт в skill, скрипт только передаёт данные.

Шаг 3. Claude обрабатывает папку «Входящие», формирует дайджест с разделом «Требует реакции сегодня». Результат сохраняется в ~/Documents/Дайджесты/2026-06-03.md.

Шаг 4. Вы приходите — файл готов. Открываете, читаете две минуты, понимаете день.

Вот как это выглядит технически — связка skill и скрипта:

Файл .claude/skills/utreniy-dayjest/SKILL.md:

# Утренний дайджест входящих

Обработай список файлов, переданных как аргумент.

Для каждого файла определи по имени:
- Тип документа (договор, письмо, отчёт, счёт, прочее)
- Предполагаемый отправитель
- Срочность (сегодня / эта неделя / не срочно)

Структура ответа:
1. **Требует реакции сегодня** — файлы с высокой срочностью
2. **Эта неделя** — можно отложить, но не забыть
3. **Фон** — входящие без срока

Тон: деловой, без пустых слов. Одна строка на файл — имя + суть + что делать.

Скрипт ~/scripts/morning-context.sh:

#!/bin/bash
source ~/.zshenv

INBOX_DIR="$HOME/Documents/Входящие"
OUTPUT_DIR="$HOME/Documents/Дайджесты"
mkdir -p "$OUTPUT_DIR"

TODAY=$(date +%Y-%m-%d)
OUTPUT_FILE="$OUTPUT_DIR/$TODAY.md"

NEW_FILES=$(find "$INBOX_DIR" -maxdepth 1 -type f -mtime -1 2>/dev/null)

if [ -z "$NEW_FILES" ]; then
    echo "# Дайджест $TODAY — входящих нет" > "$OUTPUT_FILE"
    exit 0
fi

echo "# Дайджест входящих — $TODAY" > "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "Новые файлы во входящих:
$NEW_FILES" | claude -p /utreniy-dayjest >> "$OUTPUT_FILE" 2>/dev/null

Почему промпт в skill, а не в скрипте

Когда логика изменится — нужно будет добавить раздел или поменять критерий срочности — вы отредактируете markdown-файл в .claude/skills/, а не bash-код. Это разделение ответственности: скрипт управляет данными, skill управляет инструкцией.

Схема личной автоматизации директора

Вот архитектура, которую можно настроить один раз и не трогать месяцами:

.claude/
├── settings.json          ← pre-commit hooks (защита файлов)
├── CLAUDE.md              ← ваш контекст, должность, предпочтения
└── skills/
    ├── utreniy-dayjest/SKILL.md ← дайджест входящих
    ├── analiz-dogovora/SKILL.md ← анализ договора
    ├── revyu-pisma.md     ← проверка деловых писем
    ├── nedelniy-otchet.md ← отчёт для руководства
    └── brifing-vstrechi.md← подготовка к встрече

~/Library/LaunchAgents/
└── com.mywork.morning.plist  ← запуск в 8:45 МСК

~/scripts/
└── morning-context.sh     ← скрипт дайджеста

Именованные сессии (активные):
  claude --name 'квартальный-отчёт'
  claude --name 'переговоры-подрядчик'
  claude --name 'аналитика-май'

Каждый слой отвечает за своё:

Ещё один элемент, который часто добавляют на этом этапе — еженедельный скрипт. Он запускается в пятницу в 17:00, собирает все дайджесты за неделю, передаёт Claude и получает итоговую сводку: что было сделано, какие темы повторялись, что перенеслось. Это занимает пять минут настройки и экономит тридцать минут в конце каждой недели, которые раньше уходили на «вспомни, что было в понедельник».

Самая частая точка отказа

Скрипт по расписанию молчит, файл не появляется — и непонятно почему. Всегда смотрите логи: cat /tmp/morning-context-error.log. Девяносто процентов проблем — либо забытый source ~/.zshenv (Claude не видит токен), либо тильда вместо полного пути в .plist файле. Это обсуждалось в День 39.

Частые ошибки

Ошибка 1. Начать с автоматизации, не проверив скрипт вручную

Настроили launchd, ждёте результата в 9:00 — его нет. Потеряли час на диагностику. Правило: любой скрипт сначала запускается руками командой ~/scripts/morning-context.sh. Только когда он отработал без ошибок и создал нужный файл — ставите расписание.

Ошибка 2. Держать промпт прямо в bash-скрипте

# Плохо — промпт захоронен в скрипте
echo "Проверь файлы и сделай дайджест..." | claude -p

# Хорошо — промпт в skill, скрипт передаёт данные
echo "$NEW_FILES" | claude -p /utreniy-dayjest

Когда потребуется изменить логику дайджеста, во втором случае вы просто открываете markdown-файл. В первом — редактируете bash и рискуете сломать кавычки или отступы.

Ошибка 3. Создать слишком много skills сразу

Десять файлов в первую же неделю, половина из них — не отработана на практике. В результате: непонятно, какой вызывать, некоторые работают плохо, библиотека превращается в свалку. Лучший подход: один skill за раз, используете пять раз — только потом создаёте следующий. Как делали в День 31.

Ошибка 4. Оставить именованные сессии без структуры

Через месяц у вас двадцать сессий с именами проект, письмо, анализ, test2. Не помните, что в каждой. Договоритесь с собой о схеме именования сразу: тема-контрагент или тип-дата. Например: otchet-q2-2026, dogovor-tsian-may, analitika-avito. Имя должно быть понятным через три недели.

Ошибка 5. Пропустить тест перед первым реальным запуском по расписанию

Launchd не пришлёт вам письмо, если скрипт упал. Он просто запишет код ошибки в строку launchctl list | grep имя-задачи. Первый код выхода не 0 — значит, было падение. Проверяйте через launchctl start имя-задачи немедленно после настройки — не ждите следующего утра. Если ошибка выявлена при ручном запуске, исправить можно за пять минут. Если выясняется через неделю «дайджест не генерировался с пятницы» — это разочарование, которого можно было избежать одной строкой.

Когда нужно / когда нет

Собирайте полную систему, когда:

Не торопитесь с системой, когда:

Практический критерий готовности

Если вы три раза подряд сделали одно и то же с одинаковым промптом и остались довольны результатом — процесс устоялся. Можно фиксировать в skill и автоматизировать. Если каждый раз промпт чуть другой — ещё рано.

Связь с другими уроками

День 11 — CLAUDE.md — основа всего. Контекст о вас и вашей работе, который читается при каждом запуске, в том числе при автоматическом. Без хорошего CLAUDE.md скрипт по расписанию работает «в вакууме»: Claude не знает, для кого делает дайджест и в каком формате вам удобно.

Дни 31–34 — Skills — библиотека инструкций. Навык написать хороший skill-файл — главный для фазы 4. Если skill расплывчатый, автоматизация усилит эту расплывчатость.

Дни 35–36 — Именованные сессии — память по проектам. Работают параллельно с автоматизацией: утренний скрипт создаёт дайджест в фоне, а именованная сессия — это место, где вы сами работаете с проектом, возвращаясь к накопленному контексту.

Дни 41–42 — Hooks — следующая фаза. Если launchd — это про время («запусти в 9:00»), то hooks — это про события («когда Claude записал файл — уведоми меня в Telegram»). Фаза 5 строится поверх того, что вы настроили сейчас.

Задание на сегодня

Это итоговое задание фазы 4. Оно рассчитано на выходные — не на один вечер.

Чек-лист: что настроить, чтобы всё заработало

Критерий «система работает»: в понедельник утром вы открываете ~/Documents/Дайджесты/ и находите там файл с сегодняшней датой, созданный автоматически. Вы его не запускали. Он просто есть.

Резюме

Следующий урок откроется после отметки.