[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71EJ3KSZ1J9BCHGETP1YTK9":3,"skill-same:01M71EJ3KSZ1J9BCHGETP1YTK9":72},{"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":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71EJ3KSZ1J9BCHGETP1YTK9","git-worktree",null,"Create an isolated git worktree for parallel feature work or PR review. Use when starting work that should not disturb the current checkout, or when `gh:work` or `gh:review` offers a worktree option.","JGXC100\u002FGaleHarnessCodingCLI","JGXC100","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F11926809?v=4","01M71EEBHJ3EGYSNNDDSVDKXNG","JGX","01M71EEBJ995S5J2HDEQCBA268",0,"MIT","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Fplugins\u002Fgaleharness-cli\u002Fskills\u002Fgit-worktree\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"git","worktree","git worktree","option","gh:work","gh:review","when","for","manager","checkout","feature","use","work","review","parallel","gh","Bash","create","pr","pr review","2026-11-10 10:12:30",false,"---\nname: git-worktree\ndescription: Create an isolated git worktree for parallel feature work or PR review. Use when starting work that should not disturb the current checkout, or when `gh:work` or `gh:review` offers a worktree option.\nallowed-tools: Bash(bash *worktree-manager.sh)\n---\n\n# Worktree Creation\n\nCreate a worktree under `.worktrees\u002F\u003Cbranch>` with branch-specific setup that `git worktree add` alone does not handle:\n\n- Copies `.env`, `.env.local`, `.env.test`, etc. from the main repo (skips `.env.example`)\n- Trusts `mise`\u002F`direnv` configs, with branch-aware safety rules so review branches do not auto-grant trust to untrusted `.envrc` content\n- Adds `.worktrees` to `.gitignore` if not already ignored\n- Does not modify the main repo checkout — `from-branch` is fetched, not checked out\n\n## Creating a worktree\n\nInvoke the bundled script via the runtime Bash tool. On Claude Code, `${CLAUDE_SKILL_DIR}` resolves to the skill's own directory across both marketplace-cached installs and `claude --plugin-dir` local development; the runtime Bash tool's CWD is the user's project, not the skill directory, so a bare `bash scripts\u002Fworktree-manager.sh` fails. On other targets (Codex, Gemini, Pi, etc.) `${CLAUDE_SKILL_DIR}` is unset and the `:-.` fallback yields the bare relative path those harnesses expect.\n\n```bash\nbash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create \u003Cbranch-name> [from-branch]\n```\n\nDefaults:\n- `from-branch` defaults to origin's default branch (or `main` if that cannot be resolved)\n- The new branch is created at `origin\u002F\u003Cfrom-branch>` (or the local ref if the remote is unavailable)\n\nExamples:\n```bash\nbash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create feat\u002Flogin\nbash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create fix\u002Femail-validation develop\n```\n\nAfter creation, switch to the worktree with `cd .worktrees\u002F\u003Cbranch-name>`.\n\n## Other worktree operations\n\nUse `git` directly — no wrapper is needed and none is provided:\n\n```bash\ngit worktree list                          # list worktrees\ngit worktree remove .worktrees\u002F\u003Cbranch>    # remove a worktree\ncd .worktrees\u002F\u003Cbranch>                     # switch to a worktree\ncd \"$(git rev-parse --show-toplevel)\"      # return to main checkout\n```\n\nTo copy `.env*` files into an existing worktree created without them, run this from the main repo (not from inside the worktree, since branch names often contain slashes like `feat\u002Flogin`):\n```bash\ncp .env* .worktrees\u002F\u003Cbranch>\u002F\n```\n\n## Dev tool trust behavior\n\nWhen mise or direnv configs are present, the script attempts to trust them so hooks and scripts do not block on interactive prompts. Trust is baseline-checked against a reference branch:\n\n- **Trusted base branches** (`main`, `develop`, `dev`, `trunk`, `staging`, `release\u002F*`): the new worktree's configs are compared against that branch; unchanged configs are auto-trusted. `direnv allow` is permitted.\n- **Other branches** (feature branches, PR review branches): configs are compared against the default branch; `direnv allow` is skipped regardless, because `.envrc` can source files that direnv does not validate.\n\nModified configs are never auto-trusted. The script prints the manual trust command to run after review.\n\n## When to create a worktree\n\nCreate a worktree when:\n- Reviewing a PR while keeping the main checkout free for other work\n- Running multiple features in parallel without branch-switching overhead\n- Keeping the default branch free of in-progress state\n\nDo not create a worktree for single-task work that can happen on a branch in the main checkout.\n\n## Integration\n\n`gh:work` and `gh:review` offer this skill as an option. When the user selects \"worktree\" in those flows, invoke `bash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create \u003Cbranch>` with a meaningful branch name derived from the work description (e.g., `feat\u002Fcrowd-sniff`, `fix\u002Femail-validation`). Avoid auto-generated names like `worktree-jolly-beaming-raven` that obscure the work.\n\n## Troubleshooting\n\n**\"Worktree already exists\"**: the path is already in use. Either switch to it (`cd .worktrees\u002F\u003Cbranch>`) or remove it (`git worktree remove .worktrees\u002F\u003Cbranch>`) before recreating.\n\n**\"Cannot remove worktree: it is the current worktree\"**: `cd` out of the worktree first, then `git worktree remove`.\n\n**Dev tool trust was skipped**: the script prints the manual command. Review the config diff (`git diff \u003Cbase-ref> -- .envrc`), then run the printed command from the worktree directory.\n","# Worktree Creation\n\nCreate a worktree under `.worktrees\u002F\u003Cbranch>` with branch-specific setup that `git worktree add` alone does not handle:\n\n- Copies `.env`, `.env.local`, `.env.test`, etc. from the main repo (skips `.env.example`)\n- Trusts `mise`\u002F`direnv` configs, with branch-aware safety rules so review branches do not auto-grant trust to untrusted `.envrc` content\n- Adds `.worktrees` to `.gitignore` if not already ignored\n- Does not modify the main repo checkout — `from-branch` is fetched, not checked out\n\n## Creating a worktree\n\nInvoke the bundled script via the runtime Bash tool. On Claude Code, `${CLAUDE_SKILL_DIR}` resolves to the skill's own directory across both marketplace-cached installs and `claude --plugin-dir` local development; the runtime Bash tool's CWD is the user's project, not the skill directory, so a bare `bash scripts\u002Fworktree-manager.sh` fails. On other targets (Codex, Gemini, Pi, etc.) `${CLAUDE_SKILL_DIR}` is unset and the `:-.` fallback yields the bare relative path those harnesses expect.\n\n```bash\nbash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create \u003Cbranch-name> [from-branch]\n```\n\nDefaults:\n- `from-branch` defaults to origin's default branch (or `main` if that cannot be resolved)\n- The new branch is created at `origin\u002F\u003Cfrom-branch>` (or the local ref if the remote is unavailable)\n\nExamples:\n```bash\nbash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create feat\u002Flogin\nbash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create fix\u002Femail-validation develop\n```\n\nAfter creation, switch to the worktree with `cd .worktrees\u002F\u003Cbranch-name>`.\n\n## Other worktree operations\n\nUse `git` directly — no wrapper is needed and none is provided:\n\n```bash\ngit worktree list                          # list worktrees\ngit worktree remove .worktrees\u002F\u003Cbranch>    # remove a worktree\ncd .worktrees\u002F\u003Cbranch>                     # switch to a worktree\ncd \"$(git rev-parse --show-toplevel)\"      # return to main checkout\n```\n\nTo copy `.env*` files into an existing worktree created without them, run this from the main repo (not from inside the worktree, since branch names often contain slashes like `feat\u002Flogin`):\n```bash\ncp .env* .worktrees\u002F\u003Cbranch>\u002F\n```\n\n## Dev tool trust behavior\n\nWhen mise or direnv configs are present, the script attempts to trust them so hooks and scripts do not block on interactive prompts. Trust is baseline-checked against a reference branch:\n\n- **Trusted base branches** (`main`, `develop`, `dev`, `trunk`, `staging`, `release\u002F*`): the new worktree's configs are compared against that branch; unchanged configs are auto-trusted. `direnv allow` is permitted.\n- **Other branches** (feature branches, PR review branches): configs are compared against the default branch; `direnv allow` is skipped regardless, because `.envrc` can source files that direnv does not validate.\n\nModified configs are never auto-trusted. The script prints the manual trust command to run after review.\n\n## When to create a worktree\n\nCreate a worktree when:\n- Reviewing a PR while keeping the main checkout free for other work\n- Running multiple features in parallel without branch-switching overhead\n- Keeping the default branch free of in-progress state\n\nDo not create a worktree for single-task work that can happen on a branch in the main checkout.\n\n## Integration\n\n`gh:work` and `gh:review` offer this skill as an option. When the user selects \"worktree\" in those flows, invoke `bash \"${CLAUDE_SKILL_DIR:-.}\u002Fscripts\u002Fworktree-manager.sh\" create \u003Cbranch>` with a meaningful branch name derived from the work description (e.g., `feat\u002Fcrowd-sniff`, `fix\u002Femail-validation`). Avoid auto-generated names like `worktree-jolly-beaming-raven` that obscure the work.\n\n## Troubleshooting\n\n**\"Worktree already exists\"**: the path is already in use. Either switch to it (`cd .worktrees\u002F\u003Cbranch>`) or remove it (`git worktree remove .worktrees\u002F\u003Cbranch>`) before recreating.\n\n**\"Cannot remove worktree: it is the current worktree\"**: `cd` out of the worktree first, then `git worktree remove`.\n\n**Dev tool trust was skipped**: the script prints the manual command. Review the config diff (`git diff \u003Cbase-ref> -- .envrc`), then run the printed command from the worktree directory.\n",{"name":5,"description":7,"allowed-tools":44},"Bash(bash *worktree-manager.sh)","main","94fc651a7c5ff227f3e8f4b9678dc4566f535677","plugins\u002Fgaleharness-cli\u002Fskills\u002Fgit-worktree",2,"https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI","https:\u002F\u002Fgithub.com\u002FJGXC100","2026-05-19 17:04:59",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add JGXC100\u002FGaleHarnessCodingCLI --skill git-worktree",{"tool":58,"command":59},"bunx","bunx skills add JGXC100\u002FGaleHarnessCodingCLI --skill git-worktree",{"tool":61,"command":62},"pnpm","pnpm dlx skills add JGXC100\u002FGaleHarnessCodingCLI --skill git-worktree","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Fplugins\u002Fgaleharness-cli\u002Fskills\u002Fgit-worktree\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002Fworktree-manager.sh","SCRIPT","脚本",7638,"https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Fplugins\u002Fgaleharness-cli\u002Fskills\u002Fgit-worktree\u002Fscripts\u002Fworktree-manager.sh",[73,89,103,115,123,131],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":39},"01M71EJT9M91X2T91N4ZPCWHN3","skill-one","Sample skill","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fsample-plugin\u002Fskills\u002Fskill-one\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[85,86,87,88],"skill one","one","sample skill","sample",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":96,"publishedAt":39},"01M71EJRH7M0DGZ1QXJ9PSFMB5","disabled-skill","A skill with model invocation disabled","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fsample-plugin\u002Fskills\u002Fdisabled-skill\u002FSKILL.md",[95],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[97,98,99,100,101,102],"disabled skill","a skill","with model","with","true","model",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":39},"01M71EJQMRH6JC9H9V5BQWM7RJ","claude-only-skill","A skill restricted to Claude Code only","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fsample-plugin\u002Fskills\u002Fclaude-only-skill\u002FSKILL.md",[109],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},[111,112,113,114,98],"only","claude only skill","claude only","code",{"skillNo":116,"name":117,"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":118,"categories":119,"keywords":120,"publishedAt":39},"01M71EJPXZ0644M41M587FVKYQ","default-skill","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcustom-paths\u002Fskills\u002Fdefault-skill\u002FSKILL.md",[],[121,122],"default skill","default",{"skillNo":124,"name":125,"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":126,"categories":127,"keywords":128,"publishedAt":39},"01M71EJP6RPF6PDAJ2SY4VMBDT","custom-skill","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fcustom-paths\u002Fcustom-skills\u002Fcustom-skill\u002FSKILL.md",[],[129,130],"custom skill","custom",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":140,"publishedAt":39},"01M71EJK74AZ929S8GF55G5CDV","test-xcode","Build and test iOS apps on simulator using XcodeBuildMCP. Use after making iOS code changes, before creating a PR, or when verifying app behavior and checking for crashes on simulator.","https:\u002F\u002Fgithub.com\u002FJGXC100\u002FGaleHarnessCodingCLI\u002Fblob\u002Fmain\u002Fplugins\u002Fgaleharness-cli\u002Fskills\u002Ftest-xcode\u002FSKILL.md",[137],{"categoryNo":138,"categoryName":139,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000008","测试与质量",[141,142,143,144,145,146,37,26,122,101,147,30,148,25,114,149,150,151,152,153],"test","xcode","test xcode","apps","app","build and test","xcodebuildmcp","scheme","changes","build","ios","name","behavior"]