[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MX0WQJCPS4MNVMQRX7KNZR":3,"skill-same:01M6MX0WQJCPS4MNVMQRX7KNZR":58},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6MX0WQJCPS4MNVMQRX7KNZR","mr-review",null,"MR Review — ревью чужого Merge Request с публикацией threads в GitLab. Используй когда просят отревьюить MR коллеги по ссылке или ID (fetch diff → \u002Fgo-review → публикация замечаний).","vmkteam\u002Fclaude-plugins","vmkteam","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F55537877?v=4","01M6MWYAFDCD63N1M8MBJA6T0S","01M6MWYAKHK0QCPR0Y7AW5SH0R",7,"MIT","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fmr-review\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30],"review","mr review","go","security","performance","merge","gitlab","fetch","diff","focus","id","threads","request","2026-11-10 10:12:30",false,"---\nname: mr-review\ndescription: \"MR Review — ревью чужого Merge Request с публикацией threads в GitLab. Используй когда просят отревьюить MR коллеги по ссылке или ID (fetch diff → \u002Fgo-review → публикация замечаний).\"\nargument-hint: \"\u003Cmr_iid> [--focus security|performance|...]\"\n---\n\n# MR Review — ревью чужого Merge Request\n\nПолный цикл code review для MR в GitLab: получить diff, проанализировать код, опубликовать замечания как inline threads.\n\nПодключения — из `project-index.md` в auto-memory проекта и `~\u002F.claude\u002Fmemory\u002Finfra-{group}.md`.\n\n## Использование\n\n```\n\u002Fmr-review 42\n\u002Fmr-review 42 --focus security\n\u002Fmr-review 42 --focus performance\n```\n\n## Flow\n\n```\nFETCH MR → READ CODE → REVIEW → SUMMARY → ⏸ HITL → PUBLISH\n```\n\n---\n\n### 1. FETCH — получить MR\n\n```bash\n# Детали MR (title, description, author, source\u002Ftarget branch, diff_refs)\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}' -s\n\n# Diff (список изменённых файлов с содержимым)\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fchanges' -s\n\n# Коммиты MR\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fcommits' -s\n\n# Существующие discussions (чтобы не дублировать замечания)\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fdiscussions?per_page=100' -s\n```\n\nИзвлечь:\n- `diff_refs` (base_sha, start_sha, head_sha) — нужны для inline comments\n- Список изменённых файлов и их diff\n- Описание MR и связанную задачу (из title или description)\n- Уже существующие замечания (не дублировать)\n\n### 2. READ CODE — прочитать контекст\n\nДля каждого изменённого файла:\n- Прочитать **полный файл** локально (не только diff) — для понимания контекста\n- Если ветка MR доступна локально — `git fetch origin && git checkout {source_branch}`\n- Если нет — читать через API или анализировать diff as-is\n\nДополнительно:\n- Прочитать связанную задачу из YouTrack (если ID в title\u002Fdescription)\n- Понять **что должен делать MR** — сравнить intent с реализацией\n\n### 3. REVIEW — анализ кода\n\nЗапустить `\u002Fgo-review` в режиме MR: изменения — diff из шага 1 (или `git diff origin\u002F{target_branch}...origin\u002F{source_branch}`), preflight локальной базы не нужен. 6 ревьюеров:\n1. **Common** — соответствие задаче, полнота\n2. **Architecture** (Dave Cheney) — структура, зависимости\n3. **Code** (Rob Pike) — простота, читаемость\n4. **Security** (Filippo Valsorda) — уязвимости, authz\n5. **Tests** (Mitchell Hashimoto) — покрытие, качество тестов\n6. **Operability** (Peter Bourgon) — логирование, метрики, graceful degradation\n\nЕсли указан `--focus` — углубиться в этот аспект, не отбрасывая находки по остальным.\n\nДополнительные проверки (сверх \u002Fgo-review):\n- **Сгенерированные файлы** (`*_zenrpc.go`, `*_colgen.go`, `*_mfd.go`) — пропустить, но убедиться что они обновлены\n- **Миграции** — проверить на блокирующие ALTER, наличие отката\n- **`make generate` consistency** — если менялись структуры\u002Fаннотации, обновлены ли сгенерированные файлы?\n\n### 4. SUMMARY — подготовить результат\n\nСформировать два артефакта:\n\n#### a) Summary comment (общий комментарий к MR)\n\n```markdown\n## Code Review Summary\n\n**MR:** !{mr_iid} — {title}\n**Reviewed by:** Claude (\u002Fgo-review — 6 perspectives)\n\n### Verdict: {Approve \u002F Request Changes \u002F Comment}\n\n### Acceptance\n- met: {критерий из задачи}\n- unmet: {критерий} — {почему}\n\n### Findings\n| # | Severity | Confidence | File | Line | Issue |\n|---|----------|------------|------|------|-------|\n| 1 | blocker | high | {file} | {line} | {description} |\n| 2 | major | medium | {file} | {line} | {description} |\n| 3 | minor | low | {file} | {line} | {description} |\n\n### What's good\n- {positive finding 1}\n- {positive finding 2}\n\n### Recommendations\n- {recommendation 1}\n```\n\n#### b) Inline comments (привязанные к строкам кода)\n\nДля каждого замечания severity blocker\u002Fmajor\u002Fminor — подготовить inline comment с:\n- Severity tag: `**[blocker]**`, `**[major]**`, `**[minor]**`\n- Описание проблемы\n- Предложение исправления (с примером кода если уместно)\n\nЗамечания `nit` — только в summary, без отдельных threads. Находки с уверенностью `low` пометь в тексте замечания как предположение — пользователь решит на HITL, публиковать ли их.\n\n### ⏸ HITL: Утверждение ревью\n\nПоказать пользователю:\n- Summary comment\n- Список inline comments с файлами и строками\n- Рекомендованный verdict (Approve \u002F Request Changes \u002F Comment)\n\nПользователь решает:\n- **Publish all** — опубликовать summary + все inline threads\n- **Publish selected** — выбрать какие замечания публиковать\n- **Edit** — скорректировать текст замечаний\n- **Cancel** — не публиковать\n\n### 5. PUBLISH — опубликовать в GitLab\n\nТексты замечаний — многострочный markdown с кавычками и кодом, поэтому JSON собирается через jq, а не руками.\n\n#### Summary comment:\n```bash\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fnotes' -s -X POST \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d \"$(jq -n --arg body \"$SUMMARY\" '{body: $body}')\"\n```\n\n#### Inline threads (для каждого замечания):\n```bash\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fdiscussions' -s -X POST \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d \"$(jq -n --arg body \"$COMMENT\" --arg path '{file_path}' --argjson line {line_number} \\\n        --arg base '{base_sha}' --arg start '{start_sha}' --arg head '{head_sha}' \\\n        '{body: $body, position: {position_type: \"text\", base_sha: $base, start_sha: $start, head_sha: $head, old_path: $path, new_path: $path, new_line: $line}}')\"\n```\n\n> `base_sha`, `start_sha`, `head_sha` из `diff_refs` (шаг 1).\n> `new_line` — номер строки в новой версии файла.\n> Для удалённых строк использовать `old_line` вместо `new_line`.\n\n#### Approve (если verdict = Approve):\n```bash\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fapprove' -s -X POST\n```\n\n---\n\n## Правила\n\n- **Никогда не публиковать без подтверждения пользователя**\n- Не дублировать замечания, которые уже есть в discussions\n- Пропускать сгенерированные файлы (но проверять их актуальность)\n- Быть конструктивным: предлагать решение, а не только указывать проблему\n- Severity blocker — только для реальных багов, уязвимостей, потери данных\n- Если MR слишком большой (>1000 строк diff) — предупредить и предложить ревью по частям\n","# MR Review — ревью чужого Merge Request\n\nПолный цикл code review для MR в GitLab: получить diff, проанализировать код, опубликовать замечания как inline threads.\n\nПодключения — из `project-index.md` в auto-memory проекта и `~\u002F.claude\u002Fmemory\u002Finfra-{group}.md`.\n\n## Использование\n\n```\n\u002Fmr-review 42\n\u002Fmr-review 42 --focus security\n\u002Fmr-review 42 --focus performance\n```\n\n## Flow\n\n```\nFETCH MR → READ CODE → REVIEW → SUMMARY → ⏸ HITL → PUBLISH\n```\n\n---\n\n### 1. FETCH — получить MR\n\n```bash\n# Детали MR (title, description, author, source\u002Ftarget branch, diff_refs)\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}' -s\n\n# Diff (список изменённых файлов с содержимым)\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fchanges' -s\n\n# Коммиты MR\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fcommits' -s\n\n# Существующие discussions (чтобы не дублировать замечания)\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fdiscussions?per_page=100' -s\n```\n\nИзвлечь:\n- `diff_refs` (base_sha, start_sha, head_sha) — нужны для inline comments\n- Список изменённых файлов и их diff\n- Описание MR и связанную задачу (из title или description)\n- Уже существующие замечания (не дублировать)\n\n### 2. READ CODE — прочитать контекст\n\nДля каждого изменённого файла:\n- Прочитать **полный файл** локально (не только diff) — для понимания контекста\n- Если ветка MR доступна локально — `git fetch origin && git checkout {source_branch}`\n- Если нет — читать через API или анализировать diff as-is\n\nДополнительно:\n- Прочитать связанную задачу из YouTrack (если ID в title\u002Fdescription)\n- Понять **что должен делать MR** — сравнить intent с реализацией\n\n### 3. REVIEW — анализ кода\n\nЗапустить `\u002Fgo-review` в режиме MR: изменения — diff из шага 1 (или `git diff origin\u002F{target_branch}...origin\u002F{source_branch}`), preflight локальной базы не нужен. 6 ревьюеров:\n1. **Common** — соответствие задаче, полнота\n2. **Architecture** (Dave Cheney) — структура, зависимости\n3. **Code** (Rob Pike) — простота, читаемость\n4. **Security** (Filippo Valsorda) — уязвимости, authz\n5. **Tests** (Mitchell Hashimoto) — покрытие, качество тестов\n6. **Operability** (Peter Bourgon) — логирование, метрики, graceful degradation\n\nЕсли указан `--focus` — углубиться в этот аспект, не отбрасывая находки по остальным.\n\nДополнительные проверки (сверх \u002Fgo-review):\n- **Сгенерированные файлы** (`*_zenrpc.go`, `*_colgen.go`, `*_mfd.go`) — пропустить, но убедиться что они обновлены\n- **Миграции** — проверить на блокирующие ALTER, наличие отката\n- **`make generate` consistency** — если менялись структуры\u002Fаннотации, обновлены ли сгенерированные файлы?\n\n### 4. SUMMARY — подготовить результат\n\nСформировать два артефакта:\n\n#### a) Summary comment (общий комментарий к MR)\n\n```markdown\n## Code Review Summary\n\n**MR:** !{mr_iid} — {title}\n**Reviewed by:** Claude (\u002Fgo-review — 6 perspectives)\n\n### Verdict: {Approve \u002F Request Changes \u002F Comment}\n\n### Acceptance\n- met: {критерий из задачи}\n- unmet: {критерий} — {почему}\n\n### Findings\n| # | Severity | Confidence | File | Line | Issue |\n|---|----------|------------|------|------|-------|\n| 1 | blocker | high | {file} | {line} | {description} |\n| 2 | major | medium | {file} | {line} | {description} |\n| 3 | minor | low | {file} | {line} | {description} |\n\n### What's good\n- {positive finding 1}\n- {positive finding 2}\n\n### Recommendations\n- {recommendation 1}\n```\n\n#### b) Inline comments (привязанные к строкам кода)\n\nДля каждого замечания severity blocker\u002Fmajor\u002Fminor — подготовить inline comment с:\n- Severity tag: `**[blocker]**`, `**[major]**`, `**[minor]**`\n- Описание проблемы\n- Предложение исправления (с примером кода если уместно)\n\nЗамечания `nit` — только в summary, без отдельных threads. Находки с уверенностью `low` пометь в тексте замечания как предположение — пользователь решит на HITL, публиковать ли их.\n\n### ⏸ HITL: Утверждение ревью\n\nПоказать пользователю:\n- Summary comment\n- Список inline comments с файлами и строками\n- Рекомендованный verdict (Approve \u002F Request Changes \u002F Comment)\n\nПользователь решает:\n- **Publish all** — опубликовать summary + все inline threads\n- **Publish selected** — выбрать какие замечания публиковать\n- **Edit** — скорректировать текст замечаний\n- **Cancel** — не публиковать\n\n### 5. PUBLISH — опубликовать в GitLab\n\nТексты замечаний — многострочный markdown с кавычками и кодом, поэтому JSON собирается через jq, а не руками.\n\n#### Summary comment:\n```bash\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fnotes' -s -X POST \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d \"$(jq -n --arg body \"$SUMMARY\" '{body: $body}')\"\n```\n\n#### Inline threads (для каждого замечания):\n```bash\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fdiscussions' -s -X POST \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d \"$(jq -n --arg body \"$COMMENT\" --arg path '{file_path}' --argjson line {line_number} \\\n        --arg base '{base_sha}' --arg start '{start_sha}' --arg head '{head_sha}' \\\n        '{body: $body, position: {position_type: \"text\", base_sha: $base, start_sha: $start, head_sha: $head, old_path: $path, new_path: $path, new_line: $line}}')\"\n```\n\n> `base_sha`, `start_sha`, `head_sha` из `diff_refs` (шаг 1).\n> `new_line` — номер строки в новой версии файла.\n> Для удалённых строк использовать `old_line` вместо `new_line`.\n\n#### Approve (если verdict = Approve):\n```bash\npcurl @{gl_profile} 'https:\u002F\u002F{gl_host}\u002Fapi\u002Fv4\u002Fprojects\u002F{gl_project_id}\u002Fmerge_requests\u002F{mr_iid}\u002Fapprove' -s -X POST\n```\n\n---\n\n## Правила\n\n- **Никогда не публиковать без подтверждения пользователя**\n- Не дублировать замечания, которые уже есть в discussions\n- Пропускать сгенерированные файлы (но проверять их актуальность)\n- Быть конструктивным: предлагать решение, а не только указывать проблему\n- Severity blocker — только для реальных багов, уязвимостей, потери данных\n- Если MR слишком большой (>1000 строк diff) — предупредить и предложить ревью по частям\n",{"name":5,"description":7,"argument-hint":36},"\u003Cmr_iid> [--focus security|performance|...]","master","8f3147ce24a1a470d9aaa02aa775d7797d621d95","plugins\u002Fdeveloper\u002Fskills\u002Fmr-review",1,"https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Fvmkteam","2026-11-05 00:26:25",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add vmkteam\u002Fclaude-plugins --skill mr-review",{"tool":50,"command":51},"bunx","bunx skills add vmkteam\u002Fclaude-plugins --skill mr-review",{"tool":53,"command":54},"pnpm","pnpm dlx skills add vmkteam\u002Fclaude-plugins --skill mr-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fmr-review\u002FSKILL.md",true,[],[59,69,81,97,114,125],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":31},"01M6MX3A8MZJBTMMK6WMY35FYH","zenrpc","Zenrpc — справочник по JSON-RPC 2.0 серверу для Go. Используй при создании и редактировании RPC-сервисов.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fzenrpc\u002FSKILL.md",[],[61,20,66,67,68],"json-rpc","json","rpc",{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":31},"01M6MX36PEA0NSHCCRF5GGVVTZ","youtrack","YouTrack — задачи через REST API и pcurl. Используй для поиска issues, создания, обновления описаний, смены assignee\u002Fstage\u002Fприоритета, логирования времени и работы с комментариями.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fyoutrack\u002FSKILL.md",[],[71,76,77,78,79,80],"issues","REST","api","stage","rest api",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":31},"01M6MX322TD9HQPCYSNTFB4HBA","topsrv","topsrv — метрики, алерты, CVE и HTTP-логи серверов проекта через публичный JSON-RPC API app.topsrv.io. Используй, когда нужна загрузка CPU, памяти или диска хоста, метрики PostgreSQL\u002Fnginx\u002Fangie агента topsrv (`topsrv_*`), какие алерты горят, уязвимые пакеты на серверах или кто (боты, сети, IP) нагружает сайт.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Ftopsrv\u002FSKILL.md",[],[83,88,89,68,90,91,78,92,67,93,94,95,66,96],"CPU","postgresql","cve","nginx","Bash","ip","app","io","http",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":31},"01M6MX2XFXCHNRPPW6WYZ15BXN","testing","Testing — используй всегда, когда пишешь или правишь Go-тесты (*_test.go), в том числе по сценариям Given\u002FWhen\u002FThen из spec: фреймворк как в соседних файлах, префикс TestDB, фабрики pkg\u002Fdb\u002Ftest, реальная БД без моков. Также при настройке TestMain\u002Ftest-short и когда тесты падают в gate, но проходят локально.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Ftesting\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[99,109,110,20,111,112,113],"gate","spec","test","short","db",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":31},"01M6MX2P8RFYPV4EXRMVW6KAN7","solve","Solve — полный цикл решения задачи из YouTrack: preflight → анализ → план → реализация → ревью → коммит. Используй при любой YouTrack-задаче (`\u002Fsolve PLF-819`); флаг `--fast` сокращает HITL для тривиальных багфиксов.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fsolve\u002FSKILL.md",[],[116,121,122,123,124,28,71],"fast","preflight","task","hitl",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":31},"01M6MX2H6TF2VW75PCPGWR2SKZ","skills-check","Skills Check — smoke-тесты интеграций из project-index.md. Используй для проверки что pcurl-профили и URL всех data-source скиллов ещё живы.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fskills-check\u002FSKILL.md",[],[132,133,134,92,135,136,137,138,139,140,141,142,143,144],"skills check","check","data","smoke","probe","project","false","URL","data-source","true","source","fork","index"]