[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5MWCQ64YQSCSF5XM99986":3,"skill-same:01M6C5MWCQ64YQSCSF5XM99986":102},{"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":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6C5MWCQ64YQSCSF5XM99986","config-sync",null,"Config sync across FVH repos: extract, diff, propagate tooling improvements. Use when syncing workflows or configs across multiple repos.","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\u002Fconfigure-plugin\u002Fskills\u002Fconfig-sync\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,44,45,46],"sync","config","config sync","2026","workflows","when","mode","sep","propagate","fd","across","pattern","options","wed","tooling","diff","use","extract","edit","write","read","repo","grep","gh","Bash","file","git","repos","2026-11-10 10:12:30",false,"---\nname: config-sync\ndescription: \"Config sync across FVH repos: extract, diff, propagate tooling improvements. Use when syncing workflows or configs across multiple repos.\"\nallowed-tools: Bash(git *), Bash(gh *), Bash(fd *), Bash(rg *), Bash(diff *), Bash(sha256sum *), Bash(shasum *), Read, Grep, Glob, Edit, Write, TodoWrite, AskUserQuestion\nargs: \u003Cmode> [options]\nargument-hint: \"extract [repo]|diff \u003Cfile-pattern>|apply \u003Cfile-pattern> [--from repo] [--to repos|--all]\"\ncreated: 2026-02-21\nmodified: 2026-10-05\nreviewed: 2026-09-02\n---\n\n# \u002Fconfigure:config-sync\n\nExtract, compare, and propagate tooling config improvements across FVH repos.\n\n## When to Use This Skill\n\n| Use this skill when... | Use another approach when... |\n|------------------------|------------------------------|\n| Comparing a workflow\u002Fconfig across all FVH repos | Configuring a single repo's workflow from scratch — use `\u002Fconfigure:workflows` |\n| Propagating an improvement from one repo to many | Debugging a failing CI run — use `github-actions-inspection` |\n| Identifying which repos have outdated configs | Creating a reusable workflow — use `\u002Fconfigure:reusable-workflows` |\n| Extracting novel patterns from a repo to share | Checking a single repo's compliance — use `\u002Fconfigure:status` |\n\n## Context\n\n- Workspace root: `\u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki`\n- Repos: !`fd -t d -d 1 . \u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki --exclude .git --exclude node_modules`\n- Current directory: !`pwd`\n\n## Parameters\n\nParse mode and options from command arguments:\n\n### Modes\n\n1. **`extract [repo-name]`** — Identify improvements in a source repo\n2. **`diff \u003Cfile-pattern>`** — Compare a specific config across all repos\n3. **`apply \u003Cfile-pattern> [--from repo] [--to repo1,repo2,...|--all]`** — Propagate config to targets\n\n### Options\n\n- `--from \u003Crepo>` — Source repo for apply mode (default: best version detected)\n- `--to \u003Crepo1,repo2,...>` — Target repos (comma-separated)\n- `--all` — Target all repos that have the file\n- `--dry-run` — Show what would change without creating branches\u002FPRs (default behavior)\n- `--confirm` — Actually create branches and PRs\n\n## Config Categories\n\nTracked files fall into five sync tiers: **Wholesale** (copy verbatim: `claude.yml`, `renovate.json`), **Parameterized** (shared core + variation points), **Structural** (`justfile` recipe names), **Pattern-based** (`Dockerfile*`, by stack), and **Reference** (compare and report). Full file patterns, variation points, and stack detection: [references\u002Fconfig-tiers.md](references\u002Fconfig-tiers.md) — read it when classifying a file in Extract Step 3 or Apply Step 3.\n\n## Execution\n\n### Extract Mode\n\n**Goal**: Scan a repo and identify improvements that could benefit other repos.\n\n#### Step 1: Identify the source repo\n\nIf repo name provided, use `\u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki\u002F\u003Crepo-name>`.\nOtherwise use the current working directory (must be inside an FVH repo).\n\n#### Step 2: Scan tooling files\n\nScan for all tracked config categories:\n\n```bash\nfd -t f -d 3 '(claude|renovate|auto-merge|release-please|container-build|Dockerfile|justfile|skaffold)' \u003Crepo-path>\n```\n\nAlso check:\n- `.github\u002Fworkflows\u002F*.yml`\n- `justfile`\n- `Dockerfile*`\n- `renovate.json`\n- `release-please-config.json`\n- `.release-please-manifest.json`\n- `skaffold.yaml`\n\n#### Step 3: Compare against workspace patterns\n\nFor each file found:\n\n1. **Wholesale tier**: Hash the file content and compare against the most common version across all repos. Report if this repo has a newer\u002Fdifferent version.\n2. **Parameterized tier**: Extract the shared core (strip known variation points) and compare structure.\n3. **Structural tier (justfile)**: Check for standard recipes (`default`, `help`, `dev`, `build`, `clean`, `lint`, `format`, `format-check`, `test`, `pre-commit`, `ci`). Report missing standard recipes and non-standard names (e.g., `check` instead of `lint`).\n4. **Pattern-based tier**: Detect tech stack, then check for best practices:\n   - Pinned base images (not `latest`)\n   - `.dockerignore` present\n   - Multi-stage builds\n   - Non-root user\n   - SHA-pinned GitHub Actions\n   - SBOM\u002Fprovenance attestation\n5. **Reference tier**: Note divergences from the most common configuration.\n\n#### Step 4: Generate extract report\n\nEmit the report (wholesale\u002Fparameterized\u002Fstructural\u002Fpattern-based sections, then \"Potential Improvements to Propagate\"). Template: [references\u002Freport-templates.md](references\u002Freport-templates.md#extract-report-extract-step-4).\n\n### Diff Mode\n\n**Goal**: Compare a specific file across all FVH repos.\n\n#### Step 1: Resolve file pattern\n\nInterpret the file pattern argument:\n- Full path: `.github\u002Fworkflows\u002Fclaude.yml`\n- Short name: `claude.yml` → search in `.github\u002Fworkflows\u002F`\n- Glob: `*.yml` → match all workflows\n\n#### Step 2: Find the file across repos\n\n```bash\nfd -t f '\u003Cpattern>' \u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki --max-depth 4\n```\n\n#### Step 3: Group by content hash\n\nFor each found file, compute a content hash:\n\n```bash\nshasum -a 256 \u003Cfile>\n```\n\nGroup files by identical hash. Sort groups by size (largest first = most common version).\n\n#### Step 4: Identify the \"best\" version\n\nHeuristics for selecting the canonical version:\n1. Most common hash (majority rules)\n2. If tie: most recently modified\n3. If tie: from `infrastructure` repo (reference repo)\n\n#### Step 5: Generate diff report\n\nReport each hash group (canonical first, with repo list and differences), repos missing the file, and a recommendation. For small files (\u003C 100 lines), show an inline unified diff between the canonical and each outlier group. Template: [references\u002Freport-templates.md](references\u002Freport-templates.md#diff-report-diff-step-5).\n\n### Apply Mode\n\n**Goal**: Propagate a config file from source to target repos.\n\n#### Step 1: Determine source\n\n- If `--from` specified, use that repo's version\n- Otherwise, run diff mode internally to find the canonical version\n\n#### Step 2: Determine targets\n\n- If `--to` specified, use those repos\n- If `--all`, use all repos that currently have the file (excluding source)\n- Otherwise, ask the user which repos to target\n\n#### Step 3: Determine sync strategy by tier\n\n**Wholesale**: Copy file verbatim to targets.\n\n**Parameterized**: Copy file but preserve known variation points:\n- `auto-merge-image-updater.yml`: preserve `BRANCH_PREFIX` value\n- `release-please.yml`: preserve extra publish\u002Fdeploy jobs\n\n**Structural (justfile)**: Do NOT overwrite. Instead:\n- Add missing standard recipe stubs (commented templates)\n- Suggest renaming non-conforming recipes\n- Preserve all project-specific recipes and recipe bodies\n\n**Pattern-based**: Only apply general improvements matching the target's stack:\n- Pin unpinned base images\n- Add missing `.dockerignore`\n- Update SHA-pinned actions\n- Do NOT change build args, multi-arch config, or app-specific steps\n\n**Reference**: Show diff and ask user to confirm each change.\n\n#### Step 4: Preview changes (default \u002F --dry-run)\n\nFor each target repo, show the unified diff of what would change, plus a total. Template: [references\u002Freport-templates.md](references\u002Freport-templates.md#dry-run-preview-apply-step-4).\n\n#### Step 5: Execute changes (--confirm or user approval)\n\nFor each target repo:\n\n1. Create a branch: `config-sync\u002F\u003Cfilename-slug>`\n2. Copy\u002Fupdate the file\n3. Commit with conventional message: `chore: sync \u003Cfilename> from \u003Csource-repo>`\n4. Push and create PR via `gh pr create`\n\nFull command sequence and the quoted-heredoc PR-body rule (never backslash-escape inside `\u003C\u003C'EOF'`): [references\u002Fapply-execution.md](references\u002Fapply-execution.md). Report one line per repo with the PR link — template in [references\u002Freport-templates.md](references\u002Freport-templates.md#apply-results-apply-step-5).\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Quick workflow comparison | `\u002Fconfigure:config-sync diff claude.yml` |\n| Find improvements in a repo | `\u002Fconfigure:config-sync extract theme-management` |\n| Propagate renovate config | `\u002Fconfigure:config-sync apply renovate.json --from infrastructure --all` |\n| Preview changes only | `\u002Fconfigure:config-sync apply claude.yml --all` (dry-run is default) |\n| Create PRs | `\u002Fconfigure:config-sync apply claude.yml --all --confirm` |\n\n## Safety\n\n- **Dry-run by default**: `apply` only shows diffs unless `--confirm` is passed or user explicitly approves\n- **Never overwrites justfile recipe bodies**: Only adds stubs and suggests renames\n- **Stack-aware Dockerfile sync**: Only applies improvements matching the target's tech stack\n- **Preserves parameterized variation points**: Known customizations are not overwritten\n\n## See Also\n\n- `\u002Fconfigure:workflows` — Single-repo workflow compliance\n- `\u002Fconfigure:reusable-workflows` — Install reusable workflow patterns\n- `\u002Fconfigure:justfile` — Single-repo justfile compliance\n- `\u002Fconfigure:dockerfile` — Single-repo Dockerfile compliance\n- `\u002Fconfigure:all` — Run all compliance checks on current repo\n","# \u002Fconfigure:config-sync\n\nExtract, compare, and propagate tooling config improvements across FVH repos.\n\n## When to Use This Skill\n\n| Use this skill when... | Use another approach when... |\n|------------------------|------------------------------|\n| Comparing a workflow\u002Fconfig across all FVH repos | Configuring a single repo's workflow from scratch — use `\u002Fconfigure:workflows` |\n| Propagating an improvement from one repo to many | Debugging a failing CI run — use `github-actions-inspection` |\n| Identifying which repos have outdated configs | Creating a reusable workflow — use `\u002Fconfigure:reusable-workflows` |\n| Extracting novel patterns from a repo to share | Checking a single repo's compliance — use `\u002Fconfigure:status` |\n\n## Context\n\n- Workspace root: `\u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki`\n- Repos: !`fd -t d -d 1 . \u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki --exclude .git --exclude node_modules`\n- Current directory: !`pwd`\n\n## Parameters\n\nParse mode and options from command arguments:\n\n### Modes\n\n1. **`extract [repo-name]`** — Identify improvements in a source repo\n2. **`diff \u003Cfile-pattern>`** — Compare a specific config across all repos\n3. **`apply \u003Cfile-pattern> [--from repo] [--to repo1,repo2,...|--all]`** — Propagate config to targets\n\n### Options\n\n- `--from \u003Crepo>` — Source repo for apply mode (default: best version detected)\n- `--to \u003Crepo1,repo2,...>` — Target repos (comma-separated)\n- `--all` — Target all repos that have the file\n- `--dry-run` — Show what would change without creating branches\u002FPRs (default behavior)\n- `--confirm` — Actually create branches and PRs\n\n## Config Categories\n\nTracked files fall into five sync tiers: **Wholesale** (copy verbatim: `claude.yml`, `renovate.json`), **Parameterized** (shared core + variation points), **Structural** (`justfile` recipe names), **Pattern-based** (`Dockerfile*`, by stack), and **Reference** (compare and report). Full file patterns, variation points, and stack detection: [references\u002Fconfig-tiers.md](references\u002Fconfig-tiers.md) — read it when classifying a file in Extract Step 3 or Apply Step 3.\n\n## Execution\n\n### Extract Mode\n\n**Goal**: Scan a repo and identify improvements that could benefit other repos.\n\n#### Step 1: Identify the source repo\n\nIf repo name provided, use `\u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki\u002F\u003Crepo-name>`.\nOtherwise use the current working directory (must be inside an FVH repo).\n\n#### Step 2: Scan tooling files\n\nScan for all tracked config categories:\n\n```bash\nfd -t f -d 3 '(claude|renovate|auto-merge|release-please|container-build|Dockerfile|justfile|skaffold)' \u003Crepo-path>\n```\n\nAlso check:\n- `.github\u002Fworkflows\u002F*.yml`\n- `justfile`\n- `Dockerfile*`\n- `renovate.json`\n- `release-please-config.json`\n- `.release-please-manifest.json`\n- `skaffold.yaml`\n\n#### Step 3: Compare against workspace patterns\n\nFor each file found:\n\n1. **Wholesale tier**: Hash the file content and compare against the most common version across all repos. Report if this repo has a newer\u002Fdifferent version.\n2. **Parameterized tier**: Extract the shared core (strip known variation points) and compare structure.\n3. **Structural tier (justfile)**: Check for standard recipes (`default`, `help`, `dev`, `build`, `clean`, `lint`, `format`, `format-check`, `test`, `pre-commit`, `ci`). Report missing standard recipes and non-standard names (e.g., `check` instead of `lint`).\n4. **Pattern-based tier**: Detect tech stack, then check for best practices:\n   - Pinned base images (not `latest`)\n   - `.dockerignore` present\n   - Multi-stage builds\n   - Non-root user\n   - SHA-pinned GitHub Actions\n   - SBOM\u002Fprovenance attestation\n5. **Reference tier**: Note divergences from the most common configuration.\n\n#### Step 4: Generate extract report\n\nEmit the report (wholesale\u002Fparameterized\u002Fstructural\u002Fpattern-based sections, then \"Potential Improvements to Propagate\"). Template: [references\u002Freport-templates.md](references\u002Freport-templates.md#extract-report-extract-step-4).\n\n### Diff Mode\n\n**Goal**: Compare a specific file across all FVH repos.\n\n#### Step 1: Resolve file pattern\n\nInterpret the file pattern argument:\n- Full path: `.github\u002Fworkflows\u002Fclaude.yml`\n- Short name: `claude.yml` → search in `.github\u002Fworkflows\u002F`\n- Glob: `*.yml` → match all workflows\n\n#### Step 2: Find the file across repos\n\n```bash\nfd -t f '\u003Cpattern>' \u002FUsers\u002Flgates\u002Frepos\u002FForumViriumHelsinki --max-depth 4\n```\n\n#### Step 3: Group by content hash\n\nFor each found file, compute a content hash:\n\n```bash\nshasum -a 256 \u003Cfile>\n```\n\nGroup files by identical hash. Sort groups by size (largest first = most common version).\n\n#### Step 4: Identify the \"best\" version\n\nHeuristics for selecting the canonical version:\n1. Most common hash (majority rules)\n2. If tie: most recently modified\n3. If tie: from `infrastructure` repo (reference repo)\n\n#### Step 5: Generate diff report\n\nReport each hash group (canonical first, with repo list and differences), repos missing the file, and a recommendation. For small files (\u003C 100 lines), show an inline unified diff between the canonical and each outlier group. Template: [references\u002Freport-templates.md](references\u002Freport-templates.md#diff-report-diff-step-5).\n\n### Apply Mode\n\n**Goal**: Propagate a config file from source to target repos.\n\n#### Step 1: Determine source\n\n- If `--from` specified, use that repo's version\n- Otherwise, run diff mode internally to find the canonical version\n\n#### Step 2: Determine targets\n\n- If `--to` specified, use those repos\n- If `--all`, use all repos that currently have the file (excluding source)\n- Otherwise, ask the user which repos to target\n\n#### Step 3: Determine sync strategy by tier\n\n**Wholesale**: Copy file verbatim to targets.\n\n**Parameterized**: Copy file but preserve known variation points:\n- `auto-merge-image-updater.yml`: preserve `BRANCH_PREFIX` value\n- `release-please.yml`: preserve extra publish\u002Fdeploy jobs\n\n**Structural (justfile)**: Do NOT overwrite. Instead:\n- Add missing standard recipe stubs (commented templates)\n- Suggest renaming non-conforming recipes\n- Preserve all project-specific recipes and recipe bodies\n\n**Pattern-based**: Only apply general improvements matching the target's stack:\n- Pin unpinned base images\n- Add missing `.dockerignore`\n- Update SHA-pinned actions\n- Do NOT change build args, multi-arch config, or app-specific steps\n\n**Reference**: Show diff and ask user to confirm each change.\n\n#### Step 4: Preview changes (default \u002F --dry-run)\n\nFor each target repo, show the unified diff of what would change, plus a total. Template: [references\u002Freport-templates.md](references\u002Freport-templates.md#dry-run-preview-apply-step-4).\n\n#### Step 5: Execute changes (--confirm or user approval)\n\nFor each target repo:\n\n1. Create a branch: `config-sync\u002F\u003Cfilename-slug>`\n2. Copy\u002Fupdate the file\n3. Commit with conventional message: `chore: sync \u003Cfilename> from \u003Csource-repo>`\n4. Push and create PR via `gh pr create`\n\nFull command sequence and the quoted-heredoc PR-body rule (never backslash-escape inside `\u003C\u003C'EOF'`): [references\u002Fapply-execution.md](references\u002Fapply-execution.md). Report one line per repo with the PR link — template in [references\u002Freport-templates.md](references\u002Freport-templates.md#apply-results-apply-step-5).\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Quick workflow comparison | `\u002Fconfigure:config-sync diff claude.yml` |\n| Find improvements in a repo | `\u002Fconfigure:config-sync extract theme-management` |\n| Propagate renovate config | `\u002Fconfigure:config-sync apply renovate.json --from infrastructure --all` |\n| Preview changes only | `\u002Fconfigure:config-sync apply claude.yml --all` (dry-run is default) |\n| Create PRs | `\u002Fconfigure:config-sync apply claude.yml --all --confirm` |\n\n## Safety\n\n- **Dry-run by default**: `apply` only shows diffs unless `--confirm` is passed or user explicitly approves\n- **Never overwrites justfile recipe bodies**: Only adds stubs and suggests renames\n- **Stack-aware Dockerfile sync**: Only applies improvements matching the target's tech stack\n- **Preserves parameterized variation points**: Known customizations are not overwritten\n\n## See Also\n\n- `\u002Fconfigure:workflows` — Single-repo workflow compliance\n- `\u002Fconfigure:reusable-workflows` — Install reusable workflow patterns\n- `\u002Fconfigure:justfile` — Single-repo justfile compliance\n- `\u002Fconfigure:dockerfile` — Single-repo Dockerfile compliance\n- `\u002Fconfigure:all` — Run all compliance checks on current repo\n",{"args":52,"name":5,"created":53,"modified":54,"reviewed":55,"description":7,"allowed-tools":56,"argument-hint":57},"\u003Cmode> [options]",1771632000000,1791158400000,1788307200000,"Bash(git *), Bash(gh *), Bash(fd *), Bash(rg *), Bash(diff *), Bash(sha256sum *), Bash(shasum *), Read, Grep, Glob, Edit, Write, TodoWrite, AskUserQuestion","extract [repo]|diff \u003Cfile-pattern>|apply \u003Cfile-pattern> [--from repo] [--to repos|--all]","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","configure-plugin\u002Fskills\u002Fconfig-sync",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":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add laurigates\u002Fclaude-plugins --skill config-sync",{"tool":72,"command":73},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill config-sync",{"tool":75,"command":76},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill config-sync","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfig-sync\u002FSKILL.md",true,[80,86,90,94,98],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fapi-reference.md","REFERENCE","参考文档",8685,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fpost-training-torchforge\u002Freferences\u002Fapi-reference.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fapply-execution.md",1357,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfig-sync\u002Freferences\u002Fapply-execution.md",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fconfig-tiers.md",1845,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfig-sync\u002Freferences\u002Fconfig-tiers.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Freport-templates.md",2370,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfig-sync\u002Freferences\u002Freport-templates.md",{"path":99,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Ftroubleshooting.md",6709,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fai-research\u002Fpost-training-torchforge\u002Freferences\u002Ftroubleshooting.md",[103,129,148,164,186,216],{"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":114,"publishedAt":47},"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",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[115,116,117,118,119,120,121,122,123,124,35,24,43,44,125,126,127,128,22,39],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","text","with","xdg","via",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":47},"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",[],[118,136,137,138,139,140,24,43,141,142,143,22,39,38,37,144,145,146,147,35],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":47},"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",[],[155,156,118,157,158,120,159,160,121,161,162,35,24,163,43,125,126,143,22,39],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":47},"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",[],[171,172,173,174,175,176,177,40,178,179,35,24,43,180,44,181,182,183,184,185],"docs reference check","check","reference check","reference","docs","links","python3","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":201,"publishedAt":47},"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",[192,195,196],{"categoryNo":193,"categoryName":194,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},{"categoryNo":197,"categoryName":198,"taxonomyType":199,"taxonomyTypeDesc":200},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[202,203,204,205,177,206,39,207,37,208,209,210,35,43,44,211,212,24,213,214,215,128,22],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":225,"publishedAt":47},"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",[222],{"categoryNo":223,"categoryName":224,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000023","Skill与智能体开发",[226,227,228,229,204,205,230,231,232,233,234,39,235,236,237,238,35,239,24,126,240,22],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]