mcpField
W
weaving

weaving

github.com/iskron-aiProductivity2116 installsUpdated 1d ago
Repository

About weaving

A skill for maintaining the Iskron graph by repairing implied links and lifecycle gaps rather than designing new structures. It guides graph stewards through tension diagnosis, targeted edits, and rechecks.

Key features

  1. 01Route tensions by response type
  2. 02Link lifecycle handoffs
  3. 03Write arrow meanings
  4. 04Split actions with multiple actors
  5. 05Reconnect links after distinctions

Use cases

  1. 01Repair leaked or missing handoffs
  2. 02Clarify silent graph relationships
  3. 03Update links after splitting a phenomenon

MCP support

The skill describes operations through Iskron tools such as `iskron_orient`, `iskron_arrow`, and `iskron_look`.

Install

Copy the command and run it in a terminal.

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

After installing, type/weavingin Claude Code to confirm it loaded.

Details

From the project README

Ткачество в Искроне

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

Проектирование создаёт. Ткачество завершает.

Сначала маршрутизируй по разрешающему жесту (response_kind)

iskron_orient(lens="tensions") группирует каждое натяжение по его разрешающему жесту — и не все они твои:

ГруппаЖестТвоя?
weave (ПРОТКАТЬ)замкни структуру — leaked, relay-gap, no-actor, no-sense, orphan-по-given_as, недостижимый upadhiДа — этот скилл (операции ниже)
address (ОТВЕТИТЬ)ответь / закрой вопрошание — неразрешённый риск, незаякоренная вимарша, баг без вимаршиНет → повестка inquiry / assembly (несёт трансцендентную волю)
reverify (ПЕРЕПРОВЕРИТЬ)потрогай / обнови модус — конфликт модусов, запись превращения отстала от делаНет → фон, или читатель на месте (подтверди / отпусти / поставь сомнение); тронь модус узла, не реструктурируй. Подтверждающее касание называет ступень: против графа или против мира
сосед (ЗНАЙ СОСЕДА — только при focus на контур)связь, не натяжение — пара охвата покрыта деянием снаружиНет → знай стюарда соседа; ткать нечего

Чини только группу weave. Не изобретай структуру, чтобы «ответить» на address-вопрос, не реструктурируй узел reverify-класса. Принятое не чинят: риск, дефект или инцидент в upeksha, принятое как есть вопрошание — нежелательное, взятое с открытыми глазами; оно закрыто как работа, и «дочинить» его значит отменить чужой акт. По канону его место — поверхность «принято» (автор, темп прироста, радиус), а темп читает assembly. Группы «край» нет — ловушка ниже.

Массу не чинят поштучно. Однородные строки, сходящиеся на общем соседе, — одно неразличённое, не сто мест починки: масса приходит вопросом, а не счётом. Коснулся узла из массы — оставь замечание, а не чини строку копированием образца: второй якорь vimarsha_of вопрошания массы на этот узел, смысл стрелки — что ты здесь заметил; вопрошания на причине ещё нет — поставь его с якорем на узле-причине и адресом стюарду холона причины. По канону линза натяжений печатает такую массу одной строкой с вопросом «что здесь не различено?» и готовым вызовом; пока в ответе её нет, сходимость читай сам. Материал различения копится ходьбой, поток не останавливается; само различение — сборочный ход (assembly), и ответ на него гасит массу разом.

lens="tensions" судит охват своим реестром видов (сработавшие — строками, промолчавшие — в подвале), карточка узла — правилами, которые контур присылает вместе с узлом: ни одна не надмножество другой, «чисто» в отчёте не значит «чисто» на карточке. Предупреждение карточки живёт, пока его оправдывает состояние узла: задним числом его ищи в истории узла. has_tension — подмножество детекторов; охват каждого ответа читай в его заголовке. Тки от lens="tensions" с focus на контур — без focus линза соседей не печатает; никогда не читай тонкий has_tension-список как чистый граф.

Граница — край мира, не разрыв

Граф законно берёт вход и отдаёт выход за собственные пределы, но санкционированного края у него нет — ни группы натяжений, ни пометки: leaked/relay-gap на краю не вычитаются, а читаются долгом моделирования.

Крии края. Пометки входа и выхода у графа нет; край — деяние, у которого одна сторона в мире. На входе — осмотр, чтение контракта, впуск слова, замер, приём заказа: есть utpatti, нет ahara — деяние даёт графу данность внешнего. На выходе — приёмка, сдача, публикация, отправка, восприятие результата тем, ради кого он делался: есть ahara, нет utpatti — продукт принадлежит миру, и «результат принят» как феномен не заводится, иначе он утечёт следом. Деяние гостя может стоять на краю с обеих сторон разом. Актор крии выхода почти всегда 主 или 客. Крия с одной ahara — не недописанная, если её актор — тот, кому отдано; с одной utpatti — если её актор — тот, кто увидел. Продолжать цепь за крией выхода не нужно: подсказка «нет next» после её записи здесь не долг. Своего холона у крии нет — край ложится в холон внешней системы или человека через context её феномена.

Relay-gap, чей феномен приходит извне, гаснет крией наблюдения; leaked, чей феномен уходит из графа, — крией отдачи: подсказки линзы называют оба хода. ВХОДНЫЕ ДЕЙСТВИЯ в обзоре графа (iskron_orient без focus) — деяния, берущие или применяющие то, чего никто не производит: твой материал, каждому нужен производитель, на краю — крия наблюдения; в границе (с focus) этой секции нет — читай натяжения. И никогда не вешай attrs, чтобы заглушить натяжение, — это подавление, а не граница.

Переходы носителей — акты, не натяжения

Мерж → карта и узлы того, что несёт код, не автоматический старт практики. Обнови их по отгруженному, продвинь карту; крия anagata→vartamana — только по свидетельству: актор делает переход, выкатка ввела его в действие или наблюдён прогон на каноническом носителе (reality-audit). Одного мержа недостаточно. Свидетельства нет — оставь крию anagata, поставь на ней вимаршу исполнителю с posed_to: «Началась ли практика? Отвечено, когда назван носитель и свидетельство старта»; исполнитель неизвестен — сначала «Кто действует?» по writing.

Когда исполнение несёт код (мост, тул), мерж не свидетельствует практику. Выкат, увиденный на носителе — версия на бою, — даёт vartamana с anumita: код доступен, его действие ещё выведено. Один наблюдённый прогон (вызов, лог) даёт pratyakshita; чтение исходника прогоном не является.

Шаг вперёд по носителю рода (например, anagata→vartamana, когда практика стартует) и восхождение достоверности (kalpita→anumita→pratyakshita→pramanita) — законные ткаческие акты: совершай их по свидетельству на носителе, не потому, что граф их подразумевает; они не натяжения. Всплывают только подозрительные переходы, и только как reverify-класс — Warning на записи и самогаснущая проверка в iskron_look: воскрешение (atita→vartamana без основания), pramanita→anumita/kalpita без reverify-события, смерть-без-бытия (anagata→atita минуя vartamana; с учётом рода — у риска anagata→atita — законная реализация). Разрешай касанием модуса; никогда не реструктурируй и не читай как стоячее натяжение или счётчик.

Когда ткать (а не проектировать)

СигналЗначениеДействие
lens="tensions" показывает leakedУ феномена есть utpatti, нет ahara→ Замкнуть цикл по операции 5: предмет, уровень, охват. Сначала прочти тело: если оно называет потребителя прозой — это не ложная тревога и не отсутствие связи, а связь, записанная не туда: проведи рёбра всем названным (upadhi дёшев), прозу — в sense. Потребитель — человек или внешняя система → крия отдачи: ahara без utpatti, актор 主/客
lens="tensions" показывает relay-gapУ феномена есть ahara, нет utpatti→ Добавить производителя; феномен приходит извне — крия наблюдения (utpatti без ahara); её феномен — в холоне того, откуда он приходит
ВХОДНЫЕ ДЕЙСТВИЯ в обзоре графа (orient без focus) раздутыКрии берут или применяют то, чего никто не производит→ Дай производителя: utpatti от деяния к феномену, который они берут; приходит извне — крия наблюдения, чей utpatti он и есть
Стрелка без смыслаНемая связь→ Написать sense
Крия с двумя actor-стрелкамиСкрытая двойная крия→ Расщепить
Феномен был один, стало дваУстаревшие стрелки→ Перецепить
lens="trace" показывает разрывЖизненный цикл не связан→ Диагностика → замыкание
Много однородных строк сходятся на одном соседеМасса — одно неразличённое, не сто мест починки→ Не операция: замечание вторым якорем или вопрос массы на причину («Массу не чинят поштучно» выше); различение — assembly

Основные операции

Каноническая нить замыкания: натяжение → трасса → диагностика → замыкание → перетрассировка (петля подтверждения). Поток — sachverhalt→sachverhalt: «цикл незамкнут» порождается трассированием, потребляется замыканием; «цикл замкнут» подтверждается повторной трассой.

1. Прошивка эстафеты
ТРИГГЕР: lens="trace" показывает разрыв ЖЦ ИЛИ lens="tensions" — leaked/relay-gap
ДЕЛАЙ:
  1. Найди разрыв: iskron_orient(lens="trace", focus=<феномен>) → где зазор
  2. Анализ отдачи: utpatti без потребителя → кто должен подхватить?
  3. Анализ приёма: ahara без производителя → откуда это берётся?
  4. Связующего феномена нет → создай sachverhalt
  5. Прошей: iskron_arrow(action="link") ahara/utpatti
  6. Проверь: iskron_orient(lens="trace", focus=<феномен>) → цикл связан?
АНТИПАТТЕРН: глушить натяжение через attrs вместо замыкания структуры
2. Написание смысла
ТРИГГЕР: у стрелки нет sense, или sense дублирует имя цели
ДЕЛАЙ:
  1. Прочитай оба конца: iskron_look на источник и цель
  2. Спроси: ПОЧЕМУ эта связь существует? Что цель ДЕЛАЕТ для источника?
  3. Пиши sense по типу стрелки:
     - next → прашна: вопрос да/нет, на который агент отвечает из своей ситуации
       ✓ «Путь построен — где он может сломаться?»
       ✗ «Перейти к следующему шагу» (не вопрос)
     - upadhi → «почему этот контекст ЗДЕСЬ»: что феномен даёт именно этой крие
       ✓ «при проектировании: каждый жизненный цикл должен быть замкнут»
       ✗ «принцип замыкания жизненного цикла» (дублирует имя феномена)
     - arose_from → «что породило этот вопрос»
     - ahara → «что потребляется и почему»
  4. iskron_arrow(action="link") или iskron_arrow(action="update") — записать sense
СИГНАЛ плохого sense: он говорит то же, что имя целевого феномена
3. Расщепление двойной крии
ТРИГГЕР: у крии 2+ actor-стрелки, или описание подразумевает двух акторов с разными мотивациями
СИГНАЛЫ:
  - Две actor-стрелки в iskron_look
  - В описании «а затем другой агент/роль…»
  - Паринама описывает ДВА качественных перехода
  - Разные масштабы времени в одной крие
ДЕЛАЙ:
  1. Определи две роли и их мотивации
  2. Создай две крии, у каждой один actor
  3. Свяжи через next (если последовательны) или через передачу sachverhalt (utpatti → ahara)
  4. Перенеси стрелки с исходной на подходящую дочернюю
  5. Исходную — удалить (различения не несла: всё ушло в дочерние) или visarjana (несла, больше не держим); ложный тезис не удаляют, а опровергают и хранят
  6. Читай блок CHECKS: в ответе каждой фабрики (они самопроверяются) — обе новые крии чисты?
ОСНОВА: вызов = коммуникация, не вложение (π-исчисление, scope extrusion)
4. Перецепка после различения
ТРИГГЕР: феномен был один, теперь различён на два (или больше). Старые стрелки указывают на неразличённое целое.
ПРИМЕР: «Config» различён на «Runtime Config» + «Build Config». У крии K ahara → «Config». Какой config K потребляет?
ДЕЛАЙ:
  1. Найди все стрелки на старый феномен: iskron_look
  2. Для каждой: какой из различённых феноменов верен?
  3. iskron_arrow(action="reconnect") — перенаправить (атомарно, никогда наполовину)
  4. Старый феномен опустел от стрелок → visarjana или удаление
  5. iskron_look на задетые крии — читай блок CHECKS: (reconnect — правка, нужен re-look)
5. Замыкание жизненного цикла
ТРИГГЕР: lens="trace" показывает разрыв ЖЦ у феномена
ПУТЬ: предмет → диагностика → замыкание → перетрассировка
ДЕЛАЙ:
  0. НАЗОВИ предмет, уровень и границу охвата: конфигурация, версия, действующий
     экземпляр — или обязанность хранения относительно сохраняемого участника.
     Прочитанная опора не потреблена (upadhi, не ahara).
  1. ДИАГНОСТИРУЙ природу разрыва:
     a. Нет конца (leaked: utpatti есть, ahara нет) — сначала проверь, не сосед ли
        вне охвата чтения тот, кто его берёт; не сосед — долг модели
     b. Нет производителя (relay-gap: ahara есть, utpatti нет)
     c. Неверный уровень: конец не того предмета, что порождение
     d. Унаследованное замыкание: узел под contains-зонтом, чей родитель несёт
        тот же предметный цикл, — цикл наследуется. Не разрыв; оставь.
  2. ЗАМКНИ:
     a. Нет конца — вырази действительное: потребление, прекращение актуальности
        или отдачу на краю, завершающую именно названное участие. Уничтожение —
        лишь один из концов (Config рождён в «Bootstrap» → снят в «Teardown» того
        же уровня). Последний феномен берёт тот, кто снаружи → крия отдачи: ahara
        без utpatti, актор 主/客; феномена «принято» не заводи — он утечёт следом.
        Конец обязанности хранителя может сохранить и передать участника — не
        утверждай его уничтожения
     b. Нет порождения — производитель; приходит извне → крия наблюдения:
        utpatti без ahara; её феномен — в холоне внешней системы. Деяние, не пометка
     c. Конец ещё не установлен — сохрани замысел: запланированная крия (anagata,
        kalpita/anumita, воля по действительному отношению — обычно chanda) и
        вопрос с условием ответа; anagata+upeksha — не заглушка
     d. Унаследованное замыкание (1d): не латай ребёнка по одному
  3. ПЕРЕТРАССИРУЙ: iskron_orient(lens="trace", focus=<феномен>) → цикл связан?
     Связанная модель — не вердикт о мире: он на своём носителе (reality-audit)
  4. Всё ещё разорван → петля
ПРИНЦИП: у каждого ding названы порождение и конец на одном предметном уровне.
Leaked не глуши attrs и не удаляй участника ради счётчика; право хранить,
передать, уничтожить — от обязанности и законной политики.

Дерево решения: какая операция?

Старт: iskron_orient(realm=..., lens="tensions", focus=<контур>, verbose=true)

однородные строки сходятся на одном соседе (строка массы в ответе или видно самому)?
  → не операция: узел из массы — замечание вторым якорем vimarsha_of на него;
    вопрошания на причине нет — поставь его на причину, адресат стюард холона причины;
    дальше по дереву идут только строки вне массы

leaked-феномен?
  → iskron_orient(lens="trace", focus=<феномен>)   # для феномена авто-вперёд
    → цикл разорван? → Операция 5 (замыкание)
    → цикл связан, но нет потребителя? → Операция 1 (прошивка эстафеты)

relay-gap?
  → iskron_orient(lens="trace", focus=<потребляющая крия>)   # для крии авто-назад — trace и relay теперь одна линза
    → нет производителя → Операция 1 (добавить производителя; извне — крию наблюдения)

феномен-сирота?
  → iskron_look: принадлежит ли какой-то крие?
    → нет → прошить к релевантной крие; не держится — удалить (различения не нёс), опровергнуть и хранить (нёс ложный тезис) или отпустить (был верен, не нужен)
    → да, но стрелки без смысла → Операция 2 (написание смысла)

no-actor на крие?
  → вимарша стюарду холона по writing, «Кто действует?»; до ответа actor не ставь
    → ответ назвал одну роль → iskron_arrow(action="link") actor со смыслом
    → ответ назвал две роли → Операция 3 (расщепление)

структурных натяжений нет, но граф ощущается неполным?
  → Читай крии руками: iskron_look на ключевые
    → стрелки без смысла? → Операция 2
    → два актора? → Операция 3
    → феномены, которые различались? → Операция 4

Входы ткачества

Фаза 2 проектирования — по design, «Фаза 2: прямое ткачество». Прочие входы:

  • Трассирование: trace показал разрыв → Операция 1 или 5
  • Натяжение: структурная проблема → дерево решения выше
  • Впуск шабды: внешний вход обнажил различение → Операция 4
  • Доводка: накопленные вимарши требуют структурного ответа → любая операция
  • Событие работы (мерж, выкат, решение, закрытие дела): граф догоняет сделанное тремя частями, каждая названа, хотя бы «ноль, потому что…». Легло — новые переходы, феномены, рёбра. Сдвинулось — модусы по свидетельству, закрытые вопросы. Отпущено — тела переписаны под нынешнее без старого текста, вытесненное отпущено или ушло в прошлое, устаревшие стрелки сняты (Операция 4). Граф догоняет тем же ходом, что событие, — в графе, не строкой в деле.

Ритм

  • Сторож блуждания — по entry («Экономия — на выдаче»); чтение узлов, которые правишь, им не считается
  • Пере-ориентируйся каждые 5–10 узлов
  • После правки (reconnect/update): iskron_look на задетый узел — непройденные проверки рендерятся в CHECKS:. После создания CHECKS приходят в ответе самой фабрики.
  • Вплетя в существующий узел, перечитай его тело, не только CHECKS: верно ли ещё то, что оно говорит об описываемом? Ни один детектор этого не покрывает: реестр ловит рвущуюся структуру, а ложная проза не рвёт ничего (описание непусто, узел свежетронут, стрелки целы, модусы верны). Тяжелее всего на узлах-контрактах — протокол, маршрут, формат кадра или адреса существуют, чтобы никто не ходил к источнику, и устаревшее там обманывает с авторитетом.
  • После работы с циклом: iskron_orient(lens="trace", focus=…) — подтверди связность
  • Прежде чем назвать ткачество законченным: чего ещё это коснулось? Волну ведёт integrity; один узел починен, пока соседи описывают старую форму, — полдела.
  • Порядок батча: феномены → крии → стрелки

Comments

Markdown supported