[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SWG99458GXD86NRNKSPFR":3,"skill-same:01M71SWG99458GXD86NRNKSPFR":71},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M71SWG99458GXD86NRNKSPFR","jj-review",null,"Reviews a Jujutsu (jj) revision range using the canonical KISS\u002FDRY\u002FSOLID rubric. Use when the user asks to review jj revisions, review a jj diff range, check quality of a jj commit stack, or do a pre-push review of jj changes. Triggers on \"review my jj changes\", \"review this revision\", \"review commits from A to B\", \"jj code review\", \"review before push\", \"review jj range\", \"check jj diff quality\".","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-review\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"review","jj review","jj","diff","code review","when","jujutsu","changes","reviews","dry","triggers","do","code","use","check","commit","before push","stack","commits","push","2026-11-10 13:02:02",false,"---\nname: jj-review\ndescription: Reviews a Jujutsu (jj) revision range using the canonical KISS\u002FDRY\u002FSOLID rubric. Use when the user asks to review jj revisions, review a jj diff range, check quality of a jj commit stack, or do a pre-push review of jj changes. Triggers on \"review my jj changes\", \"review this revision\", \"review commits from A to B\", \"jj code review\", \"review before push\", \"review jj range\", \"check jj diff quality\".\n---\n\n# JJ Review\n\nCode review for Jujutsu (jj) revision ranges. Uses the locally maintained shared review policy.\n\n## Canonical Review Rubric\n\nLoad the shared local rubric:\n\n- `..\u002F..\u002Freferences\u002Fcode-reviewer.md`\n\nTreat that file as the source of truth for:\n- review rules\n- severity model\n- output format\n- language behavior\n\nDo NOT duplicate the rubric here. Always read it fresh so changes propagate.\n\n## Scope Resolution\n\nThe user specifies what to review. Parse their intent into a `--from` \u002F `--to` pair using jj revsets.\n\n### Default (no arguments)\n\nReview the current working-copy revision:\n\n```bash\njj diff --from @- --to @\n```\n\nIf the revision is empty (no diff), report that and stop.\n\n### Patterns\n\n| User says | Resolves to | Explanation |\n|-----------|-------------|-------------|\n| _(nothing \u002F default)_ | `--from @- --to @` | Current revision vs parent |\n| `@` | `--from @- --to @` | Same as default |\n| `\u003Cchange-id>` | `--from \u003Cchange-id>- --to \u003Cchange-id>` | Single revision (parent of id to id) |\n| `\u003Ca>..\u003Cb>` | `--from \u003Ca> --to \u003Cb>` | Explicit range: diff between two commits |\n| `main..@` | `--from main --to @` | Everything after main up to working copy |\n| `[bookmark-name]` | `--from main --to \u003Cbookmark-name>` | Shortcut: find bookmark, diff from main to its tip |\n| `last N` | `--from @-~N --to @` | Last N revisions in the stack |\n\n### Bookmark shortcut `[name]`\n\nWhen the user provides a name in square brackets (e.g. `[VW-branch]`, `[feat-auth]`):\n\n1. Resolve to a jj bookmark:\n   ```bash\n   jj bookmark list name\n   ```\n2. If found, set `--from main --to \u003Cbookmark-name>`.\n3. If not found, try to match as a substring across all bookmarks and ask the user to clarify.\n4. If no `main` bookmark exists, try `master`, `trunk`, or the default branch — use `jj git remote book` to discover.\n\n### Multi-revision range\n\nWhen the range covers multiple revisions (e.g. `main..@`), show the list first:\n\n```bash\njj log -r '\u003Cfrom>::\u003Cto>'\n```\n\nThis gives context on how many commits are being reviewed and their descriptions.\n\n## Review Workflow\n\n1. **Parse scope** — determine `--from` \u002F `--to` from user input using the patterns above.\n2. **Show what's in scope** — run `jj log -r '\u003Cfrom>::\u003Cto>'` to list revisions being reviewed. Report count.\n3. **Get the diff** — run `jj diff --from \u003Cfrom> --to \u003Cto>` to get the full patch.\n4. **List changed files** — run `jj diff --from \u003Cfrom> --to \u003Cto> --name-only` for the file list.\n5. **Load the rubric** — read `..\u002F..\u002Freferences\u002Fcode-reviewer.md`.\n6. **Read context** — load the changed files and minimum surrounding context needed to judge correctness. Do not load the entire codebase.\n7. **Apply rubric strictly** — follow the severity model and rules from the rubric.\n8. **For multi-revision ranges** — optionally group findings per revision when a finding is clearly tied to a specific commit. But keep the overall report unified; do not produce N separate reports.\n9. **Respond in the same language as the user's request.**\n\n## Constraints\n\n- Do not implement fixes unless the user explicitly asks for them.\n- Do not review files outside the diff scope.\n- Prefer precise, actionable findings over broad opinions.\n- Merge duplicate findings.\n- If a revision in the range is empty, skip it and note that it was empty.\n\n## Output\n\nFollow the output structure defined in `..\u002F..\u002Freferences\u002Fcode-reviewer.md`.\n","# JJ Review\n\nCode review for Jujutsu (jj) revision ranges. Uses the locally maintained shared review policy.\n\n## Canonical Review Rubric\n\nLoad the shared local rubric:\n\n- `..\u002F..\u002Freferences\u002Fcode-reviewer.md`\n\nTreat that file as the source of truth for:\n- review rules\n- severity model\n- output format\n- language behavior\n\nDo NOT duplicate the rubric here. Always read it fresh so changes propagate.\n\n## Scope Resolution\n\nThe user specifies what to review. Parse their intent into a `--from` \u002F `--to` pair using jj revsets.\n\n### Default (no arguments)\n\nReview the current working-copy revision:\n\n```bash\njj diff --from @- --to @\n```\n\nIf the revision is empty (no diff), report that and stop.\n\n### Patterns\n\n| User says | Resolves to | Explanation |\n|-----------|-------------|-------------|\n| _(nothing \u002F default)_ | `--from @- --to @` | Current revision vs parent |\n| `@` | `--from @- --to @` | Same as default |\n| `\u003Cchange-id>` | `--from \u003Cchange-id>- --to \u003Cchange-id>` | Single revision (parent of id to id) |\n| `\u003Ca>..\u003Cb>` | `--from \u003Ca> --to \u003Cb>` | Explicit range: diff between two commits |\n| `main..@` | `--from main --to @` | Everything after main up to working copy |\n| `[bookmark-name]` | `--from main --to \u003Cbookmark-name>` | Shortcut: find bookmark, diff from main to its tip |\n| `last N` | `--from @-~N --to @` | Last N revisions in the stack |\n\n### Bookmark shortcut `[name]`\n\nWhen the user provides a name in square brackets (e.g. `[VW-branch]`, `[feat-auth]`):\n\n1. Resolve to a jj bookmark:\n   ```bash\n   jj bookmark list name\n   ```\n2. If found, set `--from main --to \u003Cbookmark-name>`.\n3. If not found, try to match as a substring across all bookmarks and ask the user to clarify.\n4. If no `main` bookmark exists, try `master`, `trunk`, or the default branch — use `jj git remote book` to discover.\n\n### Multi-revision range\n\nWhen the range covers multiple revisions (e.g. `main..@`), show the list first:\n\n```bash\njj log -r '\u003Cfrom>::\u003Cto>'\n```\n\nThis gives context on how many commits are being reviewed and their descriptions.\n\n## Review Workflow\n\n1. **Parse scope** — determine `--from` \u002F `--to` from user input using the patterns above.\n2. **Show what's in scope** — run `jj log -r '\u003Cfrom>::\u003Cto>'` to list revisions being reviewed. Report count.\n3. **Get the diff** — run `jj diff --from \u003Cfrom> --to \u003Cto>` to get the full patch.\n4. **List changed files** — run `jj diff --from \u003Cfrom> --to \u003Cto> --name-only` for the file list.\n5. **Load the rubric** — read `..\u002F..\u002Freferences\u002Fcode-reviewer.md`.\n6. **Read context** — load the changed files and minimum surrounding context needed to judge correctness. Do not load the entire codebase.\n7. **Apply rubric strictly** — follow the severity model and rules from the rubric.\n8. **For multi-revision ranges** — optionally group findings per revision when a finding is clearly tied to a specific commit. But keep the overall report unified; do not produce N separate reports.\n9. **Respond in the same language as the user's request.**\n\n## Constraints\n\n- Do not implement fixes unless the user explicitly asks for them.\n- Do not review files outside the diff scope.\n- Prefer precise, actionable findings over broad opinions.\n- Merge duplicate findings.\n- If a revision in the range is empty, skip it and note that it was empty.\n\n## Output\n\nFollow the output structure defined in `..\u002F..\u002Freferences\u002Fcode-reviewer.md`.\n",{"name":5,"description":7},"master","cbded6c96796a063405af105d5b3209ab6219407","dotfiles\u002Fdot_agents\u002Fskills\u002Fjj-review",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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add Artawower\u002Fkaizen --skill jj-review",{"tool":63,"command":64},"bunx","bunx skills add Artawower\u002Fkaizen --skill jj-review",{"tool":66,"command":67},"pnpm","pnpm dlx skills add Artawower\u002Fkaizen --skill jj-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FArtawower\u002Fkaizen\u002Fblob\u002Fmaster\u002Fdotfiles\u002Fdot_agents\u002Fskills\u002Fjj-review\u002FSKILL.md",true,[],[72,102,119,143,163,189],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":81,"publishedAt":44},"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",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],"analyze","yt analyze","yt","fetch","implementation plan","MCP","plan task","plan","request","break","issue","youtrack","down","trigger","produce","break down","comments","requirements","implement","task",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":44},"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",[],[109,93,101,110,32,111,112,113,114,92,115,37,29,98,116,117,118],"youtrack task","id","attachments","decomposition","actionable","up","follow-up","tasks","Synthesis","user",{"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":125,"publishedAt":44},"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",[],[126,127,93,128,129,130,131,132,37,29,133,134,135,136,137,138,139,140,141,142],"search","youtrack search","natural language","relevant","translate","issues","plain-language","query","with","work","concise","native","find","report","syntax","triage","plain",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":157,"publishedAt":44},"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",[149,152],{"categoryNo":150,"categoryName":151,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":153,"categoryName":154,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[158,159,160,161,37,162,29],"writing for agents","for","writing","editing","documents",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":172,"publishedAt":44},"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",[169],{"categoryNo":170,"categoryName":171,"taxonomyType":155,"taxonomyTypeDesc":156},"01JBSEEDCAT000000000000031","产品经理",[173,174,175,176,177,178,179,180,181,182,183,37,184,29,185,186,99,187,188,89],"write","write a prd","prd","interview","as","exploration","feature","submit","design","module","new","document","user interview","codebase exploration","create","new feature",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":44},"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",[],[191,196,197,27,159,198,183,37,199,200,29,36,201,202,89,203,204,173,205,206],"coverage","test plan","tests","Existing","adding tests","test","structure","change","flat","blocks","git"]