# Azure Autorest Java Fix Sync Sdk

> Skill Instructions

- Skill: `tomevault-io/azure-autorest-java-fix-sync-sdk` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/azure-autorest-java-fix-sync-sdk`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/azure-autorest-java-fix-sync-sdk/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/azure-autorest-java-fix-sync-sdk

---


# Skill Instructions

## Request

The request would come in the form of:
- "Fix sdk lib <project-name>"
- "Fix sdk lib <project-name>, update TypeSpec project to <requested-change-to-typespec-project>"

## Checklist

- When updating "client.tsp", always use "java" scope, and add new lines to the end of the file.

## Required repositories

- [Azure/azure-sdk-for-java](https://github.com/Azure/azure-sdk-for-java), cloned at "../azure-sdk-for-java"
  Call this folder "sdk repo" for short.
- [Azure/azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs), cloned at "../azure-rest-api-specs"
  Call this folder "specs repo" for short.

You have full access to these locally cloned repositories/folders.

## Steps

### Before you start

Verify that specs repo is on "main" branch, and is up-to-date.
Note the commit hash of "main" branch, call it "<specs-main-commit>".

Run `npm ci` in "eng/common/tsp-client" folder in sdk repo to make sure the tsp-client is installed.

There can be multiple projects to fix in one request. Repeat the following steps for each "<project-name>".

### Find the project in sdk repo

Search for folder of "<project-name>" under "/sdk" in sdk repo. It should be in the form of "/sdk/<service-name>/<project-name>".

"<project-path>" refers to the full path of the project folder.

### Find the TypeSpec project in specs repo

There is a "tsp-location.yaml" file under "<project-path>" folder.
Read value of `directory` property in this file.
This is the relative path of the TypeSpec project in specs repo.

"<tsp-path>" refers to the full path of this TypeSpec project folder in specs repo.

### When there is no "<requested-change-to-typespec-project>"

#### Regenerate the project in sdk repo

Update the "tsp-location.yaml" file, update the `commit` property to "<specs-main-commit>".

Run `tsp-client update` command under "<project-path>" folder to regenerate the project.
- DO NOT use other form of the command, nor any other arguments
- Output the result to user.

If generation succeeded, commit the "tsp-location.yaml", all ".java" and ".json" files in "<project-path>/src/main" folder (discard changes to other files).
We have fixed this project.
Summarize the changes to specs repo and sdk repo.

If the generate fails, continue to next step.

#### Fix the TypeSpec project in specs repo

All the fixes should be done under "<tsp-path>" folder.

See [common errors and their fixes](./common-error.md) to fix common errors.

When finished, check if the specs repo is on "main" branch. If yes, create a new branch, and create a draft pull request to "main" branch of specs repo.

Commit the changes in "<tsp-path>" folder, push to origin.

Make sure the pull request is created. Use the HEAD commit hash of the pull request branch as "<specs-fix-commit>".

Repeat step "Regenerate the project in sdk repo", use "<specs-fix-commit>" to update `commit` property in "tsp-location.yaml" file.

If it still fails, summarize the details (include the link to draft pull request) and ask user for help.

### When there is "<requested-change-to-typespec-project>"

#### Update the TypeSpec project in specs repo

All the changes should be done under "<tsp-path>" folder.

Modify the TypeSpec project as per "<requested-change-to-typespec-project>".

When finished, check if the specs repo is on "main" branch. If yes, create a new branch, and create a draft pull request to "main" branch of specs repo.

Commit the changes in "<tsp-path>" folder, push to origin. Note the commit hash on the current branch, call it "<specs-fix-commit>".

Make sure the pull request is created.

Repeat step "Regenerate the project in sdk repo", use "<specs-fix-commit>" to update `commit` property in "tsp-location.yaml" file.

Summarize the changes to specs repo and sdk repo (include the link to draft pull request).

### Finally update the `commit` property in "tsp-location.yaml" file

The created pull request would need human review and merge. User will notify you when all pull requests are merged.

When notified, update the `commit` property in "tsp-location.yaml" file to the latest commit hash of "main" branch of specs repo.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/azure) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

