[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5Y19PTEW18791BKA70YYR":3,"skill-same:01M6C5Y19PTEW18791BKA70YYR":117},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6C5Y19PTEW18791BKA70YYR","git-coworker-check",null,"Detect coworker Claude agents in a shared checkout. Use when starting a session in a shared clone, before destructive git ops (stash, reset, checkout), or before bulk-edit \u002F commit-loop workflows.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",59,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"check","git","git coworker check","release","2026","when","parse","stash","detect","reset","rev","git ops","claim","default","checkout","bulk","shared","read","commit","Bash","workflows","ops","loop","use","session","2026-11-10 10:12:30",false,"---\nname: git-coworker-check\ndescription: \"Detect coworker Claude agents in a shared checkout. Use when starting a session in a shared clone, before destructive git ops (stash, reset, checkout), or before bulk-edit \u002F commit-loop workflows.\"\nargs: \"[--check | --claim | --release]\"\nargument-hint: \"[--claim | --release | --check (default)]\"\nallowed-tools: Bash(bash *), Bash(git status *), Bash(git stash *), Bash(git rev-parse *), Read, TodoWrite\ncreated: 2026-04-21\nmodified: 2026-11-04\nreviewed: 2026-05-19\n---\n\n# \u002Fgit:coworker-check\n\nDetect another agent working in the same repo clone and warn before\ndestructive operations that could destroy its uncommitted changes.\n\n## When to Use This Skill\n\n| Use this skill when... | Use a worktree instead when... |\n|------------------------|-------------------------------|\n| Session starts in a clone that may already be in use | You control the session and can enter a worktree (`EnterWorktree`, or `git worktree add .claude\u002Fworktrees\u002F\u003Ctask>`) |\n| About to run `git stash`, `git reset --hard`, `git checkout -- .` | You already know the working tree is yours alone |\n| `git status` shows files you don't remember touching | Baseline + markers are already confirming you are alone |\n| **Bulk-edit \u002F commit-loop fan-out** about to start (per-plugin, per-package commits across many subdirectories) | Each iteration is already isolated in its own worktree |\n| A collision already happened and you need to recover | See [REFERENCE.md](REFERENCE.md) — Recovery section |\n\nSignal design — what each signal survives and where it goes blind — is in\n[REFERENCE.md](REFERENCE.md) § Signal design. The always-loaded response rules\nare `.claude\u002Frules\u002Fagent-coworker-detection.md`.\n\n## Bulk-edit \u002F commit-loop precondition\n\nBulk-edit and commit-loop workflows (`git-commit-workflow` \"Bulk-edit \u002F per-plugin commit loops\", per-package release-please loops, mass refactors) **MUST** run this check **up front, before staging any files** — not opportunistically partway through.\n\n**Why front-loaded, not opportunistic:** a mid-loop check lets whichever session looks first win. Field scenario: [references\u002Ffield-evidence.md § Why the check is front-loaded](references\u002Ffield-evidence.md#why-the-check-is-front-loaded).\n\nThe rule: **the orchestrator stops before fan-out if the playing field is contended.** Mid-loop checks let \"the agent who happens to look first wins\" — which is non-deterministic and produces misleading commit histories.\n\n| Verdict from up-front check | What to do |\n|-----------------------------|-----------|\n| `clear` | Proceed with the bulk-edit \u002F commit loop |\n| `drift_detected` | Inspect the new files. If they are yours from earlier in the session, proceed with explicit paths. If unknown, stop and ask. |\n| `worktree_leak_suspected` | A child worktree-isolated agent is leaking an untracked file into the parent (issue #1319). **Do not stage or stash the matching path.** Wait for the child's commit, then re-run the check before continuing. |\n| `bare_flip_suspected` | The shared checkout was flipped to `core.bare=true`, or a leaked `GIT_DIR` \u002F `GIT_WORK_TREE` env points away from the repo (issue #1692). **Stop and recover** before any further git ops — see the Recovery section. Do not start the loop. |\n| `coworker_detected` | **Stop.** Recommend a fresh isolated worktree under `\u003Crepo>\u002F.claude\u002Fworktrees\u002F\u003Ctask>` (`EnterWorktree` for the session's own repo), or wait for the other session to finish. Do not start the loop. |\n\nFor a worked example of the \"stop and inspect\" branch (#1277), see [references\u002Ffield-evidence.md](references\u002Ffield-evidence.md).\n\n## Context\n\n- Repo root: !`git rev-parse --show-toplevel`\n- Git dir: !`git rev-parse --git-dir`\n- Current status: !`git status --porcelain=v2 --branch`\n- Stash count: !`git stash list`\n- Existing markers: !`find . -path '.\u002F.git\u002F.claude-session-*' -maxdepth 3`\n\n## Parameters\n\nParse `$ARGUMENTS` for the mode flag. Default is `--check`.\n\n| Flag | Action |\n|------|--------|\n| `--check` (default) | Run detection. Report verdict without writing anything. |\n| `--claim` | Write a session marker and baseline snapshot for this session. Run at session start. |\n| `--release` | Remove this session's marker and baseline files. Run on session exit. |\n\n## Execution\n\nExecute this detection workflow:\n\n### Step 1: Resolve mode\n\nInspect `$ARGUMENTS`. If it contains `--claim`, go to Step 2a. If it contains `--release`, go to Step 2b. Otherwise (including empty), go to Step 3.\n\n### Step 2a: Claim (write marker + baseline)\n\nRun:\n\n```\nbash ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fclaim-session.sh --project-dir \"$(pwd)\"\n```\n\nReport the three file paths printed. These are the marker and baseline files — do not commit or delete them. They live inside `.git\u002F` and are not tracked.\n\nStop here.\n\n### Step 2b: Release (remove marker + baseline)\n\nRun:\n\n```\nbash ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Frelease-session.sh --project-dir \"$(pwd)\"\n```\n\nNo output is expected. Stop here.\n\n### Step 3: Detect coworkers\n\nLook up the current session's baseline files (if `--claim` was run earlier this session). Then run detection. Pass `--self-agent claude-${CLAUDE_SESSION_ID:0:8}` so taskwarrior claims by this same session are reported as `OWN_CLAIM_*` rather than counted as coworkers:\n\n```\nbash ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fdetect-coworkers.sh \\\n  --project-dir \"$(pwd)\" \\\n  --self-agent claude-${CLAUDE_SESSION_ID:0:8} \\\n  --baseline-status .git\u002F.claude-baseline-$$.status \\\n  --baseline-stash .git\u002F.claude-baseline-$$.stash\n```\n\nIf no `--claim` was run, omit the `--baseline-*` flags — drift detection will return `unknown` but marker, process, and taskwarrior signals still work.\n\nThe taskwarrior signal is best-effort: when `task` or `jq` is not on `PATH`, the script reports `TW_SCAN_METHOD=unavailable` and the verdict falls back to the three git-side signals.\n\n### Step 4: Interpret the verdict\n\nParse the `VERDICT=` line from the script's output:\n\n| Verdict | Meaning | Action |\n|---------|---------|--------|\n| `clear` | No coworker detected | Proceed; still prefer explicit `git add \u003Cpaths>` over `git add -A` |\n| `drift_detected` | Files appeared since baseline but no other process\u002Fmarker\u002Fclaim found | Inspect `NEW_STATUS_LINES` — may be coworker or may be a forgotten earlier edit. Ask the user before stashing. |\n| `worktree_leak_suspected` | Untracked file in parent matches a path held by a linked worktree (issue #1319) | **Do not stash or commit** the matching path. Wait for the child worktree's commit to reclaim it. Avoid committing on the parent branch until child agents are done. |\n| `bare_flip_suspected` | `CORE_BARE=true` on a shared working checkout, or a `LEAKED_GIT_DIR` \u002F `LEAKED_GIT_WORK_TREE` env points away from the repo (issue #1692) | **Stop and recover.** Flip `core.bare` back to false and\u002For unset the leaked env before any further git ops — see [Recovery](#recovery). Recover any wiped untracked work from the reflog \u002F agent worktree branches. |\n| `coworker_detected` | Another agent\u002Fprocess\u002Ftaskwarrior claim is active in this clone | **Do not stash, restore, or reset.** Report the `MARKER_PID` \u002F `PROC_PID` \u002F `TW_CLAIM_*` entries. Recommend the user switch to a worktree. |\n\nThe six signals are independent — any one of `MARKER_COUNT > 0`, `PROC_COUNT > 0`, or `TW_CLAIM_COUNT > 0` raises `coworker_detected`. A non-zero `WORKTREE_LEAK_COUNT` on its own raises `worktree_leak_suspected`, and a non-zero `BARE_FLIP_COUNT` raises `bare_flip_suspected` (ranked first, since a bare flip breaks git for every linked worktree). `OWN_CLAIM_*` lines are this session's own taskwarrior claims and do not contribute to the count.\n\n### Step 5: Report findings\n\nPrint a short summary:\n\n1. Verdict\n2. Count of markers + processes + drift entries\n3. If non-clear, the specific PIDs or changed files\n4. Recommended next action (worktree, ask user, proceed with explicit paths)\n\n## Post-actions\n\n- On `drift_detected` or `coworker_detected`: do not run `git stash`, `git reset --hard`, `git checkout -- .`, or `git clean` in this session. Stage only explicit paths.\n- Suggest a clean isolated checkout: `EnterWorktree` for the session's own repo, or `git -C \u003Crepo> worktree add -b \u003Cbranch> \u003Crepo>\u002F.claude\u002Fworktrees\u002F\u003Ctask> origin\u002Fmain` for another repo. `hooks-plugin`'s `worktree-location-guard.sh` denies paths outside `.claude\u002Fworktrees\u002F`.\n\n## Integration\n\nBulk-edit \u002F commit-loop skills invoke this **before staging any files**. For the SlashCommand snippet other skills use, and where hook-based enforcement belongs, see [references\u002Fintegration.md](references\u002Fintegration.md).\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Cheapest detection (no baseline) | `bash scripts\u002Fdetect-coworkers.sh --project-dir \"$(pwd)\"` |\n| Full detection with drift | Add `--baseline-status` + `--baseline-stash` from a `--claim` run |\n| One-line verdict check | `... \\| awk -F= '\u002F^VERDICT=\u002F {print $2}'` |\n\n## Recovery\n\nWhen detection failed to prevent a collision, or the verdict is `bare_flip_suspected`, read [references\u002Frecovery.md](references\u002Frecovery.md) before any further git op: symptom triage, bare-flip \u002F leaked `GIT_DIR` recovery (#1692), and commit-early guidance.\n\n## Related Skills\n\nSkills that invoke this check, and its taskwarrior sister skills: [references\u002Fintegration.md § Related Skills](references\u002Fintegration.md#related-skills).\n","# \u002Fgit:coworker-check\n\nDetect another agent working in the same repo clone and warn before\ndestructive operations that could destroy its uncommitted changes.\n\n## When to Use This Skill\n\n| Use this skill when... | Use a worktree instead when... |\n|------------------------|-------------------------------|\n| Session starts in a clone that may already be in use | You control the session and can enter a worktree (`EnterWorktree`, or `git worktree add .claude\u002Fworktrees\u002F\u003Ctask>`) |\n| About to run `git stash`, `git reset --hard`, `git checkout -- .` | You already know the working tree is yours alone |\n| `git status` shows files you don't remember touching | Baseline + markers are already confirming you are alone |\n| **Bulk-edit \u002F commit-loop fan-out** about to start (per-plugin, per-package commits across many subdirectories) | Each iteration is already isolated in its own worktree |\n| A collision already happened and you need to recover | See [REFERENCE.md](REFERENCE.md) — Recovery section |\n\nSignal design — what each signal survives and where it goes blind — is in\n[REFERENCE.md](REFERENCE.md) § Signal design. The always-loaded response rules\nare `.claude\u002Frules\u002Fagent-coworker-detection.md`.\n\n## Bulk-edit \u002F commit-loop precondition\n\nBulk-edit and commit-loop workflows (`git-commit-workflow` \"Bulk-edit \u002F per-plugin commit loops\", per-package release-please loops, mass refactors) **MUST** run this check **up front, before staging any files** — not opportunistically partway through.\n\n**Why front-loaded, not opportunistic:** a mid-loop check lets whichever session looks first win. Field scenario: [references\u002Ffield-evidence.md § Why the check is front-loaded](references\u002Ffield-evidence.md#why-the-check-is-front-loaded).\n\nThe rule: **the orchestrator stops before fan-out if the playing field is contended.** Mid-loop checks let \"the agent who happens to look first wins\" — which is non-deterministic and produces misleading commit histories.\n\n| Verdict from up-front check | What to do |\n|-----------------------------|-----------|\n| `clear` | Proceed with the bulk-edit \u002F commit loop |\n| `drift_detected` | Inspect the new files. If they are yours from earlier in the session, proceed with explicit paths. If unknown, stop and ask. |\n| `worktree_leak_suspected` | A child worktree-isolated agent is leaking an untracked file into the parent (issue #1319). **Do not stage or stash the matching path.** Wait for the child's commit, then re-run the check before continuing. |\n| `bare_flip_suspected` | The shared checkout was flipped to `core.bare=true`, or a leaked `GIT_DIR` \u002F `GIT_WORK_TREE` env points away from the repo (issue #1692). **Stop and recover** before any further git ops — see the Recovery section. Do not start the loop. |\n| `coworker_detected` | **Stop.** Recommend a fresh isolated worktree under `\u003Crepo>\u002F.claude\u002Fworktrees\u002F\u003Ctask>` (`EnterWorktree` for the session's own repo), or wait for the other session to finish. Do not start the loop. |\n\nFor a worked example of the \"stop and inspect\" branch (#1277), see [references\u002Ffield-evidence.md](references\u002Ffield-evidence.md).\n\n## Context\n\n- Repo root: !`git rev-parse --show-toplevel`\n- Git dir: !`git rev-parse --git-dir`\n- Current status: !`git status --porcelain=v2 --branch`\n- Stash count: !`git stash list`\n- Existing markers: !`find . -path '.\u002F.git\u002F.claude-session-*' -maxdepth 3`\n\n## Parameters\n\nParse `$ARGUMENTS` for the mode flag. Default is `--check`.\n\n| Flag | Action |\n|------|--------|\n| `--check` (default) | Run detection. Report verdict without writing anything. |\n| `--claim` | Write a session marker and baseline snapshot for this session. Run at session start. |\n| `--release` | Remove this session's marker and baseline files. Run on session exit. |\n\n## Execution\n\nExecute this detection workflow:\n\n### Step 1: Resolve mode\n\nInspect `$ARGUMENTS`. If it contains `--claim`, go to Step 2a. If it contains `--release`, go to Step 2b. Otherwise (including empty), go to Step 3.\n\n### Step 2a: Claim (write marker + baseline)\n\nRun:\n\n```\nbash ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fclaim-session.sh --project-dir \"$(pwd)\"\n```\n\nReport the three file paths printed. These are the marker and baseline files — do not commit or delete them. They live inside `.git\u002F` and are not tracked.\n\nStop here.\n\n### Step 2b: Release (remove marker + baseline)\n\nRun:\n\n```\nbash ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Frelease-session.sh --project-dir \"$(pwd)\"\n```\n\nNo output is expected. Stop here.\n\n### Step 3: Detect coworkers\n\nLook up the current session's baseline files (if `--claim` was run earlier this session). Then run detection. Pass `--self-agent claude-${CLAUDE_SESSION_ID:0:8}` so taskwarrior claims by this same session are reported as `OWN_CLAIM_*` rather than counted as coworkers:\n\n```\nbash ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fdetect-coworkers.sh \\\n  --project-dir \"$(pwd)\" \\\n  --self-agent claude-${CLAUDE_SESSION_ID:0:8} \\\n  --baseline-status .git\u002F.claude-baseline-$$.status \\\n  --baseline-stash .git\u002F.claude-baseline-$$.stash\n```\n\nIf no `--claim` was run, omit the `--baseline-*` flags — drift detection will return `unknown` but marker, process, and taskwarrior signals still work.\n\nThe taskwarrior signal is best-effort: when `task` or `jq` is not on `PATH`, the script reports `TW_SCAN_METHOD=unavailable` and the verdict falls back to the three git-side signals.\n\n### Step 4: Interpret the verdict\n\nParse the `VERDICT=` line from the script's output:\n\n| Verdict | Meaning | Action |\n|---------|---------|--------|\n| `clear` | No coworker detected | Proceed; still prefer explicit `git add \u003Cpaths>` over `git add -A` |\n| `drift_detected` | Files appeared since baseline but no other process\u002Fmarker\u002Fclaim found | Inspect `NEW_STATUS_LINES` — may be coworker or may be a forgotten earlier edit. Ask the user before stashing. |\n| `worktree_leak_suspected` | Untracked file in parent matches a path held by a linked worktree (issue #1319) | **Do not stash or commit** the matching path. Wait for the child worktree's commit to reclaim it. Avoid committing on the parent branch until child agents are done. |\n| `bare_flip_suspected` | `CORE_BARE=true` on a shared working checkout, or a `LEAKED_GIT_DIR` \u002F `LEAKED_GIT_WORK_TREE` env points away from the repo (issue #1692) | **Stop and recover.** Flip `core.bare` back to false and\u002For unset the leaked env before any further git ops — see [Recovery](#recovery). Recover any wiped untracked work from the reflog \u002F agent worktree branches. |\n| `coworker_detected` | Another agent\u002Fprocess\u002Ftaskwarrior claim is active in this clone | **Do not stash, restore, or reset.** Report the `MARKER_PID` \u002F `PROC_PID` \u002F `TW_CLAIM_*` entries. Recommend the user switch to a worktree. |\n\nThe six signals are independent — any one of `MARKER_COUNT > 0`, `PROC_COUNT > 0`, or `TW_CLAIM_COUNT > 0` raises `coworker_detected`. A non-zero `WORKTREE_LEAK_COUNT` on its own raises `worktree_leak_suspected`, and a non-zero `BARE_FLIP_COUNT` raises `bare_flip_suspected` (ranked first, since a bare flip breaks git for every linked worktree). `OWN_CLAIM_*` lines are this session's own taskwarrior claims and do not contribute to the count.\n\n### Step 5: Report findings\n\nPrint a short summary:\n\n1. Verdict\n2. Count of markers + processes + drift entries\n3. If non-clear, the specific PIDs or changed files\n4. Recommended next action (worktree, ask user, proceed with explicit paths)\n\n## Post-actions\n\n- On `drift_detected` or `coworker_detected`: do not run `git stash`, `git reset --hard`, `git checkout -- .`, or `git clean` in this session. Stage only explicit paths.\n- Suggest a clean isolated checkout: `EnterWorktree` for the session's own repo, or `git -C \u003Crepo> worktree add -b \u003Cbranch> \u003Crepo>\u002F.claude\u002Fworktrees\u002F\u003Ctask> origin\u002Fmain` for another repo. `hooks-plugin`'s `worktree-location-guard.sh` denies paths outside `.claude\u002Fworktrees\u002F`.\n\n## Integration\n\nBulk-edit \u002F commit-loop skills invoke this **before staging any files**. For the SlashCommand snippet other skills use, and where hook-based enforcement belongs, see [references\u002Fintegration.md](references\u002Fintegration.md).\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Cheapest detection (no baseline) | `bash scripts\u002Fdetect-coworkers.sh --project-dir \"$(pwd)\"` |\n| Full detection with drift | Add `--baseline-status` + `--baseline-stash` from a `--claim` run |\n| One-line verdict check | `... \\| awk -F= '\u002F^VERDICT=\u002F {print $2}'` |\n\n## Recovery\n\nWhen detection failed to prevent a collision, or the verdict is `bare_flip_suspected`, read [references\u002Frecovery.md](references\u002Frecovery.md) before any further git op: symptom triage, bare-flip \u002F leaked `GIT_DIR` recovery (#1692), and commit-early guidance.\n\n## Related Skills\n\nSkills that invoke this check, and its taskwarrior sister skills: [references\u002Fintegration.md § Related Skills](references\u002Fintegration.md#related-skills).\n",{"args":49,"name":5,"created":50,"modified":51,"reviewed":52,"description":7,"allowed-tools":53,"argument-hint":54},"[--check | --claim | --release]",1776729600000,1793750400000,1779148800000,"Bash(bash *), Bash(git status *), Bash(git stash *), Bash(git rev-parse *), Read, TodoWrite","[--claim | --release | --check (default)]","main","0f16c3d5530537790787dc648f3e78f5f32b1825","git-plugin\u002Fskills\u002Fgit-coworker-check",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-13 03:22:01",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add laurigates\u002Fclaude-plugins --skill git-coworker-check",{"tool":69,"command":70},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill git-coworker-check",{"tool":72,"command":73},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill git-coworker-check","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002FSKILL.md",true,[77,83,87,91,95,101,105,109,113],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"REFERENCE.md","REFERENCE","参考文档",20154,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002FREFERENCE.md",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002Ffield-evidence.md",2124,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Freferences\u002Ffield-evidence.md",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"references\u002Fintegration.md",1399,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Freferences\u002Fintegration.md",{"path":92,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Frecovery.md",3598,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Freferences\u002Frecovery.md",{"path":96,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fclaim-session.sh","SCRIPT","脚本",1418,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Fscripts\u002Fclaim-session.sh",{"path":102,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Fdetect-coworkers.sh",13803,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Fscripts\u002Fdetect-coworkers.sh",{"path":106,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Frelease-session.sh",676,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Fscripts\u002Frelease-session.sh",{"path":110,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":111,"sourceHtmlUrl":112},"scripts\u002Ftests\u002Ftest-bare-flip.sh",3874,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Fscripts\u002Ftests\u002Ftest-bare-flip.sh",{"path":114,"resourceType":97,"resourceTypeDesc":98,"sizeBytes":115,"sourceHtmlUrl":116},"scripts\u002Ftests\u002Ftest-worktree-leak.sh",4670,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fgit-plugin\u002Fskills\u002Fgit-coworker-check\u002Fscripts\u002Ftests\u002Ftest-worktree-leak.sh",[118,145,165,181,203,233],{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":129,"publishedAt":44},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[124],{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[130,131,132,133,134,135,136,137,138,139,42,24,38,140,141,142,143,144,23,36],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":44},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[133,152,43,153,154,155,24,38,156,157,158,23,36,159,160,161,162,163,164,42],"kitty session persistence","persistence","false","snapshots","uname","reboot","terminal","write","edit","snapshot","macos","sessions","restore",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":44},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[172,173,133,174,175,135,176,177,136,178,179,42,24,180,38,141,142,158,23,36],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"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":44},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[188,19,189,190,191,192,193,194,195,196,42,24,38,197,140,198,199,200,201,202],"docs reference check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":218,"publishedAt":44},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[209,212,213],{"categoryNo":210,"categoryName":211,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},{"categoryNo":214,"categoryName":215,"taxonomyType":216,"taxonomyTypeDesc":217},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[219,220,221,222,193,223,36,224,160,225,226,227,42,38,140,228,229,24,230,231,232,144,23],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":234,"name":235,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":242,"publishedAt":44},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[239],{"categoryNo":240,"categoryName":241,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000023","Skill与智能体开发",[243,244,245,246,221,222,247,248,249,250,251,36,252,253,254,255,42,256,24,142,257,23],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]