[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69BEXYVV89B5ZWD6NAF60FX":3,"skill-same:01M69BEXYVV89B5ZWD6NAF60FX":55},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":36,"ownerHtmlUrl":37,"ownerBlogUrl":38,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M69BEXYVV89B5ZWD6NAF60FX","git-branch",null,"Branch management for implementation. Use when you need to create a branch, switch branches, checkout, or verify branching strategy before implementing code. Do not use for commits (use git-commit), pull requests (use pull-request), or advanced git operations (rebase, merge).","microsoft\u002Fdevsquad-copilot","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69BE5EMENJJPPKFFE4AVZPN",50,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Fgit-branch\u002FSKILL.md",[],[19,20,21,22,23,24,25],"git branch","pull requests","commit","merge","implementing code","create","code","2026-11-10 10:12:30",false,"---\nname: git-branch\ndescription: \"Branch management for implementation. Use when you need to create a branch, switch branches, checkout, or verify branching strategy before implementing code. Do not use for commits (use git-commit), pull requests (use pull-request), or advanced git operations (rebase, merge).\"\n---\n\n# Git Branch — Branch Management\n\n## Check Branching Strategy Config\n\n```bash\ncat .memory\u002Fgit-config.md 2>\u002Fdev\u002Fnull\n```\n\nIf `Branching Strategy` is filled in, use the configured strategy. The `detect-branching-strategy.sh` hook automatically seeds on `sessionStart`.\n\nIf the config has `Confidence: medium`, confirm with the dev before using (see Detect Branching Strategy section).\n\n## Check Git State\n\nBefore starting implementation:\n\n```bash\ngit branch --show-current\ngit status\ngit fetch origin\n```\n\n## Remote Synchronization\n\nIf on main\u002Fmaster\u002Fdevelop, check synchronization:\n\n```bash\ngit rev-list HEAD..origin\u002F\u003Cbranch> --count\n```\n\n| Situation | Action |\n|-----------|--------|\n| Branch behind (commits behind remote) | Alert and suggest pull |\n| Branch with uncommitted local changes | Alert about pending changes |\n| Branch up to date and clean | Proceed normally |\n\nIf the main branch is behind:\n\n```\nYour branch [main] is [N] commits behind the remote.\n\nI recommend updating before creating a new branch:\n\n[P] Pull and continue\n[I] Ignore and continue anyway (not recommended)\n[A] Abort implementation\n```\n\n## Evaluate Situation for Branch Creation\n\n| Situation | Action |\n|-----------|--------|\n| Already on a feature branch (not main\u002Fmaster\u002Fdevelop) | Use current branch |\n| On main\u002Fmaster\u002Fdevelop without changes **with work item** | Create branch automatically (see below) |\n| On main\u002Fmaster\u002Fdevelop without changes **without work item** | Ask if they want to create a branch |\n| On main\u002Fmaster\u002Fdevelop with changes | Alert and ask how to proceed |\n\n## Automatic Creation (when there is a work item)\n\nWhen the source of work is a GitHub issue or Azure DevOps work item, create the branch automatically.\n\n**Naming convention**:\n\n```\nfeature\u002F\u003Cid>-\u003Cshort-description>\n```\n\n**Rules for `\u003Cshort-description>`**:\n\n- Derived from the work item title\n- Lowercase letters, numbers, and hyphens only\n- Maximum 50 characters in the total branch name\n- Remove articles, prepositions, and unnecessary words\n\n**Examples**:\n\n| Work Item | Branch |\n|-----------|--------|\n| #42 \"Implement user authentication\" | `feature\u002F42-user-authentication` |\n| #108 \"Add rate limiting to API endpoints\" | `feature\u002F108-rate-limiting-api` |\n| WI 5678 \"Create financial reports endpoint\" | `feature\u002F5678-financial-reports-endpoint` |\n\n**Action**: Create branch and inform the user:\n\n```\nBranch created: feature\u002F\u003Cid>-\u003Cshort-description>\n\n[C] Continue with this branch\n[R] Rename branch: _\n```\n\nThe user can rename, but the flow does not block waiting for confirmation to create.\n\n## Interactive Creation (without work item)\n\nWhen the source is tasks.md (without issue\u002Fwork item), ask the user:\n\n```\nYou are on the main branch. Do you want me to create a branch for this implementation?\n\nSuggestion: feature\u002F\u003Cshort-description>\n\n[S] Yes, create suggested branch\n[N] No, continue on current branch\n[C] Create with another name: _\n```\n\n## Existing Branch\n\nIf the user is already on a feature branch, use the current branch without additional questions.\n\n## Detect Branching Strategy\n\nWhen `.memory\u002Fgit-config.md` does not exist or does not have `Branching Strategy`, detect automatically:\n\n```bash\n# 1. Default branch\nDEFAULT_BRANCH=$(git symbolic-ref refs\u002Fremotes\u002Forigin\u002FHEAD 2>\u002Fdev\u002Fnull | sed 's@^refs\u002Fremotes\u002Forigin\u002F@@')\n\n# 2. Does develop branch exist?\nHAS_DEVELOP=$(git ls-remote --heads origin develop 2>\u002Fdev\u002Fnull | grep -q develop && echo \"yes\" || echo \"no\")\n\n# 3. Do release\u002F* or hotfix\u002F* branches exist? (GitFlow pattern)\nHAS_GITFLOW_BRANCHES=$(git branch -r 2>\u002Fdev\u002Fnull | grep -qE '(release|hotfix)\u002F' && echo \"yes\" || echo \"no\")\n```\n\n### Detection rules\n\n| `develop` | `release\u002F*` or `hotfix\u002F*` | Strategy | Confidence | Action |\n|-----------|--------------------------|----------|------------|--------|\n| Yes | Yes | GitFlow | High | Save and inform |\n| Yes | No | GitFlow | Medium | Ask to confirm |\n| No | No | Trunk-Based | High | Save and inform |\n\n**High confidence** — save automatically and inform:\n\n```\nBranching strategy detected: [trunk-based|gitflow]\nIntegration branch: [branch]\n\nSaved to .memory\u002Fgit-config.md. To change: edit the file or delete it.\n```\n\n**Medium confidence** — ask to confirm:\n\n```\nI detected a `develop` branch in the repository.\n\nWhich branching strategy does the project use?\n\n[G] GitFlow (features → develop)\n[T] Trunk-Based (features → main\u002Fmaster)\n```\n\n### Save config\n\nSave to `.memory\u002Fgit-config.md`:\n\n```markdown\n# Git Config\n\nBranching Strategy: [trunk-based|gitflow]\nIntegration Branch: [main|master|develop]\n```\n\n### Behavior by Strategy\n\n| Action | Trunk-Based | GitFlow |\n|--------|-------------|---------|\n| Branch created from | Integration Branch | Integration Branch (`develop`) |\n| PR target | Integration Branch | Integration Branch (`develop`) |\n| `next-task` returns to | Integration Branch | Integration Branch (`develop`) |\n","# Git Branch — Branch Management\n\n## Check Branching Strategy Config\n\n```bash\ncat .memory\u002Fgit-config.md 2>\u002Fdev\u002Fnull\n```\n\nIf `Branching Strategy` is filled in, use the configured strategy. The `detect-branching-strategy.sh` hook automatically seeds on `sessionStart`.\n\nIf the config has `Confidence: medium`, confirm with the dev before using (see Detect Branching Strategy section).\n\n## Check Git State\n\nBefore starting implementation:\n\n```bash\ngit branch --show-current\ngit status\ngit fetch origin\n```\n\n## Remote Synchronization\n\nIf on main\u002Fmaster\u002Fdevelop, check synchronization:\n\n```bash\ngit rev-list HEAD..origin\u002F\u003Cbranch> --count\n```\n\n| Situation | Action |\n|-----------|--------|\n| Branch behind (commits behind remote) | Alert and suggest pull |\n| Branch with uncommitted local changes | Alert about pending changes |\n| Branch up to date and clean | Proceed normally |\n\nIf the main branch is behind:\n\n```\nYour branch [main] is [N] commits behind the remote.\n\nI recommend updating before creating a new branch:\n\n[P] Pull and continue\n[I] Ignore and continue anyway (not recommended)\n[A] Abort implementation\n```\n\n## Evaluate Situation for Branch Creation\n\n| Situation | Action |\n|-----------|--------|\n| Already on a feature branch (not main\u002Fmaster\u002Fdevelop) | Use current branch |\n| On main\u002Fmaster\u002Fdevelop without changes **with work item** | Create branch automatically (see below) |\n| On main\u002Fmaster\u002Fdevelop without changes **without work item** | Ask if they want to create a branch |\n| On main\u002Fmaster\u002Fdevelop with changes | Alert and ask how to proceed |\n\n## Automatic Creation (when there is a work item)\n\nWhen the source of work is a GitHub issue or Azure DevOps work item, create the branch automatically.\n\n**Naming convention**:\n\n```\nfeature\u002F\u003Cid>-\u003Cshort-description>\n```\n\n**Rules for `\u003Cshort-description>`**:\n\n- Derived from the work item title\n- Lowercase letters, numbers, and hyphens only\n- Maximum 50 characters in the total branch name\n- Remove articles, prepositions, and unnecessary words\n\n**Examples**:\n\n| Work Item | Branch |\n|-----------|--------|\n| #42 \"Implement user authentication\" | `feature\u002F42-user-authentication` |\n| #108 \"Add rate limiting to API endpoints\" | `feature\u002F108-rate-limiting-api` |\n| WI 5678 \"Create financial reports endpoint\" | `feature\u002F5678-financial-reports-endpoint` |\n\n**Action**: Create branch and inform the user:\n\n```\nBranch created: feature\u002F\u003Cid>-\u003Cshort-description>\n\n[C] Continue with this branch\n[R] Rename branch: _\n```\n\nThe user can rename, but the flow does not block waiting for confirmation to create.\n\n## Interactive Creation (without work item)\n\nWhen the source is tasks.md (without issue\u002Fwork item), ask the user:\n\n```\nYou are on the main branch. Do you want me to create a branch for this implementation?\n\nSuggestion: feature\u002F\u003Cshort-description>\n\n[S] Yes, create suggested branch\n[N] No, continue on current branch\n[C] Create with another name: _\n```\n\n## Existing Branch\n\nIf the user is already on a feature branch, use the current branch without additional questions.\n\n## Detect Branching Strategy\n\nWhen `.memory\u002Fgit-config.md` does not exist or does not have `Branching Strategy`, detect automatically:\n\n```bash\n# 1. Default branch\nDEFAULT_BRANCH=$(git symbolic-ref refs\u002Fremotes\u002Forigin\u002FHEAD 2>\u002Fdev\u002Fnull | sed 's@^refs\u002Fremotes\u002Forigin\u002F@@')\n\n# 2. Does develop branch exist?\nHAS_DEVELOP=$(git ls-remote --heads origin develop 2>\u002Fdev\u002Fnull | grep -q develop && echo \"yes\" || echo \"no\")\n\n# 3. Do release\u002F* or hotfix\u002F* branches exist? (GitFlow pattern)\nHAS_GITFLOW_BRANCHES=$(git branch -r 2>\u002Fdev\u002Fnull | grep -qE '(release|hotfix)\u002F' && echo \"yes\" || echo \"no\")\n```\n\n### Detection rules\n\n| `develop` | `release\u002F*` or `hotfix\u002F*` | Strategy | Confidence | Action |\n|-----------|--------------------------|----------|------------|--------|\n| Yes | Yes | GitFlow | High | Save and inform |\n| Yes | No | GitFlow | Medium | Ask to confirm |\n| No | No | Trunk-Based | High | Save and inform |\n\n**High confidence** — save automatically and inform:\n\n```\nBranching strategy detected: [trunk-based|gitflow]\nIntegration branch: [branch]\n\nSaved to .memory\u002Fgit-config.md. To change: edit the file or delete it.\n```\n\n**Medium confidence** — ask to confirm:\n\n```\nI detected a `develop` branch in the repository.\n\nWhich branching strategy does the project use?\n\n[G] GitFlow (features → develop)\n[T] Trunk-Based (features → main\u002Fmaster)\n```\n\n### Save config\n\nSave to `.memory\u002Fgit-config.md`:\n\n```markdown\n# Git Config\n\nBranching Strategy: [trunk-based|gitflow]\nIntegration Branch: [main|master|develop]\n```\n\n### Behavior by Strategy\n\n| Action | Trunk-Based | GitFlow |\n|--------|-------------|---------|\n| Branch created from | Integration Branch | Integration Branch (`develop`) |\n| PR target | Integration Branch | Integration Branch (`develop`) |\n| `next-task` returns to | Integration Branch | Integration Branch (`develop`) |\n",{"name":5,"description":7},"main","fb93f96b64ff15238a7f20e7f611211ee0720fba",".github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Fgit-branch",12,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot","https:\u002F\u002Faka.ms\u002Fdevsquad-copilot","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-02 14:37:46",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add microsoft\u002Fdevsquad-copilot --skill git-branch",{"tool":47,"command":48},"bunx","bunx skills add microsoft\u002Fdevsquad-copilot --skill git-branch",{"tool":50,"command":51},"pnpm","pnpm dlx skills add microsoft\u002Fdevsquad-copilot --skill git-branch","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Fgit-branch\u002FSKILL.md",true,[],[56,76,86,97,115,134],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":26},"01M69BG4STFRJMC0FT9K81Y6W0","work-item-workflow","Work item workflow for implementation. Use when starting work on a GitHub issue or Azure DevOps work item to verify assignee, dependencies, priority, and capacity. Do not use for creating new work items (use work-item-creation), for suggesting the next task (use next-task), or when the work source is only tasks.md without an issue\u002Fwork item.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Fwork-item-workflow\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[68,69,70,71,72,73,74,75],"work item workflow","workflow","github","azure devops","capacity","azure","tasks","next task",{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":26},"01M69BG2HPKFCG18SYZA7W35AK","work-item-creation","Rules and checklist for creating work items on GitHub Issues or Azure DevOps. Use when you need to create issues, user stories, tasks, epics, or features on the board. Do not use for platform configuration (use board-config), managing workflow of existing tasks (use work-item-workflow), or for comments on work items.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Fwork-item-creation\u002FSKILL.md",[],[83,70,69,71,84,73,74,24,85],"work item creation","config","github issues",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":93,"publishedAt":26},"01M69BG04YGG1CR7MZWGQ7X9MG","triage-workflow","Label-based state machine for triaging issues and work items. Manages state transitions, generates durable triage artifacts, and supports resumable sessions. Use when triaging GitHub issues or Azure DevOps work items. Do not use for creating new work items from scratch (use work-item-creation) or for managing implementation workflow of already-triaged items (use work-item-workflow).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Ftriage-workflow\u002FSKILL.md",[92],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},[94,69,95,71,73,85,96,70],"triage workflow","triage","sessions",{"skillNo":98,"name":99,"nameZh":6,"description":100,"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":106,"publishedAt":26},"01M69BFXK0ZC2JZEERD6TFTQ8G","test-discipline","Testing practices for behavior-focused, refactor-resistant tests. Use when implementing features, fixing bugs, refactoring, or adding or reviewing tests to ensure they verify intent through public interfaces and avoid tautological assertions. Also use when adding regression tests after bug fixes. Consulted by the implement agent during coding and by the review agent when validating test quality. Do not use for test strategy decisions (use complexity-analysis), for failure triage and root-cause analysis (use debugging-recovery, then after root cause is localized use test-discipline to add the reproducing regression test and fix), or for integration test infrastructure setup.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Ftest-discipline\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000008","测试与质量",[107,108,109,110,111,95,112,113,114],"test discipline","test","testing","review","implement","setup","infrastructure","debugging",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":124,"publishedAt":26},"01M69BFTZDV68JM4CB1C9TGFD3","security-review","Security assessment workflow in two modes: architectural (design) and code (implementation). Use when a security trigger is detected during planning (architectural mode) or implementation\u002Freview (code mode). Covers STRIDE, OWASP, dependency scanning, Azure compliance, and GitHub security alerts. Do not use for general code quality (use devsquad.review), for threat modeling as a standalone activity, or for compliance audits.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Fsecurity-review\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000015","视觉设计",[125,126,110,127,69,128,129,130,70,73,131,25,132,133],"security review","security","threat modeling","security alerts","code quality","azure compliance","assessment","planning","design",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":26},"01M69BFRCVSVDN7RXAZJSSZ4TW","reasoning","Record decisions and justifications during SDD agent execution, and pass structured context between agents via handoff envelope. Use when an agent needs to document decisions made (Reasoning Log) or perform a handoff to another agent. Do not use for architecture documentation (use ADRs), complexity analysis (use complexity-analysis), or debug logs.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fdevsquad-copilot\u002Fblob\u002Fmain\u002F.github\u002Fplugins\u002Fdevsquad\u002Fskills\u002Freasoning\u002FSKILL.md",[],[136,141,142,143,144,145],"architecture","complexity analysis","documentation","debug","handoff"]