{"id":"6b2de6f9-26f7-405d-a18a-660f8cdf35cd","shortId":"aRrM3D","kind":"skill","title":"koda-plan","tagline":"Навык декомпозирования сложных задач. Помогает разложить задачу на подзадачи, составить план их выполнения и выполнить согласно плана. Использует доступные навыки","description":"# Планирование сложных задач\n\n**Цель**: сформировать подробный пошаговый практичный план действий перед реализацией, чтобы согласовать ожидания и снизить риски.\n\n## Когда использовать\n\n- Пользователь просит план, стратегию или этапы\n- Задача крупная, абстрактная, неоднозначная или рискованная\n- Задача затрагивает разные слои проекта, требует множества согласованных между собой изменений\n- Требуются уточняющие вопросы\n\n## Что делать\n\n### 1. Анализ входных данных\n\n1. Проанализируй исходный запрос и текущий контекст.\n2. Если необходимо: сформулируй несколько уточняющих вопросов, уточни ключевые нюансы, конечную цель и критерии оценки результата.\n3. Изучи текущий проект: файловую структуру, архитектуру, паттерны, бизнес-логику, зависимости, связность и др.\n4. При возможности изучи документацию к проекту: это могут быть комментарии в коде, дополнительные файлы и/или документация к фреймворкам и библиотекам.\n5. Определи список доступных навыков и инструментов.\n6. Выдели те участки проекта, которые соотносятся с требованиями пользователя.\n\n### 2. Планирование\n\n1. Исходя из анализа, разбей исходную постановку на задачи в соответствии со структурой проекта.\n   Необязательно детализировать до уровня атомарных операций, но каждый последующий шаг должен быть детерминирован и логично следовать из предыдущего.\n2. Для каждого шага определи хотя бы один подходящий навык из доступных.\n   Необязательно, если подходящего навыка нет.\n3. Пересмотри план, проверь наличие необходимых данных, участков кода, навыков, инструментов; сделай заключение о выполнимости текущего плана, в противном случае скорректируй.\n4. Покажи план пользователю как есть и передай ему слово:\n    - План работ должен иметь следующий формат:\n        ```\n        1. [ ] **<Описание задачи 1>**\n            - Навыки: ...\n            - Файлы:\n                - <путь1>\n                - <путь2>\n                - ...\n        2. [ ] **<Описание задачи 2>**\n            - Навыки: ...\n            - Файлы:\n                - <путь1>\n                - <путь2>\n                - ...\n        3. [ ] **<Описание задачи 3>**\n            - Навыки: ...\n            - Файлы:\n                - <путь1>\n                - <путь2>\n                - ...\n        ...\n        ```\n    - При отрицательном ответе вернись на этап анализа входных данных и задай уточняющие вопросы.\n    - При положительном ответе запиши план в файл `.koda/plans/<имя-плана>.md` в корне проекта.\n        Имя плана зависит от исходной задачи.\n        Например:\n        - если нужно исправить ошибку формирования заказа, файл плана следует назвать `fix-order-creation.md`;\n        - если нужно внедрить новый вид уведомлений, тогда `new-notification.md`.\n\n        Если план подвергался нескольким итерациям переработок, то в имя файла следует добавлять суффикс `-vN`, где N - номер итерации.\n\n        Обогати необходимыми данными из контекста.\n        Это поможет вернуться к плану после перерыва.\n\n        По мере выполнения запланированных действий, поддерживай файл в актуальном состоянии.\n        Отмечай каждый выполненный шаг заменой `[ ]` на `[x]`.\n\n### 3. Реализация плана\n\n1. После подтверждения плана пользователем начинай работу с первого пункта до последнего, используя выбранные навыки и инструменты.\n2. Не переходи к следующему шагу плана, пока текущий шаг не завершён.\n3. Шаг считается завершённым если внесены и проверены все запланированные изменения.\n4. По мере выполнения шаги плана отмечаются выполненными.\n5. Если на каком-либо шаге оказывается, что план требует корректировки, возвращайся на этап анализа входных данных; корректировать уже выполненные шаги нельзя.\n\n## Ограничения, условия и дополнительные требования\n\n- План должен быть наглядным и понятным.\n- Если задача простая (до 2 шагов), план не нужен: переходи к выполнению.\n- Не вноси изменения в проект и не запускай команды, пока план не подтверждён.\n- Названия или состав навыков может измениться в любой момент, адаптируй план к изменениям.\n- Не создавай пересекающиеся подзадачи.\n- Не смешивай домены в подзадаче: фронтенд, бэкенд, инфраструктура, бизнес-логика должны изменяться в отдельных подзадачах.\n- Не создавай подзадачи без изучения проекта.\n- Не создавай подзадачи, которые не будут выполнены, но увеличивают план.\n- Если проект содержит код, нужно следовать принципам KISS, YAGNI, DRY, SRP, но прежде всего простота и прозрачность имеют решающее значение.\n- Не надо добиваться идеального результата любой ценой, это может привести к нарушению планов и ожиданий.\n\n## Типичные примеры\n\n**Веб-приложение:**\n- Backend API → Backend QA → Frontend UI → Frontend QA → Интеграция\n\n**Микросервисы:**\n- Разработка сервиса → Тестирование → Развёртывание (Docker, Podman, k8s)\n\n**Анализ данных:**\n- Обработка → Проверка → Визуализация → Документирование\n\n**Исправление бага:**\n- Поиск причин → Исправление → Тестирование → Проверка\n\n**Рефакторинг:**\n- Анализ → Изменения → Тестирование → Проверка\n\n## Хорошие практики\n\n1. **Изучение прежде всего** - сначала понимание, потом планирование\n2. **Навыки и инструменты важны** - всегда адаптируйся, ты ими не управляешь\n3. **Определи критерии успеха** - каждая подзадача должна валидироваться\n4. **Установи зависимости** - убедись в правильном порядке задач\n5. **Будь конкретным** - чётко формулируй шаги\n6. **Используй контекст** - в нём могут быть полезные сведения\n7. **Думай о результате** - фокусируйся на целях пользователя\n8. **Не скрывай информацию** - любая мелочь может повлиять на успех\n\n## Завершение работы\n\n**Когда план будет выполнен:**\n- нужно повторно проверить каждый шаг с начала: последующие шаги могли негативно отразиться на первых;\n- пользователь должен подтвердить успешность реализации;\n- если в корне проекта есть файлы KODA.md, AGENTS.md, CLAUDE.md, их следует актуализировать.","tags":["koda","plan","kodaskills","xcode-nlp","agent-skills","ai-agent","kodacode","skills"],"capabilities":["skill","source-xcode-nlp","skill-koda-plan","topic-agent-skills","topic-ai-agent","topic-kodacode","topic-skills"],"categories":["KodaSkills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/XCode-NLP/KodaSkills/koda-plan","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 (5,766 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.122Z","embedding":null,"createdAt":"2026-05-18T13:14:45.133Z","updatedAt":"2026-05-18T19:08:59.122Z","lastSeenAt":"2026-05-18T19:08:59.122Z","tsv":"'1':72,76,155,241,244,369,602 '2':83,153,187,249,252,386,455,610 '3':99,204,257,260,366,398,621 '4':114,225,409,629 '5':136,417,637 '6':143,643 '7':652 '8':660 'agents.md':702 'api':566 'backend':565,567 'claude.md':703 'docker':579 'dri':534 'fix-order-creation.md':310 'frontend':569,571 'k8s':581 'kiss':532 'koda':2 'koda-plan':1 'koda.md':701 'koda/plans':285 'md':289 'n':334 'new-notification.md':318 'plan':3 'podman':580 'qa':568,572 'skill' 'skill-koda-plan' 'source-xcode-nlp' 'srp':535 'topic-agent-skills' 'topic-ai-agent' 'topic-kodacode' 'topic-skills' 'ui':570 'vn':332 'x':365 'yagni':533 'абстрактная':52 'адаптируй':485 'адаптируйся':616 'актуализировать':706 'актуальном':357 'анализ':73,582,596 'анализа':158,271,432 'архитектуру':105 'атомарных':173 'бага':589 'без':512 'библиотекам':135 'бизнес':108,502 'бизнес-логика':501 'бизнес-логику':107 'будет':674 'будут':520 'будь':638 'бы':193 'быть':123,180,447,649 'бэкенд':499 'в':125,164,221,283,290,326,356,466,482,496,506,633,646,696 'важны':614 'валидироваться':628 'веб':563 'веб-приложение':562 'вернись':268 'вернуться':344 'вид':315 'визуализация':586 'внедрить':313 'внесены':403 'вноси':464 'возвращайся':429 'возможности':116 'вопросов':89 'вопросы':69,277 'все':406 'всегда':615 'всего':538,605 'входных':74,272,433 'выбранные':382 'выдели':144 'выполнен':675 'выполнению':462 'выполнения':16,351,412 'выполненные':437 'выполненный':361 'выполненными':416 'выполнены':521 'выполнимости':218 'выполнить':18 'где':333 'данными':339 'данных':75,210,273,434,583 'действий':33,353 'декомпозирования':5 'делать':71 'детализировать':170 'детерминирован':181 'для':188 'до':171,379,454 'добавлять':330 'добиваться':547 'документацию':118 'документация':131 'документирование':587 'должен':179,237,446,691 'должна':627 'должны':504 'домены':495 'дополнительные':127,443 'доступные':22 'доступных':139,198 'др':113 'думай':653 'ему':233 'если':84,200,300,311,319,402,418,451,525,695 'есть':230,699 'завершение':670 'завершён':397 'завершённым':401 'зависимости':110,631 'зависит':295 'задай':275 'задач':7,26,636 'задача':50,56,452 'задачи':163,243,251,259,298 'задачу':10 'заказа':305 'заключение':216 'заменой':363 'запиши':281 'запланированные':407 'запланированных':352 'запрос':79 'запускай':470 'затрагивает':57 'значение':544 'и':17,39,80,95,112,129,134,141,182,231,274,384,404,442,449,468,540,558,612 'идеального':548 'из':157,185,197,340 'изменений':66 'изменения':408,465,597 'изменениям':488 'измениться':481 'изменяться':505 'изучение':603 'изучения':513 'изучи':100,117 'или':48,54,130,477 'иметь':238 'имеют':542 'ими':618 'имя':287,293,327 'имя-плана':286 'инструментов':142,214 'инструменты':385,613 'интеграция':573 'информацию':663 'инфраструктура':500 'использовать':43 'использует':21 'используй':644 'используя':381 'исправить':302 'исправление':588,592 'исходной':297 'исходную':160 'исходный':78 'исходя':156 'итерации':336 'итерациям':323 'их':15,704 'к':119,132,345,389,461,487,555 'каждая':625 'каждого':189 'каждый':176,360,679 'как':229 'каком':421 'каком-либо':420 'ключевые':91 'когда':42,672 'код':528 'кода':212 'коде':126 'команды':471 'комментарии':124 'конечную':93 'конкретным':639 'контекст':82,645 'контекста':341 'корне':291,697 'корректировать':435 'корректировки':428 'которые':148,518 'критерии':96,623 'крупная':51 'либо':422 'логика':503 'логику':109 'логично':183 'любая':664 'любой':483,550 'между':64 'мелочь':665 'мере':350,411 'микросервисы':574 'множества':62 'могли':685 'могут':122,648 'может':480,553,666 'момент':484 'на':11,162,269,364,419,430,657,668,688 'навык':4,196 'навыка':202 'навыки':23,245,253,261,383,611 'навыков':140,213,479 'наглядным':448 'надо':546 'названия':476 'назвать':309 'наличие':208 'например':299 'нарушению':556 'начала':682 'начинай':374 'не':387,396,458,463,469,474,489,493,509,515,519,545,619,661 'негативно':686 'нельзя':439 'необходимо':85 'необходимыми':338 'необходимых':209 'необязательно':169,199 'неоднозначная':53 'нескольким':322 'несколько':87 'нет':203 'но':175,522,536 'новый':314 'номер':335 'нужен':459 'нужно':301,312,529,676 'нюансы':92 'нём':647 'о':217,654 'обогати':337 'обработка':584 'ограничения':440 'один':194 'ожиданий':559 'ожидания':38 'оказывается':424 'операций':174 'описание':242,250,258 'определи':137,191,622 'от':296 'ответе':267,280 'отдельных':507 'отмечай':359 'отмечаются':415 'отразиться':687 'отрицательном':266 'оценки':97 'ошибку':303 'паттерны':106 'первого':377 'первых':689 'перед':34 'передай':232 'переработок':324 'перерыва':348 'пересекающиеся':491 'пересмотри':205 'переходи':388,460 'план':14,32,46,206,227,235,282,320,426,445,457,473,486,524,673 'плана':20,220,288,294,307,368,372,392,414 'планирование':24,154,609 'планов':557 'плану':346 'по':349,410 'повлиять':667 'повторно':677 'подвергался':321 'поддерживай':354 'подзадача':626 'подзадачах':508 'подзадаче':497 'подзадачи':12,492,511,517 'подробный':29 'подтвердить':692 'подтверждения':371 'подтверждён':475 'подходящего':201 'подходящий':195 'поиск':590 'пока':393,472 'покажи':226 'полезные':650 'положительном':279 'пользователем':373 'пользователь':44,690 'пользователю':228 'пользователя':152,659 'помогает':8 'поможет':343 'понимание':607 'понятным':450 'порядке':635 'после':347,370 'последнего':380 'последующие':683 'последующий':177 'постановку':161 'потом':608 'пошаговый':30 'правильном':634 'практики':601 'практичный':31 'предыдущего':186 'прежде':537,604 'при':115,265,278 'привести':554 'приложение':564 'примеры':561 'принципам':531 'причин':591 'проанализируй':77 'проверены':405 'проверить':678 'проверка':585,594,599 'проверь':207 'проект':102,467,526 'проекта':60,147,168,292,514,698 'проекту':120 'прозрачность':541 'просит':45 'простая':453 'простота':539 'противном':222 'пункта':378 'путь1':247,255,263 'путь2':248,256,264 'работ':236 'работу':375 'работы':671 'разбей':159 'развёртывание':578 'разложить':9 'разные':58 'разработка':575 'реализацией':35 'реализации':694 'реализация':367 'результата':98,549 'результате':655 'рефакторинг':595 'решающее':543 'риски':41 'рискованная':55 'с':150,376,681 'сведения':651 'связность':111 'сделай':215 'сервиса':576 'скорректируй':224 'скрывай':662 'следовать':184,530 'следует':308,329,705 'следующему':390 'следующий':239 'слово':234 'сложных':6,25 'слои':59 'случае':223 'смешивай':494 'сначала':606 'снизить':40 'со':166 'собой':65 'согласно':19 'согласованных':63 'согласовать':37 'содержит':527 'создавай':490,510,516 'соответствии':165 'соотносятся':149 'состав':478 'составить':13 'состоянии':358 'список':138 'стратегию':47 'структурой':167 'структуру':104 'суффикс':331 'сформировать':28 'сформулируй':86 'считается':400 'те':145 'текущего':219 'текущий':81,101,394 'тестирование':577,593,598 'типичные':560 'то':325 'тогда':317 'требования':444 'требованиями':151 'требует':61,427 'требуются':67 'ты':617 'убедись':632 'уведомлений':316 'увеличивают':523 'уже':436 'управляешь':620 'уровня':172 'условия':441 'успех':669 'успеха':624 'успешность':693 'установи':630 'уточни':90 'уточняющие':68,276 'уточняющих':88 'участки':146 'участков':211 'файл':284,306,355 'файла':328 'файловую':103 'файлы':128,246,254,262,700 'фокусируйся':656 'формат':240 'формирования':304 'формулируй':641 'фреймворкам':133 'фронтенд':498 'хорошие':600 'хотя':192 'цель':27,94 'целях':658 'ценой':551 'что':70,425 'чтобы':36 'чётко':640 'шаг':178,362,395,399,680 'шага':190 'шаге':423 'шаги':413,438,642,684 'шагов':456 'шагу':391 'этап':270,431 'этапы':49 'это':121,342,552","prices":[{"id":"f9b8e6b8-e5b9-4fd2-9795-e8c4a3212dc8","listingId":"6b2de6f9-26f7-405d-a18a-660f8cdf35cd","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.133Z"}],"sources":[{"listingId":"6b2de6f9-26f7-405d-a18a-660f8cdf35cd","source":"github","sourceId":"XCode-NLP/KodaSkills/koda-plan","sourceUrl":"https://github.com/XCode-NLP/KodaSkills/tree/main/skills/koda-plan","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:45.133Z","lastSeenAt":"2026-05-18T19:08:59.122Z"}],"details":{"listingId":"6b2de6f9-26f7-405d-a18a-660f8cdf35cd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"XCode-NLP","slug":"koda-plan","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":"5cf0dcf5f8233819388f7c7f0b49d204c7e62051","skill_md_path":"skills/koda-plan/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/XCode-NLP/KodaSkills/tree/main/skills/koda-plan"},"layout":"multi","source":"github","category":"KodaSkills","frontmatter":{"name":"koda-plan","license":"MIT","description":"Навык декомпозирования сложных задач. Помогает разложить задачу на подзадачи, составить план их выполнения и выполнить согласно плана. Использует доступные навыки"},"skills_sh_url":"https://skills.sh/XCode-NLP/KodaSkills/koda-plan"},"updatedAt":"2026-05-18T19:08:59.122Z"}}