[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MNNYDBD2GAC5F557GM98B":3,"skill-same:01M71MNNYDBD2GAC5F557GM98B":64},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":57},"01M71MNNYDBD2GAC5F557GM98B","grilling",null,"Stress-test a plan or decision through dependency-ordered question rounds until the decision owner confirms shared understanding.","bbishdotdev\u002Fai-tools","bbishdotdev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5323528?v=4","01M71MHYW2Q0DVZA22Q79M8KER","Brenden Bishop","01M71MHYWSMQWFPGA8CBJYQANH",0,"MIT","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fsdlc\u002Fskills\u002Fgrilling\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28],"test","attribution","plan","decision","question","dependency","stress-test","shared","stress","true","2026-11-10 10:56:23",false,"---\nname: grilling\ndescription: Stress-test a plan or decision through dependency-ordered question rounds until the decision owner confirms shared understanding.\ndisable-model-invocation: true\nmetadata:\n  author: Brenden Bishop\n  attribution: ..\u002F..\u002F..\u002FATTRIBUTION.md\n---\n\n# Grilling\n\nInterview until the design is understood. Model the discussion as a tree of decisions and their prerequisites. Read [decision authority](..\u002F..\u002F..\u002Fshared\u002Freferences\u002Fdecision-authority.md) before starting; human answers are the default. Automatic routing does not authorize answering for the user.\n\nWork in rounds. The frontier contains every decision whose prerequisites are already settled. Ask the whole frontier together, numbering each question and giving a concrete recommended answer. Wait for the answers, update the tree, then ask the next frontier. Questions that depend on another unanswered question belong in a later round. Keep the tree scoped to the requested decision, not every possible future feature.\n\nFind facts yourself. Dispatch bounded exploration when supported, or inspect the relevant code and sources directly. An unfinished investigation blocks its dependent questions only; continue the rest of the frontier. Present evidence separately from recommendations. The decision owner settles trade-offs.\n\nFor explicitly delegated autonomous grilling, follow the first-use explanation and two-stage check in [decision authority](..\u002F..\u002F..\u002Fshared\u002Freferences\u002Fdecision-authority.md) before creating planning records. Confirm that this host can actually launch both selected models, save or update their roles with the shared helper, then run preflight. Configuration alone is not a working interview. Run the real exchange between distinct interviewer and respondent models, passing scoped authority and evidence to both. Keep objections and unresolved points visible. If a model cannot run, say which one failed and offer the human-guided path; do not invent its reply. Respect the agreed scope and run limits.\n\nStop when the in-scope frontier is empty. Summarize the resulting understanding and get confirmation from the decision owner before acting on it. Reuse an explicit confirmation already given for that understanding. In autonomous mode the authorized respondent confirms within its delegated scope. Unresolved disagreement stays unresolved.\n\nThe caller owns persistence. For a Wayfinder question, return the accepted answer, authority, and artifact references to [Wayfinder](..\u002Fwayfinder\u002FSKILL.md). For glossary or durable architectural decisions, use [domain modeling](..\u002Fdomain-modeling\u002FSKILL.md). Finishing the interview does not itself authorize implementation.\n","# Grilling\n\nInterview until the design is understood. Model the discussion as a tree of decisions and their prerequisites. Read [decision authority](..\u002F..\u002F..\u002Fshared\u002Freferences\u002Fdecision-authority.md) before starting; human answers are the default. Automatic routing does not authorize answering for the user.\n\nWork in rounds. The frontier contains every decision whose prerequisites are already settled. Ask the whole frontier together, numbering each question and giving a concrete recommended answer. Wait for the answers, update the tree, then ask the next frontier. Questions that depend on another unanswered question belong in a later round. Keep the tree scoped to the requested decision, not every possible future feature.\n\nFind facts yourself. Dispatch bounded exploration when supported, or inspect the relevant code and sources directly. An unfinished investigation blocks its dependent questions only; continue the rest of the frontier. Present evidence separately from recommendations. The decision owner settles trade-offs.\n\nFor explicitly delegated autonomous grilling, follow the first-use explanation and two-stage check in [decision authority](..\u002F..\u002F..\u002Fshared\u002Freferences\u002Fdecision-authority.md) before creating planning records. Confirm that this host can actually launch both selected models, save or update their roles with the shared helper, then run preflight. Configuration alone is not a working interview. Run the real exchange between distinct interviewer and respondent models, passing scoped authority and evidence to both. Keep objections and unresolved points visible. If a model cannot run, say which one failed and offer the human-guided path; do not invent its reply. Respect the agreed scope and run limits.\n\nStop when the in-scope frontier is empty. Summarize the resulting understanding and get confirmation from the decision owner before acting on it. Reuse an explicit confirmation already given for that understanding. In autonomous mode the authorized respondent confirms within its delegated scope. Unresolved disagreement stays unresolved.\n\nThe caller owns persistence. For a Wayfinder question, return the accepted answer, authority, and artifact references to [Wayfinder](..\u002Fwayfinder\u002FSKILL.md). For glossary or durable architectural decisions, use [domain modeling](..\u002Fdomain-modeling\u002FSKILL.md). Finishing the interview does not itself authorize implementation.\n",{"name":5,"metadata":34,"description":7,"disable-model-invocation":36},{"author":12,"attribution":35},"..\u002F..\u002F..\u002FATTRIBUTION.md",true,"main","e7c8126d1ad4df934236dba12521dcbe7fcd9d74","bstack\u002Fsdlc\u002Fskills\u002Fgrilling","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools","https:\u002F\u002Fgithub.com\u002Fbbishdotdev","bbish.dev","Husband | Father | Technologist\r\nEngineering leader helping product and delivery teams use AI to build better systems, habits, and tools.","2026-11-11 11:13:39",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":36},[47,50,53],{"tool":48,"command":49},"npx","npx skills add bbishdotdev\u002Fai-tools --skill grilling",{"tool":51,"command":52},"bunx","bunx skills add bbishdotdev\u002Fai-tools --skill grilling",{"tool":54,"command":55},"pnpm","pnpm dlx skills add bbishdotdev\u002Fai-tools --skill grilling","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fsdlc\u002Fskills\u002Fgrilling\u002FSKILL.md",[58],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"agents\u002Fopenai.yaml","REFERENCE","参考文档",43,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fsdlc\u002Fskills\u002Fgrilling\u002Fagents\u002Fopenai.yaml",[65,96,107,123,156,179],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":29},"01M71MT5NBY3RY660EA06K9CA1","why","Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Fwhy\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[67,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],"how","parallel","observability","warehouse","returns","infrastructure","source","analytics","data","issue","read","tracker","product","work","design","product analytics","time","error tracking","error",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":29},"01M71MT4CFF7AK4TRV40P7ZZ30","unslop","Cut AI tells from any writing. Must always apply.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Funslop\u002FSKILL.md",[],[98,103,28,104,105,106],"cut","ai tells","apply","writing",{"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":29},"01M71MT37W015EGE0EB82JQYAM","typescript-best-practices","TypeScript best practices. Use when reading or editing any .ts or .tsx file.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Ftypescript-best-practices\u002FSKILL.md",[],[114,115,116,117,118,119,120,121,28,122],"typescript","typescript best practices","best practices","use","tsx","when","editing","file","reading",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":140,"publishedAt":29},"01M71MT1092N34HQMGECW170JP","technical-writing","Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for \u002Ftechnical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Ftechnical-writing\u002FSKILL.md",[129,134,137],{"categoryNo":130,"categoryName":131,"taxonomyType":132,"taxonomyTypeDesc":133},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":135,"categoryName":136,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":138,"categoryName":139,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000036","内容创作者",[141,106,142,143,144,145,146,147,148,149,119,150,151,117,28,152,125,153,154,155],"technical","technical writing","commit messages","google","syntax","style","structure","layered","english","commit","Rules","messages","for","pr","standard",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":165,"publishedAt":29},"01M71MSYRMT7KZPQFY7A2ZHGMB","teach","Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Fteach\u002FSKILL.md",[162],{"categoryNo":163,"categoryName":164,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000039","教师与教育",[158,153,77,166,167,168,90,169,170,171,172,173,117,174,175,28,176,177,67,178],"me","explanation","change","help","one","it","explain","body","teach me","understand","clear","person","find",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":29},"01M71MSWTVAEVMZAG7SMWFE1FE","tdd","Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.","https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fupstream\u002Fpstack\u002Fskills\u002Ftdd\u002FSKILL.md",[],[181,117,186,187,188,119,189,28,190,191,192,193,194,153,195,19],"path","user","regression test","only","local","failing","bug","integration","regression","target"]