`/loop` и `/schedule`: автоматизация до недели
Цель: превратить любой повторяющийся workflow в автоматизацию. Твой skill будет работать сутки напролёт без тебя.
Главная идея
Любое повторяющееся действие превращается в skill. Потом skill ставится в loop. Claude работает сам.
Это одна из главных "суперсил" которую выделил Борис Черни (создатель Claude Code).
Синтаксис
/loop <интервал> <slash-команда>
/schedule <cron> <slash-команда>
Интервалы: 5m, 30m, 1h, 6h, 1d.
Готовые use-cases
1. PR Babysitter
/loop 5m /babysit
Каждые 5 минут:
- Проверяет код-ревью комментарии
- Делает rebase если ветка устарела
- Проводит PR до прода если всё зелёное
2. Slack-feedback → PR
/loop 30m /slack-feedback
Каждые 30 минут собирает фидбек из указанных Slack-каналов и создаёт PR по собранному.
3. Post-merge sweeper
/loop /post-merge-sweeper
Создаёт PR для замечаний код-ревью которые остались незакрытыми после мержа.
4. Stale PR pruner
/loop 1h /pr-pruner
Закрывает устаревшие и ненужные PR (с комментарием объяснением).
5. Sentry → Linear
/loop 4h /sentry-to-linear
Каждые 4 часа: смотрит топ-ошибки в Sentry, заводит тикеты в Linear, группирует дубликаты.
6. Morning briefing
/schedule "0 9 * * MON-FRI" /morning-briefing
Каждое утро в 9:00: дайджест что случилось за ночь (PR, issues, Sentry, продажи, что угодно).
Паттерн: Skill → Loop
Алгоритм создания автоматизации:
Шаг 1. Замечаешь рутину
Что ты делаешь руками каждый день?
- Чекаешь Sentry → заводишь тикеты
- Смотришь open PR → напоминаешь авторам
- Суммируешь что сделано → пишешь в standup
- Обновляешь changelog после релиза
Шаг 2. Пишешь skill
.claude/skills/pr-watcher/SKILL.md:
---
name: pr-watcher
description: Watches open PRs, rebases stale ones, promotes ready ones. Safe to run on a loop.
allowed-tools: Bash, Read, mcp__github__*
---
Check all open PRs in this repo:
1. For each PR passing CI + approved:
- If mergeable: merge and delete branch
- If conflicts: comment with specific files
2. For each PR 2+ days stale:
- Rebase against main
- Comment "Rebased on main" with new SHA
3. For each PR with failing tests:
- Identify which test failed
- Comment with failure summary
4. Return summary: "Merged N, rebased M, blocked K"Шаг 3. Тестируешь вручную
/pr-watcher
Посмотри что делает. Поправь skill если нужно. Важно: надо чтобы работало в одиночном запуске стабильно.
Шаг 4. Ставишь на цикл
/loop 15m /pr-watcher
Всё. Теперь он работает каждые 15 минут. Неделю подряд если нужно.
Безопасность loop (критично)
Loop запускается без твоего участия. Один ошибочный skill может натворить дел.
Правило №1: Allowlist permissions
В .claude/settings.json:
{
"permissions": {
"allow": [
"Bash(git status)",
"Bash(git fetch *)",
"Bash(git rebase *)",
"mcp__github__get_pull_request",
"mcp__github__merge_pull_request"
],
"deny": [
"Bash(rm -rf *)",
"Bash(curl *)",
"Bash(git push --force *)"
]
}
}Никаких Bash(*). Никогда.
Правило №2: Хук как страховочная сетка
PreToolUse хук с sanity-check (см. урок 3.2). Заблокирует опасные команды даже если skill ошибся.
Правило №3: Отдельный bot account
Для loop-сессий — отдельный GitHub/Slack bot аккаунт, не твой личный. Если что-то пошло не так — рестрикции на bot, не на тебя.
Правило №4: Monitoring
Notification-хук при сбое → Slack. Или Telegram. Чтобы узнать о проблеме не через сутки.
Cost calculus
Loop сжигает токены. Планируй:
| Тип loop-а | Модель | Почему |
|---|---|---|
| Читающий (статусы, метрики) | Haiku | Дёшево, хватает |
| Пишущий (реальные изменения) | Sonnet + жёсткие хуки | Надёжность > экономия |
| Планирующий (архитектурные решения) | Opus, но реже | Opus на loop = банкрот |
Loop 5 минут × Sonnet × сутки = 288 запусков. На Max 20× выдержит. На Pro — нет.
/schedule для cron-подобных задач
/schedule "0 9 * * MON" /weekly-status-report
/schedule "0 7 * * *" /morning-briefing
/schedule "0 */4 * * *" /sentry-digest
Cron-выражения. Подходит для:
- Утренних брифингов
- Еженедельных отчётов
- Ночных batch-процессов
- Пакетной очистки
Реальный пример: Content publisher loop
Маркетолог создал skill /post-to-socials:
- Читает черновики из Notion
- Те что помечены "ready" → публикует в X, LinkedIn, Threads, Bluesky через MCP
- Обновляет статус в Notion на "published"
- Записывает метрики публикации
/loop 2h /post-to-socials
Claude публикует материалы с интервалом 2 часа пока есть черновики. Без участия человека.
Когда использовать
✅ Повторяющиеся ежедневные/ежечасные задачи ✅ Гигиена репо (PR hygiene, stale branches) ✅ Мониторинг с реакцией (Sentry → issues) ✅ Пакетные отчёты по расписанию ✅ Publishing pipelines
Когда НЕ использовать
❌ Задачи где нужно human-in-the-loop (архитектурные решения) ❌ Непредсказуемый blast radius ❌ Пока не отладил skill в ручном режиме ❌ Без жёстких permissions и monitoring
Практика (30 минут)
Задача 1. Первый skill
Выбери что-то что делаешь каждую неделю. Напиши .claude/skills/weekly-digest/SKILL.md с чёткими шагами и allowed-tools.
Задача 2. Ручной прогон
/weekly-digest — посмотри результат. Поправь skill если нужно.
Задача 3. Запусти loop
/schedule "0 9 * * MON" /weekly-digest
Понедельник утром получишь дайджест.
Задача 4. Monitoring
Добавь Notification-хук на случай если skill упал. Чтобы узнать сразу.
Итог Модуля 3
Ты умеешь:
- Делегировать объёмное субагентам
- Делать поведение детерминированным через хуки
- Оркестрировать внешние системы через MCP
- Работать параллельно в worktrees
- Модуляризовать правила через path-scoping
- Управлять контекстом активно
- Автоматизировать повторяющееся через
/loop
Claude Code работает ЗА тебя, не с тобой.
Что дальше — Модуль 4: Architect
Последний модуль — архитектурный. Проектирование продакшен-систем на Claude. Подготовка к сертификации Claude Certified Architect.
Темы:
- Агентные циклы и hub-and-spokes оркестрация
- Tool design (описания как главный механизм выбора)
- Структурированный вывод (tool_use + JSON schema + Pydantic)
- Multi-agent research системы
- Надёжность: эскалация, распространение ошибок, multi-pass review
- Готовность к экзамену Architect Foundations