[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EMS52ZBDF44WKJS9VYPAP":3,"skill-same:01M71EMS52ZBDF44WKJS9VYPAP":65},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":14,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M71EMS52ZBDF44WKJS9VYPAP","principle-attack-the-premise",null,"Apply when two or more fixes that share one premise have failed the same gate. Take a census of which actors hold the imbalance before the next fix, then question the premise instead of writing another fix that assumes it.","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\u002Fcode\u002Fskills\u002Fprinciple-attack-the-premise\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"principle attack the premise","attack","premise","share","it","one","apply","when","false","writing","question","more","gate","take","fix","fixes","next","which","two","2026-11-10 10:12:30",false,"---\nname: principle-attack-the-premise\ndescription: \"Apply when two or more fixes that share one premise have failed the same gate. Take a census of which actors hold the imbalance before the next fix, then question the premise instead of writing another fix that assumes it.\"\nuser-invocable: false\n---\n\n# Attack the Premise\n\nWhen two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.\n\n**Why:** Each failure under a shared premise is evidence about the premise.\n\n**Pattern:**\n\n- **Write the premise down.** The premise is the one sentence that every failed fix assumed.\n- **Take a census before the next fix.** Count the imbalance per actor. The census shows which actors hold the imbalance, not how large it is. Write the census as a rerunnable script per [Build the Lever](..\u002Fprinciple-build-the-lever\u002FSKILL.md).\n- **Read the skew.** If the same few actors hold most of the imbalance on every run, something assigns them that role. Find what assigns the role. That assignment is the next \"why\" per [Fix Root Causes](..\u002Fprinciple-fix-root-causes\u002FSKILL.md).\n- **Remove the asymmetry instead of compensating for it**, per the [Laziness Protocol](..\u002Fprinciple-laziness-protocol\u002FSKILL.md). Rotate the role between actors, randomize the assignment, or move the role, so that no actor holds it on every run. A return path, a shared pool, a batched hand-off, or a periodic rebalance leaves the assignment in place and adds work on every run.\n- **When the premise is not about actors**, the census becomes a rerunnable check whose result would differ if the premise were false. Two timeout increases assume requests reach the intended destination; log the actual destination before the third.\n\n**Stop:**\n\n- Do not start the next fix before the premise is written down and the census exists.\n- If the census is even across actors, the premise is not the cause. Look for the cause elsewhere and keep the census as evidence.\n\nThis principle is distinct from [Redesign from First Principles](..\u002Fprinciple-redesign-from-first-principles\u002FSKILL.md), which rebuilds a design around a new requirement. It questions a fact the current design assumes.\n","# Attack the Premise\n\nWhen two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.\n\n**Why:** Each failure under a shared premise is evidence about the premise.\n\n**Pattern:**\n\n- **Write the premise down.** The premise is the one sentence that every failed fix assumed.\n- **Take a census before the next fix.** Count the imbalance per actor. The census shows which actors hold the imbalance, not how large it is. Write the census as a rerunnable script per [Build the Lever](..\u002Fprinciple-build-the-lever\u002FSKILL.md).\n- **Read the skew.** If the same few actors hold most of the imbalance on every run, something assigns them that role. Find what assigns the role. That assignment is the next \"why\" per [Fix Root Causes](..\u002Fprinciple-fix-root-causes\u002FSKILL.md).\n- **Remove the asymmetry instead of compensating for it**, per the [Laziness Protocol](..\u002Fprinciple-laziness-protocol\u002FSKILL.md). Rotate the role between actors, randomize the assignment, or move the role, so that no actor holds it on every run. A return path, a shared pool, a batched hand-off, or a periodic rebalance leaves the assignment in place and adds work on every run.\n- **When the premise is not about actors**, the census becomes a rerunnable check whose result would differ if the premise were false. Two timeout increases assume requests reach the intended destination; log the actual destination before the third.\n\n**Stop:**\n\n- Do not start the next fix before the premise is written down and the census exists.\n- If the census is even across actors, the premise is not the cause. Look for the cause elsewhere and keep the census as evidence.\n\nThis principle is distinct from [Redesign from First Principles](..\u002Fprinciple-redesign-from-first-principles\u002FSKILL.md), which rebuilds a design around a new requirement. It questions a fact the current design assumes.\n",{"name":5,"description":7,"user-invocable":39},"main","e6ee720f466a8344a52abd87679191fadde3b63f","plugins\u002Fcode\u002Fskills\u002Fprinciple-attack-the-premise","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-11 10:34:42",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add patinaproject\u002Fskills --skill principle-attack-the-premise",{"tool":57,"command":58},"bunx","bunx skills add patinaproject\u002Fskills --skill principle-attack-the-premise",{"tool":60,"command":61},"pnpm","pnpm dlx skills add patinaproject\u002Fskills --skill principle-attack-the-premise","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Fprinciple-attack-the-premise\u002FSKILL.md",true,[],[66,95,107,129,152,167],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":82,"publishedAt":38},"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",[72,77],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[83,28,84,85,26,86,87,88,89,90,91,92,93,94],"writing for pstack","for","pstack","run","review","prompt","write","use","revise","tighten","mode","operator",{"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":103,"publishedAt":38},"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",[101,102],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},[28,104,84,105,26,90,106],"writing for agents","editing","documents",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":38},"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",[],[109,114,84,115,116,117,118,119,90,26,120,121,122,123,124,125,126,24,127,128],"interactive","can","human","provisioning infrastructure","up","only","Bash","secrets","credentials","ci","generate","dashboard","invoke","setting","running",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":38},"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",[],[131,136,137,138,139,115,140,30,141,142,143,144,145,24,146,147,148,149,150,151],"at","tracker","destination","agent session","true","tickets","as","shared","time","map","session","one at a time","work","decision","plan","chunk",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":38},"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",[],[159,160,161,162,163,164,23,140,165,166],"wait","wait what","pitch","message","stop","land","last","re",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":38},"01M71ES4ZXKEGMMYS0NFPEBQ80","using-github","Work with repository settings, pull requests, reviews, checks, and releases on GitHub. Use for GitHub operations other than issue tracking.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fusing-github\u002FSKILL.md",[],[174,175,176,84,177,178,179,180,181,182,90,183,184,185,148,186,187,188],"github","using github","issue","issue tracking","github operations","requests","reviews","with","releases","operations","tracking","settings","repository","pull","pull requests"]