[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M719RRC9EX2PH7KRYCH5MDWP":3,"skill-same:01M719RRC9EX2PH7KRYCH5MDWP":84},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M719RRC9EX2PH7KRYCH5MDWP","ru-commit-message",null,"Use when the user asks \"напиши коммит \u002F сгенерь commit message \u002F опиши этот diff as commit\".\nAlso trigger automatically before `git commit` if no message was provided.\nSKIP: if the user already wrote a commit message, or for trivial merge\u002Frevert commits.","tsergeytovarov\u002Fai-settings","tsergeytovarov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3905611?v=4","01M719RB2HBE8D1JNTDCFQXC4X","Серёжа","01M719RB36841W0ET9WA5ESQ0F",16,"MIT","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fpopovs\u002Fru-commit-message\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"message","ru","commit message","commit","ru commit message","user","code","when","use","git commit","git","conventional-commits","trigger","russian","merge","for","commits","diff","revert","as","2026-11-10 10:12:30",false,"---\nname: ru-commit-message\nversion: 1.0.0\ndescription: |\n  Use when the user asks \"напиши коммит \u002F сгенерь commit message \u002F опиши этот diff as commit\".\n  Also trigger automatically before `git commit` if no message was provided.\n  SKIP: if the user already wrote a commit message, or for trivial merge\u002Frevert commits.\ncategory: code\ntags: [git, conventional-commits, russian]\n---\n\n# Purpose\n\nGenerate a conventional-commit message in Russian from the current staged diff.\n\n# Process\n\n1. Run `git diff --staged` to read what's actually being committed.\n2. Classify the change: `feat` \u002F `fix` \u002F `chore` \u002F `refactor` \u002F `docs` \u002F `test` \u002F `style` \u002F `perf` \u002F `ci` \u002F `build`.\n3. Pick scope (optional) — module or component name, lowercase, English, from changed file paths.\n4. Write the description in Russian, imperative mood, lowercase start, no trailing period, ≤72 chars.\n5. If the change is non-trivial — add a body paragraph in Russian explaining **WHY**, not WHAT. Wrap at ~72 chars.\n6. Output the message ready to paste into `git commit -m`.\n\n# Format\n\n```\n\u003Ctype>(\u003Cscope>): \u003Cописание на русском>\n\n\u003Cопциональное тело на русском, объясняет ПОЧЕМУ>\n```\n\n# Examples\n\nSee `references\u002Fexamples.md`.\n\n# Anti-patterns\n\n- Body explaining WHAT changed (diff already shows that).\n- Description in English.\n- Description over 72 chars.\n- Including file paths in the description when scope already covers it.\n","# Purpose\n\nGenerate a conventional-commit message in Russian from the current staged diff.\n\n# Process\n\n1. Run `git diff --staged` to read what's actually being committed.\n2. Classify the change: `feat` \u002F `fix` \u002F `chore` \u002F `refactor` \u002F `docs` \u002F `test` \u002F `style` \u002F `perf` \u002F `ci` \u002F `build`.\n3. Pick scope (optional) — module or component name, lowercase, English, from changed file paths.\n4. Write the description in Russian, imperative mood, lowercase start, no trailing period, ≤72 chars.\n5. If the change is non-trivial — add a body paragraph in Russian explaining **WHY**, not WHAT. Wrap at ~72 chars.\n6. Output the message ready to paste into `git commit -m`.\n\n# Format\n\n```\n\u003Ctype>(\u003Cscope>): \u003Cописание на русском>\n\n\u003Cопциональное тело на русском, объясняет ПОЧЕМУ>\n```\n\n# Examples\n\nSee `references\u002Fexamples.md`.\n\n# Anti-patterns\n\n- Body explaining WHAT changed (diff already shows that).\n- Description in English.\n- Description over 72 chars.\n- Including file paths in the description when scope already covers it.\n",{"name":5,"tags":44,"version":45,"category":25,"description":46},[29,30,32],"1.0.0","Use when the user asks \"напиши коммит \u002F сгенерь commit message \u002F опиши этот diff as commit\".\nAlso trigger automatically before `git commit` if no message was provided.\nSKIP: if the user already wrote a commit message, or for trivial merge\u002Frevert commits.\n","main","999ab1e34f84d46215735d0586cfc5b23fc06f59","skills\u002Fpopovs\u002Fru-commit-message",5,"https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov","https:\u002F\u002Ft.me\u002Fseryozha_typing","Хроникёр рынка. Product Owner в Skillaz, B2B\u002FB2C, HRTech, Edtech, IT. Здесь коротко про продукт, найм, AI. ","2026-10-14 17:41:06",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add tsergeytovarov\u002Fai-settings --skill ru-commit-message",{"tool":62,"command":63},"bunx","bunx skills add tsergeytovarov\u002Fai-settings --skill ru-commit-message",{"tool":65,"command":66},"pnpm","pnpm dlx skills add tsergeytovarov\u002Fai-settings --skill ru-commit-message","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fpopovs\u002Fru-commit-message\u002FSKILL.md",true,[70,76,80],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"CHANGELOG.md","REFERENCE","参考文档",606,"https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fpopovs\u002Fru-commit-message\u002FCHANGELOG.md",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"README.md",1291,"https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fpopovs\u002Fru-commit-message\u002FREADME.md",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fexamples.md",2029,"https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fpopovs\u002Fru-commit-message\u002Freferences\u002Fexamples.md",[85,91,119,135,150,168],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":39},"01M719SPT97Y0W7WM55EM26MQ4","bad","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Ftests\u002Fskill_lint\u002Ffixtures\u002Fbad-skill\u002FSKILL.md",[],[87],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":107,"publishedAt":39},"01M719SN0W4AD8P92NZHGZKPJK","writing-skills","Use when creating, editing, or validating reusable agent skills and their trigger behavior. Do NOT use for ordinary project documentation or one-off prompts.","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fsuperpowers\u002Fwriting-skills\u002FSKILL.md",[97,102],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[108,109,26,110,111,112,113,114,34,115,116,117,31,27,118],"writing","writing skills","workflow","reusable","documentation","do","project documentation","project","editing","behavior","prompts",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":127,"publishedAt":39},"01M719SKD78XFM744B7JSJDD4Q","writing-plans","Use when an approved change spans multiple dependent outcomes and needs a durable implementation sequence before coding. Do NOT use for small, obvious, reversible edits.","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fsuperpowers\u002Fwriting-plans\u002FSKILL.md",[125,126],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},[108,128,129,130,113,131,132,34,133,134,27,26,110],"plans","writing plans","coding","change","outcomes","sequence","implementation",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":39},"01M719SJ281Y8RQSTF3DSTK52K","verification-before-completion","Use when about to claim work is complete, fixed, passing, or ready to integrate. Do NOT use to repeat checks without a completion claim or concrete doubt.","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fsuperpowers\u002Fverification-before-completion\u002FSKILL.md",[],[142,143,110,26,113,144,145,146,147,148,149,27],"verification before completion","verification","ready","work","about","complete","claim","integrate",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":39},"01M719SGMYJ7J10M596ACQ2242","using-superpowers","Use when starting a conversation or deciding whether a Superpowers workflow matches the current task. Do NOT use it to auto-invoke skills whose stated triggers do not match.","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fsuperpowers\u002Fusing-superpowers\u002FSKILL.md",[],[157,158,159,160,161,113,162,163,164,27,165,26,110,166,167],"superpowers","using superpowers","invoke","conversation","auto-invoke","triggers","auto","match","superpowers workflow","it","task",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":39},"01M719SEDC3PHS61D6Q4RA3RNR","using-git-worktrees","Use when feature work needs isolation from the current workspace or before executing a risky implementation plan. Do NOT use when the current workspace is already safe and isolated.","https:\u002F\u002Fgithub.com\u002Ftsergeytovarov\u002Fai-settings\u002Fblob\u002Fmain\u002Fskills\u002Fsuperpowers\u002Fusing-git-worktrees\u002FSKILL.md",[],[175,176,29,177,178,179,113,180,181,182,134,183,110,26,145,27,184],"using git worktrees","Using git","worktrees","git worktrees","feature","plan","workspace","safe","isolation","implementation plan"]