[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69B7H23BJ7ART6SA67EFJ5W":3,"skill-same:01M69B7H23BJ7ART6SA67EFJ5W":73},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M69B7H23BJ7ART6SA67EFJ5W","generate-from-typespec",null,"Generate Python SDK code from a TypeSpec specification using the local emitter. Use this skill when the user wants to generate\u002Fregenerate a Python client from a TypeSpec spec, provides a GitHub URL or local path to a TypeSpec project, or says things like \"generate from this spec\", \"emit Python from this tsp\", \"regenerate the SDK\", or \"compile this TypeSpec for Python\".","microsoft\u002Ftypespec","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69B6S8HEDME7WWCNE7RGPJF",5948,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002Fpackages\u002Fhttp-client-python\u002F.github\u002Fskills\u002Fgenerate-from-typespec\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"typespec","generate from typespec","generate","user","when","things","for","URL","client","project","local","specification","use","spec","python sdk","compile","code","sdk","github","python","2026-11-10 10:12:30",false,"---\nname: generate-from-typespec\ndescription: >\n  Generate Python SDK code from a TypeSpec specification using the local emitter.\n  Use this skill when the user wants to generate\u002Fregenerate a Python client from\n  a TypeSpec spec, provides a GitHub URL or local path to a TypeSpec project, or\n  says things like \"generate from this spec\", \"emit Python from this tsp\",\n  \"regenerate the SDK\", or \"compile this TypeSpec for Python\".\n---\n\n# Generate From TypeSpec Skill\n\nCompiles a TypeSpec specification using the **local** `@typespec\u002Fhttp-client-python`\nemitter and generates Python SDK code. Supports both branded (`@azure-tools\u002Ftypespec-python`)\nand unbranded (`@typespec\u002Fhttp-client-python`) generation.\n\n## Inputs\n\nThe caller must provide:\n\n1. **Spec path** — either:\n   - A **local file path** to a `.tsp` entry point (e.g., `client.tsp`, `main.tsp`)\n   - A **raw GitHub URL** pointing to a TypeSpec project directory or file\n     (e.g., `https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-rest-api-specs\u002Ftree\u002Fmain\u002Fspecification\u002F...\u002FFoundry\u002Fsrc\u002Fsdk-service-agentserver-contracts\u002Fclient.tsp`)\n2. **Flavor** — `azure` (branded) or `unbranded`. If not provided, ask the user.\n3. **Emitter output directory** — the full resolved path where generated code\n   should be written (e.g., `~\u002FDesktop\u002Fgithub\u002Fazure-sdk-for-python\u002Fsdk\u002Fagentserver\u002Fazure-ai-agentserver-responses`).\n   If not provided, ask the user.\n4. **Additional options** (optional) — any extra `key=value` emitter options the\n   user wants applied on top of the tspconfig options. These override tspconfig\n   values if there's a conflict (e.g., `generate-typeddict=false`).\n\n## Workflow\n\n### Step 1: Resolve the spec path\n\n**If the input is a GitHub URL:**\n\n1. Parse the URL to extract `owner`, `repo`, `ref` (branch\u002Fcommit), and `path`.\n2. Check if the repository is cloned locally (look under common locations like\n   `~\u002FDesktop\u002Fgithub\u002F\u003Crepo-name>`, `~\u002F\u003Crepo-name>`, etc.).\n3. If found locally, check out the correct ref\u002Fcommit if needed:\n   ```bash\n   cd \u003Clocal-repo>\n   git fetch origin \u003Cref>\n   git checkout \u003Cref> -- \u003Cpath-to-spec-dir>\u002F\n   ```\n4. If not found locally, ask the user where the repo is cloned, or offer to clone it.\n\n**If the input is a local path:**\n\nVerify the file\u002Fdirectory exists. If the path points to a directory, look for\n`client.tsp` or `main.tsp` as the entry point.\n\n### Step 2: Locate and parse `tspconfig.yaml`\n\nLook for `tspconfig.yaml` in the same directory as the spec entry point, then\nwalk up parent directories until one is found.\n\n```bash\n# Starting from the spec file's directory, search for tspconfig.yaml\ncurrent_dir=\"\u003Cspec-dir>\"\nwhile [ \"$current_dir\" != \"\u002F\" ]; do\n  if [ -f \"$current_dir\u002Ftspconfig.yaml\" ]; then\n    echo \"Found: $current_dir\u002Ftspconfig.yaml\"\n    break\n  fi\n  current_dir=$(dirname \"$current_dir\")\ndone\n```\n\n### Step 3: Extract Python emitter options from tspconfig.yaml\n\nParse the `tspconfig.yaml` and extract the options block for the Python emitter.\nThe emitter may appear under either name:\n\n| Flavor    | Emitter key in tspconfig.yaml  |\n| --------- | ------------------------------ |\n| Branded   | `@azure-tools\u002Ftypespec-python` |\n| Unbranded | `@typespec\u002Fhttp-client-python` |\n\n**Important cross-flavor rule:** If the user requests a different flavor than\nwhat's in the tspconfig, carry over ALL options from the tspconfig's Python\nemitter block. For example:\n\n- tspconfig has options under `@azure-tools\u002Ftypespec-python` but user wants\n  **unbranded** → use all those options, but emit under `@typespec\u002Fhttp-client-python`\n- tspconfig has options under `@typespec\u002Fhttp-client-python` but user wants\n  **branded** → use all those options, but emit under `@azure-tools\u002Ftypespec-python`\n\nIf no Python emitter options exist in the tspconfig at all, ask the user for:\n\n- `emitter-output-dir` (required — where to write the generated code)\n- `package-name` (required)\n- `namespace` (optional — omit to let `@clientNamespace` decorators resolve naturally)\n\n### Step 4: Determine the flavor\n\nUse this precedence:\n\n1. If the user explicitly stated `azure` or `unbranded`, use that.\n2. If the tspconfig has a `flavor` option set, mention it to the user and confirm.\n3. If the tspconfig only has one Python emitter key, infer:\n   - `@azure-tools\u002Ftypespec-python` → `azure`\n   - `@typespec\u002Fhttp-client-python` → `unbranded`\n4. If still ambiguous, **ask the user**:\n   > \"Should I generate as branded (azure flavor) or unbranded?\"\n\n### Step 5: Find the TypeSpec compiler\n\nLook for the `tsp` CLI in the spec repo's `node_modules`:\n\n```bash\n# Check spec repo root for compiler\n\u003C spec-repo-root > \u002Fnode_modules\u002F@typespec\u002Fcompiler\u002Fcmd\u002Ftsp.js\n```\n\nIf not found, fall back to the global `tsp` command, or check the typespec\nmonorepo's compiler:\n\n```bash\n~\u002FDesktop\u002Fgithub\u002Ftypespec\u002Fpackages\u002Fcompiler\u002Fcmd\u002Ftsp.js\n```\n\n### Step 6: Construct and run the compile command\n\nBuild the `tsp compile` command using:\n\n- **Entry point**: The resolved `.tsp` file from Step 1\n- **`--emit`**: Always the local emitter path:\n  `~\u002FDesktop\u002Fgithub\u002Ftypespec\u002Fpackages\u002Fhttp-client-python`\n- **`--option` flags**: One for each option from the tspconfig, prefixed with\n  the **local emitter name** `@typespec\u002Fhttp-client-python` (regardless of\n  what the tspconfig called it). Any additional options provided by the user\n  are appended last and override tspconfig values if there's a conflict.\n\n**Template:**\n\n```bash\n\u003C tsp-cli-path > compile \u003C entry-point.tsp > --emit ~\u002FDesktop\u002Fgithub\u002Ftypespec\u002Fpackages\u002Fhttp-client-python \\\n  --option \"@typespec\u002Fhttp-client-python.\u003Ckey1>=\u003Cvalue1>\" \\\n  --option \"@typespec\u002Fhttp-client-python.\u003Ckey2>=\u003Cvalue2>\" \\\n  ...\n```\n\n**Option mapping rules:**\n\n| tspconfig key        | CLI `--option` key   | Notes                                             |\n| -------------------- | -------------------- | ------------------------------------------------- |\n| `emitter-output-dir` | `emitter-output-dir` | Resolve `{output-dir}`, `{service-dir}` variables |\n| `package-mode`       | `package-mode`       | Usually `dataplane` or `mgmt`                     |\n| `package-name`       | `package-name`       |                                                   |\n| `namespace`          | `namespace`          | **Omit if not in tspconfig** — see note below     |\n| `api-version`        | `api-version`        |                                                   |\n| `flavor`             | `flavor`             | Set to `azure` for branded, omit for unbranded    |\n| `generate-test`      | `generate-test`      |                                                   |\n| `generate-sample`    | `generate-sample`    |                                                   |\n| `models-mode`        | `models-mode`        | e.g., `dpg`, `msrest`, `typeddict`                |\n| Any other option     | Pass through as-is   |                                                   |\n\n**Namespace note:** Do NOT pass `--namespace` unless it is explicitly set in the\ntspconfig or by the user. When omitted, the emitter lets TCGC resolve\n`@clientNamespace` decorators correctly. Passing a namespace when `@clientNamespace`\nis used in the spec can cause incorrect directory nesting.\n\n**`emitter-output-dir`:** Always use the value provided by the user (Input #3).\nIgnore the `emitter-output-dir` from the tspconfig — it typically contains\nunresolvable template variables like `{output-dir}` and `{service-dir}`.\n\n### Step 7: Run the compilation\n\n```bash\ncd \u003Cspec-directory>\n\u003Cconstructed-compile-command>\n```\n\nSet a timeout of at least 180 seconds — compilation can take a few minutes.\n\nCheck the output:\n\n- **Warnings only** → success\n- **Errors** → report to the user with the full error output\n\n### Step 8: Verify and clean up\n\nAfter successful compilation:\n\n1. Show the generated directory structure:\n\n   ```bash\n   find \u003C output-dir > -type d | sort\n   ```\n\n2. Verify the output matches expectations (e.g., TypedDict-only if `models-mode=none`).\n\n3. If the generation overwrote files in an existing package, warn the user and\n   offer to revert non-generated files:\n   ```bash\n   cd \u003Csdk-repo>\n   git diff --name-status \u003Cpackage-dir>\u002F | grep -v \"\u003Cexpected-generated-path>\"\n   ```\n\n## Notes\n\n### The `--namespace` trap\n\nWhen a TypeSpec uses `@clientNamespace` to map types into a different namespace,\nTCGC resolves the namespace. If you also pass `--namespace`, TCGC tries to\nreplace the root of the `@clientNamespace` value with the flag, which can produce\ndoubled prefixes like `azure.azure.ai.projects...`. **Only pass `--namespace`\nwhen the tspconfig explicitly sets it.**\n\n### Branded vs unbranded emitter names\n\nThe local emitter is always `@typespec\u002Fhttp-client-python` on the CLI `--emit`\nand `--option` flags. The `flavor` option controls branded behavior:\n\n- **Branded**: `--option \"@typespec\u002Fhttp-client-python.flavor=azure\"`\n- **Unbranded**: omit the `flavor` option entirely\n\n### Common additional options the user may request\n\n| User request   | Option to add                                                      |\n| -------------- | ------------------------------------------------------------------ |\n| TypedDict only | `--option \"@typespec\u002Fhttp-client-python.models-mode=none\"`         |\n| No TypedDicts  | `--option \"@typespec\u002Fhttp-client-python.generate-typeddict=false\"` |\n| No tests       | `--option \"@typespec\u002Fhttp-client-python.generate-test=false\"`      |\n| No samples     | `--option \"@typespec\u002Fhttp-client-python.generate-sample=false\"`    |\n","# Generate From TypeSpec Skill\n\nCompiles a TypeSpec specification using the **local** `@typespec\u002Fhttp-client-python`\nemitter and generates Python SDK code. Supports both branded (`@azure-tools\u002Ftypespec-python`)\nand unbranded (`@typespec\u002Fhttp-client-python`) generation.\n\n## Inputs\n\nThe caller must provide:\n\n1. **Spec path** — either:\n   - A **local file path** to a `.tsp` entry point (e.g., `client.tsp`, `main.tsp`)\n   - A **raw GitHub URL** pointing to a TypeSpec project directory or file\n     (e.g., `https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-rest-api-specs\u002Ftree\u002Fmain\u002Fspecification\u002F...\u002FFoundry\u002Fsrc\u002Fsdk-service-agentserver-contracts\u002Fclient.tsp`)\n2. **Flavor** — `azure` (branded) or `unbranded`. If not provided, ask the user.\n3. **Emitter output directory** — the full resolved path where generated code\n   should be written (e.g., `~\u002FDesktop\u002Fgithub\u002Fazure-sdk-for-python\u002Fsdk\u002Fagentserver\u002Fazure-ai-agentserver-responses`).\n   If not provided, ask the user.\n4. **Additional options** (optional) — any extra `key=value` emitter options the\n   user wants applied on top of the tspconfig options. These override tspconfig\n   values if there's a conflict (e.g., `generate-typeddict=false`).\n\n## Workflow\n\n### Step 1: Resolve the spec path\n\n**If the input is a GitHub URL:**\n\n1. Parse the URL to extract `owner`, `repo`, `ref` (branch\u002Fcommit), and `path`.\n2. Check if the repository is cloned locally (look under common locations like\n   `~\u002FDesktop\u002Fgithub\u002F\u003Crepo-name>`, `~\u002F\u003Crepo-name>`, etc.).\n3. If found locally, check out the correct ref\u002Fcommit if needed:\n   ```bash\n   cd \u003Clocal-repo>\n   git fetch origin \u003Cref>\n   git checkout \u003Cref> -- \u003Cpath-to-spec-dir>\u002F\n   ```\n4. If not found locally, ask the user where the repo is cloned, or offer to clone it.\n\n**If the input is a local path:**\n\nVerify the file\u002Fdirectory exists. If the path points to a directory, look for\n`client.tsp` or `main.tsp` as the entry point.\n\n### Step 2: Locate and parse `tspconfig.yaml`\n\nLook for `tspconfig.yaml` in the same directory as the spec entry point, then\nwalk up parent directories until one is found.\n\n```bash\n# Starting from the spec file's directory, search for tspconfig.yaml\ncurrent_dir=\"\u003Cspec-dir>\"\nwhile [ \"$current_dir\" != \"\u002F\" ]; do\n  if [ -f \"$current_dir\u002Ftspconfig.yaml\" ]; then\n    echo \"Found: $current_dir\u002Ftspconfig.yaml\"\n    break\n  fi\n  current_dir=$(dirname \"$current_dir\")\ndone\n```\n\n### Step 3: Extract Python emitter options from tspconfig.yaml\n\nParse the `tspconfig.yaml` and extract the options block for the Python emitter.\nThe emitter may appear under either name:\n\n| Flavor    | Emitter key in tspconfig.yaml  |\n| --------- | ------------------------------ |\n| Branded   | `@azure-tools\u002Ftypespec-python` |\n| Unbranded | `@typespec\u002Fhttp-client-python` |\n\n**Important cross-flavor rule:** If the user requests a different flavor than\nwhat's in the tspconfig, carry over ALL options from the tspconfig's Python\nemitter block. For example:\n\n- tspconfig has options under `@azure-tools\u002Ftypespec-python` but user wants\n  **unbranded** → use all those options, but emit under `@typespec\u002Fhttp-client-python`\n- tspconfig has options under `@typespec\u002Fhttp-client-python` but user wants\n  **branded** → use all those options, but emit under `@azure-tools\u002Ftypespec-python`\n\nIf no Python emitter options exist in the tspconfig at all, ask the user for:\n\n- `emitter-output-dir` (required — where to write the generated code)\n- `package-name` (required)\n- `namespace` (optional — omit to let `@clientNamespace` decorators resolve naturally)\n\n### Step 4: Determine the flavor\n\nUse this precedence:\n\n1. If the user explicitly stated `azure` or `unbranded`, use that.\n2. If the tspconfig has a `flavor` option set, mention it to the user and confirm.\n3. If the tspconfig only has one Python emitter key, infer:\n   - `@azure-tools\u002Ftypespec-python` → `azure`\n   - `@typespec\u002Fhttp-client-python` → `unbranded`\n4. If still ambiguous, **ask the user**:\n   > \"Should I generate as branded (azure flavor) or unbranded?\"\n\n### Step 5: Find the TypeSpec compiler\n\nLook for the `tsp` CLI in the spec repo's `node_modules`:\n\n```bash\n# Check spec repo root for compiler\n\u003C spec-repo-root > \u002Fnode_modules\u002F@typespec\u002Fcompiler\u002Fcmd\u002Ftsp.js\n```\n\nIf not found, fall back to the global `tsp` command, or check the typespec\nmonorepo's compiler:\n\n```bash\n~\u002FDesktop\u002Fgithub\u002Ftypespec\u002Fpackages\u002Fcompiler\u002Fcmd\u002Ftsp.js\n```\n\n### Step 6: Construct and run the compile command\n\nBuild the `tsp compile` command using:\n\n- **Entry point**: The resolved `.tsp` file from Step 1\n- **`--emit`**: Always the local emitter path:\n  `~\u002FDesktop\u002Fgithub\u002Ftypespec\u002Fpackages\u002Fhttp-client-python`\n- **`--option` flags**: One for each option from the tspconfig, prefixed with\n  the **local emitter name** `@typespec\u002Fhttp-client-python` (regardless of\n  what the tspconfig called it). Any additional options provided by the user\n  are appended last and override tspconfig values if there's a conflict.\n\n**Template:**\n\n```bash\n\u003C tsp-cli-path > compile \u003C entry-point.tsp > --emit ~\u002FDesktop\u002Fgithub\u002Ftypespec\u002Fpackages\u002Fhttp-client-python \\\n  --option \"@typespec\u002Fhttp-client-python.\u003Ckey1>=\u003Cvalue1>\" \\\n  --option \"@typespec\u002Fhttp-client-python.\u003Ckey2>=\u003Cvalue2>\" \\\n  ...\n```\n\n**Option mapping rules:**\n\n| tspconfig key        | CLI `--option` key   | Notes                                             |\n| -------------------- | -------------------- | ------------------------------------------------- |\n| `emitter-output-dir` | `emitter-output-dir` | Resolve `{output-dir}`, `{service-dir}` variables |\n| `package-mode`       | `package-mode`       | Usually `dataplane` or `mgmt`                     |\n| `package-name`       | `package-name`       |                                                   |\n| `namespace`          | `namespace`          | **Omit if not in tspconfig** — see note below     |\n| `api-version`        | `api-version`        |                                                   |\n| `flavor`             | `flavor`             | Set to `azure` for branded, omit for unbranded    |\n| `generate-test`      | `generate-test`      |                                                   |\n| `generate-sample`    | `generate-sample`    |                                                   |\n| `models-mode`        | `models-mode`        | e.g., `dpg`, `msrest`, `typeddict`                |\n| Any other option     | Pass through as-is   |                                                   |\n\n**Namespace note:** Do NOT pass `--namespace` unless it is explicitly set in the\ntspconfig or by the user. When omitted, the emitter lets TCGC resolve\n`@clientNamespace` decorators correctly. Passing a namespace when `@clientNamespace`\nis used in the spec can cause incorrect directory nesting.\n\n**`emitter-output-dir`:** Always use the value provided by the user (Input #3).\nIgnore the `emitter-output-dir` from the tspconfig — it typically contains\nunresolvable template variables like `{output-dir}` and `{service-dir}`.\n\n### Step 7: Run the compilation\n\n```bash\ncd \u003Cspec-directory>\n\u003Cconstructed-compile-command>\n```\n\nSet a timeout of at least 180 seconds — compilation can take a few minutes.\n\nCheck the output:\n\n- **Warnings only** → success\n- **Errors** → report to the user with the full error output\n\n### Step 8: Verify and clean up\n\nAfter successful compilation:\n\n1. Show the generated directory structure:\n\n   ```bash\n   find \u003C output-dir > -type d | sort\n   ```\n\n2. Verify the output matches expectations (e.g., TypedDict-only if `models-mode=none`).\n\n3. If the generation overwrote files in an existing package, warn the user and\n   offer to revert non-generated files:\n   ```bash\n   cd \u003Csdk-repo>\n   git diff --name-status \u003Cpackage-dir>\u002F | grep -v \"\u003Cexpected-generated-path>\"\n   ```\n\n## Notes\n\n### The `--namespace` trap\n\nWhen a TypeSpec uses `@clientNamespace` to map types into a different namespace,\nTCGC resolves the namespace. If you also pass `--namespace`, TCGC tries to\nreplace the root of the `@clientNamespace` value with the flag, which can produce\ndoubled prefixes like `azure.azure.ai.projects...`. **Only pass `--namespace`\nwhen the tspconfig explicitly sets it.**\n\n### Branded vs unbranded emitter names\n\nThe local emitter is always `@typespec\u002Fhttp-client-python` on the CLI `--emit`\nand `--option` flags. The `flavor` option controls branded behavior:\n\n- **Branded**: `--option \"@typespec\u002Fhttp-client-python.flavor=azure\"`\n- **Unbranded**: omit the `flavor` option entirely\n\n### Common additional options the user may request\n\n| User request   | Option to add                                                      |\n| -------------- | ------------------------------------------------------------------ |\n| TypedDict only | `--option \"@typespec\u002Fhttp-client-python.models-mode=none\"`         |\n| No TypedDicts  | `--option \"@typespec\u002Fhttp-client-python.generate-typeddict=false\"` |\n| No tests       | `--option \"@typespec\u002Fhttp-client-python.generate-test=false\"`      |\n| No samples     | `--option \"@typespec\u002Fhttp-client-python.generate-sample=false\"`    |\n",{"name":5,"description":7},"main","05b9bad7c57b9b58e8fb5390f9bab081a1a9ac31","packages\u002Fhttp-client-python\u002F.github\u002Fskills\u002Fgenerate-from-typespec",422,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec","https:\u002F\u002Ftypespec.io\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-14 02:20:15",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add microsoft\u002Ftypespec --skill generate-from-typespec",{"tool":65,"command":66},"bunx","bunx skills add microsoft\u002Ftypespec --skill generate-from-typespec",{"tool":68,"command":69},"pnpm","pnpm dlx skills add microsoft\u002Ftypespec --skill generate-from-typespec","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002Fpackages\u002Fhttp-client-python\u002F.github\u002Fskills\u002Fgenerate-from-typespec\u002FSKILL.md",true,[],[74,103,124,156,169,188],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":84,"publishedAt":44},"01M69B7KKBZE845SFNJQ5H992V","test-unbranded-emitter","Build and test the @typespec\u002Fhttp-client-python emitter. Use this skill whenever the user wants to test their local changes to the emitter, run the generator test suite, check if their http-client-python changes are passing, or validate a fix. Triggers on phrases like \"test the emitter\", \"run tests\", \"check if my changes pass\", \"run test:generator\", \"run CI\", or any mention of testing\u002Fvalidating changes in the emitter package.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002Fpackages\u002Fhttp-client-python\u002F.github\u002Fskills\u002Ftest-unbranded-emitter\u002FSKILL.md",[80,83],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[85,86,87,43,88,89,90,91,24,92,93,94,95,96,36,97,98,34,99,100,101,102],"test","test unbranded emitter","testing","build and test","validate","run tests","http","run","package","ci","check","fix","test suite","build","tests","triggers","generator","changes",{"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":44},"01M69B7EJ0F9HGY2Y8RMX9C4E6","diff-upstream","Regenerate the local emitter and diff the generated code against the upstream baseline checked into autorest.python. Use this skill when the user wants to see how their emitter changes affect generated code compared to what's currently in production, says things like \"diff upstream\", \"compare to baseline\", \"what changed vs production\", \"show me the diff\", \"how does this affect generated code\", or wants to validate their changes produce the expected output differences.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002Fpackages\u002Fhttp-client-python\u002F.github\u002Fskills\u002Fdiff-upstream\u002FSKILL.md",[109],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[111,112,113,43,89,40,114,115,116,117,118,36,119,120,34,121,122,29,102,123,28],"diff upstream","diff","upstream","produce","baseline","show me","how","generated","show","me","compare","output","expected",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":144,"publishedAt":44},"01M69B7BHV2RTK64BZ8NQGFPNE","writing-python-sdk-spector-mock-api-tests","Writes TypeSpec http-client-python generator mock API tests (azure\u002Funbranded\u002Fshared) from a Spector case. Use when given a Spector case link or a PR link that modifies Spector cases under http-specs\u002Fazure-http-specs.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpython-sdk-spector-mock-api-tests\u002FSKILL.md",[130,133,136,141],{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":137,"categoryName":138,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":142,"categoryName":143,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000036","内容创作者",[145,43,41,146,147,38,148,99,149,150,151,91,152,24,36,153,154,155,101,28],"writing","writing python sdk spector mock api tests","api","writing python","mock","mock api","azure","pr","shared","link","case",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":44},"01M69B79NV57JMNA7RS13MAE5P","pnpm-format","Format the codebase with pnpm and recover from common formatting failures.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpnpm-format\u002FSKILL.md",[],[163,164,68,165,166,167,168],"pnpm format","format","common","formatting","with","codebase",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":44},"01M69B784PEAQ45ZKNZAX9NCA9","minimal-repro","Help create a minimal reproduction for a TypeSpec compiler or emitter bug. Use when a user provides TypeSpec source (pasted code or a GitHub URL) and describes an issue. Reproduces locally and reduces to a single-file repro.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fminimal-repro\u002FSKILL.md",[],[176,177,178,42,24,179,40,180,181,182,27,36,183,184,185,31,30,186,187,28],"minimal repro","repro","minimal","create","help","compiler","file","single-file","bug","issue","source","single",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":194,"publishedAt":44},"01M69B76464N72EBS07HC4NMWJ","http-client-python-bump-and-release","Create a PR to bump TypeSpec\u002FAzure Tools dependencies, update peer dependencies, or release a new version of the http-client-python package.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftypespec\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fhttp-client-python-bump-and-release\u002FSKILL.md",[],[43,91,195,196,197,32,198,151,152,24,179,199,93,200,201,202,203,204],"http client python bump and release","release","bump","http client","update","Tools","version","peer","dependencies","new"]