task_loop

Task Loop: Цикл работы с задачами

Зачем это нужно

Claude Code имеет ограниченный контекст. При работе над большой задачей контекст переполняется и нужно перезапускать сессию. Чтобы не терять прогресс, используем файл docs/current_tasks.md и две команды.

Цикл

┌─────────────────────────────────────────────────────────┐
│                                                         │
│   /do_next                                              │
│      │                                                  │
│      ▼                                                  │
│   Читает current_tasks.md                               │
│   Находит текущий шаг                                   │
│   Продолжает работу                                     │
│      │                                                  │
│      ▼                                                  │
│   ... работа ...                                        │
│      │                                                  │
│      ▼                                                  │
│   /wrap_up                                              │
│      │                                                  │
│      ▼                                                  │
│   Обновляет current_tasks.md                            │
│   Коммитит изменения                                    │
│   Выводит что делать дальше                             │
│      │                                                  │
│      ▼                                                  │
│   Закрыть/очистить сессию ───────────────────┐         │
│                                               │         │
│                                               ▼         │
│                                          /do_next ──────┘
│                                                         │
└─────────────────────────────────────────────────────────┘

Команды

/do_next

Запускает или продолжает работу.

Сначала:

  • git status — проверить незакоммиченные изменения
  • git log --oneline -5 — посмотреть что недавно менялось
  • Прочитать связанную документацию

Если есть активная задача:

  • Читает docs/current_tasks.md
  • Находит первый незавершённый шаг
  • Продолжает выполнение

Если нет активных задач:

  • Спрашивает что делать
  • Создаёт задачу с планом
  • Начинает первый шаг

После завершения задачи:

  • make test && make lint
  • Исправить все ошибки (включая в других файлах)

/wrap_up

Завершает сессию с сохранением прогресса.

  1. Обновляет docs/current_tasks.md:

    • Отмечает выполненные шаги ✓
    • Добавляет новые шаги если нужно
    • Записывает важные заметки
  2. Делает коммит: git commit -m "wip: ..."

  3. Выводит:

    • Что сделано
    • Что делать дальше
    • Команду для продолжения

Формат задачи

## [IN PROGRESS] Рефакторинг OAuth

### Контекст
Переносим OAuth credentials из ENV в админку.
Связанные доки: docs/admin_config_modules.md, docs/principles.md

### План
- [x] Прочитать связанную документацию
- [x] Создать миграцию
- [x] Добавить SQL queries
- [ ] Реализовать GraphQL mutations ← текущий
- [ ] Создать frontend
- [ ] Удалить старые ENV переменные
- [ ] make test && make lint, исправить ошибки

### Заметки
- Используем шифрование через internal/dataencryption
- Паттерн: один активный credential (unique index)

Обязательные элементы:

  • Ссылки на документацию в контексте
  • Первый шаг — прочитать документацию
  • Последний шаг — make test && make lint

Когда использовать

Используй task loop если:

  • Задача займёт 2+ сессии
  • План содержит 3+ шагов
  • Важно не потерять контекст

Не используй если:

  • Простой баг-фикс
  • Однострочное изменение
  • Задача решается за 5 минут

Файлы

Файл Назначение
docs/current_tasks.md Активные задачи с планом
.claude/commands/session/do_next.md Команда /do_next
.claude/commands/session/wrap_up.md Команда /wrap_up