[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71ERJSTHJ9RWH93DAPR7MYH":3,"skill-same:01M71ERJSTHJ9RWH93DAPR7MYH":76},{"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":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":14,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M71ERJSTHJ9RWH93DAPR7MYH","review-system-design",null,"Present important design agreements from a diff or specification to a human reviewer in plain language and dependency order. Use when the user asks for a system design review.","patinaproject\u002Fskills","patinaproject","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F229996889?v=4","01M71E58JKTDNY1138WYZK44TR","Patina Project","01M71E58K5GH4K16MV6A8BQ6NZ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Freview-system-design\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"review system design","system","design","review","system design","reviewer","user","specification","language","plain","when","present","use","design review","dependency","for","human","diff","agreements","order","2026-11-10 10:12:30",false,"---\nname: review-system-design\ndescription: Present important design agreements from a diff or specification to a human reviewer in plain language and dependency order. Use when the user asks for a system design review.\n---\n\n# Review system design\n\nUse `design-by-contract` to select and analyze each important agreement in the\nchanged production code. The input may be a diff, a specification, or both.\n\nUse short, direct sentences with clear subjects and objects. Use terms already\ndefined in `CONTEXT.md`, exact `codebase-design` terms, and code identifiers.\nWhen a needed term is missing, ask `domain-modeling` to propose a glossary\nentry.\n\nBuild a dependency tree of the design agreements. Review an agreement before\nany agreement that depends on it. When a specification and diff disagree,\ntreat the diff as the record of what changed and flag any unplanned agreement.\n\nTreat production code as the source of design agreements. Use tests,\ndocumentation, and workspace fixtures as evidence for those agreements.\n\nPresent one group at a time after reviewing everything it depends on. Use the\nheading `## \u003Cchange name>, round N of M`. Number agreements `A1`, `A2`, and so\non across all rounds.\n\nGive each agreement a plain-language title followed by a small number of\nconnected paragraphs. Name the relevant system parts and explain how they\ninteract, what changed and why it matters, and the expectation or trade-off the\nreviewer must judge. Include defined failure behavior when it helps that\njudgment. Keep every detail relevant to the reviewer's decision. Link the\nagreement's specification or ADR once.\n\nUse a visual explainer when it makes a relationship easier to understand than\nprose alone: a table for repeated mappings or comparisons, a sequence or state\ndiagram for interactions over time, or a dependency diagram for ordering. Pair\nthe visual with the explanation. End each group with a short request for\nconcerns or approval.\n\nWait for the reviewer's reply after each group. Record challenged agreements\nunder their plain-language titles and record each agreed fix. Treat the rest as\naccepted. Keep each agreement number as a stable reference. Keep the reviewed\nchange fixed until the review ends. A proposed fix remains a note until the\nreviewer finishes all rounds.\n\nFind supporting facts yourself. Use a subagent when the diff, specification, or\ncallers require separate investigation. Research the facts, then ask the\nreviewer to decide.\n\nFinish after every agreement has been reviewed. In the same plain style,\nsummarize accepted agreements, concerns, and agreed fixes, then apply only the\nchanges the reviewer confirms. If the reviewer asks for a guide, write it at\nthe requested path with a link to the reviewed change, the agreements in number\norder, and the selected visuals.\n","# Review system design\n\nUse `design-by-contract` to select and analyze each important agreement in the\nchanged production code. The input may be a diff, a specification, or both.\n\nUse short, direct sentences with clear subjects and objects. Use terms already\ndefined in `CONTEXT.md`, exact `codebase-design` terms, and code identifiers.\nWhen a needed term is missing, ask `domain-modeling` to propose a glossary\nentry.\n\nBuild a dependency tree of the design agreements. Review an agreement before\nany agreement that depends on it. When a specification and diff disagree,\ntreat the diff as the record of what changed and flag any unplanned agreement.\n\nTreat production code as the source of design agreements. Use tests,\ndocumentation, and workspace fixtures as evidence for those agreements.\n\nPresent one group at a time after reviewing everything it depends on. Use the\nheading `## \u003Cchange name>, round N of M`. Number agreements `A1`, `A2`, and so\non across all rounds.\n\nGive each agreement a plain-language title followed by a small number of\nconnected paragraphs. Name the relevant system parts and explain how they\ninteract, what changed and why it matters, and the expectation or trade-off the\nreviewer must judge. Include defined failure behavior when it helps that\njudgment. Keep every detail relevant to the reviewer's decision. Link the\nagreement's specification or ADR once.\n\nUse a visual explainer when it makes a relationship easier to understand than\nprose alone: a table for repeated mappings or comparisons, a sequence or state\ndiagram for interactions over time, or a dependency diagram for ordering. Pair\nthe visual with the explanation. End each group with a short request for\nconcerns or approval.\n\nWait for the reviewer's reply after each group. Record challenged agreements\nunder their plain-language titles and record each agreed fix. Treat the rest as\naccepted. Keep each agreement number as a stable reference. Keep the reviewed\nchange fixed until the review ends. A proposed fix remains a note until the\nreviewer finishes all rounds.\n\nFind supporting facts yourself. Use a subagent when the diff, specification, or\ncallers require separate investigation. Research the facts, then ask the\nreviewer to decide.\n\nFinish after every agreement has been reviewed. In the same plain style,\nsummarize accepted agreements, concerns, and agreed fixes, then apply only the\nchanges the reviewer confirms. If the reviewer asks for a guide, write it at\nthe requested path with a link to the reviewed change, the agreements in number\norder, and the selected visuals.\n",{"name":5,"description":7},"main","e6ee720f466a8344a52abd87679191fadde3b63f","plugins\u002Fwork\u002Fskills\u002Freview-system-design","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills","https:\u002F\u002Fgithub.com\u002Fpatinaproject","https:\u002F\u002Fwww.patinaproject.com","The best way to pick your next pair of boots or shoes.","2026-11-12 00:44:02",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add patinaproject\u002Fskills --skill review-system-design",{"tool":68,"command":69},"bunx","bunx skills add patinaproject\u002Fskills --skill review-system-design",{"tool":71,"command":72},"pnpm","pnpm dlx skills add patinaproject\u002Fskills --skill review-system-design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Freview-system-design\u002FSKILL.md",true,[],[77,85,108,120,142,166],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":84},"01M72KDQJR99954NE224VB3KZ2","code-review","Review the changes since a fixed point (commit, branch, tag, or merge-base) along five axes: Standards (does the code follow this repo's documented coding standards?), Spec (does the code match what the originating issue\u002Fspec asked for?), Evidence (does each claim in the pull request have evidence that shows it?), Bugs (does the changed code have logic errors, unhandled states, races, or regressions?), and Security (does the change open injection, auth, secret, input, or CI workflow holes?). Runs the reviews in parallel sub-agents, tags every finding Important, Nit, or Pre-existing, and reports them side by side with what blocks merge. Given an earlier reviewed head and its findings, it reviews only the newer commits, rechecks the earlier findings, and never repeats one. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Fcode-review\u002FSKILL.md",[],[],"2026-11-10 22:39:42",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":97,"publishedAt":49},"01M71ESEDVHD9EXN6787XHP7HD","writing-for-pstack","Write or tighten an operator prompt for a patina-mode run. Use when the operator asks to write, revise, or review a prompt that will be passed to patina-mode.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-pstack\u002FSKILL.md",[91,94],{"categoryNo":92,"categoryName":93,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":95,"categoryName":96,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[44,98,99,100,32,101,102,103,104,41,105,106,39,107],"pstack","writing","writing for pstack","run","mode","write","operator","tighten","prompt","revise",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":116,"publishedAt":49},"01M71ESCJ0SSJFFENF8HYDKBTJ","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[114,115],{"categoryNo":92,"categoryName":93,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":95,"categoryName":96,"taxonomyType":26,"taxonomyTypeDesc":27},[117,44,99,118,41,119,39],"writing for agents","editing","documents",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":49},"01M71ESA1NN9WVMD2HA5Z1RRDY","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwizard\u002FSKILL.md",[],[122,127,128,129,130,131,39,132,133,134,45,135,41,136,137,138,44,139,140,141],"interactive","can","credentials","one","Bash","invoke","dashboard","generate","secrets","provisioning infrastructure","ci","up","setting","running","only",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":49},"01M71ES8FAN567N3JEPG8W6AS1","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[144,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,128,165,130],"more","true","decision","session","time","chunk","as","shared","map","tickets","destination","at","tracker","plan","work","agent session","one at a time",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":49},"01M71ES6PWJPKBW8R24YFH4PY6","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[173,174,175,176,177,178,179,180,150,181],"wait","wait what","stop","it","land","re","pitch","message","last"]