[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MP4WTSNKQAG4NFWE97ESK":3,"skill-same:01M71MP4WTSNKQAG4NFWE97ESK":68},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":14,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M71MP4WTSNKQAG4NFWE97ESK","configure-pr",null,"Set or revise this repository's PR review priorities, human-review paths, critical behavior, and linked standards. Use when a developer says what their team's PR process should care about.","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\u002Fshared\u002Fskills\u002Fconfigure-pr\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"configure pr","configure","pr","team","revise","when","critical","review priorities","use","priorities","paths","attribution","repository","behavior","about","process","pr review","human","SET","standards","2026-11-10 10:56:23",false,"---\nname: configure-pr\ndescription: Set or revise this repository's PR review priorities, human-review paths, critical behavior, and linked standards. Use when a developer says what their team's PR process should care about.\nmetadata:\n  author: Brenden Bishop\n  attribution: ..\u002F..\u002F..\u002FATTRIBUTION.md\n---\n\n# Configure project PR policy\n\nMaintain one committed `bstack-pr-policy.md` at the Git repository root. In a monorepo, scope rules with repository-relative paths such as `apps\u002Fweb\u002Fsrc\u002Fauth\u002F**`. Do not create a separate file per package. The policy adds project concerns to [BStack's shared PR standards](..\u002F..\u002Freferences\u002Fpr-standards.md); it cannot relax them.\n\nRead the existing policy and relevant project standards before editing. If no policy exists, start from the [empty template](..\u002F..\u002Freferences\u002Fpr-policy-template.md). Translate the developer's request into the smallest useful addition. Keep existing project rules unless the developer asks to revise them. Link established Markdown standards instead of copying their contents. Do not move this policy into `.bstack\u002F`, `AGENTS.md`, or a forge-specific folder.\n\nUse the four headings in the template. Under **Human review required**, write one-line bullets as `- \\`path-or-glob\\`: reason`. These rules are matched by code against changed paths, so name actual paths. A semantic concern such as \"anything that affects authentication\" may extend beyond a path rule; state that limit and add a focused review concern as needed. Human review withholds BStack's AI approval. Forge branch protection or owners rules are a separate way to enforce the merge.\n\nUnder **Critical behavior** and **Review focus**, use short one-line bullets. Critical behavior is a blocker when evidence shows a regression; an unverified concern is a coverage gap, not an invented defect. Under **Relevant standards**, write `- \\`path\u002Fto\u002Ffile.md\\`: why it matters`. The file must be committed to the target branch for reviewers to rely on it.\n\nValidate the result with `python3 \u003Cabsolute-package-path>\u002Fshared\u002Fpr_policy.py validate --project \u003Crepo-root>`. For an open PR, check the applicable base revision with `check --project \u003Crepo-root> --base \u003Ctarget-ref>`. Show the developer the resulting policy and which changed paths require a human. Changes to `bstack-pr-policy.md` itself always require human review. Do not silently edit forge ownership or branch protection.\n","# Configure project PR policy\n\nMaintain one committed `bstack-pr-policy.md` at the Git repository root. In a monorepo, scope rules with repository-relative paths such as `apps\u002Fweb\u002Fsrc\u002Fauth\u002F**`. Do not create a separate file per package. The policy adds project concerns to [BStack's shared PR standards](..\u002F..\u002Freferences\u002Fpr-standards.md); it cannot relax them.\n\nRead the existing policy and relevant project standards before editing. If no policy exists, start from the [empty template](..\u002F..\u002Freferences\u002Fpr-policy-template.md). Translate the developer's request into the smallest useful addition. Keep existing project rules unless the developer asks to revise them. Link established Markdown standards instead of copying their contents. Do not move this policy into `.bstack\u002F`, `AGENTS.md`, or a forge-specific folder.\n\nUse the four headings in the template. Under **Human review required**, write one-line bullets as `- \\`path-or-glob\\`: reason`. These rules are matched by code against changed paths, so name actual paths. A semantic concern such as \"anything that affects authentication\" may extend beyond a path rule; state that limit and add a focused review concern as needed. Human review withholds BStack's AI approval. Forge branch protection or owners rules are a separate way to enforce the merge.\n\nUnder **Critical behavior** and **Review focus**, use short one-line bullets. Critical behavior is a blocker when evidence shows a regression; an unverified concern is a coverage gap, not an invented defect. Under **Relevant standards**, write `- \\`path\u002Fto\u002Ffile.md\\`: why it matters`. The file must be committed to the target branch for reviewers to rely on it.\n\nValidate the result with `python3 \u003Cabsolute-package-path>\u002Fshared\u002Fpr_policy.py validate --project \u003Crepo-root>`. For an open PR, check the applicable base revision with `check --project \u003Crepo-root> --base \u003Ctarget-ref>`. Show the developer the resulting policy and which changed paths require a human. Changes to `bstack-pr-policy.md` itself always require human review. Do not silently edit forge ownership or branch protection.\n",{"name":5,"metadata":44,"description":7},{"author":12,"attribution":45},"..\u002F..\u002F..\u002FATTRIBUTION.md","main","e7c8126d1ad4df934236dba12521dcbe7fcd9d74","bstack\u002Fshared\u002Fskills\u002Fconfigure-pr","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":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add bbishdotdev\u002Fai-tools --skill configure-pr",{"tool":60,"command":61},"bunx","bunx skills add bbishdotdev\u002Fai-tools --skill configure-pr",{"tool":63,"command":64},"pnpm","pnpm dlx skills add bbishdotdev\u002Fai-tools --skill configure-pr","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbbishdotdev\u002Fai-tools\u002Fblob\u002Fmain\u002Fbstack\u002Fshared\u002Fskills\u002Fconfigure-pr\u002FSKILL.md",true,[],[69,100,112,126,158,181],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":80,"publishedAt":39},"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",[75],{"categoryNo":76,"categoryName":77,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[71,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"how","parallel","observability","warehouse","returns","infrastructure","source","analytics","data","issue","read","tracker","product","work","design","product analytics","time","error tracking","error",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":39},"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",[],[102,107,108,109,110,111],"cut","true","ai tells","apply","writing",{"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":39},"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",[],[119,120,121,27,122,24,123,124,108,125],"typescript","typescript best practices","best practices","tsx","editing","file","reading",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":143,"publishedAt":39},"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",[132,137,140],{"categoryNo":133,"categoryName":134,"taxonomyType":135,"taxonomyTypeDesc":136},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":138,"categoryName":139,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":141,"categoryName":142,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000036","内容创作者",[144,111,145,146,147,148,149,150,151,152,24,153,154,27,108,155,128,156,21,157],"technical","technical writing","commit messages","google","syntax","style","structure","layered","english","commit","Rules","messages","for","standard",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":167,"publishedAt":39},"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",[164],{"categoryNo":165,"categoryName":166,"taxonomyType":78,"taxonomyTypeDesc":79},"01JBSEEDCAT000000000000039","教师与教育",[160,156,81,168,169,170,94,171,172,173,174,175,27,176,177,108,178,179,71,180],"me","explanation","change","help","one","it","explain","body","teach me","understand","clear","person","find",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":187,"publishedAt":39},"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",[],[183,27,188,189,190,24,191,108,192,193,194,195,196,156,197,198],"path","user","regression test","only","local","failing","bug","integration","regression","target","test"]