[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MJD9CNH1RBK58TWK2TDRG":3,"skill-same:01M71MJD9CNH1RBK58TWK2TDRG":82},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":14,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":59},"01M71MJD9CNH1RBK58TWK2TDRG","prototype",null,"Build and iterate on disposable prototypes for design or behavior questions, preserving the chosen reference for a clean implementation handoff.","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\u002Fengineering\u002Fprototype\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30],"build","for","questions","behavior","attribution","clean","true","design","implementation","reference","iterate","handoff","2026-11-10 10:56:23",false,"---\nname: prototype\ndescription: Build and iterate on disposable prototypes for design or behavior questions, preserving the chosen reference for a clean implementation handoff.\ndisable-model-invocation: true\nmetadata:\n  author: Brenden Bishop\n  attribution: ..\u002F..\u002FATTRIBUTION.md\n---\n\n# Prototype\n\nRead and follow the approved [prototype workflow](WORKFLOW.md). It owns framing, construction, verification, iteration, selection, and cleanup. Load only its applicable UI or logic guide.\n\nUse [decision authority](..\u002F..\u002Fshared\u002Freferences\u002Fdecision-authority.md) for the caller's scope and who selects the result. Use [workspace access](..\u002F..\u002Fshared\u002Freferences\u002Fworkspace.md) for a persistent session directory at `artifacts\u002Fprototypes\u002F\u003Csession>\u002F` beneath the owning private workspace. An isolated application worktree may hold runnable code; keep its path and launch instructions with that session.\n\nWhen a planning question called this workflow, return its accepted answer and usable artifact references to [Wayfinder](..\u002F..\u002Fsdlc\u002Fskills\u002Fwayfinder\u002FSKILL.md). Do not silently resolve the question or create an ADR because a variant was preferred.\n\nBefore authorized production implementation, prepare a [handoff](..\u002F..\u002Fshared\u002Fskills\u002Fhandoff\u002FSKILL.md) and transfer to a fresh context running [implement](..\u002Fimplement\u002FSKILL.md). Preserve the selected target until the receiver has the needed reference and reusable pieces. If the host cannot launch that context, leave a usable handoff and report the needed launch step. Never substitute an in-place continuation for an explicitly required unattended fresh-session transfer.\n","# Prototype\n\nRead and follow the approved [prototype workflow](WORKFLOW.md). It owns framing, construction, verification, iteration, selection, and cleanup. Load only its applicable UI or logic guide.\n\nUse [decision authority](..\u002F..\u002Fshared\u002Freferences\u002Fdecision-authority.md) for the caller's scope and who selects the result. Use [workspace access](..\u002F..\u002Fshared\u002Freferences\u002Fworkspace.md) for a persistent session directory at `artifacts\u002Fprototypes\u002F\u003Csession>\u002F` beneath the owning private workspace. An isolated application worktree may hold runnable code; keep its path and launch instructions with that session.\n\nWhen a planning question called this workflow, return its accepted answer and usable artifact references to [Wayfinder](..\u002F..\u002Fsdlc\u002Fskills\u002Fwayfinder\u002FSKILL.md). Do not silently resolve the question or create an ADR because a variant was preferred.\n\nBefore authorized production implementation, prepare a [handoff](..\u002F..\u002Fshared\u002Fskills\u002Fhandoff\u002FSKILL.md) and transfer to a fresh context running [implement](..\u002Fimplement\u002FSKILL.md). Preserve the selected target until the receiver has the needed reference and reusable pieces. If the host cannot launch that context, leave a usable handoff and report the needed launch step. Never substitute an in-place continuation for an explicitly required unattended fresh-session transfer.\n",{"name":5,"metadata":36,"description":7,"disable-model-invocation":38},{"author":12,"attribution":37},"..\u002F..\u002FATTRIBUTION.md",true,"main","e7c8126d1ad4df934236dba12521dcbe7fcd9d74","bstack\u002Fengineering\u002Fprototype","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":48,"prompt":58,"zipAvailable":38},[49,52,55],{"tool":50,"command":51},"npx","npx skills add bbishdotdev\u002Fai-tools --skill prototype",{"tool":53,"command":54},"bunx","bunx skills add bbishdotdev\u002Fai-tools --skill prototype",{"tool":56,"command":57},"pnpm","pnpm dlx skills add bbishdotdev\u002Fai-tools --skill prototype","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fengineering\u002Fprototype\u002FSKILL.md",[60,66,70,74,78],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"agents\u002Fopenai.yaml","REFERENCE","参考文档",43,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fengineering\u002Fprototype\u002Fagents\u002Fopenai.yaml",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"references\u002Flogic.md",976,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fengineering\u002Fprototype\u002Freferences\u002Flogic.md",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fui.md",1180,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fengineering\u002Fprototype\u002Freferences\u002Fui.md",{"path":75,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":76,"sourceHtmlUrl":77},"REVIEW.md",5556,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fengineering\u002Fprototype\u002FREVIEW.md",{"path":79,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":80,"sourceHtmlUrl":81},"WORKFLOW.md",4835,"https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fengineering\u002Fprototype\u002FWORKFLOW.md",[83,113,124,140,172,195],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":31},"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",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[85,95,96,97,98,99,100,101,102,103,104,105,106,107,108,26,109,110,111,112],"how","parallel","observability","warehouse","returns","infrastructure","source","analytics","data","issue","read","tracker","product","work","product analytics","time","error tracking","error",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":31},"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",[],[115,120,25,121,122,123],"cut","ai tells","apply","writing",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":31},"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",[],[131,132,133,134,135,136,137,138,25,139],"typescript","typescript best practices","best practices","use","tsx","when","editing","file","reading",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":157,"publishedAt":31},"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",[146,151,154],{"categoryNo":147,"categoryName":148,"taxonomyType":149,"taxonomyTypeDesc":150},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":152,"categoryName":153,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":155,"categoryName":156,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000036","内容创作者",[158,123,159,160,161,162,163,164,165,166,136,167,168,134,25,169,142,20,170,171],"technical","technical writing","commit messages","google","syntax","style","structure","layered","english","commit","Rules","messages","pr","standard",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":181,"publishedAt":31},"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",[178],{"categoryNo":179,"categoryName":180,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000039","教师与教育",[174,20,95,182,183,184,108,185,186,187,188,189,134,190,191,25,192,193,85,194],"me","explanation","change","help","one","it","explain","body","teach me","understand","clear","person","find",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":201,"publishedAt":31},"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",[],[197,134,202,203,204,136,205,25,206,207,208,209,210,20,211,212],"path","user","regression test","only","local","failing","bug","integration","regression","target","test"]