mcpField
W
writing

writing

github.com/iskron-aiAgent 工作流2127 次安装今天更新
代码仓库

关于 writing

writing 是指导 Agent 向 Iskron 图谱写入和修改节点的技能,适用于需要让后续工作者据此采取行动的记录。它以新颖性检查、节点类型、关系和模态判断为写入门槛,避免重复或脱离工作的记录。

主要功能

  1. 01写入前检查记录的新颖性
  2. 02按内容选择节点类型
  3. 03为现象标注来源类别
  4. 04为角色选择呈现方式
  5. 05判断节点的三类模态

适用场景

  1. 01记录影响工作方式的决定
  2. 02修正被记录的工作规则或关系
  3. 03将风险和疑问关联到相关节点
  4. 04表达尚未实现的设计意图

MCP 相关

技能通过 `iskron_*` 工具搜索、读取、创建和更新图谱节点;每次调用都须指定 `realm`。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/iskron-ai/skills --skill writing

安装后在 Claude Code 中输入/writing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
batch.md
given_as.md
modes.md

详细介绍

Запись в Искрон

Ты пишешь узел в граф, по которому пойдут будущие агенты. Пять решений (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) и носителем, чьё действие замерено. Правило, которого никто не встречает в момент хода, поведения не меняет: запрет словом в деле и принцип без крии — запись, не правка. Подсказка в ответе тула носителем не считается.

Если это…ТипТул
делает — преобразует, производит, потребляетkriyaiskron_add_kriya
предстаёт деянию — вещь, состояние, понятие, зачин, метод, правилоphenomenoniskron_add_phenomenon
спрашивает — сомнение, риск, контртезисvimarshaiskron_add_vimarsha
проводит границу — внутреннее от внешнегоholoniskron_add_holon
именует роль с мотивациейkartaiskron_add_karta
качественно преобразует систему — становление с телосомbianhuaiskron_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)
контрпример, дефект основания, дрейфконститутивен, пока vartamanaatita (устранён), 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:名称与描述

名称——关于节点本质的论断(正名),也是邀请他人关注此处:Agent 会据此识别节点对自己有何用途。衡量标准是吸引力,而非面面俱到:谁应以何种意图在此停留,就把相关内容写进名称,其余放入正文。名称超过 64 个字符就应缩短,超过 128 个字符就不成其为名称。反面示例:段落式名称、复述正文、重复字段(类型为 prati-paksha 时写“对原则……的反论”)、状态与历史、破折号后的解释。发现有动机不应置之不理,但重命名是意志行为,不是阅读的副作用:自己的节点按相同步骤修改,他人的节点需取得同意(entry);转变的 telos 和总括性的 kriya 只能由所有者亲自命名(assembly)。

类型语法✓✗
kriya动名词🔄 身份验证“制作 API”
phenomenon名词⚙️ 访问令牌“创建令牌”
holon边界名称📦 授权边界“📦 auth 文件夹”
karta角色名称👤 设计者“Dmitry”
vimarsha疑问式表达——不一定是问题,也可以是诗意表达🕮 CXDB——边界还是实体? · 🪶 命名的诗学“问题” · “对原则 X 的反论:……”

表情符号按含义选择,不按类型选择;🔥 用于事件。

正文使用唯一的类型专属名称:telos(bianhua)、essence(kriya)、motivation(karta)、description(其他类型)。正文内容:kriya——描述 parinama:“之前:X。之后:Y。”(如果读起来像任务列表,就重写);phenomenon——写清它是什么,以及哪些 kriya 会作用于它(一个都没有,就说明你不知道自己在写什么);vimarsha——问题,以及什么算作答案;holon——边界原则、工厂的四个问题;角色——是什么驱动着它;转变——“系统变成……”。

超越时间性是铁律:正文中不得出现溯源信息。名称和正文说明节点是什么、如何使用——而不是谁说的、何时说的、由谁亲手完成,以及此前发生了什么。溯源信息应放在:iskron_history(包含作者和时间的版本)、记录的 reasoning(谁说的、依据谁的话)、案例(对话历史;SHA、分支、PR 均可自由记录)、arose_from 边(来源)。节点通过根据当前知识重写正文来变更,而不是添加带作者和日期的章节。警示信号:“现在”“在本次会话中”“由 X 观察到”、日期、署名、结尾的“✅”、过程记录式描述。例外:sachverhalt 事件在 attrs 中记录时间;shabda 天生带有日期;已关闭的 vimarsha 属于档案。

attrs 存放数据,不放散文:seq、handle、日期、标志、列表中的词;条件只能在相应键本身就是条件字段时写成一行(breaks_if)。观察写入 vimarsha,决策通过修改受影响的节点体现(决策 1),结果用模态表示。遍历时看不到 attrs 中的散文。

决策 5:箭头

没有箭头的节点就是孤儿。**关系写在边上,关系说明写在 sense 中。**正文中提到了使用者节点或条件,就在同一步骤中建立对应的边;若有多个,就全部建立:upadhi 成本很低。正文说明节点是什么,边说明节点之间的联系,sense 说明为何如此。 Веер различают ступенями: грубая связь прежде тонких. Много связей одного рода на узле — не долг, если они различены поэтапно; долг — неразличённая стена. Грубая связь стоит на зонте — он применяет, ест или даёт то же средство, что дети, либо вмещающий его феномен (целое для части, род для вида); тонкие связи листьев её уточняют, каждый лист называет своё самое действенное. Рёбра, названные телом, проводятся все — ступень решает, на каком узле каждое стоит. Пример: зонтичная крия ручек применяет семью адресов (upadhi), семья вмещает адрес (contains), ручка ест свой (ahara) — сто ручек суть веер шириной один. У настоящего среднего своя связь и своё «до и после» или «что это», ребёнок отвечает на его «как именно?»; зонт без своей связи — папка. Отношение рода: деяние и контур — вложение; феномен — вложение и «частный случай»; роль — специализация старшей; превращение — часть; у вопрошания ступени — превращение и якорь. Ширина считается по грубейшим связям; их одного рода больше, чем вмещает экран внимания, — зов «назови среднее» со своей связью, не «раздели», даже когда поверхность печатает счёт как долг.

Kriya — четыре вопроса (фабрика отказывает крие без ahara и без utpatti):

  1. Потребляет? → ahara — предмет действия; чтение сохраняемой опоры — upadhi (weaving, операция 5).
  2. Производит? → utpatti. Не можешь назвать — стой, ты не понял крию.
  3. Кто действует? → actor к роли. no-actor или исполнитель неизвестен — вимарша на крие, posed_to стюарду холона (через феномены крии): «Кто исполняет этот переход? Отвечено, когда названа роль и её мандат». До ответа actor не ставь: угаданная роль хуже натяжения. Машина без мотивации — upadhi, не актор.
  4. В каком контексте? → 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, сверь содержание и стрелки. Нашлось — продолжай от него; создание повторяй только после проверки отсутствия, мутацию — по свежей версии.

  1. CHECKS: в ответе фабрики — работа этого же такта: чини или отклоняй словом, не пересказывай, прежде чем идти дальше. not_orphan на свежем феномене ожидаем, пока его не возьмёт крия; context его не снимает.
  2. Тело называет связь, а ребра нет — проведи тем же ходом, прозу в sense.
  3. Феномен с ahara/utpatti — iskron_orient(lens="trace", focus=…): цикл связан?
  4. Крия — actor, ahara, utpatti существуют?
  5. Заменил узел — отпусти предшественника: supersedes только вимарша→вимарша; для прочих перенеси якоря и потребителей, предшественника отставь модусом его носителя — иначе остаётся живой дубликат.
  6. CHECKS, связность трассы и легальные стрелки — целостность графа, не истина поведенческого утверждения (Решение 3, эпистемика).

Операционное

reasoning="…" — на каждом пишущем вызове: зачем, едет в историю. basis_version обязателен на update / delete / reconnect: прочитал → записал → при конфликте перечитал. Переписываешь тело — прочти iskron_look(raw=true): обычная печать сворачивает повторы и смешивает атрибуты с телом. Порядок батча, inline-стрелки и temp:N — references/batch.md: конститутивные ahara/utpatti крии — inline в её create-операции, феномены — раньше ссылающихся крий.

Адрес узла от другого делателя прощупывай в тот же ход. Номер из кадра или слова — не адрес, пока iskron_look не ответил; не прощупывается — в текст ставь не номер, а слова о том, где вопрос стоит; отказ чтения о прошлом узла не свидетельствует. Состояние одной машины (ключ, файл на диске) узлом не бывает — его спрашивают словом, и отсутствие номера там не дыра.

评论

支持 Markdown