{"id":"b15eb243-4a3e-490a-822d-ed62e661d64d","shortId":"s9HRyp","kind":"skill","title":"koda-skill-maker","tagline":"Мета-навык создания новых навыков для агентов по запросу пользователя","description":"# Создание агентского навыка\n\nМета-навык для создания новых навыков агентов, соответствующих открытому стандарту [agentskills.io](https://agentskills.io/specification).\n\n## Создание навыка\n\nНа высоком уровне процесс выглядит так:\n\n1. Определить, что должен делать навык и примерно как он должен это делать.\n2. Написать черновик навыка.\n3. Создать несколько тестовых промптов и опровобовать их с использованием навыка.\n4. Помочь пользователю оценить результаты как качественно, так и количественно.\n5. Переписать навык на основе отзывов пользователя (а также при обнаружении явных недостатков в количественных тестах).\n6. Повторять до достижения удовлетворенности.\n7. Расширить набор тестов и попробовать снова на большем масштабе.\n\n## Применение навыка\n\nТвоя задача при использовании этого навыка - понять, на каком этапе находится пользователь, и помочь ему продвинуться дальше.\nНапример, если пользователь говорит: «Я хочу сделать навык для X», вы помогаете уточнить детали, пишете черновик, создаете тесты, определяете критерии оценки и запускаете цикл.\n\nЕсли у пользователя уже есть черновик, можно сразу переходить к этапу оценки и итераций.\n\nБудьте гибкими: если пользователь скажет «Мне не нужны сложные оценки, просто посмотри на глаз», следуйте его пожеланию.\n\nПосле завершения работы над навыком можно запустить оптимизатор описания (отдельный скрипт) для улучшения точности срабатывания навыка.\n\n## Общение с пользователем\n\nЭтим инструментом могут пользоваться люди с разным уровнем технической подготовки.\n\nСледите за контекстом, чтобы выбрать правильный тон:\n\n* Термины «оценка» (evaluation) и «бенчмарк» допустимы, но на грани.\n* Для «JSON» и «ассершн» (assertion) убедись, что пользователь понимает их значение, прежде чем использовать без объяснений.\n\nКратко поясняй термины, если сомневаешься.\n\n## Создание навыка\n\n### Определение намерений\n\nНачни с понимания целей пользователя.\nВозможно, в истории чата уже есть рабочий процесс, который нужно превратить в навык.\nИзвлеки из контекста: используемые инструменты, последовательность шагов, исправления пользователя, форматы ввода/вывода.\n\n1. Что этот навык должен позволить делать Koda?\n2. Когда навык должен срабатывать? (фразы пользователя, контекст).\n3. Какой ожидаемый формат вывода?\n4. Нужно ли настраивать тест-кейсы?\n  Навыки с объективно проверяемым результатом (преобразование файлов, извлечение данных, генерация кода) выигрывают от тестов.\n  Для субъективных навыков (стиль письма, искусство) тесты часто не нужны.\n\n### Интервью и исследование\n\nПроактивно спрашивай о пограничных случаях, форматах, примерах файлов и критериях успеха.\nНе пиши тесты, пока не прояснишь эти детали.\n\nПроверьте доступные MCP и инструменты - используйте их для поиска документации или лучших практик.\n\n### Написание SKILL.md\n\nДокумент должен быть на русском языке.\n\nЗаполни frontmatter:\n\n- **`name`**: Идентификатор навыка.\n  Требования: латиница в нижнем kebab-case, 1-64 символов, должно совпадать с именем директории\n- **`description`**: Когда срабатывает и что делает.\n  Требования: 1-1024 символов, краткое описание навыка на русском языке.\n  Это основной механизм активации.\n  Пиши описание немного «настойчивым», чтобы Koda не игнорировал навык там, где он полезен.\n\n#### Проверка имени\n\n```\n✅ Валидно: code-review, sprint-planner, github-flow\n❌ Невалидно: Code-Review (верхний регистр), -my-skill (дефис в начале), my--skill (двойной дефис)\n```\n\n### Руководство по написанию навыка\n\n#### Анатомия навыка\n\n```\n.agents/skills/<skill-name>/\n    └── SKILL.md\n        ├── YAML frontmatter (name, description)\n        └── Markdown-инструкции\n```\n\n#### Паттерны написания\n\n- **Метаданные** (имя + описание) - всегда в контексте (~100 слов).\n- **Тело SKILL.md** - в контексте при срабатывании (<500 строк).\n\nИспользуй повелительное наклонение.\nОбъясняй «почему» нужно делать именно так - современные LLM лучше работают, когда понимают логику ограничений.\n\nНавыки не должны содержать вредоносного кода или вводить пользователя в заблуждение.","tags":["koda","skill","maker","kodaskills","xcode-nlp","agent-skills","ai-agent","kodacode","skills"],"capabilities":["skill","source-xcode-nlp","skill-koda-skill-maker","topic-agent-skills","topic-ai-agent","topic-kodacode","topic-skills"],"categories":["KodaSkills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/XCode-NLP/KodaSkills/koda-skill-maker","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add XCode-NLP/KodaSkills","source_repo":"https://github.com/XCode-NLP/KodaSkills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (3,996 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:59.223Z","embedding":null,"createdAt":"2026-05-18T13:14:45.225Z","updatedAt":"2026-05-18T19:08:59.223Z","lastSeenAt":"2026-05-18T19:08:59.223Z","tsv":"'-1024':408 '-64':393 '/specification).':33 '1':42,285,392,407 '100':484 '2':55,293 '3':59,301 '4':70,306 '5':80 '500':492 '6':96 '7':101 'agents/skills':467 'agentskills.io':30,32 'agentskills.io/specification).':31 'assert':234 'case':391 'code':437,447 'code-review':436,446 'descript':400,472 'evalu':223 'flow':444 'frontmatt':381,470 'github':443 'github-flow':442 'json':231 'kebab':390 'kebab-cas':389 'koda':2,292,425 'koda-skill-mak':1 'llm':504 'maker':4 'markdown':474 'markdown-инструкции':473 'mcp':361 'my-skil':451 'name':382,471 'planner':441 'review':438,448 'skill':3,453,458 'skill-koda-skill-maker' 'skill.md':373,468,487 'source-xcode-nlp' 'sprint':440 'sprint-plann':439 'topic-agent-skills' 'topic-ai-agent' 'topic-kodacode' 'topic-skills' 'x':139 'yaml':469 'а':87 'агентов':12,26 'агентского':17 'активации':419 'анатомия':465 'ассершн':233 'без':244 'бенчмарк':225 'большем':109 'будьте':168 'быть':376 'в':93,261,271,387,455,482,488,520 'валидно':435 'ввода':283 'вводить':518 'верхний':449 'возможно':260 'вредоносного':515 'всегда':481 'вы':140 'выбрать':218 'вывода':284,305 'выглядит':40 'выигрывают':324 'высоком':37 'где':430 'генерация':322 'гибкими':169 'глаз':181 'говорит':133 'грани':229 'дальше':129 'данных':321 'двойной':459 'делает':405 'делать':46,54,291,500 'детали':143,358 'дефис':454,460 'директории':399 'для':11,22,138,196,230,327,366 'до':98 'документ':374 'документации':368 'должен':45,52,289,296,375 'должно':395 'должны':513 'допустимы':226 'достижения':99 'доступные':360 'его':183 'ему':127 'если':131,154,170,249 'есть':158,265 'за':215 'заблуждение':521 'завершения':186 'задача':114 'заполни':380 'запросу':14 'запускаете':152 'запустить':191 'значение':240 'и':48,64,78,105,125,151,166,224,232,338,348,362,403 'игнорировал':427 'идентификатор':383 'из':274 'извлеки':273 'извлечение':320 'или':369,517 'именем':398 'имени':434 'именно':501 'имя':479 'инструкции':475 'инструментом':205 'инструменты':277,363 'интервью':337 'искусство':332 'использованием':68 'использовании':116 'использовать':243 'используемые':276 'используй':494 'используйте':364 'исправления':280 'исследование':339 'истории':262 'итераций':167 'их':66,239,365 'к':163 'как':50,75 'какой':302 'каком':121 'качественно':76 'кейсы':312 'когда':294,401,507 'кода':323,516 'количественно':79 'количественных':94 'контекст':300 'контекста':275 'контексте':483,489 'контекстом':216 'который':268 'кратко':246 'краткое':410 'критерии':149 'критериях':349 'латиница':386 'ли':308 'логику':509 'лучше':505 'лучших':370 'люди':208 'масштабе':110 'мета':6,20 'мета-навык':5,19 'метаданные':478 'механизм':418 'мне':173 'могут':206 'можно':160,190 'на':36,83,108,120,180,228,377,413 'набор':103 'навык':7,21,47,82,137,272,288,295,428 'навыка':18,35,58,69,112,118,200,252,384,412,464,466 'навыки':313,511 'навыков':10,25,329 'навыком':189 'над':188 'наклонение':496 'намерений':254 'написание':372 'написанию':463 'написания':477 'написать':56 'например':130 'настойчивым':423 'настраивать':309 'находится':123 'начале':456 'начни':255 'не':174,335,351,355,426,512 'невалидно':445 'недостатков':92 'немного':422 'несколько':61 'нижнем':388 'но':227 'новых':9,24 'нужно':269,307,499 'нужны':175,336 'о':342 'обнаружении':90 'общение':201 'объективно':315 'объяснений':245 'объясняй':497 'ограничений':510 'ожидаемый':303 'он':51,431 'описание':411,421,480 'описания':193 'определение':253 'определить':43 'определяете':148 'опровобовать':65 'оптимизатор':192 'основе':84 'основной':417 'от':325 'отдельный':194 'отзывов':85 'открытому':28 'оценить':73 'оценка':222 'оценки':150,165,177 'паттерны':476 'переписать':81 'переходить':162 'письма':331 'пишете':144 'пиши':352,420 'по':13,462 'повелительное':495 'повторять':97 'пограничных':343 'подготовки':213 'пожеланию':184 'позволить':290 'поиска':367 'пока':354 'полезен':432 'пользователем':203 'пользователь':124,132,171,237 'пользователю':72 'пользователя':15,86,156,259,281,299,519 'пользоваться':207 'помогаете':141 'помочь':71,126 'понимает':238 'понимания':257 'понимают':508 'понять':119 'попробовать':106 'после':185 'последовательность':278 'посмотри':179 'почему':498 'поясняй':247 'правильный':219 'практик':371 'превратить':270 'прежде':241 'преобразование':318 'при':89,115,490 'применение':111 'примерах':346 'примерно':49 'проактивно':340 'проверка':433 'проверьте':359 'проверяемым':316 'продвинуться':128 'промптов':63 'просто':178 'процесс':39,267 'прояснишь':356 'работают':506 'работы':187 'рабочий':266 'разным':210 'расширить':102 'регистр':450 'результатом':317 'результаты':74 'руководство':461 'русском':378,414 'с':67,202,209,256,314,397 'сделать':136 'символов':394,409 'скажет':172 'скрипт':195 'следите':214 'следуйте':182 'слов':485 'сложные':176 'случаях':344 'снова':107 'совпадать':396 'современные':503 'содержать':514 'создаете':146 'создание':16,34,251 'создания':8,23 'создать':60 'сомневаешься':250 'соответствующих':27 'спрашивай':341 'срабатывает':402 'срабатывании':491 'срабатывания':199 'срабатывать':297 'сразу':161 'стандарту':29 'стиль':330 'строк':493 'субъективных':328 'так':41,77,502 'также':88 'там':429 'твоя':113 'тело':486 'термины':221,248 'тест':311 'тест-кейсы':310 'тестах':95 'тестов':104,326 'тестовых':62 'тесты':147,333,353 'технической':212 'тон':220 'точности':198 'требования':385,406 'у':155 'убедись':235 'удовлетворенности':100 'уже':157,264 'улучшения':197 'уровне':38 'уровнем':211 'успеха':350 'уточнить':142 'файлов':319,347 'формат':304 'форматах':345 'форматы':282 'фразы':298 'хочу':135 'целей':258 'цикл':153 'часто':334 'чата':263 'чем':242 'черновик':57,145,159 'что':44,236,286,404 'чтобы':217,424 'шагов':279 'этапе':122 'этапу':164 'эти':357 'этим':204 'это':53,416 'этого':117 'этот':287 'я':134 'явных':91 'языке':379,415","prices":[{"id":"131de8dd-daf3-4718-9f96-9a9037cb6865","listingId":"b15eb243-4a3e-490a-822d-ed62e661d64d","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"XCode-NLP","category":"KodaSkills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:45.225Z"}],"sources":[{"listingId":"b15eb243-4a3e-490a-822d-ed62e661d64d","source":"github","sourceId":"XCode-NLP/KodaSkills/koda-skill-maker","sourceUrl":"https://github.com/XCode-NLP/KodaSkills/tree/main/skills/koda-skill-maker","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:45.225Z","lastSeenAt":"2026-05-18T19:08:59.223Z"}],"details":{"listingId":"b15eb243-4a3e-490a-822d-ed62e661d64d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"XCode-NLP","slug":"koda-skill-maker","github":{"repo":"XCode-NLP/KodaSkills","stars":8,"topics":["agent-skills","ai-agent","kodacode","skills"],"license":"mit","html_url":"https://github.com/XCode-NLP/KodaSkills","pushed_at":"2026-04-24T04:59:55Z","description":"Навыки для KodaCode","skill_md_sha":"0b5b6c701b08a1cd18632a11f946a0cc5a6fec7c","skill_md_path":"skills/koda-skill-maker/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/XCode-NLP/KodaSkills/tree/main/skills/koda-skill-maker"},"layout":"multi","source":"github","category":"KodaSkills","frontmatter":{"name":"koda-skill-maker","license":"MIT","description":"Мета-навык создания новых навыков для агентов по запросу пользователя"},"skills_sh_url":"https://skills.sh/XCode-NLP/KodaSkills/koda-skill-maker"},"updatedAt":"2026-05-18T19:08:59.223Z"}}