[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71K6DKECJ71K35ZEDYVQDFD":3,"skill-same:01M71K6DKECJ71K35ZEDYVQDFD":68},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":67},"01M71K6DKECJ71K35ZEDYVQDFD","pr-review",null,"Use when reviewing a pull request — Constructor Pattern awareness, security, SSOT check","KeiSeiLab\u002FKeiSeiKit","KeiSeiLab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F283315582?v=4","01M71K2EW81JRFHSGF0T844B32","KeiSei Lab","01M71K2EWXTB52KWC65E55S6M2",7,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fpr-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],"pr","pr review","review","pull","awareness","true","use","when","number","URL","check","pull request","request","pattern","security","2026-11-10 10:12:30",false,"---\nname: pr-review\ndescription: Use when reviewing a pull request — Constructor Pattern awareness, security, SSOT check\narguments:\n  - name: pr\n    description: PR number or URL\n    required: true\n---\n\n# PR Review Workflow\n\n## Step 1: Load PR Context\n- `gh pr view $pr --json title,body,files,additions,deletions,commits`\n- `gh pr diff $pr`\n- Read PR description and linked issues\n\n## Step 2: High-Level Assessment\n- What does this PR do? (feature, fix, refactor, docs)\n- Is the scope reasonable? (single responsibility)\n- Does the PR description explain WHY?\n\n## Step 3: Code Review Checklist\n\n### Constructor Pattern\n- [ ] 1 file = 1 class = 1 responsibility\n- [ ] No files >200 lines (new or modified)\n- [ ] No functions >30 lines\n- [ ] No overlays\u002Fpatches (fixes at root cause)\n- [ ] Self-extension pattern followed for new code\n\n### SSOT\n- [ ] No duplicated types, constants, or logic\n- [ ] Types defined before implementation\n- [ ] Single source for routes, enums, config\n\n### Security\n- [ ] No hardcoded secrets (API keys, tokens, passwords)\n- [ ] No SQL injection vectors\n- [ ] No XSS vectors in templates\u002FJSX\n- [ ] Input validation at system boundaries\n- [ ] No sensitive data in logs\n\n### Tests\n- [ ] New code has tests\n- [ ] Edge cases covered\n- [ ] No test pollution (shared state between tests)\n\n### Quality\n- [ ] Error handling at boundaries\n- [ ] No dead code or commented-out code\n- [ ] Imports clean (no unused)\n- [ ] Naming is clear and consistent\n\n## Step 4: Write Review\n- For each issue found: file, line, severity (blocker\u002Fwarning\u002Fnit), suggestion\n- Blockers MUST be fixed before merge\n- Group by file, sorted by severity\n- End with overall assessment: approve \u002F request changes \u002F comment\n","# PR Review Workflow\n\n## Step 1: Load PR Context\n- `gh pr view $pr --json title,body,files,additions,deletions,commits`\n- `gh pr diff $pr`\n- Read PR description and linked issues\n\n## Step 2: High-Level Assessment\n- What does this PR do? (feature, fix, refactor, docs)\n- Is the scope reasonable? (single responsibility)\n- Does the PR description explain WHY?\n\n## Step 3: Code Review Checklist\n\n### Constructor Pattern\n- [ ] 1 file = 1 class = 1 responsibility\n- [ ] No files >200 lines (new or modified)\n- [ ] No functions >30 lines\n- [ ] No overlays\u002Fpatches (fixes at root cause)\n- [ ] Self-extension pattern followed for new code\n\n### SSOT\n- [ ] No duplicated types, constants, or logic\n- [ ] Types defined before implementation\n- [ ] Single source for routes, enums, config\n\n### Security\n- [ ] No hardcoded secrets (API keys, tokens, passwords)\n- [ ] No SQL injection vectors\n- [ ] No XSS vectors in templates\u002FJSX\n- [ ] Input validation at system boundaries\n- [ ] No sensitive data in logs\n\n### Tests\n- [ ] New code has tests\n- [ ] Edge cases covered\n- [ ] No test pollution (shared state between tests)\n\n### Quality\n- [ ] Error handling at boundaries\n- [ ] No dead code or commented-out code\n- [ ] Imports clean (no unused)\n- [ ] Naming is clear and consistent\n\n## Step 4: Write Review\n- For each issue found: file, line, severity (blocker\u002Fwarning\u002Fnit), suggestion\n- Blockers MUST be fixed before merge\n- Group by file, sorted by severity\n- End with overall assessment: approve \u002F request changes \u002F comment\n",{"name":5,"arguments":44,"description":7},[45],{"name":24,"required":46,"description":47},true,"PR number or URL","main","32e85218a997294f68da27ff3dfd638196186ae5","skills\u002Fpr-review",8,"https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit","https:\u002F\u002Fgithub.com\u002FKeiSeiLab","2026-10-11 11:17:46",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":46},[57,60,63],{"tool":58,"command":59},"npx","npx skills add KeiSeiLab\u002FKeiSeiKit --skill pr-review",{"tool":61,"command":62},"bunx","bunx skills add KeiSeiLab\u002FKeiSeiKit --skill pr-review",{"tool":64,"command":65},"pnpm","pnpm dlx skills add KeiSeiLab\u002FKeiSeiKit --skill pr-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fpr-review\u002FSKILL.md",[],[69,95,119,153,181,207],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":78,"publishedAt":39},"01M71K887N78V089XR5BWT0JAV","wave-audit","3-wave parallel audit — Wave 1 discovery (4 agents), Wave 2 verification (4 agents), Wave 3 cross-optimization (1 synthesizer). Each wave runs agents in parallel. Combines security review, runtime analysis, quality check, and constructor pattern into one unified workflow with evidence grading and Go\u002FNo-Go verdict.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fwave-audit\u002FSKILL.md",[75],{"categoryNo":76,"categoryName":77,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[79,80,81,82,83,26,84,85,37,86,87,38,88,89,90,91,92,93,94,34],"wave audit","audit","unified workflow","workflow","analysis","verification","security review","grading","go","parallel","evidence","runtime","quality check","discovery","Optimization","one",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":39},"01M71K85100JQS4Y10EGCTWQXW","vm-provision","End-to-end VPS provisioning — select provider → plan → provision → harden → verify (ssh-check + firewall-diff hard-gate) → handoff. 6 phases, ≥6 AskUserQuestion calls, defensive-only. Stops if either verification primitive fails.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fvm-provision\u002FSKILL.md",[],[102,103,104,105,106,107,108,109,110,111,94,112,113,34,84,114,115,116,117,118],"vm","vm provision","firewall","diff","provider","select","end","calls","only","either","api","hetzner","plan","defensive","verify","intent","line",{"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":123,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":134,"publishedAt":39},"01M71K80ZRH2H5ES83QS97BB91","visual-explainer","Generate beautiful, self-contained HTML pages that visually explain systems, code changes, plans, and data. Use when the user asks for a diagram, architecture overview, diff review, plan review, project recap, comparison table, or any visual explanation of technical concepts. Also use proactively when you are about to render a complex ASCII table (4+ rows or 3+ columns) — present it as a styled HTML page instead.","MIT","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-explainer\u002FSKILL.md",[126,129],{"categoryNo":127,"categoryName":128,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":130,"categoryName":131,"taxonomyType":132,"taxonomyTypeDesc":133},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[135,136,137,138,139,140,141,142,114,143,144,145,146,147,148,149,150,151,152,30],"visual","visual explainer","explainer","project","files","image","you","architecture","generate","present","concepts","table","as","view","for","ascii table","ascii","surf",{"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":39},"01M71K7VSD5ZWN26QJEC4T0770","video-gen","Use when generating video from frame sequences — FFmpeg extraction, WebP\u002FAVIF conversion, sprite sheets, scroll-synced playback, video encoding\u002Ftranscoding. Covers the full pipeline from video source to web-ready frame sequence or optimized video.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Fvideo-gen\u002FSKILL.md",[159],{"categoryNo":160,"categoryName":161,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[163,164,165,166,167,168,169,170,171,31,140,172,173,174,175,176,177,178,179,180],"Video","gen","video gen","ready","pipeline","default","generated","synced","false","conversion","directory","sequences","sequence","source","full","path","webp","target",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":190,"publishedAt":39},"01M71K7R88RM8ENVCRZHZSMM5T","test-matrix","Use when a project needs testing BEYOND unit tests — fuzzing, property-based, load, E2E, or mutation. Five-phase hub-and-spoke pipeline composes the right mix per language × critical path × CI target, scaffolds configs + corpus + fixtures, wires CI jobs, and defines the crash\u002Fregression triage workflow. Pure-click: every decision except intake is an AskUserQuestion.","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-matrix\u002FSKILL.md",[187],{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[191,192,193,194,180,195,138,196,167,197,198,199,200,201,202,203,204,30,205,206],"test","matrix","test matrix","unit","click","regression","mix","intake","testing","decision","ci","tests","e2e","mutation","load","fuzzing",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":211,"categories":212,"keywords":214,"publishedAt":39},"01M71K7N3ZY9FMMH3CSE1H8K5J","test-gen","Use when generating tests for untested code — happy path, edge cases, error handling","https:\u002F\u002Fgithub.com\u002FKeiSeiLab\u002FKeiSeiKit\u002Fblob\u002Fmain\u002Fskills\u002Ftest-gen\u002FSKILL.md",[213],{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},[215,164,191,216,180,149,29,202,217,30,31,218,219,220,221,178],"test gen","error","edge","file","code","error handling","name"]