[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5PZP9HPDR5QBG0VH2EPD8":3,"skill-same:01M6C5PZP9HPDR5QBG0VH2EPD8":129},{"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":23,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6C5PZP9HPDR5QBG0VH2EPD8","configure-load-tests",null,"Load testing: k6, Artillery, Locust. Use when setting up load tests, auditing smoke\u002Fstress\u002Fspike\u002Fsoak coverage, or adding CI performance regression detection.","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\u002Fconfigure-load-tests\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"load","configure","tests","configure load tests","fix","2026","when","2025","locust","-framework","up","soak","smoke","only","use","testing","coverage","edit","write","read","check","grep","regression","Bash","ci","load testing","performance","2026-11-10 10:12:30",false,"---\ncreated: 2025-12-16\nmodified: 2026-06-18\nreviewed: 2026-04-29\ndescription: \"Load testing: k6, Artillery, Locust. Use when setting up load tests, auditing smoke\u002Fstress\u002Fspike\u002Fsoak coverage, or adding CI performance regression detection.\"\nallowed-tools: Glob, Grep, Read, Write, Edit, Bash, AskUserQuestion, TodoWrite\nargs: \"[--check-only] [--fix] [--framework \u003Ck6|artillery|locust>]\"\nargument-hint: \"[--check-only] [--fix] [--framework \u003Ck6|artillery|locust>]\"\nname: configure-load-tests\n---\n\n# \u002Fconfigure:load-tests\n\nCheck and configure load and performance testing infrastructure for stress testing, benchmarking, and capacity planning.\n\n## When to Use This Skill\n\n| Use this skill when... | Use another approach when... |\n|------------------------|------------------------------|\n| Setting up load testing infrastructure from scratch (k6, Artillery, Locust) | Running existing load tests — use `k6 run` or `artillery run` directly |\n| Auditing current load testing coverage (smoke, stress, spike, soak) | Writing unit or integration tests — use `\u002Fconfigure:tests` |\n| Adding CI\u002FCD pipelines for performance regression detection | Profiling application memory usage — use `\u002Fconfigure:memory-profiling` |\n| Migrating between load testing frameworks | Benchmarking individual functions — use language-specific benchmark tools |\n| Ensuring load test thresholds and reporting are properly configured | Testing API contracts — use `\u002Fconfigure:api-tests` |\n\n## Context\n\n- Project root: !`pwd`\n- k6 tests: !`find . -maxdepth 3 \\( -name '*.k6.js' -o -name '*.k6.ts' \\)`\n- Load test directory: !`find . -maxdepth 2 -type d -name 'load'`\n- Artillery config: !`find . -maxdepth 2 -name 'artillery.yml' -o -name 'artillery.yaml'`\n- Locust files: !`find . -maxdepth 2 -name 'locustfile.py'`\n- Package files: !`find . -maxdepth 1 \\( -name 'package.json' -o -name 'pyproject.toml' \\)`\n- CI workflows: !`find . -path '*\u002F.github\u002Fworkflows\u002F*' -maxdepth 3 -name '*load*' -o -name '*perf*'`\n- k6 binary: !`k6 version`\n\n## Parameters\n\nParse from `$ARGUMENTS`:\n\n- `--check-only`: Report load testing compliance status without modifications\n- `--fix`: Apply all fixes automatically without prompting\n- `--framework \u003Ck6|artillery|locust>`: Override framework detection\n\n**Framework preferences:**\n\n| Framework | Best For |\n|-----------|----------|\n| k6 (recommended) | Complex scenarios, CI\u002FCD integration, TypeScript support |\n| Artillery | Quick YAML configs, simple API testing |\n| Locust | Python teams, distributed testing, custom behavior |\n\n## Execution\n\nExecute this load testing configuration check:\n\n### Step 1: Detect existing load testing infrastructure\n\nRead the values in [Context](#context) and identify:\n\n| Indicator | Component | Status |\n|-----------|-----------|--------|\n| `k6` binary or `@grafana\u002Fk6` | k6 | Installed |\n| `*.k6.js` or `load-tests\u002F` | k6 tests | Present |\n| `artillery.yml` | Artillery config | Present |\n| `locustfile.py` | Locust tests | Present |\n| `.github\u002Fworkflows\u002F*load*` | CI integration | Configured |\n\nIf `--framework` flag is set, use that framework regardless of detection.\n\n### Step 2: Analyze current load testing setup\n\nCheck for complete setup coverage:\n\n**Installation:** k6 installed (binary or npm), TypeScript support if applicable.\n\n**Test Scenarios:** Check which test types exist:\n- Smoke tests (minimal load validation)\n- Load tests (normal load)\n- Stress tests (peak load)\n- Spike tests (burst traffic)\n- Soak tests (endurance)\n\n**Configuration:** Thresholds, environment-specific configs, data files.\n\n**Reporting:** Console output, JSON\u002FHTML reports, trend tracking.\n\n**CI\u002FCD:** GitHub Actions workflow, scheduled runs, PR gate.\n\n### Step 3: Generate compliance report\n\nPrint a compliance report covering:\n- Framework installation status and version\n- Test scenario coverage (smoke, load, stress, spike, soak)\n- Threshold configuration (response time, error rate)\n- Environment configuration (staging, production)\n- CI\u002FCD integration (workflow, schedule, PR gate)\n- Reporting setup (console, JSON, HTML, Grafana Cloud)\n\nEnd with overall issue count and recommendations.\n\nIf `--check-only` is set, stop here.\n\n### Step 4: Configure load testing framework (if --fix or user confirms)\n\nApply configuration using templates from [REFERENCE.md](REFERENCE.md):\n\n1. Install k6 (or chosen framework)\n2. Create directory structure: `tests\u002Fload\u002F{config,scenarios,helpers,data}`\n3. Create base configuration with shared thresholds and headers\n4. Create test scenarios (smoke, load, stress, spike)\n5. Add npm\u002Fpackage scripts for running tests\n\n### Step 5: Configure CI\u002FCD integration\n\n1. Create `.github\u002Fworkflows\u002Fload-tests.yml` with:\n   - Smoke tests on PRs\n   - Full load tests via workflow_dispatch\n   - Scheduled weekly runs\n   - Results artifact upload\n2. Add HTML reporting via k6-reporter\n3. Use templates from [REFERENCE.md](REFERENCE.md)\n\n### Step 6: Update standards tracking\n\nUpdate `.project-standards.yaml`:\n\n```yaml\ncomponents:\n  load_tests: \"2025.1\"\n  load_tests_framework: \"k6\"\n  load_tests_scenarios: [\"smoke\", \"load\", \"stress\"]\n  load_tests_ci: true\n  load_tests_thresholds: true\n```\n\n### Step 7: Print final compliance report\n\nPrint a summary of framework installed, scenarios created, scripts added, CI\u002FCD configured, thresholds set, and next steps for the user.\n\nFor detailed k6 test scripts, CI workflow templates, and reporting configuration, see [REFERENCE.md](REFERENCE.md).\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Quick compliance check | `\u002Fconfigure:load-tests --check-only` |\n| Auto-fix all issues | `\u002Fconfigure:load-tests --fix` |\n| Run smoke test quickly | `k6 run --vus 1 --duration 10s tests\u002Fload\u002Fscenarios\u002Fsmoke.k6.js` |\n| Run with JSON output | `k6 run --out json=results.json tests\u002Fload\u002Fscenarios\u002Fload.k6.js` |\n| Check k6 version | `k6 version` |\n| List test scenarios | `find tests\u002Fload -name '*.k6.js' -type f` |\n\n## Flags\n\n| Flag | Description |\n|------|-------------|\n| `--check-only` | Report status without offering fixes |\n| `--fix` | Apply all fixes automatically without prompting |\n| `--framework \u003Cframework>` | Override framework (k6, artillery, locust) |\n\n## Examples\n\n```bash\n# Check compliance and offer fixes\n\u002Fconfigure:load-tests\n\n# Check only, no modifications\n\u002Fconfigure:load-tests --check-only\n\n# Auto-fix all issues\n\u002Fconfigure:load-tests --fix\n\n# Force specific framework\n\u002Fconfigure:load-tests --fix --framework artillery\n```\n\n## Error Handling\n\n- **k6 not installed**: Provide installation instructions for platform\n- **No target URL**: Prompt for BASE_URL configuration\n- **Docker not available**: Suggest local app startup\n- **CI secrets missing**: Provide setup instructions for k6 Cloud\n\n## See Also\n\n- `\u002Fconfigure:tests` - Unit testing configuration\n- `\u002Fconfigure:integration-tests` - Integration testing\n- `\u002Fconfigure:api-tests` - API contract testing\n- `\u002Fconfigure:all` - Run all compliance checks\n- **k6 documentation**: https:\u002F\u002Fk6.io\u002Fdocs\n- **k6 examples**: https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fk6\u002Ftree\u002Fmaster\u002Fexamples\n- **Grafana k6 Cloud**: https:\u002F\u002Fgrafana.com\u002Fproducts\u002Fcloud\u002Fk6\n","# \u002Fconfigure:load-tests\n\nCheck and configure load and performance testing infrastructure for stress testing, benchmarking, and capacity planning.\n\n## When to Use This Skill\n\n| Use this skill when... | Use another approach when... |\n|------------------------|------------------------------|\n| Setting up load testing infrastructure from scratch (k6, Artillery, Locust) | Running existing load tests — use `k6 run` or `artillery run` directly |\n| Auditing current load testing coverage (smoke, stress, spike, soak) | Writing unit or integration tests — use `\u002Fconfigure:tests` |\n| Adding CI\u002FCD pipelines for performance regression detection | Profiling application memory usage — use `\u002Fconfigure:memory-profiling` |\n| Migrating between load testing frameworks | Benchmarking individual functions — use language-specific benchmark tools |\n| Ensuring load test thresholds and reporting are properly configured | Testing API contracts — use `\u002Fconfigure:api-tests` |\n\n## Context\n\n- Project root: !`pwd`\n- k6 tests: !`find . -maxdepth 3 \\( -name '*.k6.js' -o -name '*.k6.ts' \\)`\n- Load test directory: !`find . -maxdepth 2 -type d -name 'load'`\n- Artillery config: !`find . -maxdepth 2 -name 'artillery.yml' -o -name 'artillery.yaml'`\n- Locust files: !`find . -maxdepth 2 -name 'locustfile.py'`\n- Package files: !`find . -maxdepth 1 \\( -name 'package.json' -o -name 'pyproject.toml' \\)`\n- CI workflows: !`find . -path '*\u002F.github\u002Fworkflows\u002F*' -maxdepth 3 -name '*load*' -o -name '*perf*'`\n- k6 binary: !`k6 version`\n\n## Parameters\n\nParse from `$ARGUMENTS`:\n\n- `--check-only`: Report load testing compliance status without modifications\n- `--fix`: Apply all fixes automatically without prompting\n- `--framework \u003Ck6|artillery|locust>`: Override framework detection\n\n**Framework preferences:**\n\n| Framework | Best For |\n|-----------|----------|\n| k6 (recommended) | Complex scenarios, CI\u002FCD integration, TypeScript support |\n| Artillery | Quick YAML configs, simple API testing |\n| Locust | Python teams, distributed testing, custom behavior |\n\n## Execution\n\nExecute this load testing configuration check:\n\n### Step 1: Detect existing load testing infrastructure\n\nRead the values in [Context](#context) and identify:\n\n| Indicator | Component | Status |\n|-----------|-----------|--------|\n| `k6` binary or `@grafana\u002Fk6` | k6 | Installed |\n| `*.k6.js` or `load-tests\u002F` | k6 tests | Present |\n| `artillery.yml` | Artillery config | Present |\n| `locustfile.py` | Locust tests | Present |\n| `.github\u002Fworkflows\u002F*load*` | CI integration | Configured |\n\nIf `--framework` flag is set, use that framework regardless of detection.\n\n### Step 2: Analyze current load testing setup\n\nCheck for complete setup coverage:\n\n**Installation:** k6 installed (binary or npm), TypeScript support if applicable.\n\n**Test Scenarios:** Check which test types exist:\n- Smoke tests (minimal load validation)\n- Load tests (normal load)\n- Stress tests (peak load)\n- Spike tests (burst traffic)\n- Soak tests (endurance)\n\n**Configuration:** Thresholds, environment-specific configs, data files.\n\n**Reporting:** Console output, JSON\u002FHTML reports, trend tracking.\n\n**CI\u002FCD:** GitHub Actions workflow, scheduled runs, PR gate.\n\n### Step 3: Generate compliance report\n\nPrint a compliance report covering:\n- Framework installation status and version\n- Test scenario coverage (smoke, load, stress, spike, soak)\n- Threshold configuration (response time, error rate)\n- Environment configuration (staging, production)\n- CI\u002FCD integration (workflow, schedule, PR gate)\n- Reporting setup (console, JSON, HTML, Grafana Cloud)\n\nEnd with overall issue count and recommendations.\n\nIf `--check-only` is set, stop here.\n\n### Step 4: Configure load testing framework (if --fix or user confirms)\n\nApply configuration using templates from [REFERENCE.md](REFERENCE.md):\n\n1. Install k6 (or chosen framework)\n2. Create directory structure: `tests\u002Fload\u002F{config,scenarios,helpers,data}`\n3. Create base configuration with shared thresholds and headers\n4. Create test scenarios (smoke, load, stress, spike)\n5. Add npm\u002Fpackage scripts for running tests\n\n### Step 5: Configure CI\u002FCD integration\n\n1. Create `.github\u002Fworkflows\u002Fload-tests.yml` with:\n   - Smoke tests on PRs\n   - Full load tests via workflow_dispatch\n   - Scheduled weekly runs\n   - Results artifact upload\n2. Add HTML reporting via k6-reporter\n3. Use templates from [REFERENCE.md](REFERENCE.md)\n\n### Step 6: Update standards tracking\n\nUpdate `.project-standards.yaml`:\n\n```yaml\ncomponents:\n  load_tests: \"2025.1\"\n  load_tests_framework: \"k6\"\n  load_tests_scenarios: [\"smoke\", \"load\", \"stress\"]\n  load_tests_ci: true\n  load_tests_thresholds: true\n```\n\n### Step 7: Print final compliance report\n\nPrint a summary of framework installed, scenarios created, scripts added, CI\u002FCD configured, thresholds set, and next steps for the user.\n\nFor detailed k6 test scripts, CI workflow templates, and reporting configuration, see [REFERENCE.md](REFERENCE.md).\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Quick compliance check | `\u002Fconfigure:load-tests --check-only` |\n| Auto-fix all issues | `\u002Fconfigure:load-tests --fix` |\n| Run smoke test quickly | `k6 run --vus 1 --duration 10s tests\u002Fload\u002Fscenarios\u002Fsmoke.k6.js` |\n| Run with JSON output | `k6 run --out json=results.json tests\u002Fload\u002Fscenarios\u002Fload.k6.js` |\n| Check k6 version | `k6 version` |\n| List test scenarios | `find tests\u002Fload -name '*.k6.js' -type f` |\n\n## Flags\n\n| Flag | Description |\n|------|-------------|\n| `--check-only` | Report status without offering fixes |\n| `--fix` | Apply all fixes automatically without prompting |\n| `--framework \u003Cframework>` | Override framework (k6, artillery, locust) |\n\n## Examples\n\n```bash\n# Check compliance and offer fixes\n\u002Fconfigure:load-tests\n\n# Check only, no modifications\n\u002Fconfigure:load-tests --check-only\n\n# Auto-fix all issues\n\u002Fconfigure:load-tests --fix\n\n# Force specific framework\n\u002Fconfigure:load-tests --fix --framework artillery\n```\n\n## Error Handling\n\n- **k6 not installed**: Provide installation instructions for platform\n- **No target URL**: Prompt for BASE_URL configuration\n- **Docker not available**: Suggest local app startup\n- **CI secrets missing**: Provide setup instructions for k6 Cloud\n\n## See Also\n\n- `\u002Fconfigure:tests` - Unit testing configuration\n- `\u002Fconfigure:integration-tests` - Integration testing\n- `\u002Fconfigure:api-tests` - API contract testing\n- `\u002Fconfigure:all` - Run all compliance checks\n- **k6 documentation**: https:\u002F\u002Fk6.io\u002Fdocs\n- **k6 examples**: https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fk6\u002Ftree\u002Fmaster\u002Fexamples\n- **Grafana k6 Cloud**: https:\u002F\u002Fgrafana.com\u002Fproducts\u002Fcloud\u002Fk6\n",{"args":56,"name":5,"created":57,"modified":58,"reviewed":59,"description":7,"allowed-tools":60,"argument-hint":56},"[--check-only] [--fix] [--framework \u003Ck6|artillery|locust>]",1765843200000,1781740800000,1777420800000,"Glob, Grep, Read, Write, Edit, Bash, AskUserQuestion, TodoWrite","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","configure-plugin\u002Fskills\u002Fconfigure-load-tests",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-12 03:43:32",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add laurigates\u002Fclaude-plugins --skill configure-load-tests",{"tool":75,"command":76},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill configure-load-tests",{"tool":78,"command":79},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill configure-load-tests","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfigure-load-tests\u002FSKILL.md",true,[83,89,93,97,101,105,109,113,117,121,125],{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"REFERENCE.md","REFERENCE","参考文档",14799,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfigure-load-tests\u002FREFERENCE.md",{"path":90,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Faspnet-core-dotnet8to9.md",2357,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Faspnet-core-dotnet8to9.md",{"path":94,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fcontainers-interop-dotnet8to9.md",1977,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fcontainers-interop-dotnet8to9.md",{"path":98,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fcore-libraries-dotnet8to9.md",7148,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fcore-libraries-dotnet8to9.md",{"path":102,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fcryptography-dotnet8to9.md",2146,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fcryptography-dotnet8to9.md",{"path":106,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fcsharp-compiler-dotnet8to9.md",3399,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fcsharp-compiler-dotnet8to9.md",{"path":110,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Fdeployment-runtime-dotnet8to9.md",2498,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fdeployment-runtime-dotnet8to9.md",{"path":114,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Fefcore-dotnet8to9.md",7060,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fefcore-dotnet8to9.md",{"path":118,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fsdk-msbuild-dotnet8to9.md",2393,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fsdk-msbuild-dotnet8to9.md",{"path":122,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fserialization-networking-dotnet8to9.md",5565,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fserialization-networking-dotnet8to9.md",{"path":126,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Fwinforms-wpf-dotnet8to9.md",3838,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet-upgrade\u002Fskills\u002Fmigrate-dotnet8-to-dotnet9\u002Freferences\u002Fwinforms-wpf-dotnet8to9.md",[130,155,174,190,212,242],{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":51},"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",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[140,141,142,143,144,145,146,147,148,149,38,30,47,150,151,152,153,154,29,43],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":51},"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",[],[143,162,163,164,165,166,30,47,167,168,169,29,43,42,41,170,171,172,173,38],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":51},"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",[],[181,182,143,183,184,145,185,186,146,187,188,38,30,189,47,151,152,169,29,43],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":51},"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",[],[197,44,198,199,200,201,202,203,204,205,38,30,47,206,150,207,208,209,210,211],"docs reference check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":227,"publishedAt":51},"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",[218,221,222],{"categoryNo":219,"categoryName":220,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":137,"categoryName":138,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":223,"categoryName":224,"taxonomyType":225,"taxonomyTypeDesc":226},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[228,229,230,231,202,232,43,233,41,234,235,236,38,47,150,237,238,30,239,240,241,154,29],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":251,"publishedAt":51},"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",[248],{"categoryNo":249,"categoryName":250,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[252,253,254,255,230,231,256,257,258,259,260,43,261,262,37,263,38,264,30,152,265,29],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","MCP","chrome","organization"]