[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F3C8S7K8DJZPWMN9F6MMYM":3,"skill-same:01M6F3C8S7K8DJZPWMN9F6MMYM":77},{"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":26,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6F3C8S7K8DJZPWMN9F6MMYM","github",null,"GitHub patterns using gh CLI for pull requests, stacked PRs, code review, branching strategies, and repository automation. Use when working with GitHub PRs, merging strategies, or repository management tasks.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fcallstackincubator\u002Fagent-skills\u002Fgithub\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"repository","with","pull-request","strategies","use","gh cli","gh","squash","rebase","stacked prs","code review","pull","code","tasks","pr","pull requests","automation","cli","review","2026-11-10 10:12:30",false,"---\nname: github\ndescription: GitHub patterns using gh CLI for pull requests, stacked PRs, code review, branching strategies, and repository automation. Use when working with GitHub PRs, merging strategies, or repository management tasks.\nlicense: MIT\nmetadata:\n  author: Callstack\n  tags: github, gh-cli, pull-request, stacked-pr, squash, rebase\n---\n\n# GitHub Patterns\n\n## Tools\n\nUse `gh` CLI for all GitHub operations. Prefer CLI over GitHub MCP servers for lower context usage.\n\n## Quick Commands\n\n```bash\n# Create a PR from the current branch\ngh pr create --title \"feat: add feature\" --body \"Description\"\n\n# Squash-merge a PR\ngh pr merge \u003CPR_NUMBER> --squash --title \"feat: add feature (#\u003CPR_NUMBER>)\"\n\n# View PR status and checks\ngh pr status\ngh pr checks \u003CPR_NUMBER>\n```\n\n## Stacked PR Workflow Summary\n\nWhen merging a chain of stacked PRs (each targeting the previous branch):\n\n1. **Merge the first PR** into main via squash merge\n2. **For each subsequent PR**: rebase onto main, update base to main, then squash merge\n3. **On conflicts**: stop and ask the user to resolve manually\n\n```bash\n# Rebase next PR's branch onto main, excluding already-merged commits\ngit rebase --onto origin\u002Fmain \u003Cold-base-branch> \u003Cnext-branch>\ngit push --force-with-lease origin \u003Cnext-branch>\ngh pr edit \u003CN> --base main\ngh pr merge \u003CN> --squash --title \"\u003CPR title> (#N)\"\n```\n\nSee [stacked-pr-workflow.md][stacked-pr-workflow] for full step-by-step details.\n\n## Quick Reference\n\n| File | Description |\n| --- | --- |\n| [stacked-pr-workflow.md][stacked-pr-workflow] | Merge stacked PRs into main as individual squash commits |\n\n## Problem -> Skill Mapping\n\n| Problem | Start With |\n| --- | --- |\n| Merge stacked PRs cleanly | [stacked-pr-workflow.md][stacked-pr-workflow] |\n\n[stacked-pr-workflow]: references\u002Fstacked-pr-workflow.md\n\n","# GitHub Patterns\n\n## Tools\n\nUse `gh` CLI for all GitHub operations. Prefer CLI over GitHub MCP servers for lower context usage.\n\n## Quick Commands\n\n```bash\n# Create a PR from the current branch\ngh pr create --title \"feat: add feature\" --body \"Description\"\n\n# Squash-merge a PR\ngh pr merge \u003CPR_NUMBER> --squash --title \"feat: add feature (#\u003CPR_NUMBER>)\"\n\n# View PR status and checks\ngh pr status\ngh pr checks \u003CPR_NUMBER>\n```\n\n## Stacked PR Workflow Summary\n\nWhen merging a chain of stacked PRs (each targeting the previous branch):\n\n1. **Merge the first PR** into main via squash merge\n2. **For each subsequent PR**: rebase onto main, update base to main, then squash merge\n3. **On conflicts**: stop and ask the user to resolve manually\n\n```bash\n# Rebase next PR's branch onto main, excluding already-merged commits\ngit rebase --onto origin\u002Fmain \u003Cold-base-branch> \u003Cnext-branch>\ngit push --force-with-lease origin \u003Cnext-branch>\ngh pr edit \u003CN> --base main\ngh pr merge \u003CN> --squash --title \"\u003CPR title> (#N)\"\n```\n\nSee [stacked-pr-workflow.md][stacked-pr-workflow] for full step-by-step details.\n\n## Quick Reference\n\n| File | Description |\n| --- | --- |\n| [stacked-pr-workflow.md][stacked-pr-workflow] | Merge stacked PRs into main as individual squash commits |\n\n## Problem -> Skill Mapping\n\n| Problem | Start With |\n| --- | --- |\n| Merge stacked PRs cleanly | [stacked-pr-workflow.md][stacked-pr-workflow] |\n\n[stacked-pr-workflow]: references\u002Fstacked-pr-workflow.md\n\n",{"name":5,"license":15,"metadata":51,"description":7},{"tags":52,"author":53},"github, gh-cli, pull-request, stacked-pr, squash, rebase","Callstack","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fcallstackincubator\u002Fagent-skills\u002Fgithub",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill github",{"tool":69,"command":70},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill github",{"tool":72,"command":73},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill github","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fcallstackincubator\u002Fagent-skills\u002Fgithub\u002FSKILL.md",true,[],[78,88,98,107,113,120],{"skillNo":79,"name":80,"nameZh":6,"description":6,"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":84,"publishedAt":46},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[83],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[85,86,87],"model","model hierarchy","model hierarchy skill",{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":94,"publishedAt":46},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[93],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[95,96,97],"MCP","zoom","zoom mcp",{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":46},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[104,105,106,96],"sdk","zoom apps sdk","apps",{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":46},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[109],{"skillNo":114,"name":115,"nameZh":6,"description":6,"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":119,"publishedAt":46},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[118],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[115],{"skillNo":121,"name":122,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":125,"publishedAt":46},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[122]]