[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J1MCNHVC2NAVF5XYKCA3BR":3,"skill-same:01M6J1MCNHVC2NAVF5XYKCA3BR":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6J1MCNHVC2NAVF5XYKCA3BR","skill:test-all",null,"Запускает все тесты скиллов. Обнаруживает тест-спеки в .claude\u002Fskills\u002F*\u002F*\u002Fcases\u002F, запускает каждый через логику test-skill, выводит сводную таблицу, проверяет TDD-coverage матрицу.","esurvanov\u002Fawesome-claude","esurvanov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4973667?v=4","01M6J1G7N9TE6PM9STY2K0BH2Y","Egor Urvanov","01M6J1G7S79PJF3DN0XVVPBMM4",22,"MIT","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Ftest-all\u002Fskill.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[27,28,29,30,31,32,33,34],"test","test all","skill:test all","tdd","Bash","read","coverage","sonnet","2026-11-10 10:12:30",false,"---\nname: skill:test-all\ndescription: >\n  Запускает все тесты скиллов. Обнаруживает тест-спеки в .claude\u002Fskills\u002F*\u002F*\u002Fcases\u002F,\n  запускает каждый через логику test-skill, выводит сводную таблицу,\n  проверяет TDD-coverage матрицу.\nargument-hint: \"[namespace]  — ограничить по неймспейсу\"\nmodel: sonnet\nallowed-tools: Bash, Read, Agent, Glob\n---\n\n# Запуск всех тестов скиллов\n\n$ARGUMENTS\n\n## Контекст (предвычислено)\n\n### Тест-спеки\n!`find .claude\u002Fskills\u002F*\u002F*\u002Fcases -name \"*.md\" 2>\u002Fdev\u002Fnull | sort`\n\n## Шаги\n\n### 1. Определи список тестов\n\nИз вывода `find` выше составь список файлов.\n\nЕсли передан аргумент (имя неймспейса) — оставь только спеки из `.claude\u002Fskills\u002F$ARGUMENTS\u002F*\u002Fcases\u002F`.\n\nДля каждого файла `.claude\u002Fskills\u002F\u003Cns>\u002F\u003Cskill>\u002Fcases\u002F\u003Cskill>.md` → тест `\u003Cns>:\u003Cskill>`.\n\nЕсли список пуст → `NO TESTS FOUND` и завершить.\n\n### 2. Прогони каждый тест\n\nСоздай единый рабочий корень на весь прогон и зарегистрируй авто-cleanup:\n\n```bash\nRUN_ROOT=$(mktemp -d -t skill-test-all-XXXXXX)\ntrap \"rm -rf '$RUN_ROOT'\" EXIT\n```\n\nДля каждого теста выполни логику из `skill:test-skill`:\n- Per-test TMP = `$RUN_ROOT\u002F\u003Cns>-\u003Cskill>\u002F`\n- Прочитай спеку, выполни Setup, скопируй файлы скилла\n- Запусти Agent с телом скилла (без frontmatter) + контекстом `Working directory: \u003CTMP>`\n- Проверь паттерны из `## Checks`\n- Сохрани результат: PASS \u002F FAIL \u002F SKIP\n\nПосле завершения всех тестов `trap` авто-удалит `$RUN_ROOT`.\n\n### 3. Сводная таблица\n\n```\n=== TEST RESULTS ===\n\n  sdd:help    PASSED (7\u002F7)\n  dev:commit  FAILED (2\u002F4)  ← первый упавший паттерн\n\nTotal: N passed, M failed, K skipped\n```\n\nЕсли есть FAILED — вывести диагностику (первые 20 строк output агента) для каждого.\n\n### 4. Проверь TDD-coverage\n\nЗапусти Python скрипт для проверки того, что все скиллы имеют полное покрытие (4 категории):\n\n```bash\npython .claude\u002Fskills\u002Fskill\u002Ftest-all\u002Fscripts\u002Fcheck-coverage-matrix.py\n```\n\nВыведи результаты:\n- ✓ All skills have complete TDD coverage\n- или список skills с неполным покрытием (missing categories)\n\n### 5. Вердикт\n\n- 0 FAILED + coverage OK: `✅ ALL TESTS PASSED & COVERAGE COMPLETE`\n- Есть FAILED или coverage incomplete: `❌ FAILURES OR COVERAGE ISSUES DETECTED — see above`\n","# Запуск всех тестов скиллов\n\n$ARGUMENTS\n\n## Контекст (предвычислено)\n\n### Тест-спеки\n!`find .claude\u002Fskills\u002F*\u002F*\u002Fcases -name \"*.md\" 2>\u002Fdev\u002Fnull | sort`\n\n## Шаги\n\n### 1. Определи список тестов\n\nИз вывода `find` выше составь список файлов.\n\nЕсли передан аргумент (имя неймспейса) — оставь только спеки из `.claude\u002Fskills\u002F$ARGUMENTS\u002F*\u002Fcases\u002F`.\n\nДля каждого файла `.claude\u002Fskills\u002F\u003Cns>\u002F\u003Cskill>\u002Fcases\u002F\u003Cskill>.md` → тест `\u003Cns>:\u003Cskill>`.\n\nЕсли список пуст → `NO TESTS FOUND` и завершить.\n\n### 2. Прогони каждый тест\n\nСоздай единый рабочий корень на весь прогон и зарегистрируй авто-cleanup:\n\n```bash\nRUN_ROOT=$(mktemp -d -t skill-test-all-XXXXXX)\ntrap \"rm -rf '$RUN_ROOT'\" EXIT\n```\n\nДля каждого теста выполни логику из `skill:test-skill`:\n- Per-test TMP = `$RUN_ROOT\u002F\u003Cns>-\u003Cskill>\u002F`\n- Прочитай спеку, выполни Setup, скопируй файлы скилла\n- Запусти Agent с телом скилла (без frontmatter) + контекстом `Working directory: \u003CTMP>`\n- Проверь паттерны из `## Checks`\n- Сохрани результат: PASS \u002F FAIL \u002F SKIP\n\nПосле завершения всех тестов `trap` авто-удалит `$RUN_ROOT`.\n\n### 3. Сводная таблица\n\n```\n=== TEST RESULTS ===\n\n  sdd:help    PASSED (7\u002F7)\n  dev:commit  FAILED (2\u002F4)  ← первый упавший паттерн\n\nTotal: N passed, M failed, K skipped\n```\n\nЕсли есть FAILED — вывести диагностику (первые 20 строк output агента) для каждого.\n\n### 4. Проверь TDD-coverage\n\nЗапусти Python скрипт для проверки того, что все скиллы имеют полное покрытие (4 категории):\n\n```bash\npython .claude\u002Fskills\u002Fskill\u002Ftest-all\u002Fscripts\u002Fcheck-coverage-matrix.py\n```\n\nВыведи результаты:\n- ✓ All skills have complete TDD coverage\n- или список skills с неполным покрытием (missing categories)\n\n### 5. Вердикт\n\n- 0 FAILED + coverage OK: `✅ ALL TESTS PASSED & COVERAGE COMPLETE`\n- Есть FAILED или coverage incomplete: `❌ FAILURES OR COVERAGE ISSUES DETECTED — see above`\n",{"name":5,"model":34,"description":40,"allowed-tools":41,"argument-hint":42},"Запускает все тесты скиллов. Обнаруживает тест-спеки в .claude\u002Fskills\u002F*\u002F*\u002Fcases\u002F, запускает каждый через логику test-skill, выводит сводную таблицу, проверяет TDD-coverage матрицу.\n","Bash, Read, Agent, Glob","[namespace]  — ограничить по неймспейсу","main","81eafc75f9ca212c44852f5012421b956024b0e6","namespace\u002Fskill\u002Fskills\u002Ftest-all",5,"https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude","https:\u002F\u002Fgithub.com\u002Fesurvanov","https:\u002F\u002Fwww.urvanov.com\u002F","CTO in iGaming (NDA). AI development, engineering leadership, networking. Based between Batumi, Da Nang and Bangkok. Founder of Jaiora.","2026-05-12 00:32:28",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add esurvanov\u002Fawesome-claude --skill \"skill:test-all\"",{"tool":58,"command":59},"bunx","bunx skills add esurvanov\u002Fawesome-claude --skill \"skill:test-all\"",{"tool":61,"command":62},"pnpm","pnpm dlx skills add esurvanov\u002Fawesome-claude --skill \"skill:test-all\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Ftest-all\u002Fskill.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002Fcheck-coverage-matrix.py","SCRIPT","脚本",3716,"https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Ftest-all\u002Fscripts\u002Fcheck-coverage-matrix.py",[73,88,100,116,130,148],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":81,"publishedAt":35},"01M6J1MGH6A2FXTHYDF0WCCQJZ","skill:test-skill","Тест одного скилла: несколько кейсов, стабы, семантические проверки. Читает cases\u002F\u003Cns>\u002F\u003Cskill>.md, для каждого Case поднимает стаб, запускает скилл в агенте, проверяет contains + semantic.","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Ftest-skill\u002Fskill.md",[79,80],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[82,83,27,84,31,32,85,86,87,34],"skill:test skill","Test Skill","help","sdd","semantic","case",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":35},"01M6J1M7Q2T82FXF2S5TYWMYWK","skill:setup","Dev mode setup для awesome-claude репы — создаёт симлинки skills\u002F, commands\u002F, rules\u002F в .claude\u002F напрямую через bash. Идемпотентен: повторный вызов выводит \"Already linked\". Если .claude\u002F\u003Cdir> уже существует как обычная директория — предупреждает и просит подтверждение перед заменой.","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Fsetup\u002Fskill.md",[],[90,95,96,31,97,98,32,34,99],"setup","Rules","dev","commands","mode",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":107,"publishedAt":35},"01M6J1M37B5M33229RTK5EQM2Y","skill:release","Финальный шаг контрибьюторского workflow — релиз awesome-claude. Bump-version в manifest.yaml, commit, version tag. Останавливается если working tree не чистый.","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Frelease\u002Fskill.md",[106],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[102,108,109,110,34,111,32,31,112,113,114,115],"release","bump","tree","version","manifest","yaml","commit","workflow",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":128,"publishedAt":35},"01M6J1KZ8Y0TFBRF0D5ZKV62DW","skill:onboarding","Guided entry point для контрибьютора awesome-claude. Показывает полный contributor workflow и текущий следующий шаг по состоянию репы. НЕ запускает другие скиллы автоматически — только показывает, что вызвать дальше.","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Fonboarding\u002Fskill.md",[122,123],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[129,118,115,31,32,34],"onboarding",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":35},"01M6J1KTMG1PW8QJGTGH9PQE4V","skill:deps","Установка\u002Fпроверка зависимостей awesome-claude из manifest.yaml: CLI-инструменты из секции tools:, субмодули из repos: через sdd:sync. Read-only по manifest.yaml — никогда не пишет в него (для добавления записей используй ручное редактирование или sdd:repo). Валидирует схему manifest.yaml: ошибка и стоп если отсутствует один из version, tools, repos.","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fskill\u002Fskills\u002Fdeps\u002Fskill.md",[136],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[132,138,139,140,141,142,113,143,112,31,144,32,111,85,145,34,146,147],"deps","only","cli","sync","repos","Tools","repo","read-only","sdd:repo","sdd:sync",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":156,"publishedAt":35},"01M6J1KNENC157AA5ESVSMP25B","sdd:test","Generate and run check artifacts for a spec. Self-sufficient: MCP preflight, 2-agent generation, автоматически по всем Requirements, auto state transition.","https:\u002F\u002Fgithub.com\u002Fesurvanov\u002Fawesome-claude\u002Fblob\u002Fmain\u002Fnamespace\u002Fsdd\u002Fskills\u002Ftest\u002Fskill.md",[154,155],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[150,85,27,157,158,159,160,161,162,163,164,165,166,167,168,169,170],"artifacts","state","preflight","run","generate","spec","generation","agent generation","for","self","requirements","auto","MCP","check"]