About writing
writing is a skill for Agents adding or changing nodes in an Iskron graph, for records that should guide later work. It gates writing on novelty, node type, relationships, and modality decisions to avoid duplication and disconnected records.
Key features
- 01Check record novelty before writing
- 02Choose a node type by its meaning
- 03Classify phenomena by how they are given
- 04Select how a role is manifested
- 05Set the three node modalities
Use cases
- 01Record decisions that change how work proceeds
- 02Revise recorded practices or relationships
- 03Attach risks and questions to relevant nodes
- 04Represent design intent not yet realized
MCP support
The skill uses `iskron_*` tools to search, read, create, and update graph nodes; every call must specify `realm`.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ iskron-ai/ skills --skill writingAfter installing, type/writingin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/batch.mdgiven_as.mdmodes.mdDetails
From the project READMEЗапись в Искрон
Ты пишешь узел в граф, по которому пойдут будущие агенты. Пять решений (2b — для роли), по порядку, не перескакивая.
Прежде всего
Граф. Каждый вызов требует realm=; подтверди граф до первого вызова. Кросс-графовых стрелок нет: source/target резолвятся в текущем графе, стрелка на «тот же номер» другого графа — неверная стрелка. Ссылка в другой граф — текстом в описании.
Гейт новизны. Перед каждым созданием назови три ответа: (1) кто это прочтёт — поздняя роль, сессия, класс запроса; (2) какое решение, ответ, проверку или передачу это чтение изменит; (3) что здесь ново относительно репозитория, эстафеты и графа. Не назвал — не пишешь. Третий ответ узнаётся поиском, не памятью: iskron_search словами и iskron_semantic_search мыслью по месту записи, кандидатов открой (iskron_look); нашлось то же — правь или сошлись, второго не заводи. Транскрипцию (то, что артефакты уже кодируют: требования, логи, алгоритм кода, состояние репо) пропусти и сошлись на источник; структуру (композиция, радиус поражения, граница владения, соответствие или дрейф между артефактами, устойчивая дельта решения) пиши, даже когда содержание восстановимо чтением. Гейт не блокирует обязательство метода: у метода и принципа называется применяющая крия, фазы — её contains-дети. Перечень в теле — тоже укрытие: принцип или договор, несущий строкой тела элементы, которые тянет разное (разные крии, ручки, потребители), прячет их от вопроса «кто тянет» (Решение 2). Такие элементы — contains-дети, каждый со своим тянущим; выносят элементы с самостоятельным предметом и продолжением, не каждый пункт основания — цельное основание со значимым швом не режь.
Гейт считается по знаку снаружи: перед батчем, фабрикой (iskron_add_*) и правкой, дописывающей тело (iskron_update), — три ответа по каждому узлу.
Решение 1: какой тип узла?
Сначала род вопроса — по «Граф — место общей работы» двери iskron: граф или дело, вимарша posed_to или разовое в деле. Выбор, которого работа ждёт от человека сейчас, — карточкой (справка двери cases.md, «Вопрос человеку»), решение из его ответа — в граф правкой задетого (ниже). Не выбирай тип узла по исходу доставки: отказ тула и ожидание ответа рода не меняют (standing, «Обмен»).
Поправка и решение меняют деяние, а не свод правил. Поправка человека, его решение, договорённость, ответ на риск ложатся в граф там, где это делается в мире. Сперва найди задетое: крию, где решение принимается в момент хода; её носитель — текст скилла, который делатель читает в этот момент, отказ записи, пробу; феномены, которые она ест, производит и применяет; вопрошания на них. Затем правь их — тела, стрелки, модусы; при нужде несколько новых узлов вместе, не «одно слово — один узел». Задетых узлов много — поиск и правку можно отдать субагенту, сверка итога — твоя (дверь iskron, «Ремесло графа»). Новый принцип (grundsatz) — крайний случай: только когда нет крии, которую поправить, и только вместе с применяющей крией (upadhi) и носителем, чьё действие замерено. Правило, которого никто не встречает в момент хода, поведения не меняет: запрет словом в деле и принцип без крии — запись, не правка. Подсказка в ответе тула носителем не считается.
| Если это… | Тип | Тул |
|---|---|---|
| делает — преобразует, производит, потребляет | kriya | iskron_add_kriya |
| предстаёт деянию — вещь, состояние, понятие, зачин, метод, правило | phenomenon | iskron_add_phenomenon |
| спрашивает — сомнение, риск, контртезис | vimarsha | iskron_add_vimarsha |
| проводит границу — внутреннее от внешнего | holon | iskron_add_holon |
| именует роль с мотивацией | karta | iskron_add_karta |
| качественно преобразует систему — становление с телосом | bianhua | iskron_add_bianhua |
Феномен существует для крии: ни одна его не потребляет, не производит, не применяет — ты пишешь сироту.
bianhua — тип уровня сборки (скилл assembly), не рутинная запись. Тест: «система станет X, чем ещё не является» не выговаривается → не bianhua; никогда ради одной вимарши. Сначала найди существующее: lens="bianhua", iskron_semantic_search(node_type="bianhua").
Имя и телос. Новое превращение агент создаёт сам как допущение — kalpita или anumita · anagata · chanda — и предлагает имя и телос владельцу. Chanda — предложение агента, не принятая воля; adhimoksha даёт только принятие владельца, создание записи его не подменяет.
Ловушки. Феномен в маске крии: «Создание токена» — акт, «Токен доступа» — его продукт; имя несёт до/после → крия, именует стоящее сквозь до/после → феномен. Крия в маске феномена: «Поток аутентификации» преобразует состояние — крия. Роль или феномен: можно ли адресовать вимаршу и ждать ответа? Нет → не роль (Решение 2b). Контур или смысл: не отвечается, что внутри и что снаружи, → sinn, не холон; контур-папка — антипаттерн. Задача в маске узла: разовая работа и одноразовый вопрос — не крия и не вимарша, их ведут в деле; в граф идут переходы, которые задача меняет, в модусах замысла, и решение по ней. Операционная поверхность в тени: цель логов, имя метрики, переменная окружения, конфиг, от которых зависит другой контур, — феномен со своими потребителями, не строка в коде, иначе её перемену обход (integrity) не увидит.
Решение 2: given_as (только феномен)
| Спроси себя | given_as |
|---|---|
| Могу показать вне графа? (файл, контейнер, документ) | ding 物 |
| Положение дел — «до» или «после» крии? | sachverhalt 勢 |
| Поименованный смысл — «что это»? | sinn 名 |
| Зачин — складывается, ещё не форма? | bildung 理 |
| Метод — «так можно»? | vollzug 行 |
| Принцип — «так должно»? | grundsatz 法 |
Дерево решения и ожидаемые рёбра каждого гнезда — references/given_as.md. Метод и принцип не бывают ahara или utpatti (отказ API): их применяют — только upadhi. Принцип не пишется ответом на поправку или риск, пока есть крия, которую поправить (Решение 1).
Sinn — самая дешёвая клетка и потому укрытие. То, ЧЕРЕЗ что идёт крия, — ding или sachverhalt с её upadhi; то, что она ест или производит, — её ahara/utpatti; sinn — понятию, которое ничего не делает и через которое ничего не делают. Финишная черта любой записи: узел не записан, пока не назван тянущий его — какая крия сломается, если он исчезнет? Ни одна — ты укрываешь вещь в понятии. Одинокая стрелка context глушит детектор, но на вопрос не отвечает.
Решение 2b: manifested_as (только роль)
Обязательное поле роли — как делатель присутствует началом действия. Гейт: можно ли адресовать ему вимаршу и ждать ответа?
- Нет, действует, но не ответит (cron, воркер, CI, процесс) → не роль: ding-феномен, к крие как
upadhi. - Нет, не действует, а стоит как теория, метод, принцип → не роль: sinn / vollzug / grundsatz (входит через intake).
- Да → роль. Какого рода:
| Делатель… | manifested_as | Пример |
|---|---|---|
| отвечает и сам решает, действовать ли | svatantra 主 | владелец продукта; стюард корневых контуров |
| отвечает, импульс берёт от другого, различает и действует сам | adhikarin 能 | разработчик контура, агент при контуре; стюард конкретных контуров |
| не ответит — его путь моделируется, не проживается | pratibimba 象 | персона CJM, «человек в становлении» |
| отвечает на своём времени, из-за границы | agantuka 客 | регулятор, контрагент, поставщик, рынок |
Адресация: 主 — стратегическое («берём ли?»), задач ему не назначают; 能 — рабочие вопросы, адресат — по steward от контура вопроса, вне его мандата — к 主; 象 — никогда posed_to; 客 — можно, быстрого ответа не жди. Адресата бери из действительного множества (iskron_search(q="", node_type="karta") или по steward), не из строки корневых ролей ориентации: имя с твоим ключевым словом — ещё не та роль.
Ловушки: имя человека — не роль («Владелец продукта», не «Дмитрий»); внешняя сущность — часто два узла (API как ding, менеджер как 客); режим работы (Сборщик, Ткач) — суб-роль через group, род наследуется; стюард контура — только 主 или 能.
Решение 3: модусы
Вопрос берёт онтику предмета. Вимарша о проектируемом — anagata, не vartamana потому, что задаётся сейчас; при записи назови, как существует то, о чём спрашиваешь.
Три оси, каждая обязательна; фабрика печатает значения, вопрос оси и стартовую тройку рода — читай, не штампуй расходящуюся. Каждый модус — вопрос, на который ты отвечаешь, а не галочка. О состоянии узла говори словом клетки несущей оси — «ищем ответ», «держим вопрос», «принято», «предстоит», «практикуется», «в силе», — не «открыто», «закрыто», «живое». Самопроверка, образцы, словарь клеток, движения — references/modes.md: открой до первой записи модусов в сессии и прочти целиком.
Эпистемика — откуда знаем: предположили (kalpita), вывели (anumita), видели (pratyakshita), подтверждено независимыми основаниями (pramanita), опровергнуто и держим как опровержение (badhita); относится к выделенному суждению и средству. Чтение кода или графа видит содержание, не исполнение: заключение о поведении — не выше anumita, пока исполнение не наблюдалось. Фокусный тест с нулевым кодом — pratyakshita своей заявки, не канонического продукта. pramanita поведенческой заявки — относящиеся независимые основания и исполненный фальсификатор на каноническом носителе (reality-audit), не число пересказов; перечтение записи ничего не поднимает.
Онтика — как существует: действует (vartamana), предстоит (anagata), прошло (atita — прошедшее бытие; несбывшееся — anagata + visarjana), конструкт (vikalpa — не было никогда; ход в vikalpa — только вместе с badhita; badhita сам по себе может вести и в atita), утрачено (nashta — было, и следа нет; atita след оставляет). Nashta у идеального — понятия, семени, принципа, превращения, вопрошаний, несомых волей, — ошибка рода: идеальное опровергают или отпускают. Проектируемое рождается anagata — никогда «готовой» тройкой pramanita/vartamana/upeksha.
Воля — отношение держателей графа к записанному. Upeksha — не дефолт: anagata + upeksha — «будет, и нам всё равно», для проектируемого почти всегда ложь. Между chanda и upeksha решает вопрос: держится это намерением или устройством? Состоянию — возникает ли само?, деянию — продолжалось бы без настояния? Да — upeksha честна, нет — chanda; механизм стал требовать сам — ставь upeksha. Решился — adhimoksha, отпустил — visarjana.
Воля человека читается из его слова, не выводится: «надо», «хочу», «давай» — chanda; «решено», «берём», «держим» — adhimoksha; «нет», «не хочу», «убрать» — virodha в полярности рода (ниже); «отпускаем», «неважно» — visarjana; «ок, пусть так», «так и есть» — upeksha. Без слова человека пишешь свою стойку — chanda на предлагаемое; adhimoksha, virodha-отказ, принятие телоса и нежелательного (upeksha на риске, дефекте, инциденте) за владельца не ставятся — агент готовит материал и ждёт. В чужой воле различай: предложение; непринятие, записанное актом (снимает только новый акт, не время); неустановленное тобой основание — оно ограничивает лишь твою заявку, не модус и не мандат. Акт — в iskron_history, слово клетки называет модус; санкция — акт и законная политика рода, включая заранее данное полномочие. Риск с virodha — стережение, не отказ за принципала. Владельца делает место, не ключ: агент на его ключах под стоянием 能 — не владелец. Решение владельца словом ты вправе записать: кто, когда и само слово — в reasoning, содержание — в задетые узлы, стойка — в модусы (Решение 1). posed_by вимарши — короткий адрес (роль, стояние, человек), не проза.
Virodha поляризован родом, закрытие — по носителю рода. Поверхность несёт этот канон не весь: где она молчит, правило всё равно твоё.
| Род | virodha | Чем закрывается |
|---|---|---|
| риск | живой модус (стережём) | visarjana; upeksha — принят: закрыт как работа, жив как запись. addressed_by к мере информативен и риск не закрывает; отпускание — акт держателей (inquiry) |
| контрпример, дефект основания, дрейф | конститутивен, пока vartamana | atita (устранён), vikalpa (не было — только через badhita), nashta, visarjana |
| крия, роль, метод | депрекация, живое напряжение | — |
| сомнение, контртезис, подсказка, семя | отказ | он сам и есть закрытие |
| превращение | ставит человек | visarjana — тоже человек |
Upeksha у сомнения, контртезиса, подсказки — «принято как есть»: из очереди уходит, но не отвечено и превращению не засчитано. Принцип — chanda (предложен), adhimoksha (в силе удержанием, вводит владелец), upeksha (в силе данностью); основание — derived_from/arose_from, без него натяжение. Прежде чем закрывать запись (atita, vikalpa, nashta, visarjana, upeksha нежелательного), открой references/modes.md, «Полярность virodha и закрытие», и прочти раздел целиком: длинная форма полярности, три ответа воли на нежелательное, «было ли?» опровержения, три состояния принципа и ложные закрытия; закрытие по жанру — inquiry, §3.
Решение 4: имя и описание
Имя — тезис о природе узла (正名) и приглашение посмотреть сюда: по нему агент узнаёт, что узел для него. Мера — зацепка, не полнота: кто и с какой интенцией должен на нём остановиться — его слово в имя, остальное в тело. За 64 знаками имя сокращают, за 128 его нет. Антиобразцы: имя-абзац, пересказ тела, повтор поля («Контртезис к принципу …» при жанре prati-paksha), состояние и история, пояснение после тире. Заметивший побуждение мимо не проходит, но переименование — волевой акт, не побочный эффект чтения: своё правь тем же ходом, чужое — с согласия (entry), телос превращения и зонтичную крию — только словом владельца (assembly).
| Тип | Грамматика | ✓ | ✗ |
|---|---|---|---|
| kriya | отглагольное существительное | 🔄 Аутентификация | «Сделать API» |
| phenomenon | существительное | ⚙️ Токен доступа | «Создание токена» |
| holon | имя границы | 📦 Контур авторизации | «📦 Папка auth» |
| karta | имя роли | 👤 Проектирующий | «Дмитрий» |
| vimarsha | вопрошание — не обязательно вопрос, бывает и поэтическим | 🕮 CXDB — контур или сущность? · 🪶 О поэтике именования | «Проблема» · «Контртезис к принципу X: …» |
Эмодзи — по смыслу, не по типу; 🔥 — инциденты.
Тело передаётся под типовым именем, одним: telos (bianhua), essence (kriya), motivation (karta), description (остальные). В теле: крия — паринама «До: X. После: Y.» (читается списком задач — переписывай); феномен — чем он ЕСТЬ и какие крии его берут (ни одной — не знаешь, что пишешь); вимарша — вопрос и что считается ответом; холон — принцип границы, четыре вопроса фабрики; роль — что ею движет; превращение — «система становится …».
Вневременность — закон: провенанса в теле не бывает. Имя и тело говорят, чем узел есть и как им пользоваться, — не кто сказал, когда, чьей рукой и что было раньше. Дома провенанса: iskron_history (версии с автором и временем), reasoning записи (кто и по чьему слову), дело (история разговора; SHA, ветки, PR — свободно), ребро arose_from (откуда пришло). Узел меняется переписыванием тела под нынешнее знание, не разделом с автором и датой. Запахи: «теперь», «в этой сессии», «НАБЛЮДЕНО стороной X», дата, подпись, хвост «✅», описание-протокол. Исключения: sachverhalt-инцидент несёт время в attrs; шабда датирована по природе; закрытая вимарша — архив.
attrs — данные, не проза: seq, handle, дата, флаг, слово из перечня; условие одной строкой — только где ключ им является (breaks_if). Наблюдение — вимаршей, решение — правкой задетых (Решение 1), исход — модусом. Проза в attrs не видна обходу.
Решение 5: стрелки
Без стрелок узел — сирота. Связь — в ребре, её объяснение — в sense. Назвал в теле потребителя или условие — проведи ребро тем же ходом, все, если их много: upadhi дёшев. Тело — чем узел есть, ребро — что связывает, sense — почему так.
Веер различают ступенями: грубая связь прежде тонких. Много связей одного рода на узле — не долг, если они различены поэтапно; долг — неразличённая стена. Грубая связь стоит на зонте — он применяет, ест или даёт то же средство, что дети, либо вмещающий его феномен (целое для части, род для вида); тонкие связи листьев её уточняют, каждый лист называет своё самое действенное. Рёбра, названные телом, проводятся все — ступень решает, на каком узле каждое стоит. Пример: зонтичная крия ручек применяет семью адресов (upadhi), семья вмещает адрес (contains), ручка ест свой (ahara) — сто ручек суть веер шириной один. У настоящего среднего своя связь и своё «до и после» или «что это», ребёнок отвечает на его «как именно?»; зонт без своей связи — папка. Отношение рода: деяние и контур — вложение; феномен — вложение и «частный случай»; роль — специализация старшей; превращение — часть; у вопрошания ступени — превращение и якорь. Ширина считается по грубейшим связям; их одного рода больше, чем вмещает экран внимания, — зов «назови среднее» со своей связью, не «раздели», даже когда поверхность печатает счёт как долг.
Kriya — четыре вопроса (фабрика отказывает крие без ahara и без utpatti):
- Потребляет? →
ahara— предмет действия; чтение сохраняемой опоры —upadhi(weaving, операция 5). - Производит? →
utpatti. Не можешь назвать — стой, ты не понял крию. - Кто действует? →
actorк роли.no-actorили исполнитель неизвестен — вимарша на крие,posed_toстюарду холона (через феномены крии): «Кто исполняет этот переход? Отвечено, когда названа роль и её мандат». До ответаactorне ставь: угаданная роль хуже натяжения. Машина без мотивации —upadhi, не актор. - В каком контексте? →
upadhi;attrs.mutable=true, если изменяет.
Пятый фабрика не спрашивает: частью чего? Перед записью на верхний уровень ищи родителя (iskron_semantic_search(q=<частью чего это является>)), при честном попадании — parent_id; неверный родитель хуже отсутствующего. next — нить, смысл на нём — прашна; contains — под-шаги.
Крии края (utpatti без ahara на входе, ahara без utpatti на выходе) — не недописанность: weaving, «Граница».
Phenomenon: context → контур (только феномен → холон; крия принадлежит контуру через свои феномены). derived_from, specifies — родословная феномен-к-феномену; contains феномен→феномен — целое и часть (ступень веера); supersedes на феномен не ведёт (только вимарша→вимарша) — преемственность вещи видна по потребителям.
Karta: steward → контур (только 主/能; 能 стюардит сам или под старшей ролью своей цепи group — предупреждение «отвечающий ни за что не отвечает» встаёт, только когда стюарда нет по всей цепи); group → старшая роль; actor — входящее от крий.
Vimarsha: vimarsha_of → точный узел вопроса, не его контур: якорь на границе раздувает её стрелки, якорь не на той высоте невидим тому, кто придёт на правильную. posed_to → роль-адресат: ребро-инбокс, не поле; к 象 запрещено; слова-адреса me (человек твоих ключей), agent (стояние сессии), steward (стюард контура якоря), realm-owner разрешает поверхность. Два зеркальных провала: posed_to без vimarsha_of — вопрос ни в чьём контуре; vimarsha_of без posed_to на вопросе, ждущем другого делателя, — записка в пустоту. Без штампов срочности: очередь ранжирует её владелец. vimarsha_of (о чём) и anga (куда двигает) не схлопывай: одна вимарша законно несёт оба. arose_from → наблюдение-исток. addressed_by → чем отвечено: крия, роль, вимарша или феномен по данности (различение, принцип, положение дел, вещь, метод; семя — нет); ответ-решение — стрелкой к поправленному или заведённому узлу, не абзацем в теле вопрошания; «вырос из» и «отвечает» — разные стрелки; стрелка ничего не завершает — закрывает модус по носителю рода. hint — семя превращения, не журнал: одно на превращение, со стрелкой anga к нему; в теле — только существенное условие продолжения, не восстановимое чтением графа и дел (смысл, инварианты, суть решений, ещё не легших в задетые узлы, что дальше), без атрибуции — она в reasoning. Живые дела не перечисляй — указатель: iskron_case(action="at", realm=<граф>, node=<узел предмета>), затем read; точечный №N с условием продолжения — только когда существенный выбор дела иначе не восстановить. Ход и состояние в семя не копируются; нет остатка — семя не нужно.
Bianhua: anga от носителя (вимарша, суб-превращение, крия) — параметром anga= фабрики (поверхность принимает и в arrows); крия-носитель читается из своей тройки модусов: возведение (anagata→vartamana, chanda/adhimoksha) или депрекация (vartamana→atita, virodha); завершённая остаётся частью. anantara_after= — что должно завершиться раньше, ациклично. Ни given_as, ни context, ни потоковых стрелок у превращения.
Смысл на стрелках: next → прашна — вопрос да/нет, на который следующий отвечает из своей ситуации («Путь построен — где он может сломаться?», не «перейти дальше»); upadhi → почему этот феномен важен именно здесь; ahara → что потреблено и почему.
Жанры вимарши
| Хочешь сказать… | Жанр |
|---|---|
| «Что может пойти не так?» | risk |
| «Верно ли это?» | samshaya |
| «Случай, который правило не покрывает» | vyabhichara |
| «Не согласен» | prati-paksha |
| «Рассуждение дефектно» | hetu-dosha |
| «Термин уплыл» | semantic-drift |
| «Будущий агент: прочти» | hint |
Не выбирается один → спутаны два вопроса, разведи. Назовёшь место поломки — risk, нет — samshaya.
После записи
Ошибка или таймаут → сначала найди запись, потом повторяй. Неизвестный исход — не «не записано»: цель перечитай iskron_look, создание найди iskron_search и iskron_semantic_search, сверь содержание и стрелки. Нашлось — продолжай от него; создание повторяй только после проверки отсутствия, мутацию — по свежей версии.
CHECKS:в ответе фабрики — работа этого же такта: чини или отклоняй словом, не пересказывай, прежде чем идти дальше.not_orphanна свежем феномене ожидаем, пока его не возьмёт крия;contextего не снимает.- Тело называет связь, а ребра нет — проведи тем же ходом, прозу в
sense. - Феномен с ahara/utpatti —
iskron_orient(lens="trace", focus=…): цикл связан? - Крия — actor, ahara, utpatti существуют?
- Заменил узел — отпусти предшественника:
supersedesтолько вимарша→вимарша; для прочих перенеси якоря и потребителей, предшественника отставь модусом его носителя — иначе остаётся живой дубликат. CHECKS, связность трассы и легальные стрелки — целостность графа, не истина поведенческого утверждения (Решение 3, эпистемика).
Операционное
reasoning="…" — на каждом пишущем вызове: зачем, едет в историю. basis_version обязателен на update / delete / reconnect: прочитал → записал → при конфликте перечитал. Переписываешь тело — прочти iskron_look(raw=true): обычная печать сворачивает повторы и смешивает атрибуты с телом. Порядок батча, inline-стрелки и temp:N — references/batch.md: конститутивные ahara/utpatti крии — inline в её create-операции, феномены — раньше ссылающихся крий.
Адрес узла от другого делателя прощупывай в тот же ход. Номер из кадра или слова — не адрес, пока iskron_look не ответил; не прощупывается — в текст ставь не номер, а слова о том, где вопрос стоит; отказ чтения о прошлом узла не свидетельствует. Состояние одной машины (ключ, файл на диске) узлом не бывает — его спрашивают словом, и отсутствие номера там не дыра.