[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MX1415YZF628656B30XCKM":3,"skill-same:01M6MX1415YZF628656B30XCKM":47},{"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":20,"linkOnly":21,"markdownContent":22,"markdownBody":23,"frontMatter":24,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":32,"install":33,"resources":46},"01M6MX1415YZF628656B30XCKM","nomad",null,"Nomad — оркестрация: jobs, allocations, метрики, логи. Используй при правке *.nomad.hcl, разборе упавшей аллокации, просмотре логов job или проверке статуса деплоя.","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\u002Fnomad\u002FSKILL.md",[],[5,18,19],"Bash","jobs","2026-11-10 10:12:30",false,"---\nname: nomad\ndescription: \"Nomad — оркестрация: jobs, allocations, метрики, логи. Используй при правке *.nomad.hcl, разборе упавшей аллокации, просмотре логов job или проверке статуса деплоя.\"\nallowed-tools: \"Bash(pcurl:*)\"\n---\n\n# Nomad — оркестрация сервисов\n\nHashiCorp Nomad для оркестрации. Метрики через Prometheus, API через pcurl.\n\n## Подключение\n\n```\nPrometheus metrics: job=\"nomad_metrics\"\nNomad API profile: @{nomad_profile} (если есть)\n```\n\n## Метрики через Prometheus\n\n### Здоровье кластера\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_nomad_autopilot_healthy'\n```\n\n### Allocations\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocations_running'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocations_blocked'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_oom_killed'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_restart'\n```\n\n### Ресурсы нод\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_host_cpu_total_percent'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_host_memory_available'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_host_disk_used_percent'\n```\n\n### Per-alloc ресурсы\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_cpu_total_percent'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_memory_rss'\n```\n\n### Тренды (range)\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=increase(nomad_client_allocs_oom_killed[{period}])'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=increase(nomad_client_allocs_restart[{period}])'\n```\n\n## Nomad API\n```bash\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjobs' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjob\u002F{job_id}' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjob\u002F{job_id}\u002Fallocations' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjob\u002F{job_id}\u002Fdeployment' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fnodes' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fclient\u002Ffs\u002Flogs\u002F{alloc_id}?task={task}&type=stdout&plain=true' -s\n```\n\n## При инцидентах проверять\n\n1. **OOM kills** — `nomad_client_allocs_oom_killed`\n2. **Restarts** — `nomad_client_allocs_restart`\n3. **Blocked** — `nomad_client_allocations_blocked`\n4. **Failed** — `nomad_client_allocs_failed`\n5. **Node resources** — CPU, memory, disk\n","# Nomad — оркестрация сервисов\n\nHashiCorp Nomad для оркестрации. Метрики через Prometheus, API через pcurl.\n\n## Подключение\n\n```\nPrometheus metrics: job=\"nomad_metrics\"\nNomad API profile: @{nomad_profile} (если есть)\n```\n\n## Метрики через Prometheus\n\n### Здоровье кластера\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_nomad_autopilot_healthy'\n```\n\n### Allocations\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocations_running'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocations_blocked'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_oom_killed'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_restart'\n```\n\n### Ресурсы нод\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_host_cpu_total_percent'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_host_memory_available'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_host_disk_used_percent'\n```\n\n### Per-alloc ресурсы\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_cpu_total_percent'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=nomad_client_allocs_memory_rss'\n```\n\n### Тренды (range)\n```bash\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=increase(nomad_client_allocs_oom_killed[{period}])'\npcurl @{prom_profile} 'https:\u002F\u002F{prom_host}\u002Fapi\u002Fv1\u002Fquery' -s -G --data-urlencode 'query=increase(nomad_client_allocs_restart[{period}])'\n```\n\n## Nomad API\n```bash\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjobs' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjob\u002F{job_id}' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjob\u002F{job_id}\u002Fallocations' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fjob\u002F{job_id}\u002Fdeployment' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fnodes' -s\npcurl @{nomad_profile} 'https:\u002F\u002F{nomad_host}\u002Fv1\u002Fclient\u002Ffs\u002Flogs\u002F{alloc_id}?task={task}&type=stdout&plain=true' -s\n```\n\n## При инцидентах проверять\n\n1. **OOM kills** — `nomad_client_allocs_oom_killed`\n2. **Restarts** — `nomad_client_allocs_restart`\n3. **Blocked** — `nomad_client_allocations_blocked`\n4. **Failed** — `nomad_client_allocs_failed`\n5. **Node resources** — CPU, memory, disk\n",{"name":5,"description":7,"allowed-tools":25},"Bash(pcurl:*)","master","8f3147ce24a1a470d9aaa02aa775d7797d621d95","plugins\u002Fdeveloper\u002Fskills\u002Fnomad",1,"https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Fvmkteam","2026-11-05 00:26:25",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add vmkteam\u002Fclaude-plugins --skill nomad",{"tool":39,"command":40},"bunx","bunx skills add vmkteam\u002Fclaude-plugins --skill nomad",{"tool":42,"command":43},"pnpm","pnpm dlx skills add vmkteam\u002Fclaude-plugins --skill nomad","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fnomad\u002FSKILL.md",true,[],[48,59,71,86,103,115],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":20},"01M6MX3A8MZJBTMMK6WMY35FYH","zenrpc","Zenrpc — справочник по JSON-RPC 2.0 серверу для Go. Используй при создании и редактировании RPC-сервисов.","https:\u002F\u002Fgithub.com\u002Fvmkteam\u002Fclaude-plugins\u002Fblob\u002Fmaster\u002Fplugins\u002Fdeveloper\u002Fskills\u002Fzenrpc\u002FSKILL.md",[],[50,55,56,57,58],"go","json-rpc","json","rpc",{"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":20},"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",[],[61,66,67,68,69,70],"issues","REST","api","stage","rest api",{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":20},"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",[],[73,78,79,58,80,81,68,18,57,82,83,84,56,85],"CPU","postgresql","cve","nginx","ip","app","io","http",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":97,"publishedAt":20},"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",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[88,98,99,55,100,101,102],"gate","spec","test","short","db",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":20},"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",[],[105,110,111,112,113,114,61],"fast","preflight","task","hitl","id",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":20},"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",[],[122,123,124,18,125,126,127,128,129,130,131,132,133,134],"skills check","check","data","smoke","probe","project","false","URL","data-source","true","source","fork","index"]