[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6NJZ359VNFGGC5YYCDB5V7P":3,"skill-same:01M6NJZ359VNFGGC5YYCDB5V7P":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":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6NJZ359VNFGGC5YYCDB5V7P","review-component",null,"Code review scoped to a described component or area — resolves the description to files, then runs simplicity, general, and nitty agents; auto-applies code-level findings until convergence; escalates architectural findings for user confirmation","plwhite\u002Fclaudeplugins","plwhite","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8448749?v=4","01M6NJY6F3ZZDJYK81DHP6JVJN","Peter White","01M6NJY6KSDFD9W61Y3Q85WR86",3,"MIT","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Fdevproc\u002Fskills\u002Freview-component\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],"review","component","review component","scoped","code review","for","convergence","module","general","files","auto","simplicity","user","confirmation","src","payments","code","auth","2026-11-10 10:12:30",false,"---\nname: review-component\ndescription: Code review scoped to a described component or area — resolves the description to files, then runs simplicity, general, and nitty agents; auto-applies code-level findings until convergence; escalates architectural findings for user confirmation\nargument-hint: [component or area description, e.g. \"the auth module\" or \"src\u002Fpayments\u002F\"]\n---\n\nRun a code review over a specific component or area of the codebase.\n\nThe invocation is: $ARGUMENTS\n\n## Step 1 — Resolve the component to a file set\n\nUse the component description in $ARGUMENTS to identify which files to review. Try these strategies in order until you have a confident file set:\n\n1. If $ARGUMENTS looks like a path or glob (e.g. `src\u002Fauth\u002F`, `*.test.ts`), use it directly with Glob.\n2. Otherwise, search for files whose path or content matches the description — use Glob for directory\u002Fnaming patterns and Grep for keyword matches in file contents.\n3. If the result is ambiguous or empty, tell the user what you found and ask them to clarify before proceeding.\n\nShow the user the resolved file list and confirm it looks right before running any agents. If the list is clearly wrong, stop and ask.\n\n## Step 2 — Determine whether to include architectural review\n\nCheck $ARGUMENTS for any indication that the user wants an architectural review (e.g. \"including architectural review\", \"with architecture\", \"arch review\", or similar).\n\nIf it is not clear from the invocation, ask the user: \"Should I include an architectural review of this component? (This uses a more capable model and takes longer.)\" Wait for their answer before proceeding.\n\n## Step 3 — Run the review agents\n\nInvoke the following agents via the Agent tool, passing the resolved file list in each prompt. Run them in parallel where possible.\n\nAlways run:\n- `code-review-simplicity` — finds unnecessary complexity and dead code\n- `code-review-general` — checks correctness, error handling, and robustness\n- `code-review-nitty` — checks naming, comments, and fine-grained clarity\n\nIf architectural review was confirmed in Step 2, also run:\n- `code-review-architectural` — checks module boundaries, coupling, and design fit; pass the file list and any relevant design\u002Farchitecture documents found nearby (README.md, CLAUDE.md, features\u002Fplans\u002F)\n\nCollect all findings from all agents.\n\n> Steps 4–7 below are identical across all review skills (`review-full`, `review-component`, `review-branch`). If you change the convergence logic (e.g. the iteration cap), update all three.\n\n## Step 4 — Classify findings\n\nFor each finding, classify it as one of:\n\n- **Code-level**: contained within a single function or file; does not change a public API, module boundary, or data contract. These are auto-applied without asking.\n- **Architectural**: changes a module boundary, public interface, exported type, or structural design. These require user confirmation before applying.\n\nWhen in doubt, treat a finding as architectural.\n\n## Step 5 — Apply code-level findings\n\nApply all code-level findings now, file by file. Do not ask for confirmation — just make the changes.\n\n## Step 6 — Iterate to convergence\n\nAfter applying code-level changes, re-run the three standard agents (simplicity, general, nitty) over only the files that were changed. Repeat Steps 4–5 until no new code-level findings are produced. Limit to 5 iterations; if findings persist after 5 passes, report what remains rather than continuing.\n\n## Step 7 — Present architectural findings\n\nIf there are any architectural findings, present them to the user now.\n\nFor each:\n- State the finding clearly (file, issue, recommendation)\n- Ask whether to apply it\n\nApply each one only if the user confirms.\n\n## Step 8 — Summary\n\nReport:\n- The component reviewed and the files included\n- How many code-level findings were applied and across how many files\n- How many iterations were needed to converge\n- Which architectural findings (if any) were applied or deferred\n- Any findings that persisted after the iteration limit\n","Run a code review over a specific component or area of the codebase.\n\nThe invocation is: $ARGUMENTS\n\n## Step 1 — Resolve the component to a file set\n\nUse the component description in $ARGUMENTS to identify which files to review. Try these strategies in order until you have a confident file set:\n\n1. If $ARGUMENTS looks like a path or glob (e.g. `src\u002Fauth\u002F`, `*.test.ts`), use it directly with Glob.\n2. Otherwise, search for files whose path or content matches the description — use Glob for directory\u002Fnaming patterns and Grep for keyword matches in file contents.\n3. If the result is ambiguous or empty, tell the user what you found and ask them to clarify before proceeding.\n\nShow the user the resolved file list and confirm it looks right before running any agents. If the list is clearly wrong, stop and ask.\n\n## Step 2 — Determine whether to include architectural review\n\nCheck $ARGUMENTS for any indication that the user wants an architectural review (e.g. \"including architectural review\", \"with architecture\", \"arch review\", or similar).\n\nIf it is not clear from the invocation, ask the user: \"Should I include an architectural review of this component? (This uses a more capable model and takes longer.)\" Wait for their answer before proceeding.\n\n## Step 3 — Run the review agents\n\nInvoke the following agents via the Agent tool, passing the resolved file list in each prompt. Run them in parallel where possible.\n\nAlways run:\n- `code-review-simplicity` — finds unnecessary complexity and dead code\n- `code-review-general` — checks correctness, error handling, and robustness\n- `code-review-nitty` — checks naming, comments, and fine-grained clarity\n\nIf architectural review was confirmed in Step 2, also run:\n- `code-review-architectural` — checks module boundaries, coupling, and design fit; pass the file list and any relevant design\u002Farchitecture documents found nearby (README.md, CLAUDE.md, features\u002Fplans\u002F)\n\nCollect all findings from all agents.\n\n> Steps 4–7 below are identical across all review skills (`review-full`, `review-component`, `review-branch`). If you change the convergence logic (e.g. the iteration cap), update all three.\n\n## Step 4 — Classify findings\n\nFor each finding, classify it as one of:\n\n- **Code-level**: contained within a single function or file; does not change a public API, module boundary, or data contract. These are auto-applied without asking.\n- **Architectural**: changes a module boundary, public interface, exported type, or structural design. These require user confirmation before applying.\n\nWhen in doubt, treat a finding as architectural.\n\n## Step 5 — Apply code-level findings\n\nApply all code-level findings now, file by file. Do not ask for confirmation — just make the changes.\n\n## Step 6 — Iterate to convergence\n\nAfter applying code-level changes, re-run the three standard agents (simplicity, general, nitty) over only the files that were changed. Repeat Steps 4–5 until no new code-level findings are produced. Limit to 5 iterations; if findings persist after 5 passes, report what remains rather than continuing.\n\n## Step 7 — Present architectural findings\n\nIf there are any architectural findings, present them to the user now.\n\nFor each:\n- State the finding clearly (file, issue, recommendation)\n- Ask whether to apply it\n\nApply each one only if the user confirms.\n\n## Step 8 — Summary\n\nReport:\n- The component reviewed and the files included\n- How many code-level findings were applied and across how many files\n- How many iterations were needed to converge\n- Which architectural findings (if any) were applied or deferred\n- Any findings that persisted after the iteration limit\n",{"name":5,"description":7,"argument-hint":47},[48,49],"component or area description","e.g. \"the auth module\" or \"src\u002Fpayments\u002F\"","main","3af5e96e991385c47f6d792f323ba4d44b4a7caa","devproc\u002Fskills\u002Freview-component",0,"https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins","https:\u002F\u002Fgithub.com\u002Fplwhite","2026-11-01 21:12:04",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add plwhite\u002Fclaudeplugins --skill review-component",{"tool":63,"command":64},"bunx","bunx skills add plwhite\u002Fclaudeplugins --skill review-component",{"tool":66,"command":67},"pnpm","pnpm dlx skills add plwhite\u002Fclaudeplugins --skill review-component","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Fdevproc\u002Fskills\u002Freview-component\u002FSKILL.md",true,[],[72,83,88,96,104,112],{"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":78,"publishedAt":42},"01M6NJZNMTFQ12V28AKWC6K6VA","greet","Greet a person by name using the greeter tool","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Ftests\u002Fdevproc\u002Freview-docs\u002Ffixture\u002Fchange\u002Fskills\u002Fgreet\u002FSKILL.md",[],[74,79,80,81,82],"tool","greeter","name","person",{"skillNo":84,"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":85,"categories":86,"keywords":87,"publishedAt":42},"01M6NJZHFSET5D7Y55Q5392JGR","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Ftests\u002Fdevproc\u002Freview-docs\u002Ffixture\u002Fbaseline\u002Fskills\u002Fgreet\u002FSKILL.md",[],[74,79,80,81,82],{"skillNo":89,"name":90,"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":91,"categories":92,"keywords":93,"publishedAt":42},"01M6NJZDKAYGVR4Y6TPSMFNARD","review-full","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Fdevproc\u002Fskills\u002Freview-full\u002FSKILL.md",[],[94,24,95],"full","review full",{"skillNo":97,"name":98,"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":99,"categories":100,"keywords":101,"publishedAt":42},"01M6NJZACEJV6ET66CSGT3JZHF","review-docs","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Fdevproc\u002Fskills\u002Freview-docs\u002FSKILL.md",[],[102,103,24],"review docs","docs",{"skillNo":105,"name":106,"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":107,"categories":108,"keywords":109,"publishedAt":42},"01M6NJYYMDJ6QGSTNXVV3GWGRW","review-branch","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Fdevproc\u002Fskills\u002Freview-branch\u002FSKILL.md",[],[110,111,24],"review branch","branch",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":42},"01M6NJYTP8ZCCG2BFKT6NCT2ZV","internal-docs-prune","Prune internal Claude-facing docs (CLAUDE.md, nested CLAUDE.md files, NOTES.md, .claude\u002Frules\u002F*.md) — spawns internal-docs-reviewer, auto-applies redundant\u002Fstale findings without content loss, and escalates judgment findings (interactive) or defers them (unattended)","https:\u002F\u002Fgithub.com\u002Fplwhite\u002Fclaudeplugins\u002Fblob\u002Fmain\u002Fdevproc\u002Fskills\u002Finternal-docs-prune\u002FSKILL.md",[],[103,119,120,121,122,123,33,124,34,125,126,127,128,129],"internal docs prune","prune","unattended","judgment","nested","stale","interactive","reviewer","Rules","content","notes"]