[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SWP36620EBZHXMHE9NGFV":3,"skill-same:01M71SWP36620EBZHXMHE9NGFV":59},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":43,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M71SWP36620EBZHXMHE9NGFV","jj",null,"Use Jujutsu (jj) for version control instead of git. Always check current revision before making changes — if the task semantically differs from the current revision's description, create a new revision first.","Artawower\u002Fkaizen","Artawower","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16963833?v=4","01M71SV5H0DRR8KXVGD4R51Z99","Art","01M71SV5J1B97T7349GGXQCYXT",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fjj\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31],"for","jujutsu","new","use","version","task","check","create","changes","first","control","git","revision","2026-11-10 13:02:02",false,"---\nname: jj\ndescription: Use Jujutsu (jj) for version control instead of git. Always check current revision before making changes — if the task semantically differs from the current revision's description, create a new revision first.\n---\n\n# Jujutsu (jj) Version Control\n\nThis project uses `jj` (Jujutsu) for version control. Always use `jj` commands — never `git commit`, `git add`, or `git branch`.\n\n## Before making any code changes\n\nRun:\n\n```bash\njj log --no-graph -r @ --template 'change_id.short() ++ \" | \" ++ if(description, description, \"(empty)\")'\n```\n\nThis gives you the current working-copy revision and its description.\n\n### Decision rule\n\nCompare the current revision description with the task you are about to implement:\n\n- **Same semantic scope** (e.g. both about fixing the same bug, same feature): continue working in the current revision — no action needed.\n- **Different semantic scope** (different feature, unrelated fix, new task): create a new revision before touching any files:\n\n```bash\njj new -m \"\u003Cshort description of what you're about to do>\"\n```\n\nThis ensures each revision stays focused on a single logical change.\n\n## Core workflow\n\n### Check status\n```bash\njj status\n```\n\n### Describe current revision\n```bash\njj describe -m \"\u003Cmessage>\"\n```\n\nUse after completing a logical unit of work. Follow the project's commit message convention if present.\n\n### Create new revision from current\n```bash\njj new -m \"\u003Cmessage>\"\n```\n\n### View history\n```bash\njj log\n```\n\n### Undo last operation\n```bash\njj undo\n```\n\n## Hard rules\n\n- Check `jj log -r @` **before** editing any file\n- If the revision description is empty `(empty)` — describe it before or after your changes\n- Never use `git commit` or `git add` — jj tracks changes automatically, no staging needed\n- One revision = one logical change; do not mix unrelated modifications in a single revision\n- If unsure whether the scope matches — create a new revision; it's cheap to squash later with `jj squash`\n","# Jujutsu (jj) Version Control\n\nThis project uses `jj` (Jujutsu) for version control. Always use `jj` commands — never `git commit`, `git add`, or `git branch`.\n\n## Before making any code changes\n\nRun:\n\n```bash\njj log --no-graph -r @ --template 'change_id.short() ++ \" | \" ++ if(description, description, \"(empty)\")'\n```\n\nThis gives you the current working-copy revision and its description.\n\n### Decision rule\n\nCompare the current revision description with the task you are about to implement:\n\n- **Same semantic scope** (e.g. both about fixing the same bug, same feature): continue working in the current revision — no action needed.\n- **Different semantic scope** (different feature, unrelated fix, new task): create a new revision before touching any files:\n\n```bash\njj new -m \"\u003Cshort description of what you're about to do>\"\n```\n\nThis ensures each revision stays focused on a single logical change.\n\n## Core workflow\n\n### Check status\n```bash\njj status\n```\n\n### Describe current revision\n```bash\njj describe -m \"\u003Cmessage>\"\n```\n\nUse after completing a logical unit of work. Follow the project's commit message convention if present.\n\n### Create new revision from current\n```bash\njj new -m \"\u003Cmessage>\"\n```\n\n### View history\n```bash\njj log\n```\n\n### Undo last operation\n```bash\njj undo\n```\n\n## Hard rules\n\n- Check `jj log -r @` **before** editing any file\n- If the revision description is empty `(empty)` — describe it before or after your changes\n- Never use `git commit` or `git add` — jj tracks changes automatically, no staging needed\n- One revision = one logical change; do not mix unrelated modifications in a single revision\n- If unsure whether the scope matches — create a new revision; it's cheap to squash later with `jj squash`\n",{"name":5,"description":7},"master","cbded6c96796a063405af105d5b3209ab6219407","dotfiles\u002Fdot_agents\u002Fskills\u002Fjj",0,"https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen","https:\u002F\u002Fgithub.com\u002FArtawower","workationmode.com","2026-11-10 19:23:03",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add Artawower\u002Fkaizen --skill jj",{"tool":51,"command":52},"bunx","bunx skills add Artawower\u002Fkaizen --skill jj",{"tool":54,"command":55},"pnpm","pnpm dlx skills add Artawower\u002Fkaizen --skill jj","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fjj\u002FSKILL.md",true,[],[60,91,110,134,153,177],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":71,"publishedAt":32},"01M71SYJ1B45ZKM8J96AZ3TS0H","yt-analyze","Fetch YouTrack task + comments via MCP, critically analyze relevance and requirements, produce concise summary of what to implement, and build an implementation plan mapped to codebase. Trigger - YouTrack issue ID or request to \"analyze task\", \"plan task\", \"break down YT issue\".","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fyt-analyze\u002FSKILL.md",[66],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,24],"analyze","yt analyze","yt","fetch","implementation plan","MCP","plan task","plan","request","break","issue","youtrack","down","trigger","produce","break down","comments","requirements","implement",{"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":97,"publishedAt":32},"01M71SYF7RSTEXKDWPXJ08EVQG","youtrack-task","Analyzes a YouTrack issue, reviews comments and attachments, and proposes or creates actionable subtasks. Use when the user gives a YouTrack issue ID and wants synthesis, decomposition, or follow-up tasks.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fyoutrack-task\u002FSKILL.md",[],[98,83,24,99,100,101,102,103,104,82,105,22,106,88,107,108,109],"youtrack task","id","reviews","attachments","decomposition","actionable","up","follow-up","when","tasks","Synthesis","user",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":32},"01M71SYCE94601T6DA5G2GDKYA","youtrack-search","Searches YouTrack from natural language or native query syntax and returns a concise report with the most relevant issues. Use when the user wants to find issues, triage work, or translate a plain-language query into YouTrack search.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fyoutrack-search\u002FSKILL.md",[],[117,118,83,119,120,121,122,123,22,106,124,125,126,127,128,129,130,131,132,133],"search","youtrack search","natural language","relevant","translate","issues","plain-language","query","with","work","concise","native","find","report","syntax","triage","plain",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":148,"publishedAt":32},"01M71SYAXN8EA6DDXEZWVY872S","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[140,143],{"categoryNo":141,"categoryName":142,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":144,"categoryName":145,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[149,19,150,151,22,152,106],"writing for agents","writing","editing","documents",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":162,"publishedAt":32},"01M71SY8ZKMWPF8ZAENT7MQE28","write-a-prd","Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue. Use when user wants to write a PRD, create a product requirements document, or plan a new feature.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fwrite-a-prd\u002FSKILL.md",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000031","产品经理",[163,164,165,166,167,168,169,170,171,172,21,22,173,106,174,175,89,26,176,79],"write","write a prd","prd","interview","as","exploration","feature","submit","design","module","document","user interview","codebase exploration","new feature",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":32},"01M71SY6J9F119TJSMA2YBEP5P","vitest","Plan and write Vitest tests for changed code. Analyses git diff, checks existing tests, produces a concrete test plan using flat test structure (no describe\u002Fit blocks). Use when adding tests for new\u002Fchanged code, improving Vitest coverage, or asking what to test after a change.","https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fvitest\u002FSKILL.md",[],[179,184,185,186,19,187,21,22,188,189,106,190,191,192,79,193,194,163,195,30],"coverage","test plan","diff","tests","Existing","adding tests","code","test","structure","change","flat","blocks"]