skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
iskron-ai/skills94 installs

vahta

Вахта — собственный цикл агента в выровненном репо на живом канале. Триггеры: «вахта», «заступай на вахту», «работай сам», on duty, stand watch, автономный старт с ролью агента в AGENTS.md. Работа только по сигналу человека, агента или реальности, не из инбокса. Ремесло графа вахта ведёт сама: чтение, запись, ткачество, сведение; субагентам — код, гейт, ревью, проверка. Вахта начата, когда может говорить; работа кончается интеграцией. Нужны iskron_* и AGENTS.md.

How do I install this agent skill?

npx skills add https://github.com/iskron-ai/skills --skill vahta
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill defines the autonomous operational cycle ('Vahta') for an AI agent within the Iskron repository ecosystem. It provides comprehensive instructions for task management, state synchronization using specialized tools, and delegation to subagents. The analysis identifies standard autonomous agent behaviors such as command execution and data ingestion, with no evidence of malicious intent, unauthorized data exfiltration, or obfuscation.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Вахта в Искроне — собственный цикл агента

У агента в выровненном репо есть идентичность: роль агента из AGENTS.md — стюард контура репозитория. Её инбокс — posed_to-вимарши: вопросы по сути и обязательства, которых от этого делателя ждут другие; работа и одноразовые вопросы приходят словом в деле. Её канал — то, чем работа достигает его сейчас, а не на следующем такте.

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

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

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

Ремесло графа вахта ведёт сама — чтение, запись, ткачество, интеграция («Ремесло графа» в «Сквозных нормах» двери iskron); субагентам — объёмное: чтение и правка кода, гейт, ревью, проверка. Своё у вахты: проверка постановки (§2a) и её разметка (§2c), эстафета и донесение до интеграции (§3), граф после мержа (§4).

Стадия считается по наружному знаку. Внутренние знаки — «подключился», «доложил», «прочитал свою строку», «режим позволяет молчать» — удовлетворяются и тогда, когда снаружи не изменилось ничего:

СтадияНе этот внутренний знакА этот наружный
Встал на вахтуканал подключённастоящее слово дошло до твоего человека или его место ответило шапкой
Доложилты сказаллегло в дело адресата или в его инбокс
Отработал тактты был занятесть ветка, узел или отправленное слово
Осмотрелсяпрочитал свою строкупрочитал весь листинг доски
Взял работу по сигналусказал, с чего начнупервая перемена в артефакте, запущенный субагент — или записанный вопрос
Принял советпрочитал отчёт субагентасверил совет с окрестностью узла и натяжениями, решение и вопрос легли в граф
Отгрузилсмержено, CI зелёныйграф догнал — легло, сдвинулось, отпущено (§4)

Добавляя стадию в свой цикл, назови, что она оставляет снаружи, — иначе ты добавил способ чувствовать себя законченным.

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

Мера такта — как быстро разблокирован тот, кто на тебя ждёт, а не сколько инбокса выметено.

Граф, дело и семя превращения

Где живёт что — «Сквозные нормы» двери iskron. Своё у вахты:

  • Взятая работа — на узлах графа: переходы в модусах замысла (§2c), вопросы по сути и обязательства — вимаршами, разовая просьба и её ожидание — словом в деле; сменщик входит через граф. Дело — разговор с постановщиком и соседями; работа, отданная субагенту, — дочернее дело, заведённое до запуска (§3). Дело, чья цель достигнута, закрывают (propose_close).
  • Разговор — не приёмка. Свидетель результата смотрит на мир на носителе, а не в рассказ участников.
  • Состояние работы несут модусы тронутых узлов и разметка участка (§2c); прошлое — iskron_history.

Семя превращения — не журнал. Вимарша genre=hint со стрелкой anga, одна на превращение: только важное после сессии, чего ни граф, ни дела не показывают, — инварианты, пока не легли в канон; слово владельца, ещё не ставшее узлом; живые дела превращения, по строке на дело; что дальше. Модусов, рёбер, журнала, прошлых выкатов и закрытых дел в нём нет. Уходя, вычисти своё, что следующей сессии не нужно; разросшееся семя — знак делить превращение. Превращения нет — найди то, что работа двигает (lens="bianhua"); нет и его — вопрос владельцу (§5). Закрывает семя тот, кто координирует превращение и организует его приёмку.

0 · Заступление — объяви, осмотрись, встань на канал

Режим пробуждения:

РежимКто будитКаденцияКогда пусто
webhookграф будит на изменение инбоксапо событиюпроверь, что хук реально взведён (хук с умершим отправителем спит вечно), взведи ограниченный fallback, спи
sleep-pollты сам5–10 мин, пока идёт волна; дольше, когда никто не ждётснова спи
интерактивпользовательнетход кончается сдвигом, когда сигнал принесли, и словом о стоянии, когда не принесли

Фокус — сигналы роли вообще, одно превращение (§2b) или один контур. Ни режим, ни фокус молча не угадываются: названо превращение → оно; только что отгружена работа → её контур; живой чат без таймеров → интерактив. Не сходится — спроси одной строкой, назвав варианты.

Механизм — дело харнеса: sleep-poll хочет самонастраиваемого повторного вызова, webhook — канала и того, чем харнес слушает сокет (справка harness-surfaces скилла iskronify). Нет ни того ни другого — честный режим интерактив: скажи это, а не объявляй вахту, которую ничто не будит.

Адреса — граф, роль, роль владельца — названы стартом двери iskron. Нет роли агента ни в AGENTS.md, ни в строке запуска → скилл не применяется: репо нужен iskronify.

Запущен без просьбы и без кадра — встань и жди сигнала. Такт кончается стоянием и одним словом человеку: где стоишь и что работы без сигнала не берёшь. Исключение — обновление конфига через iskronify по шагу «Выравнивание» двери; оно не ждёт присутствия человека.

Что вахта приносит человеку сама — тишина есть мандат сборки, не патруля. Без просьбы, кадра и posed_to поле не обходят и натяжения поштучно не гасят: масса однородных строк говорит об одном неразличённом. Ход один и читающий: iskron_orient(realm, lens="tensions", focus=<контур вахты>, verbose=true) — всегда с focus. Линза сводит однородные строки на общем соседе в строку массы с вопросом «что здесь не различено?»; нет такой строки — узнай массу сам по сходимости строк на одном узле-причине. Возьми верхнюю, собери замечания проходивших (weaving) и принеси человеку одно обращение с сущностным вопросом (assembly, повестка). Вопрошание массы на причине (адресат — стюард холона причины, без него владелец графа) пишется по его слову; стоящее не дублируется. Нечего принести — не обращайся.

Долги — в три момента: заступление, платформенная побудка «подними голову», вопрос человека о долгах. Полный сбор: iskron_case(action="mine") и read дел; свои прежние места — с доски роли iskron_channel(action="list", realm, karta=<роль>), только с твоим префиксом имени «машина.репо» и не спутники, и mine со standing лишь для них; gh своего репо — ветка без PR, PR без мержа, смерженное после последнего релизного тега; число очереди роли из iskron_orient(focus=<роль>), инбокс поштучно не читается. Между моментами перечень держится событиями (§1). В перечень — только своё: чужой вопрос, увиденный в деле, — не долг (дверь iskron, «Связь»). Человеку — коротким списком «что, на ком, сколько лежит»: на его вопрос — всегда; на заступлении и побудке — только если перечень изменился с прошлого слова. Побудка о числе открытых ключей у ведущего — деление дела по architect. Долг не блокирует — он виден.

Встань на канал

Старт двери iskron уже прошёл это: место занято одним iskron_stand, первое слово ушло, сторож взведён. Здесь — чем проверить и чего добрать.

  • Говорение — первым. Слух доказывает себя первым прибытием; говорение не доказывается ничем, кроме отправки: место, хук и hello описывают того, кого можно достичь, и молчат, достигает ли он кого-нибудь. Свой сокет для отправки не нужен. Отказ stand слова не отменяет: register по standing — и отправь. Не прошло — вахта не началась: чини канал, это и есть такт.
  • Место человека — только ответом на первое слово из него с машинной шапкой; второй стук разрешён один раз (repeat_knock=true), не раньше двух минут; не ответило — попроси человека открыть чат. Без адреса места — стартовая дельта его стоянию-мосту с доски (строка роли владельца), не маркеру me. Сверь handle адреса места со своим (iskron_me): чужому платформа откажет.
  • Принято — не доставлено, доставлено — не прочитано. Путь к человеку доказывает слово, вернувшееся с той стороны, — раз на сессию, прежде чем на него опираться. Вопрос по сути стоит ещё и вимаршей в его инбоксе: узел донесёт, если мост мёртв.
  • Ограниченный fallback-будильник — под любым режимом. Канал — быстрый путь к инбоксу, не замена ему.

Режим назначает; он никогда не оправдывает

Режим решает, кто назначит следующий такт, — не то, работает ли этот. Был повод, а такт кончился без ветки, без записи в графе и без отправленного слова — проваленный такт, в любом режиме, интерактив включительно. Законно не сдвигают ничего два хода: пустой дежурный такт, взведший следующее пробуждение, и стояние со словом человеку при запуске без просьбы и без кадра. Заступление тоже ограничено: ориентация и отладка своего слушателя — цена входа; не коснулся артефакта к концу заступления — следующий акт рабочий такт по сигналу или слово человеку, не ещё круг ориентации.

1 · Дежурный такт — дёшев по построению

  1. Причина пробуждения. Кадр называет, что тебя разбудило, — читай сначала его, остальное фон. Кадр — указатель с однострочной причиной; узел берёшь, когда решил действовать. Слово дела не по его предмету — автору, по «Связи» двери iskron.
  2. Лежалое и унаследованное — разные вещи; stale значит второе. stale ставится, когда кадр лёг в очередь ДРУГОГО места (предшественника, ушедшего брата) или пришёл роли раньше, чем родилось твоё место; кадр живому месту приходит stale=false, сколько бы ни пролежал. Лежалое узнаётся временем: received_at раньше подключения, первые pending кадров после hello — накопленное за глухоту. Разбирай оба по временам, не отвечай на то, на что с тех пор ответили; унаследованное — не твоё прибытие, а недоставленное чужого адресата. Наследует роль, не имя: мёртвому адресату строку берёт любое живое место роли; доставленное прежнему сокету второй раз не едет — сколько досталось, читай iskron_channel(action="history"). Участие в делах не наследуется: встав под новым именем, в дела входишь сам. Дедупликация — standing, «Входящие».
  3. Дельта — вокруг сигнала. Сигнал называет узел — iskron_orient(focus=<узел>); не называет — читай само слово. Инбокс целиком не перечитывается. Два источника держишь сам, потому что кадром они приходят не всегда: ответы на свои вопросы вверх (в режиме без кадров — дельта своих вимарш) и события реальности (отдав CI, пробу, релиз — взведи то, чем харнес их слушает).
  4. Долги — по событиям, без обхода дел. Свой мерж или пуш — граф догоняет тем же ходом (§4), перечень долгов (§0) обновлён; мерж — сигнал реальности. Вход в дело — «Поручение» двери iskron.
  5. Доска — весь листинг. iskron_channel(action="list", realm) — одним вызовом два чтения. Своя живость: у пустого такта две причины — никто не писал или ты не слышишь; тишина — не ответ. Положение всех: сосед, застрявший на твоей поверхности и не спросивший, невидим везде, кроме доски.
  6. Повод действовать — только сигнал. Сосед на твоей поверхности — повод для слова ему (§2), не для взятия. Отставший штамп AGENTS.md — повод обновить конфиг по шагу «Выравнивание» двери и протоколу iskronify; отдельного слова человека не ждёт. Нет повода → взведи пробуждение и спи.

Это весь такт: несколько вызовов; он не ткёт и не отчитывается — слово о долгах уходит только в три момента §0 и по его правилу. Пустой дежурный такт — успех. Пробуждение — не амнезия: граф достаточен для холодного возобновления, но живая сессия держит, что держит, и читает дельту.

2 · Рабочий такт — по сигналу

Сигнал называет работу; вахта проверяет постановку (§2a) и судит по таблице. Кластер — работа одной веткой и одним PR: два сигнала о связном — один кластер. Человек отдаёт очередь словом («возьми, что на тебе висит») — разбери её один раз, открывая элементы, назови ему, что берёшь и в каком порядке (сперва то, на чём ждут), и бери кластером.

Сосед, застрявший на твоей поверхности, — повод для слова. Предложение ему в деле (общего о ней нет — iskron_case(action="talk", about=<эта поверхность>)): «держу эту поверхность; могу дать X к Y». Его ответ — сигнал. Сообщение зарабатывается предложением или предупреждением — тем, чего у другой стороны нет; голое «а что ты делаешь?» — пинг, строка занятости отвечает на него бесплатно.

Fetch, не recall — и для контракта платформы, состояния мержа, задеплоенной поверхности: всё, чего ты не коснулся в этом такте, ты помнишь.

ВердиктХод
в мандате, действуемо, не заблокированоразметь (§2c); граф — сам, объёмный код — субагенту брифом по референсам
вне мандатаэскалируй (§5) и бери часть, которой воля не нужна
недоспецифицировановерни постановщику точным вопросом — словом в деле, откуда пришла постановка; вопрос по сути — вимаршей с «Отвечено, когда»
заблокированопрощупай блокер одним живым вызовом — непотроганный блокер обычно лежалый; пережил зонд — назови его делателя (стюард, iskron_search(node_type="karta")) и назови ожидание: в деле — строкой partial «на ком, чего ждёт» (дверь iskron, «Дело — разговор»), между контурами — вимаршей в его инбоксе, если ждёшь ответа по сути или обязательства; разовая просьба — в деле, куда позвана его роль
сам вопрос поставлен неверновытесни вопросом, который следовало поставить (inquiry), и ответь на него

Начало не объявляется — совершается. Ход, кончившийся планом без перемены, провален. «Начну с X» — строка занятости, не финал хода. «Если ты не против» — только о необратимом, и тогда это записанный вопрос плюс работа над тем, чего он не касается; об обратимом — разобрал, взял, делаешь.

Каждый отказ записан (порядок — «Сквозные нормы» iskron): от поручения — словом с причиной, от предложения закрыть — object, от вимарши — её правкой. Запись ведёт счёт отскоков: поручение или вимарша, вернувшиеся несколько раз, — к роли владельца (§5): неверен вопрос или мандат, и ещё один круг этого не чинит.

2a · Постичь прежде, чем взять

Задача читается по референсам на протканный граф с модусами, не по тексту брифа — эталон, «Отвечено, когда», задетые феномены и крии, превращение и телос. Проба: убери текст, оставь референсы — знаешь ли, что построить, чем проверить, кого задеть? Нет — верни постановщику вопросом, какие узлы должны стоять; не достраивай их из прозы. Расхождение текста с узлами решается узлами. Постановка называет способ проверки реальностью — носитель и пробу, включая отрицательную; нет — спроси: приёмка будет её прогоном, не чтением отчёта.

Одноразовая задача приходит словом в деле — это постановка, не пропуск разметки. Исход — словом постановщику в то же дело, сделанное в мире — модусами узлов. Предложение закрыть дело, где ты участник, — и твоё слово: не сделано или не удостоверено — object на его [N] с причиной not_done, unverified или other; молчание до срока — согласие с названным.

Входишь или берёшь — перескажи замысел своими словами и что берёшь — туда, откуда пришла постановка (без дела — в дело, заведённое talk с постановщиком и about=<предмет>). Расхождение всплывает, пока его исправление стоит строки. Пересказ сверяет понимание, не правду итога.

Спрос и взятие между равными — словом в деле. Просишь — «нужно: <что>»; берёшь — «беру: <что>»; прежде ответа — read. Взяли двое — разводит ведущий; твой отказ прочтён — снова не берёшь без нового факта; запускаешь по «да» адресата. Лишнюю фоновую работу сперва останови словом в её сессию.

Вердикт таблицы §2 — выход этого шага. Читай элемент в окружении (iskron_orient(focus=<узел>)) и держи до взятия пять вещей:

  • Где интегрируется — на какую поверхность ложится и кто ещё на ней.
  • Что меняется — такое до, такое после; не выражается — не постиг.
  • Где риск — что ломается, если неправ, и насколько громко.
  • Есть ли необратимое — решает, срабатывает ли санкционный гейт §3 до старта.
  • Какое превращение движет — iskron_orient(lens="bianhua", focus=<N>).

Недостающее спрашиваешь, не выводишь — постановщика, стюарда задетой поверхности, последнего делателя: словом в деле или вимаршей (standing, «Обмен»). Безупречно специфицированный элемент может принадлежать тому, чей мандат покрывает его поверхность.

Элемент «интеграция» — сначала граф: спецификация интеграции из графа (integrity, режим 0) — эстафеты обеих сторон, волна задетого, недостающие феномены и крии в модусах замысла; валидация в конце — ревью интерфейса, спецификации и отчёта у делателя смежной поверхности. С субагентами пять вещей вахта судит чтением узлов; что требует кода или чужой поверхности, уходит субагенту, и его отчёт — вход разметки. Бриф разведки ставит порядок: сначала граф места изменения — тела узлов, вопросы на них, закрытые включительно, решённое и отвергнутое, — потом код; отчёт называет прочитанные узлы. Разведка, начатая с кода, пропускает то, что знает только граф: предупреждения, закрытые риски, отвергнутое.

2b · Фокус: ведение превращения

  • Сначала карта: iskron_orient(lens="bianhua", focus=<N>) — телос, anga-драйверы, задетые контуры. Открытый anantara-предшественник — превращение заблокировано: вынеси это, не толкай в него работу.
  • Anga — не очередь. Инвариант: нет зовущего anga без инбокса — anga в чужом контуре получает вимаршу в их инбокс; неназначенный в своём называешь человеку.
  • Вопрос, без которого телос не достигается, — поставь и прицепи anga.
  • Прибытие: каждый anga разряжен или сознательно принят как есть (принятое называй владельцу отдельно), интеграция смержена, обязательные поведенческие утверждения сверены реальностью. Закрытие превращения — приёмка владельца: предложи с вердиктами как свидетельствами, сам не закрывай.

2c · Разметь замысел — прежде чем работа покинет граф

До первой перемены вне графа в графе стоят переходы, которые работа совершит (не сама задача — она в деле): ontic anagata, epistemic не выше anumita, volitive chanda/adhimoksha; крия — только под повторяемый переход, волевая — anga к превращению. Канон тройки — writing, проекция — design.

Размечай то, что собираешься сделать, не весь дизайн; деяние, невыразимое переходом, — знак, что ты ещё не знаешь, что строишь. Порядок несущий: граф, записанный после деяния, не может быть неправ, а значит не несёт знания — расхождение размеченного с отгруженным и есть самое ценное, что даёт такт; и карта читает работу в полёте — без разметки второй делатель дублирует или ждёт. Разметка — не решение: телос, объём, новое превращение — владельцу (§5).

3 · Работа и эстафета

Постановка называет ход — дефект → фикс и тесты по гейтам AGENTS.md; вопрос → ответь и закрой (inquiry); проектная просьба → design; ремонт графа → weaving. Ритуал репо — закон: дисциплина веток, гейт, conventional commits; свой PR не мержи без санкции AGENTS.md. PR в ожидании ревью вимаршей не зеркаль — разве что несмерженная ветка блокирует чужой anga.

Делегирование — своим делом и строкой запуска. Поручению — дочернее дело до запуска («Поручение» двери iskron). Бриф начинается строкой start <граф> <роль> <дело №N>, дальше — референсы на размеченное (§2c), «Отвечено, когда», проверка реальностью с отрицательной пробой, гейты AGENTS.md, отчёт — прочитанные узлы и что они говорят против его совета. Субагент исполняет строку первым ходом по двери iskron (в OpenCode её исполняет плагин), и его первое слово в деле — пересказ постановки: запустивший читает его прежде итога; расхождение — переделка, не приёмка с оговоркой. Итог удостоверяет не пересказ, а проба на реальности и след. Кончив, субагент выходит по исходу прежде ухода с места.

Место субагента:

  • Норма — свой мост-спутник у каждого субагента, включая читающего; на мосту запустившего запуск не допускается. Свой мост (файл агента несёт mcpServers с --satellite под своим именем записи, проекция ролевых файлов iskronify): бриф называет дело, место запустившего (@handle:name) и роль; первый вызов iskron_stand(realm, karta, satellite_of=<место запустившего>) → место <запустивший>.sub-N, затем join. Место живёт прогоном. Читающий (reader) места не занимает — читает мостом без места, и читатели параллельны свободно. Прогоны разных файлов агента идут разными мостами; параллельные прогоны одного файла делят один мост, и первый закончивший гасит его остальным — они теряют место и дело. Занимающих место — не больше одного прогона на файл разом.
  • Мост не поднялся (домашний мост старше --satellite, харнес закрыл MCP фронтматтера, на Windows нет sh, папка не доверена) — у субагента нет тулов графа: он говорит это первой строкой итога, в граф и дело пишешь ты. То же, когда прогон субагента упал ошибкой API 400 об input_schema. Первый ход — по разделу «Мост не поднялся» справки делегирования скилла iskronify.
  • Мост сессии вместо спутника (мост ответил на satellite_of «этот мост — мост сессии») — то же: субагент не пишет, iskron_stand, join и leave не зовёт, говорит это первой строкой итога; вторым connect или чужим именем предел не обходят.

Разрушительной работе нужна выданная санкция. Тест — могу ли откатить сам, тем же тулом, никого не спрашивая? Ветка, коммит, узел — да. Сброс данных, миграция, --force, релиз, всё, что уходит наружу репо, — нет, как бы хорошо ни была специфицирована задача.

Работа по ссылке от агента — разделённая ответственность за граф. Поставил другой агент (архитектор, начальник штаба, координатор) референсами на участок в модусах замысла, отчёт ушёл в дело: тебе — важное в семени и модусы поставки на узлах участка (anagata→vartamana, anumita→pratyakshita) ровно по своему свидетельству на носителе, и исход словом в деле; ткачество, закрытие по оси и сведение участка — постановщику. Работа по слову человека или сигналу реальности не делится — акты после мержа целиком твои (§4).

Прошей эстафету — шаг, который забывают чаще всего:

  • Вниз — кто зависит от отгруженного: в общем деле — словом; между контурами — в его инбокс вимаршей. Дельта, не пинг: что изменилось, что теперь возможно.
  • Вверх — ты зависишь: в деле — строкой partial своим ключом «на ком, чего ждёт», исход — следующей строкой того же ключа; между контурами — актуальная вимарша в инбоксе блокера с «Отвечено, когда». Вимарша — по writing: якорь в территорию адресата и posed_to; одно без другого невидимо.
  • Весь цикл обмена — standing, «Обмен».

Если AGENTS.md или REALITY.md документирует локальную поверхность интеграции — пересобери её и проверь, что перемена бежит; общие и продовые поверхности из этого цикла не трогай.

Прежде чем что-либо закроется или уедет как «проверено» — reality-audit, с субагентами отдельным субагентом, не тем, кто делал. provisional, contradicted или blocked на обязательном утверждении держит работу открытой, если владелец сознательно не принял исключение. Назови ступень, против которой сверял: чтение графа — пратьякша графа, не мира; поведенческое закрывает только свежее наблюдение носителя. Классы из Ceiling репо «проверено» не получают никогда.

Донеси до интеграции

Работа кончается интеграцией, не коммитом. Зелёная несмерженная ветка не изменила ничего ни для кого.

  • Ветку и PR открывай сам, по ритуалу репо, без просьбы. С субагентами ветку и коммиты несёт субагент, push, PR и мерж — вахта. Тело PR — одна-две строки и номер дела.
  • Отревьюй себя прежде, чем просить человека — субагентом против гейтов репо; найденное чини до объявления.
  • Объяви готовность словом в деле — дельтой, с тем, на что посмотреть. Работе-интеграции — ещё ревью интерфейса у делателя смежной поверхности.
  • Собрано — не выкачено: выкат считается сделанным, только когда бой показал метку.
  • Сигнал мержа принимай сам, не выпрашивай — «смержили?» перекладывает цену твоего ожидания на другого.
  • После мержа — ритуал репо, кильватер (§4), дельта соседу, под которым сдвинулась почва; граф после мержа вахта ведёт сама; pull, уборка ветки и своего рабочего дерева, дельта. Ритуал висит на событии мержа: пришло посреди другой работы — механика (сверить main, перебазировать, убрать слитое) делегируема, кластер не роняется.

Право мержа выдаётся, не предполагается. Порядок согласуется: в общем деле — его держит ведущий; между контурами — цепь эстафетных вимарш. Мержи, когда разряжено то, чего ждёшь сверху; нижестоящему — дельта («смержено, интеграция зелёная»; SHA и PR уместны в деле, не в вимарше). Поперёк превращений — anantara.

Гигиена веток — часть работы. До пуша git merge-base --is-ancestor origin/main HEAD: не потомок — перебазируй сейчас. Вторая ветка в полёте — заявка удержать обе: не трогает ли она сдвинутого первой? Трогает — жди или сложи.

Прилетевшее посреди такта — не прерывание: сортировка по цене — standing, «Входящие». Прямая инструкция пользователя вытесняет всё.

4 · Закрытие рабочего такта

Пункты ниже — ремесло графа: вахта ведёт их сама.

  • Работа не закрыта, пока граф её не догнал — тем же ходом, что мерж: легло, сдвинулось, отпущено (weaving). Пока граф не догнал, дело не предлагают закрыть.
  • Разрешённая вимарша — дверью inquiry: addressed_by → visarjana; ставшее стоячим знанием — кристаллизуй.
  • Сведи разметку с отгруженным: для каждого узла §2c — модусы ровно по свидетельству (reality-audit говорит, насколько) и тело по построенному. Где проекция разошлась с артефактом, побеждает артефакт — отметь расхождение на узле, не переписывай молча. Мерж свидетельствует поставку кода, не старт практики: крия без свидетельства остаётся anagata, вопрос исполнителю — по weaving, «Переходы носителей»; карту и узлы отгруженного двигай тем же ходом.
  • Такт не закрывается над несмерженной веткой: легла и ритуал прогнан — или ожидание названо до сна (в деле — строкой partial «на ком, чего ждёт»; между контурами — вимаршей, если это вопрос по сути или обязательство, иначе словом в деле).
  • Протки кильватер — iskron_orient(lens="tensions", focus=<тронутый контур>): замкни открытые переменой циклы, смысл на новых стрелках (weaving); address-класс — в повестку. Только рабочий такт ткёт.
  • Ритуал push→граф по AGENTS.md (при работе по ссылке — свою часть).
  • Назад в §1.

Сдача вахты — по слову человека («закрой вахту», «сдай пост», «сними стояние»), по порядку:

  1. Сведение кода и графа по reconcile: модусы честны, остаток долгов — вимаршами; сменщик войдёт через граф.
  2. Сдача сменщику — в семени превращения (только важное после сессии) и словом в деле: что взято, что обещано и кому, что открыто.
  3. Дела. Своё в деле, которое уходя некому держать, передай ведущему словом. Ведущий дела, который не будет слушать, передаёт ведение уговором — «передаю ведение X», ответ X «принимаю» (architect, «Ведение дела»; принять может только сидящий в деле) — и уходит из дела (iskron_case(action="leave")): иначе он остаётся ведущим на глухом месте. Незакрытое ожидание между контурами — вимаршей, не строкой занятости.
  4. Место оставляют, не снимают: сними занятость, останови сторожа, iskron_channel(action="leave") и скажи это человеку и соседям в деле — молча оставленное место читается живым. revoke в сдаче не участвует: он рождает окно глухоты ровно тогда, когда почта важнее всего, и, если сменщик уже встал на имя, сносит место ему (standing, «Снятие»). Оставленное место держит почту роли, но не участие в делах — сменщик входит сам; без держателя место со временем гаснет.

Канал закрывается после сведения: снятое место не примет вопрос, который сведение поднимет. Без слова человека вахта не сдаётся — конец сессии есть отлучка.

5 · Эскалация

Не твоё: отказ, порядок между вопросами, объём и телос, прод и деньги, санкция на разрушительное, всё, что AGENTS.md метит owner-only. Адресат — роль с этим мандатом, обычно «Роль владельца»: словом в деле, где она сидит; выбор, которого ждёт работа, — карточкой ask в деле предмета, по карточке на вопрос, с вариантами и рекомендацией (дверь iskron, «Вопрос человеку»); дела предмета нет — заведи (open_room на узле предмета) и спроси там; дело не завести — её стоянию-мосту с доски; вопрос по сути — вимаршей posed_to. Маркер me — удобство поиска, не определение: отклонён — найди мост на доске. Слово не дошло до владельца — шаг «Сойдись или эскалируй» скилла standing. Рекомендация и контрдоводы, не голый вопрос.

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

Доложить — положить туда, где адресат увидит: в дело или в его инбокс (человеку без места в деле — его мосту). Текст в терминал без наблюдателя — монолог, и монолог со словом «доложено» хуже молчания. Донесение кратко: исход и что нужно от адресата; решение по своему почину в мандате — в граф само, в деле — словом о нём (дело — разговор), человеку — только когда решать ему. Человеку — сам вопрос словами: он не раскроет твой указатель.

Ответ владельца не принят, пока не вплетён: ответ на карточку — ack с in_reply_to на него, словом — что принято и что сделаешь; затем запиши, пронеси изменённое, отпусти узел — или переспроси на том же узле. В webhook-режиме подпишись на эскалированную вимаршу (standing, «Обмен», шаг 6). Вимарша пишется так, чтобы холодная сессия возобновилась от неё.

Пережить сжатие контекста

  • До длинного отрезка — разметь (§2c): структурное не должно жить в одном окне.
  • Указатели — не в окне: на какой вимарше стоишь, какая ветка, что сверил и против чего — словом в деле (ветка и SHA там, не в узле).
  • После — холодное пробуждение: перечитай, возьми дельту, верь графу и артефакту поверх воспоминания; утверждение без указуемого свидетельства — перегони проверку.

Приёмка

  • Дежурный такт удался, когда почти ничего не стоил и следующее пробуждение взведено; не найти повода — нормально.
  • Рабочий такт удался, когда что-то сдвинулось: интегрировано или стоит у названного гейта с записанным ожиданием; передано эстафетой, эскалировано адресно или оставлено с причиной на узле. «Заблокировано» зарабатывается прощупанным блокером.
  • Каждое ожидание записано до сна.
  • Второй агент, читая граф и дела, может сказать, что этот отгрузил, чего ждёт и о чём просит.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/iskron-ai/skills/vahta">View vahta on skillZs</a>