mcpField
D
design

design

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

About design

design is a skill for designing systems in Искрона by recording decisions, paths, risks, and lifecycle relationships in a graph. It guides projectors through iterative phases from goal analysis to risk mitigation and delivery planning.

Key features

  1. 01Record design decisions and questions in the graph
  2. 02Derive paths from goals and weave related phenomena
  3. 03Analyze risks and plan mitigations
  4. 04Track lifecycle gaps and system contracts
  5. 05Map delivery work to transformations

Use cases

  1. 01Turn an open-ended goal into a system design
  2. 02Document dependencies and lifecycle boundaries
  3. 03Assess risks before implementation
  4. 04Plan staged delivery for an external system

Install

Copy the command and run it in a terminal.

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

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

Details

From the project README

Проектирование в Искроне

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

Граница маршрутизации

«Продумай / хотим X» → запись в тот же ход. Это просьба проектировать, не только обсудить: прочти существующие феномены и вплети дизайн в них; подлинно новое — anagata+chanda, эпистемика не выше anumita. Запиши решения, путь и риски, вопросы по сути — вимаршами с vimarsha_of и posed_to, каждой стрелке дай sense по writing. Новое превращение — допущением, имя и телос предложи владельцу словами или вимаршей (writing, «Имя и телос»). Согласование не откладывает дизайн в прозу.

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

Interop: наборы элиситации (например, superpowers brainstorming)

Установлен brainstorming-скилл — запускай его для элиситации; его spec-файл — черновик: через intake и прошей сюда. Сохранение результата — работа памяти, не имплементация: гейты имплементации на неё не распространяются. Дизайн не готов, пока его решения, риски и жизненные циклы не в графе.

Принципы (действуют всегда)

#ПринципЧто это значит для тебя
P1Цикл каждого ding замкнут на предметном уровнеПорождение и конец того же уровня; конец — не обязательно уничтожение; процедура — weaving, операция 5. Leaked — зов проверить предмет, не приговор. Никогда не глуши attrs.
P2Сложная система только вырастаетОставляй место. Отложенное — anagata, воля по действительному отношению (writing, Решение 3); нужность под сомнением — ещё и вимарша «а нужно ли?» с условием ответа. Глубоко с первого прохода = антипаттерн.
P3Граф ≠ реальность; граф = натяжение с реальностьюВпуск шабды понижает натяжение. Проектирование повышает — граф описывает то, чего ещё нет. Каждая вимарша метит натяжение. Система развивается переработкой вимарш.
P4Натяжение — правдивый зов проверить, не приговорСчётчики и толщина — эвристики. Никогда не глуши. Детектор ложен — фидбэк его стюарду (feedback), а не повод его заглушить.

Стартовые модусы проектируемого

Проектируемая практика рождается запланированной, не сделанной: anumita/anagata/chanda (устоявшийся план, на который решились, — adhimoksha; отложенное «нужно, не сейчас» — anagata с волей по действительному отношению, не upeksha). Только наблюдаемое уже работающим — pratyakshita/vartamana/upeksha. Штамп «готово» (pramanita/vartamana/upeksha) на спроектированном-но-несуществующем узле лжёт об онтике и эпистемике, и ложь каскадирует через закат, преемственность, kriya-anga и носители. Переход в vartamana — отдельный акт жизни, совершаемый, когда практика реально стартует, — и засвидетельствованный: старт подтверждается наблюдением мира на каноническом носителе, не намерением автора (weaving, «Переходы носителей»). Воля взрослеет по chanda → adhimoksha; никогда не тянись к attrs для срочности или приоритета. Полный канон стартовых троек и закрытия — у скилла writing: сверяйся при каждой записи, не перевыводи здесь.

Волевая крия принадлежит превращению. Крия, записанная из воли (пользователь хочет, чтобы она была или чтобы чего-то не стало), а не из шабды, — часть качественного сдвига системы. Посади её на карту: её ведущие вимарши — anga к bianhua (путь), и сама крия — anga тоже (прибытие). Направление — из её тройки: возведение (anagata→vartamana, chanda/adhimoksha) цепляй ещё в anagata, разрешится при vartamana; депрекация (vartamana→atita, virodha) разрешается в atita; грамматика kriya-anga — writing. Завершённая крия тоже может быть anga: членство записывает назначение, не только движение. Сначала существующий лес (lens="bianhua"), новое превращение — допущением, имя и телос принимает пользователь (writing, «Имя и телос»); не знаешь, куда положить, — спроси.

Четыре фазы проектирования

Входи в любую фазу по зрелости графа. Не водопад — любая фаза может вернуть назад.

Фаза 1: обратное выведение (справа налево)

Канон нити: цель → путь → риски → тезис; поток given_as: sachverhalt → bildung → grundsatz/vollzug. Вытягивание от цели — метод мышления: каждый шаг проверяем, потому что вытянут из цели, а не придуман из воздуха.

ТРИГГЕР: цель есть, пути нет
ДЕЛАЙ:
  1. Назови цель как sachverhalt(anagata+chanda). Целевое состояние — владельца: цель
     (и позже телос превращения) принимает пользователь, проектировщик её не изобретает
  2. iskron_search + iskron_semantic_search — цели ещё нет в графе? (иначе названный
     дубликат ловит только semantic)
  3. Кто берёт цель? Тот, ради кого она, — крия отдачи: ahara на цель, без utpatti,
     актор 主/客. Правый край стоит прежде рекурсии влево; цепь за ним не продолжается
  4. От цели: «что это производит?» → сперва граф: решена ли подобная задача, есть ли
     подобный компонент или контракт, собирается ли рекомбинацией существующих с
     минимальным доделыванием, решается ли интеграцией (iskron_semantic_search по
     «до/после», lens="trace" по феномену, контракт холона); нет — создай крию +
     ahara-феномен; новое — только недостающее
  5. Рекурсия, пока не упрёшься в данность извне — и тогда крия наблюдения:
     utpatti без ahara, актор — тот, кто увидел. Край — деяние, не пометка
ВЫХОД: путь крий от входа к цели
ДАЛЬШЕ: → Фаза 2 (прямое ткачество)

Актор: роль Проектирующего. Потребляет: поставленное вопрошание. Производит: построенный путь. (Роль и крия канона методологии; в графе работы актор — твоя карта.)

Фаза 2: прямое ткачество (слева направо)
ТРИГГЕР: путь есть, не все феномены обслужены
ДЕЛАЙ:
  1. Пройди путь слева направо
  2. Для каждого феномена на пути:
     - Есть utpatti? Нет → relay-gap → добавь производящую крию
     - Есть ahara? Нет → leaked → конец по weaving, операция 5: потребление, отдача на краю, конец актуальности или обязанности
     - Уровень предмета совпадает? Bootstrap создаёт config → Teardown снимает config (тот же уровень)
  3. Для каждой крии:
     - Ровно один actor? Два → расщепи
     - На всех стрелках sense? Нет → напиши
     - ahara/utpatti указывают на верные феномены? (после различений может быть нужен reconnect)
     - Подобна ли она крии другого делателя? iskron_semantic_search(node_type="kriya",
       q=<до/после>); общий переход — зонт-контракт (§«Контракт»)
  4. Для каждого феномена: context → контур проставлен? Феномен без контура-дома невидим
     контур-скоупной ориентации — распредели ВСЕ
  5. iskron_orient(lens="trace", focus=<феномен>) на ключевых → цикл связан?
  6. iskron_orient(lens="tensions") → новые проблемы?
ВЫХОД: замеченные натяжения, замкнутые циклы
ДАЛЬШЕ: → Фаза 3 (анализ рисков) или → замыкание ЖЦ, если разорван

Актор: роль Ткача. Потребляет: построенный путь. Производит: замеченные натяжения, замкнутые циклы. (Роль и крия канона методологии; в графе работы актор — твоя карта.)

Фаза 3: анализ рисков + митигирование

3a. Анализ:

ТРИГГЕР: путь проткан, риски не оценены
ДЕЛАЙ: для каждой крии на пути — семь провокационных вопросов:
  1. Другой актор? Что, если недоступен?
  2. Другой контекст? Окружение сменилось?
  3. Повреждённый upadhi? Предусловие испорчено?
  4. Несовпадение масштаба? Параллельность/конкурентность?
  5. Противник? Сеть падает, диск кончается, процесс виснет?
  6. Публичная граница и представление? Точны ли экспорт API, форма конфига/схемы,
     протокол, сериализация, совместимость? Меняется и проверяется ли крия, не трогая
     соседей, — через какой контракт они её видят (§«Контракт»)? Нет его — риск
  7. Состояние и история? Держится ли поведение при изоляции, ретраях, уже
     накопленном состоянии, повторном прогоне?
  Нашёл угрозу → iskron_add_vimarsha(genre="risk", vimarsha_of=<крия>)
ВЫХОД: риск-вимарши

3b. Митигирование — отдельный процесс, по каждому риску:

ТРИГГЕР: риск-вимарша есть, не отвечена
ДЕЛАЙ:
  1. Прочти контекст риска: iskron_look на целевую крию + окрестность
  2. Изучи операционное окружение
  3. Выбери тип ответа — по порядку, следующий только когда предыдущий не подходит:
     a. Правка задетого существующего: митигирующая крия, где срыв ловится в момент хода, и её носитель
        (текст скилла в момент хода, отказ записи, проба) — тела, стрелки, модусы (writing, Решение 1);
        нет такой крии — новая компенсирующая крия или феномен, вместе с носителем
     b. Grundsatz-инвариант — только если нет крии, которую поправить, и только вместе с применяющей
        крией (upadhi) и носителем, чьё действие замерено; подсказка в ответе тула — не носитель.
        Рождается предложенным (chanda — в силу его вводит владелец), основание — стрелкой:
        arose_from к этому риску, derived_from к принципу, из которого следует
     c. Сознательное принятие → НЕ твой ход: принятие нежелательного — акт владельца. Подготовь материал
        (что принимается, какой ценой, сколько деяний идёт через риск) и адресуй владельцу; upeksha ставит он,
        либо ты — записывая его сказанное слово; чьё слово и когда — в reasoning записи, не в теле.
        Риск до тех пор стоит в virodha
  4. Прошей ответ, iskron_arrow(action="link") addressed_by от вимарши (для a и b; принятие закрывает модус, не стрелка)
ВЫХОД: отвеченные риски
ДАЛЬШЕ: → Фаза 4 или → следующий риск
Фаза 4: импульс доставки
ТРИГГЕР: граф спроектирован, всё в anagata, никто не работает
УСЛОВИЕ: только для графов, проектирующих внешние системы (не методология, не карта пути клиента — CJM)
ДЕЛАЙ:
  1. Посади работу на превращение: каждую волевую крию — kriya-anga (§«Волевая крия
     принадлежит превращению») к СУЩЕСТВУЮЩЕМУ bianhua сначала (lens="bianhua"); новое —
     допущением по writing, «Имя и телос», с предложением владельцу → импульс становится
     частью 形, а не рассыпанным списком
  2. Ступенчатая доставка (test → staging → full): ступень — суб-превращение, anga в ЕДИНОЕ
     превращение доставки, упорядоченное anantara; свои волевые крии ступень собирает через
     anga. Итог право-налевого проектирования — одно превращение с потоком ступеней:
     владелец читает его как план релиза
  3. Работа идёт делом: прежде спроси iskron_case(action="at", node=<превращение>) — не идёт ли
     уже; нет — открой дело на узле превращения (или ступени) полем open_room у его записи,
     одной строкой замысла (справка двери iskron leading.md)
  4. Поставь работу в деле референсами: узлы участка в модусах замысла и способ проверки —
     на каком каноническом носителе и какой пробой видно «сделано» (команда и ожидание, не
     мнение исполнителя), и отрицательная проба (скилл architect, шаг 5). Адресат — кто может
     ответить: 能, стюардящий контур (стрелка `steward`), 主 для стратегического масштаба;
     никогда pratibimba-образ. Принято пересказом, исход — словом в деле; порядок — из
     anantara и happens-before, не из списка
  5. Вимаршей остаётся то, что переживёт работу: риск, вопрос по сути, обязательство перед
     будущими делателями — `posed_to` и якорь vimarsha_of там, где адресат ориентируется
     (writing): без якоря он её не увидит; двигающая превращение — ещё и anga к нему
     (ведущая вимарша). Разовая задача — поручение в деле, не вимарша
  6. Семя превращения (genre=hint) — одно на превращение, только важное после сессии
     (writing, «hint»)
  7. Сверь с открытыми вимаршами и делами контура (iskron_case(action="at", node=<контур>))
  8. На свежепринятом превращении: прогон целостности (скилл integrity) — волновой фронт
     задетых-но-не-привязанных узлов получает свои вопросы «задето ли?»
ВЫХОД: делатель входит через дело (строка запуска, iskron_case(action="mine")) или orient → ACTIVE BIANHUA → знает, что делать первым

Сами по себе anagata-крии к действию не зовут. Зовут дела и вопрошания: дело — работу, вимарша — вопрос по сути. Превращение (скилл assembly) собирает их в карту, которую читает навигатор, — anga внутрь (волевые крии и ведущие вимарши), anantara между, — а не в плоский список.

Нить и эстафета

Нить (thread)Эстафета
Связываеткрии через nextфеномены через ahara/utpatti
Несётпрашну (иглу-вопрос) на каждой стрелкеsachverhalt (положение дел) между криями
О чёмпорядок действийжизненный цикл вещи
Тулиди по nextiskron_orient(lens="trace") на феномене

Не путай. Цепь sachverhalt'ов — эстафета. Последовательность крий — нить.

Замыкание жизненного цикла

Разорванные циклы, всплывшие при проектировании (lens="trace" разрыв, leaked, relay-gap), чинит скилл weaving, Операция 5: порождение и конец на одном предметном уровне; неустановленный конец — замыслом (anagata, воля по действительному отношению, вопрос), не заглушкой. Не перевыводи процедуру здесь.

given_as — легальность стрелок

Дерево решения given_as и полная матрица стрелок — у скилла writing. В момент проектирования помни ту, что кусает: vollzug/grundsatz применяются, никогда не потребляются — только upadhi; ahara/utpatti к ним = API 422.

Шпаргалка натяжений

НатяжениеЗначениеПочинка
leakedу феномена utpatti, нет aharaНазови предмет и охват (weaving, операция 5): конец того же уровня или запланированный (anagata, воля по действительному отношению, вопрос); феномен уходит из графа — крия отдачи (ahara без utpatti, актор 主/客)
relay-gapу феномена ahara, нет utpattiДобавь производящую крию; феномен приходит извне — крия наблюдения (utpatti без ahara); её феномен — в холоне внешней системы
orphanу феномена вообще нет крия-стрелокПрошей к крие (ahara/utpatti/upadhi). Не держится — три судьбы, не одна: не нёс различения (случаен, дубль) — удали с причиной; нёс тезис, и он ложен — опровергни и храни; был верен и больше не нужен — отпусти (writing, справочник модусов)
no-actorкрия без актораВимарша стюарду холона по writing, «Кто действует?»; actor не ставь до ответа
lifecycleнесвязные сегменты циклаПрошей через next или трассируй до разрыва
unreachableupadhi-феномен недостижим по happens-beforeПроверь: производитель hb-раньше потребителя?
веер (канон, не имя детектора)много связей одного рода на узле; линза зовёт счётом деяний без объемлющего; счёт стрелок сам по себе не долгНе «раздели» — назови среднее со своей грубой связью (writing, Решение 5; assembly, шаг 3)

Контракт — как с этим взаимодействовать

Контракт — обычно крия: вход (ahara), выход (utpatti), контекст (upadhi), делатель. Контракт порождает, потребляет и задействует не только вещи, но и положения дел; эффект — перемена состояния системы — тоже феномен, хотя не вещь. Выход чаще эффект, чем вещь, или то и другое — положение дел «после» (sachverhalt), которое берёт сосед и наблюдает проба, рядом со сделанной вещью, когда она есть; данность прочих феноменов — по предметной области. Подобные реализации с действительным общим переходом — зонтичная крия: её феномены — супертипы, реализации — contains-дети со своей паринамой, их феномены — specifies к супертипам; это веер ступенями (writing, Решение 5). Общего перехода нет — зонта нет: одна крия на разные реализации прячет их собственные ошибки и ограничения. Контракт несёт то, о чём спорят стороны, — отсутствие против пустого, порядок, запасной путь, совместимость; образец с отрицательными случаями — обеим сторонам до работы, проба различает несовместимость, а не совпадение полей, и живой сквозной приёмки не заменяет. Наблюдён контракт или заявлен — эпистемика его крии; расхождение — вимарша; модусов и дел хватает.

Endpoint — частный случай, крия, не текстовое описание: sinn-контейнер («API URL») содержит endpoint-феномены (sachverhalt запроса, attrs method, path); крия «Обслуживание GET /path» — ahara ← endpoint, utpatti → ответ, actor → API-клиент; next: вызывающий → endpoint-крия → рендерер.

Чтения. Крия: iskron_look — СУТЬ до/после, ЭСТАФЕТЫ через её край со стюардами соседей, ПОТОК (вход, выход, контекст, делатель, прежде и далее), КАК — шаги, «внутри уточнённых» — тонкие связи листьев зонта; iskron_orient(focus=<крия>) — соседи по стрелкам, шаги и эстафеты с натяжениями, без СУТИ и вопросов next; lens="trace" на крии — только назад: доступны ли предусловия (available, no_producer, deadlock), вперёд — нет; lens="topology" — сырые contains/context, на зонте — его ветки. Холон: iskron_orient(focus=<холон>) — назначение и стюард, ОГЛАВЛЕНИЕ (деяния верхнего уровня: берёт, отдаёт), ХРЕБЕТ, СОСЕДИ со входом и выходом, ГДЕ РВЁТСЯ — это и есть контракт холона; lens="tensions", verbose=true — категория neighbor: пары с соседом и его стюард; lens="vimarshas" и lens="bianhua" с focus холона — вопросы и превращения охвата (показали 0 или цифры странны — вопросы на продевающихся сквозь него криях: iskron_search(node_type="vimarsha", vimarsha_of=<крия>)); lens="topology" на холоне — сырая сеть, не контракт. Путь между деяниями разных холонов — lens="path". Линзы контракта компонента нет: компонент описывают холоном, только если он граница по природе — свой ритм перемен, свой делатель.

Механика записи → скилл writing

Именование (正名), форма описания (паринама; толщина зовёт проверить единицу продолжения суждения: самостоятельные части выделяются, целое со значимым швом остаётся), модусы, given_as, порядок батча — всё это скилл writing. Вызывай его в каждый момент записи каждой фазы; не перевыводи здесь.

Граница графа

Крии края, leaked и relay-gap на краю, запрет глушить натяжение attrs — weaving, «Граница».

Comments

Markdown supported