product-roadmap
Используй, чтобы собрать продуктовый роадмап GitHub-репозитория — или мультирепо-продукта (org или набор репо как один продукт) — выведенный из issues и PR через граф рассуждений. Триггеры: «собери роадмап из issues/PR», «роадмап по продукту», «что в этом репо делать дальше», roadmap from repo/github, roadmap for my org, multi-repo roadmap, quick roadmap, product-roadmap. Отыгрывает мейнтейнера: проверенная почва настоящего, взвешенный бэклог как шабда, направления (bianhua), рендер graph+markdown+HTML. Композирует iskronify, intake и assembly. Нужны gh CLI и тулы iskron_*.
How do I install this agent skill?
npx skills add https://github.com/iskron-ai/skills --skill product-roadmapIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill generates product roadmaps by analyzing GitHub repository data. It uses official CLI tools like 'gh' and 'git' to retrieve metadata and source code, which is then processed into a structured graph to identify development directions and structural risks.
- Socketwarn
1 alert: gptSecurity
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Продуктовый роадмап
Преврати GitHub-репо, которое ты сопровождаешь, — или мультирепо-продукт — в роадмап, из которого можно действовать. Ценность (обещание solo-разработчику): овладеть контекстом, рассыпанным по кодовой базе и бэклогу issues/PR, и дать графу поднять направления, под которыми проект действительно находится, — а не плоский список тикетов.
Ты отыгрываешь мейнтейнера. Конвейер:
рамка + бутстрап графа → моделирование текущего продукта (vartamana-почва) →
сбор milestones + issues + PR → взвешивание по автору → запись в граф (шабда-интейк) →
сборка (превращения: фигура-на-почве) → рендер (граф + markdown + HTML) → проверка
Скилл композирует три других: iskronify (понимание кодовой базы, граф/контур), intake (источник-независимая дисциплина шабда-интейка — хребет Шага 5) и assembly (различение превращений — сердце Шага 6). Сам он добавляет GitHub-адаптер (Шаги 3–4) и рендер роадмапа (Шаг 7). references/self-checks.md — полный проверочный гейт: Шаг 8 его прогоняет; без него не публикуй.
Обязательства — держи их через все шаги
- Фигура на почве. Issues/PR — это дельта: что люди хотят изменить; сами по себе они читаются как триаж тикетов. Сначала смоделируй существующий продукт — проверенной
vartamana-почвой, зримо отделённой отkalpita/shabda-бэклога. Тогда каждое направление преобразует нечто реальное. - Рычаг графа, не только его текст. Акторы — роли с реальными рёбрами; фигура-на-почве — граф-легальная связь; ключевые потоки — эстафета
ahara/utpatti; структурные риски — из собственных натяжений графа. Роадмап, который мог быть плоским markdown-списком, графом не воспользовался — а всякий рычаг, заявленный прозой, должны нести рёбра (проверка — режим claim-аудита скиллаintegrity). - Один продукт, даже через много репо. ОДИН фокус-контур; каждый репо — top-level-подсистема; кросс-репо-поток — заголовок. Никогда N сшитых роадмапов. Подтверди с мейнтейнером, какие репо в продукте, до моделирования.
- Читай-и-освежай, никогда не пересевай (контракт повторного прогона). В существующий граф ориентируются и освежают его на месте — прежде каждой записи найди, что уже стоит: обнови существующее, добавь только подлинно новое, закрой отгруженное. Отсутствующий граф предлагается, не создаётся молча. Выход — снимок настоящего, не межпрогонный журнал.
- Честно прежде эффектно. Пустой или тощий бэклог констатируется, не надувается; срезы объявляются; превосходные степени — только над множествами, которые ты реально вычислил; каждый процитированный примитив проверен. Полный список стражей —
references/self-checks.md. - Дисциплина ссылок.
#Nзарезервирован за реальными номерами GitHub issue/PR. Мультирепо: каждая ссылка репо-квалифицирована полным ключом (backend#1) — без самодельных сокращений, группировок и диапазонов, без голых#N. Внутренние seq графа — с не-репо-префиксом (ISKRON#1120). Направления —D1/D2или по имени.
Предпосылки
ghCLI аутентифицирован (gh auth status); целевые репо доступны.- Локальный чекаут каждого репо в объёме (
git clone --depth 1; приватные:gh repo clone). Шаг 2 читает реальную структуру кода — моделирование по однимgh-метаданным продукта не схватывает. - Тулы iskron_*; граф — по контракту повторного прогона выше.
- Модель продукта, решения в графе и сборку ведёшь сам (дверь iskron, «Ремесло графа»); объёмное — субагентам, делом: шаги без графа (сбор issues и PR, чтение кода, рендер) и правка многих узлов по готовому решению — роли
weaverна своём мосту-спутнике, итог сверяешь ты; дело прогона заводится до первого запуска (open_roomодной строкой у записи фокус-контура, справка двери iskronleading.md), бриф каждого субагента начинается строкой запускаstart <граф> <роль> <дело №N>, итог он говорит словом в деле; результаты между шагами передавай файлами на диске, возвращай короткие подтверждения + пути — большие возвраты роняют соединение. Проверяй шаг субагента по произведённому артефакту, не по его отчёту.
Шаг 1 — Рамка и бутстрап
- Определи цель — один
owner/repoили набор (org или названный мейнтейнером список) — и границу продукта одной строкой. Несколько репо: подтверди, что это один продукт, и что в объёме. - Сначала найди граф + фокус-контур (
iskron_realmlist;iskron_orient/iskron_semantic_search). Существует → ориентируйся и веди прогон как инкрементальное освежение. Отсутствует → предложи создание, создавай только по согласию мейнтейнера. - Ровно один фокус-контур, названный по продукту,
containsот корня — один контур даже через много репо, никогда по контуру на репо. - Чтение в духе
iskronifyнастраивает граф/контур, но никогда не пишиAGENTS.mdв репо, владение которым только отыгрываешь.
Шаг 2 — Смоделируй текущий продукт (vartamana-почва)
Пропустишь — и весь граф будет shabda: роадмап прочтётся как триаж бэклога, висящего в вакууме.
Читай то, что ЕСТЬ: README + доки (собственная заявка продукта); CHANGELOG + релизы (gh release list — что реально отгружено, текущая версия); структура кодовой базы (top-level директории/пакеты — реальные границы подсистем, точки входа, таблицы роутов); поверхность конфигурации (флаги, env); поверхность API (endpoint'ы, CLI-команды).
Засей почву: anumita · vartamana · upeksha — выведено чтением, действует, принято — строго отдельно от бэклога. Чтение README, CHANGELOG и кода видит содержание, не исполнение: эпистемика почвы по чтению — не выше anumita; pratyakshita — только наблюдённому исполнением (вызов, прогон), pramanita — по reality-audit (writing, «Решение 3: модусы»):
| Что прочитал | Узел | given_as | модус |
|---|---|---|---|
| подсистема (crawler, indexer, auth, storage) | holon | — | (граница) |
| существующая способность («полнотекстовый поиск») | phenomenon | vollzug / sachverhalt | An/Va/Up |
| доменная сущность (Bookmark, Library, User) | phenomenon | bildung / sinn | An/Va/Up |
| ключевой поток, который продукт исполняет сегодня | kriya | — | An/Va/Up |
| отгруженный факт, подтверждённый релизом | phenomenon | sachverhalt | An/Va/Up — релизная заметка слово мейнтейнера, не наблюдение |
- Вкладывай подсистемы под фокус-контур (
contains); способности/сущности живут в своей подсистеме. Мультирепо: репозитории И ЕСТЬ top-level-подсистемы (attrs.repoна каждой); внутри репо может делиться дальше. - Правила заземления — каждый узел почвы: цитируй реальный примитив в
attrs.source_ref(путь модуля, конфиг-флаг, endpoint, релиз-тег; репо-квалифицированно для мультирепо). Цитируй точный примитив — названный символ существует по этому пути; цитируй, где поведение реализовано, не где читается; предпочитай исполняемые примитивы прозе доков; версии читай из манифеста, никогда из дока.vartamana-заявка без цитируемого примитива — догадка: понизь или выброси. Не выводи способность из feature-request'а (это бэклог, не почва). - Объём: подсистемы, главные доменные сущности, горстка ключевых потоков — карта, которую мейнтейнер узнаёт как «да, это мой продукт», не полный реверс-инжиниринг.
- Смоделируй акторов — сначала роль-тест (скилл writing): ролью становится только адресуемый делатель. Два слоя, из двух разных источников, никогда не схлопнутых:
- Операторы рантайма — кто действует на живую систему / кого она обслуживает. Внешний потребитель →
agantuka客; внутренний оператор (админ, модератор, онбординг-стафф) →adhikarin能 — активный делатель, который отвечает и действует, никогда не пассивно-«обслуживаемая» сторона. Парк воркеров / CI / cron — не роль: это ⚙️ феномен (upadhi); повысить его, чтобы заглушить no-actor-натяжение, — ровно тот антипаттерн, о котором натяжение предупреждает. Моделируется из почвы (роли, которым служит код): эти люди почти никогда не пишут issues. - Драйверы разработки — кто авторствует бэклог. Мейнтейнер →
svatantra主 (делегированный dev-scope →adhikarin); случайный контрибьютор →agantuka. Только этот слой виден сбору. Чем уже круг контрибьюторов (solo-проект = один 主), тем сильнее реальный акторный сигнал прячется в слое рантайма. Карта с нулём рёбер — театр: прошей её к деяниям, которые она двигает, или выброси; каждая роль несётmanifested_as.
- Операторы рантайма — кто действует на живую систему / кого она обслуживает. Внешний потребитель →
- Прошей ключевые потоки эстафетой: каждая крия ключевого потока потребляет (
ahara) феномены, которые читает-и-съедает, и производит (utpatti) те, что пишет, в последовательностиnext— хребет продукта как реальная эстафета (трассируется в Шаге 7) и причина, по которой структурные риски становятся вычислимыми. Мультирепо: кросс-репо-хребет — заголовок: крия в репо A производит шарнирный феномен (общая таблица БД, API-контракт, публикуемый артефакт), который потребляет крия в репо B; шарнирные феномены — граф-доказательство единого продукта.
Шаг 3 — Собери milestones + issues + PR
gh, JSON. Три источника — обязательный план мейнтейнера живёт в milestones / Projects-доске и есть сильнейший одиночный сигнал.
- Мультирепо: собирай каждый репо в объёме, помечай элемент его репо, координированную работу поперёк репо веди одной кросс-репо-темой.
- Сначала milestones:
gh api repos/<owner>/<repo>/milestones?state=open, затем issues каждого не-«Backlog»-майлстоуна. Читай прозу описания самого майлстоуна — мейнтейнеры называют там цели, у которых нет issue. Проверь и Projects-доски, и закреплённые «roadmap»-issues. - Issues:
gh issue list --state open --limit <N> --json number,title,body,author,authorAssociation,labels,reactionGroups,comments,milestone,createdAt,updatedAt - PR (открытые + недавно смерженные):
gh pr list --state all --limit <N> --json number,title,body,author,authorAssociation,labels,state,milestone,additions,deletions,createdAt,mergedAt - Отбор = ОБЪЕДИНЕНИЕ, срез объявлен, никогда молча: (a) каждый issue с майлстоуном, (b) каждый с меткой accepted/approved/roadmap, (c) топ-N по реакциям / комментариям, (d) недавно активные N, (e) контрибьюторские PR. Одни реакции роняют уже решённую малореакционную работу — ровно то, что на роадмапе и должно быть. Не ограничивай PR окном новейших N: долго открытый мейнтейнерский PR — высокий сигнал. Залогируй срез и что исключено.
- Пустой/тощий бэклог честен, не провал: элементы НЕ выдумываются. Почва плюс траектория смерженных PR (
gh pr list --state merged— что недавно строилось, в каком направлении) несут роадмап; так и скажи в рендере. - Фиксируй по элементу: номер, заголовок, обрезанное тело, проверенный логин автора + authorAssociation (из API, никогда не выведенный), метки, майлстоун, вовлечённость, связанные issues, состояние.
Шаг 4 — Взвесь по роли автора
| authorAssociation | вес | заметка |
|---|---|---|
| OWNER / MEMBER / COLLABORATOR | высокий | голос мейнтейнера |
| CONTRIBUTOR | высокий | есть смерженная работа — реален |
| FIRST_TIME_CONTRIBUTOR / FIRST_TIMER | средний | суди по содержанию + вовлечённости |
| NONE (issue) | средний | пользовательская нужда — держи, если содержательна |
| NONE (PR без связанного issue) | низкий | случайный; впускай только при реальной вовлечённости |
Повышай за вовлечённость и метки accepted/roadmap; понижай дубликаты, wontfix, ботов, чистые dependency-бампы.
- Членство в майлстоуне перевешивает реакции — issue следующего релиза есть обязательная работа независимо от счёта реакций.
- Авторство проверяй из API, никогда не выводи — приписать общинный вклад мейнтейнеру значит испортить само взвешивание, ради которого шаг существует.
Шаг 5 — Запиши бэклог (шабда-интейк + роадмап-надстройки)
Прогони скилл intake над собранным — Шаги 3–4 суть его GitHub-адаптер (они дают каждому элементу содержание / форму / провенанс / авторитет). Хребет — у intake (тип узла по форме, эпистемика по заявке, средству и истоку, source_kind=shabda, дедуп, якорь arose_from); срез селективности — из Шага 3.
Одно сознательное расхождение с таблицей intake: feature-request ложится здесь феноменом (желаемая способность, sinn/bildung) или семенной крией (anagata/chanda) — не intake-овским превращением. Направления различаются позже сборкой; Шаг 5 сеет желаемую способность, не превращение.
GitHub-PR-формы, которых таблица intake не называет. PR — не крия: в граф идёт изменение, номер PR и SHA — в attrs или истории.
| Элемент источника | Узел |
|---|---|
| смерженный контрибьюторский PR | произведённый им феномен или введённая им крия (повторяемый переход) |
| открытый контрибьюторский PR | феномен или крия, которые он вводит, в модусах замысла (anagata) — работа в полёте |
| маловесный случайный PR | пропустить — или низкоприоритетный феномен с пометкой |
Роадмап-надстройки, которых intake не несёт:
- Якори каждый элемент к его подсистеме (
context/vimarsha_ofк контуру подсистемы из Шага 2 или к способности, которую он расширяет) — бэклог кластеризуется по подсистемам. Элемент без дома — сигнал: недомоделированная почва (вернись в Шаг 2) или подлинно новая почва — скажи, что именно. Кросс-репо-тема якорится к фокус-контуру и линкует каждую задетую подсистему. - Дедуплицируй против ПОЧВЫ, не только бэклога: просьба, совпадающая с отгруженной способностью, — дельта: формулируй «улучшить X», никогда «добавить X»; если базовая форма уже отгружена — переформулируй в реальный оставшийся зазор. Назвать уже отгруженное как to-build — подорвать доверие к знанию продукта. Неси GitHub-реф (номер, автор, вес) в
attrsдля трассируемости рендера. - Ставь модус момента честно: закоммичено майлстоуном →
chanda, и майлстоун едет свидетельством вattrsи в вес ранжирования, а не в волю; спекулятивная просьба →chanda; проектируемая работа →anagata; почва остаётсяvartamanaс эпистемикой по Шагу 2.adhimoksha— акт владельца графа, и читается он из его слова, а не выводится из артефакта чужой форжи: майлстоун ставит мейнтейнер репозитория, который держателям этого графа может быть не тождествен, и запись «держим» по нему выдала бы чужой артефакт за акт воли.adhimokshaзаконен только там, где владелец графа сказал это сам — и тогда кто и где сказал, стоит вreasoningзаписи, не в теле узла. Моделируй поле, как оно стоит сейчас; никогда не переводи модусы заранее. - Дай каждой бэклог-крие её ведущую роль как
actor— dev-драйверскую роль проверенного автора, никогда рантайм-актора. Именно это делает «кто владеет направлением» ребром графа, а не прозаическим ярлыком.
Шаг 6 — Сборка (различи направления)
Прогони скилл assembly над засеянным графом: ориентация поля → триаж свободных вимарш → различение превращений → имя + телос → anga драйверов → порядок anantara. Имена и телосы направлений агент предлагает (chanda), принимает владелец (writing, «Имя и телос»): отыгрыш мейнтейнера акта принятия не даёт, adhimoksha — только по его слову. Имя, телос и запрет превращения на одну вимаршу — по assembly, шаг 5; риски остаются рисками.
- Освежающие прогоны сверяют, не переразличают с нуля: обнови телос / anga / порядок направлений, которые держатся; направление добавляй только для подлинно новой темы; закрой (visarjana) те, чья работа отгружена. Никогда — направление-близнец.
- Фигура-на-почве как реальная стрелка: ведущая крия направления достигает способности почвы через
upadhi/context— никогда буквальнымaharaот превращения (граф запрещает). Направление, чьи ведущие крии не касаются никакой способности почвы, плавает: либо подлинно новая почва (скажи явно), либо знак недомоделированного Шага 2 (иди досей способность). - Подними структурные риски из собственных натяжений графа (
iskron_orient(lens="tensions")): способность без производящего потока, relay-gap эстафеты, деяние без роли — самодиагноз графа, отличный от рисков из бэклога; плоский список тикетов структурно не может их произвести. Мультирепо: кросс-репо мёртвый рецепт или relay-gap — находка высшей ценности. Натяжения, которые завело само моделирование, а не продукт, чини на месте, а не рапортуй. - Атрибутируй каждое направление по двум осям: его драйвер (ведёт мейнтейнер и закоммичено / ведёт контрибьютор и ждёт ревью / просит сообщество и без владельца — из ролей сбора) и его рантайм-цель (кому служит изменённая система: внешний потребитель 客 или внутренний оператор 能 — из почвы). Не схлопывай вторую в первую — жди операторских направлений (админка, онбординг стаффа) рядом с потребительскими; на solo-продукте ось драйвера плоская, и направления реально различаются рантайм-целью. Владение — факт графа: anga-крии направления несут
actor→ роль-драйвера, иначе ярлык понижается до «выведено». - Когерентная высокосигнальная тема сообщества заслуживает направления даже без закоммиченной работы — топ-реакционные issues есть роадмап-сигнал; сознательная отсрочка помечается «отложено, но реально», никогда не роняется молча.
- Майлстоуны целиком: закоммиченный ближний майлстоун — собственное направление, перечисляющее каждый открытый issue майлстоуна; топ-N ранжируй как гейтящие, но назови общее число и что остальное остаётся; никогда телос, заявляющий завершение по частичному списку. Перечисли каждый ОТКРЫТЫЙ майлстоун; catch-all «Backlog» — целиком или явно «сэмплировано». Закоммиченный мейнтейнерский issue из майлстоуна никогда не уступает место менее сигнальному по той же теме.
- Каждому ребру
anantara— свидетельство: issue/PR или заявление мейнтейнера, его устанавливающее; собственный архитектурный вывод помечай эвристикой (kalpita) и хеджируй в рендере. Не называй лишнего «blocked»: направление со своей работой в полёте — идёт следом, не заблокировано. - Именуй направления на языке аудитории репо — они станут заголовками роадмапа, которые читает владелец.
Шаг 7 — Рендер (веди собранной картиной)
Роадмап ведёт собранной кросс-репо-картиной и тем, что нашёл граф, — дифференцирующая ценность на первом экране, не закопана. Три артефакта:
- Граф —
iskron_orient(lens="bianhua"); HTML рендерит его визуальным граф-видом (хребет + направления в порядке зависимостей + флаги структурных рисков). roadmap.md, в этом порядке:- «Продукт, собранный» — подсистемы (по одной на репо) + кросс-репо-хребет, одно-два предложения; реальная картина из ВСЕХ источников.
- «Что нашёл граф» — структурные риски из натяжений, каждый с помеченным швом. Веди ими.
- «Следующие 3 хода» — список действий на 3–5 строк.
- «Что этот продукт сегодня» — почва, каждая строка процитирована к примитиву; доказывает знание продукта.
- «Как это работает сегодня» — одна ключевая эстафета, протрассированная насквозь (
lens="trace"): хребет одним проходом. - Направления в порядке
anantara; по направлению: расширяемая способность, телос, ведущие элементы (дословные заголовки + рефы + вес автора), роль-драйвер и рантайм-цель (客/能), anga (ведущий вопрос), открытые риски, что разблокирует. - «Чтение поля» — роли-драйверы (+ рантайм-цели), структурные риски, карта фигура-на-почве. Написано для мейнтейнера, не методолога: глоссируй каждый термин графа по-простому при первом употреблении.
- «Аудит сигнала» — топ по реакциям и комментариям среди ОТКРЫТЫХ issues (числа + основание запроса), каждый помечен included / deferred / out-of-scope, с названным порогом вовлечённости. Тощий бэклог → таблица траектории (счётчики смерженных PR по репо + темы). Точные числа, никогда оценки.
roadmap.html— страницу НЕ пиши руками. Скопируйreferences/roadmap-template.htmlи замени ТОЛЬКО его data-объектROADMAP(схема задокументирована в начале<script>шаблона); шаблон рендерит дизайн, реф-ссылки, чипы авторов, статус-бейджи, фильтры, темы. Весь текст авто-экранируется — вставляй дословные заголовки. Мультирепо: заполни URL-картуrepos, ставьrepo:'<key>'на каждый реф драйвера/сигнала иdirections[].repos; свободные рефы пиши<key>#N; внутренние seq —ISKRON#…. Один репо: опустиrepos(шаблон линкует черезrepoUrl).
Рендерь на языке аудитории репо. Цитируемые заголовки — дословно. Точность состояний: различай review / rebase / merge по draft-состоянию + mergeability + CI + ревью; докладывай разбор готовности по каждому PR и рекомендуй действие, снимающее связывающее ограничение. mergeable=null → пере-опроси один раз, затем «mergeability pending», никогда «clean»; mergeable=true ≠ готов; mergeable-PR — не «конфликтующий». Никогда не сваливай PR разных состояний в одну строку; ОТКРЫТЫЙ PR никогда не «отгружен». Никаких невычисленных превосходных степеней — заявка с названным охватом или сырое число, никогда глобальное «#1» по срезанному подмножеству. Покрытие — то, что делает путь данных/кода, не то, что перечисляет конфиг или UI.
Шаг 8 — Промежуточное сохранение и проверка (провал — вслух)
Ненаписанный роадмап не стоит ничего; прогон, умерший молча и не отдавший ничего, — худший исход.
- Сохраняй по ходу: пиши сырой выход каждой стадии (
milestones.json,issues.json,prs.json, собранный скелет) в--out-директорию по мере сбора — поздний провал оставит восстановимое состояние. - Проверь запись: перечитай артефакты; убедись — непустые, обязательные секции на месте; нет → скажи громко и почини; никогда не рапортуй успех без проверенного артефакта.
- Прогони
references/self-checks.md— каждую проверку. Каждый PASS зарабатывается над полным названным множеством; расхождения исправь, перерендери, перепроверь. - Возвраты держи маленькими: файлы на диске + короткое подтверждение с путями.
Быстрый режим — короткий показ
Триггеры: --quick, «quick roadmap», «дай суть», первое знакомство. Не гони полный конвейер (десятки минут); выдай одноэкранный короткий показ за пару минут — «он действительно понимает мой продукт» — и предложи полный прогон. Та же механика, вширь и мелко:
- Рамка (Шаг 1) — граница продукта; репо в объёме.
- Лёгкая почва — подсистемы и кросс-репо-хребет (достаточно для граф-вида) + горстка ключевых способностей и сущностей; реальные примитивы процитированы, объём — хребет; засей граф ровно на хребет + одно заголовочное натяжение.
- Взгляд на траекторию — темы смерженных PR / закоммиченный майлстоун; без полного сбора и глубины взвешивания.
- Топ-3 направления + один заголовочный структурный риск; без полного леса.
- Рендер только лида — граф-вид + резюме на 3–5 строк (что это за продукт · что нашёл граф · следующий ход) + явный указатель: «это короткий показ — прогони полный роадмап для полной картины».
Дисциплина держится: честное разделение shabda/vartamana, без фабрикаций, каждый процитированный примитив реален, рефы репо-квалифицированы, честность пустого бэклога. Мельче — да, небрежнее — нет.
Контракт выхода
- Проверенный
vartamana-подграф почвы (подсистемы + способности + ключевые потоки), процитированный к реальным примитивам, отдельный отshabda-бэклога. - Граф засеян трассируемыми феноменами/рисками — шабда-честно, дедуплицировано, со срезом.
- Карта превращений = роадмап, секвенированная, каждое направление заякорено в почву.
- Рычаг графа видим: роли-акторы, связи фигура-на-почве, структурные риски из натяжений — собраны в «Чтении поля».
roadmap.md+roadmap.htmlзаписаны локально; список «следующие 3 хода».- Все self-checks пройдены.
How can the creator link this skill?
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/product-roadmap">View product-roadmap on skillZs</a>