跳到正文
cccskills
免费在 GitHub 公开

elephant

Eat the elephant one bite at a time: turn a large list-shaped job into a finite routine that chews a small batch every night, detects when it is done, switches itself off and reports. Triggers: /elephant, eat the elephant, split into bites, make it a routine, ten a day, backfill everything.

中文简介正在准备中。当前显示原文说明。

集成工具Telegram
查看安装方法

包含的文件(1)

  • SKILL.md17.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

🐘 Слон — большая работа как конечная рутина

Зачем это существует

Приказ Антона 23.08.2026, голосом, дважды: «рутина может съесть слона за 100 или за 1000 присестов, потихонечку… поняла, что задачу выполнила — выключилась и сказала».

Повод был конкретный: он месяц руками вытаскивал тысячи своих YouTube-видео и получил бан от площадки. Та же работа по 12 штук за ночь не банится вообще и не требует его присутствия ни разу.

До 23.08 у нас было ~49 app-рутин и ~160 OS-рутин, и все до одной бесконечные — крон по расписанию, живут вечно, конца не предусмотрено. Класса «рутина с концом» не существовало, поэтому большие списочные работы делались героическими сессиями, которые выдыхались на середине.

Движок: $USERPROFILE/.claude/scripts/elephant.py (0 LLM, чистый SQLite). Этот скилл — решение «слон или нет» и рецепт сборки.


Шаг 1. Судить: слон это или нет

Тут скилл зарабатывает своё существование. Соблазн ответить «да» на всё крупное — главная ошибка, потому что слон, натравленный не на ту работу, режет её на куски, каждый из которых бессмыслен без остальных.

Различай две разные крупности:

что этопризнаклечение
ШИРОКАЯN одинаковых кусков, N велико«список из 2241 видео»🐘 слон
ГЛУБОКАЯодна трудная вещь«спроектировать архитектуру», «написать лонгрид», «провести переговоры»👤 сессия или разбивка на параллельные сессии (CLAUDE.md §9.2 ②)

Слон ест только ШИРОКОЕ. Размер сам по себе ничего не решает.

Признаки ЗА (нужно ≥2, причём первый обязателен)

  1. Список однотипных кусков, и он длинный — десятки, сотни, тысячи. Куски взаимозаменяемы: кусок №700 обрабатывается так же, как №3.
  2. Кусок механический — его делает код или узкий вызов, а не размышление и не разговор.
  3. Список сам не кончится — он пополняется (история браузера, новые диалоги) либо просто огромен.
  4. ⭐ Работа спотыкается о живое препятствие — участие Антона, лимиты вендора, баны площадки, ночные окна. Это признак-фаворит: Антон назвал его первым, и он сильнее размера. Именно он превращает «героическую сессию на месяц» в спокойную рутину.

Стоп-признаки — при любом ОДНОМ слона НЕ заводим

  • 🚫 Есть срок. Слон медленный ПО ЗАМЫСЛУ (мы нарочно спим между кусками, чтобы не ловить бан). Дедлайн → обычная сессия, слон не успеет.
  • 🚫 Куски зависят друг от друга. Нельзя сделать кусок №50, не держа в голове №49 → это глубокая работа, слон её искалечит.
  • 🚫 Каждый кусок требует суждения, вкуса или переписки с человеком. Это не капельница, а разбивка на параллельные человеко-сессии.
  • 🚫 Список короче ~20. Одна сессия съест за раз; конвейер ради трёх гвоздей — нарушение АК-47.

Что сказать по итогам

Вердикт одной строкой, всегда явный:

  • 🐘 слон — плюс какие признаки сошлись;
  • ♾ бесконечная рутина — конца нет по природе (синк флота, сбор входящих). Это тоже рутина, но без --quota и без самовыключения;
  • 👤 не слон — назвать, какой стоп-признак сработал, и предложить правильное лечение. Честное «не слон» — это успех скилла, а не отказ.

Шаг 2. Назвать потребителя ДО стройки

Правило Connect: у слона обязан быть тот, кто съест результат. Слон, чей выход никто не читает, — это 186 дней работы в мусор.

Ответь письменно, до первой команды:

  • кто потребитель — RAG-индекс, дашборд, CRM-поле, конкретный человек;
  • как поймём, что результат потребляется — метрика, а не надежда;
  • что произойдёт, когда слон доест — куда уходит финальный доклад.

Нет ответа → не заводить. Это гейт §3.5 «внедряю только критичное сейчас».


Шаг 3. Собрать очередь (сырьё)

Собери список кусков в JSONL — по строке на кусок, с устойчивым ключом (video_id, chat_id, путь к файлу).

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

Собирай ретроспективу целиком сразу — это дешёвая часть, и она даёт честное число кусков, то есть честную ETA. Ежедневный добор свежего — отдельная, бесконечная половина (см. Шаг 6).


Шаг 4. Завести слона и накормить

python "$USERPROFILE/.claude/scripts/elephant.py" new <slug> \
  --title "<человеческое название>" \
  --quota <кусков за прогон> \
  --os-task "<ИмяЗадачиWindows>" \
  --vault-note "<папка/заметка потребителя>"

python "$USERPROFILE/.claude/scripts/elephant.py" feed <slug> \
  --jsonl <путь к очереди> --key-field <имя поля ключа>

--os-task — это имя задачи планировщика, которую слон сам выключит, когда доест. Без него он не умеет закончиться и превращается в бесконечную рутину.

Подбирая --quota, считай вслух: кусков ÷ (quota × прогонов за ночь) = дней. Если получается больше пары месяцев — либо поднимай quota, либо честно скажи Антону, что работа растянется до такой-то даты, и пусть решает он.


Шаг 5. Рабочий скрипт: ровно четыре движения

На каждом прогоне:

next --n <quota>   →   работа над куском   →   mark --key K --state ok|fail|skip   →   tick --ok N --fail M
  • tick — сердце. Он считает прогресс, ловит конец (todo == 0 → статус done → выключает OS-задачу → доклад в TG-03) и ловит затык (5 прогонов подряд без единого куска → blocked + доклад, но задачу НЕ выключает — это беда, а не финиш).
  • Кусок, упавший 3 раза, выбывает из очереди. Без этого слон не кончится никогда: одна битая ссылка держит рутину вечно.
  • stop / resume — приостановить и вернуть слона, не теряя прогресса.

Скрипт обязан честно падать. Если elephant next вернул не то, что ждали, — выходи ненулевым кодом и пробрасывай его наружу (в .cmd — через %ERRORLEVEL%). Иначе получится прибор, который врёт зелёным.


Шаг 6. Две половины в одном прогоне (если список пополняется)

Часто работа состоит из конечной ретро-очереди и бесконечного добора свежего:

python worker.py harvest --fresh-only   # бесконечная половина: добрать новое
python worker.py run --n 12             # конечная половина: порция ретро-очереди

Конечная половина кончится и выключит себя; бесконечная останется. Так и задумано — скажи это Антону прямо, чтобы «слон доел, а задача всё ещё в планировщике» не выглядело поломкой.


Шаг 7. Грабли, оплаченные кровью

Каждая строка ниже — реальный замер, а не осторожность.

  • ⛔ Журнал прогресса НИКОГДА не кладём в синкаемую папку. Замер 23.08: предшественник YT-Transcript-Trickle-Hub держал журнал в [шина]\_transit\ — 453 прогона за 19 суток дали 39 строк. Синк непрерывно затирал файл, рутина 19 суток жевала одни и те же первые куски, а логи бодро писали «RUN DONE +3 ok». Дом журнала — строго локальный: %LOCALAPPDATA%\claude-elephants\.
  • ⛔ Зелёный код возврата ≠ работа сделана. Замер 26.08: строка слона пропала из реестра, yt_drip.py глотал exit 2, .cmd не пробрасывал ERRORLEVEL — задача трое суток отдавала LastTaskResult=0, не сделав ничего. Проверяй таблицу runs, а не код возврата.
  • ⛔ Порция обязана отдавать РАЗНЫЕ незанятые куски. Замер 27.08: первый прогон съел 12, каждый следующий по 1, сумма прогонов 21 при 14 готовых кусках → часть выдач повторные. Это тот же почерк, что убил предшественника. Поставь красный тест на «next --n N возвращает N разных кусков, ни один из которых не взят».
  • ⛔ Не суди слона по первой ночи. Смотри status через сутки и сверяй фактический темп с обещанным. Расхождение — это поломка, а не «ну оно медленно».
  • ⚠️ Старая задача-предшественник может остаться жить. Перед заведением нового слона проверь, не крутится ли ещё прежняя рутина по той же работе, и погаси её (иногда нужно админское окно Антона).

Шаг 8. Канарейка и доклад

Перед тем как отдать слона в ночь, прогони один полный цикл руками и покажи результат: next → работа → mark → tick, затем status. Один зелёный цикл дешевле недели тихого простоя.

Доложи Антону коротко:

  • вердикт (🐘 / ♾ / 👤) и по каким признакам;
  • сколько кусков, сколько за прогон, к какой дате доест;
  • кто потребитель результата;
  • что произойдёт, когда доест.

Дашборд по §2.4 строй, если фактов больше одного экрана; elephant.py status уже даёт таблицу — не дублируй её стеной текста.


Когда этот скилл обязан сработать САМ

Канон — reglament-dolguyu-rabotu-srazu-sudim-na-rutinu (anton 10.09.2026, голосом): вердикт выносится НА ВХОДЕ, пока работа идёт, а не на разборе в конце.

Четыре повода, любого одного достаточно: работа тянется долго · Антон сказал «занимался месяц» / «по 10 в день» / «ретроспективно вытащить всё» · вижу кучу однотипных шагов · работа спотыкается о его участие, лимиты вендора или баны.

⛔ Ждать вопроса «а это не рутина?» запрещено — этот вопрос от Антона означает, что правило уже не сработало. Автоматическую подсказку даёт хук ~/.claude/hooks/skill_suggest_hook.py, но он лишь страхует: судить обязан я.

Границы

  • Слон не отменяет Tier-2: если куски делают что-то необратимое, наружу или за деньги — это пауза и спрос Антона, сколько бы их ни было.
  • Слон не место для суждения. Если внутри куска нужен вкус или голос Антона — это сессия, а слон в лучшем случае готовит для неё сырьё.
  • Ночное окно (23:00–06:00 Лиссабон) — дом тяжёлых слонов; лёгкие могут идти чаще, если площадка не банит.

Родня

  • CLAUDE.md §4.5-бис (конечные рутины), §4.5 (повтор → рутина), §4.6 (ночное окно), §5.5 (сторож проверяет выход)
  • память finite-routines-eat-the-elephant, yt-watch-history-drip, deterministic-script-gotchas
  • /retro Шаг 4★ — ловит слонов задним числом, на разборе сессии; этот скилл ловит их на входе
<!--kit-footer-->

Like this skill? It is one of 100 in second-brain-starter-kit: the second brain we built for ourselves and run every day at Palo Alto AI Research Lab. Install the whole set with npx skills add tonydzi/second-brain-starter-kit. Everything is open source and free, so take what you need.

Flagships worth a look on their own: secondop-panel (a second opinion from a panel of external models), claude-memory-tidy (stop your agent's memory from rotting), telegram-mcp-kit (your own Telegram over MCP in about 15 minutes).

Author: Anton Dziatkovskii, Palo Alto AI Research Lab. Telegram @tonydzi - WhatsApp +1 341 222 9178 - X @Tony_Stef_

Engineers: want to test-drive this setup? Message me. I hand out free starter seeds to engineers who test and report back, and custom skill requests are welcome.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

03

免费

Run an autonomous consensus round between agent peers on several machines: they negotiate a decision over a shared channel and execute it without a human relaying messages. Use when multiple machines must agree on a change. Triggers: "/03", "work it out among yourselves", "find consensus". Wakes the human only for irreversible actions or a deadlock.

中文简介正在准备中。当前显示原文说明。

tonydzi/second-brain-starter-kit92026年10月20日 更新

1

免费

Recover a session after a hard crash (app died, machine rebooted, context lost mid-work): replay the turn-state ledger for the last requests, files and decisions, run a green/red health ping over the system map, file sync and MCP connectors, then rebuild the previous session history for pickup. Triggers: "/1", "resume after crash", "wake".

中文简介正在准备中。当前显示原文说明。

tonydzi/second-brain-starter-kit92026年10月20日 更新

agenda

免费

Show the operator's day: today's calendar plus what needs them personally (leads due, people awaiting a reply, deadlines), pulled from Calendar and Telegram and ranked. Read-only: sends and commits nothing. Triggers: "/agenda", "what's on today", "my agenda".

中文简介正在准备中。当前显示原文说明。

tonydzi/second-brain-starter-kit92026年10月20日 更新

ai-slop

免费

Rewrite machine-written text so it reads like a busy human wrote it: cut 50-70%, break the even rhythm, drop AI-tell words and filler, keep facts and protected terms. Use before publishing any post, reply or email drafted by a model. Triggers: /ai-slop, /slop, humanize, anti-slop, make it shorter and alive.

中文简介正在准备中。当前显示原文说明。

tonydzi/second-brain-starter-kit92026年10月20日 更新

Decision protocol for strategic work: recall the knowledge vault, run a gap analysis, emit a deep-research prompt for external tools, then synthesize the returned reports into a decision memo. Use before any new product, feature, market, pricing, GTM or architecture call, where local recall alone is not enough. Triggers: "/alfa-search-recall-deepresearch", "alpha protocol", "R+DR".

中文简介正在准备中。当前显示原文说明。

tonydzi/second-brain-starter-kit92026年10月20日 更新

- КРЕДИТ АВТОРУ ИДЕИ: совет из комментария (TG @ClawRus / @ClawInga, комменты под постами Антона в FB, треды и issue на… Триггеры: “/alpha-credit“, “/credit“, “кто нам это посоветовал“, “запиши совет“, “поблагодари советчиков“, “кому мы должны спасибо“, “кредит автору“, “чей это был совет“, “credit the author“

中文简介正在准备中。当前显示原文说明。

tonydzi/second-brain-starter-kit92026年10月20日 更新

查看 tonydzi 的全部技能

报告此技能的问题