옵션
집 Skill DevOps 및 CI/CD azure-mgmt-weightsandbiases-dotnet

azure-mgmt-weightsandbiases-dotnet

microsoft/skills microsoft/skills

.NET SDK를 사용하여 Azure에서 W&B(가중치 및 바이어스) ML 실험 인스턴스를 관리합니다. 마켓플레이스 연동 및 SSO 기능을 통해 W&B 인스턴스를 생성, 구성, 열람, 업데이트 및 삭제할 수 있습니다.

...모든 것을 확장하십시오
1
업데이트 된 시간 2026년 9월 18일

Azure.ResourceManager.WeightsAndBiases (.NET)

Azure Marketplace를 통해 Weights & Biases ML 실험 추적 인스턴스를 배포하고 관리하기 위한 Azure Resource Manager SDK.

설치

dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
dotnet add package Azure.Identity

현재 버전: v1.0.0-beta.1 (미리 보기)
API 버전: 2024-09-18-preview

환경 변수

AZURE_SUBSCRIPTION_ID= # 필수: Azure 구독 ID
AZURE_RESOURCE_GROUP= # 필수: Azure 리소스 그룹 이름
AZURE_WANDB_INSTANCE_NAME= # 필수: Weights & Biases 인스턴스 이름
AZURE_TOKEN_CREDENTIALS=prod  # 프로덕션 환경에서 DefaultAzureCredential을 사용하는 경우에만 필수

인증

using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.WeightsAndBiases;

// 로컬 개발 환경: DefaultAzureCredential. 프로덕션 환경: AZURE_TOKEN_CREDENTIALS=prod 또는 AZURE_TOKEN_CREDENTIALS=로 설정 
var credential = new DefaultAzureCredential(
    DefaultAzureCredential.DefaultEnvironmentVariableName
);
// 또는 프로덕션 환경에서 특정 자격 증명을 직접 사용합니다:
// https://learn.microsoft.com/dotnet/api/overview/azure/identity-readme?view=azure-dotnet#credential-classes 참조
// var credential = new ManagedIdentityCredential();
ArmClient client = new ArmClient(credential);

리소스 계층 구조

구독
└── 리소스 그룹
    └── WeightsAndBiasesInstance    # Azure Marketplace에서 배포된 W&B
        ├── Properties
        │   ├── Marketplace          # 오퍼 세부 정보, 요금제, 게시자
        │   ├── User                 # 관리자 사용자 정보
        │   ├── PartnerProperties    # W&B 전용 구성(리전, 하위 도메인)
        │   └── SingleSignOnPropertiesV2  # Entra ID SSO 구성
        └── Identity                 # 관리형 ID(선택 사항)

핵심 워크플로

1. Weights & Biases 인스턴스 생성

using Azure.ResourceManager.WeightsAndBiases;
using Azure.ResourceManager.WeightsAndBiases.Models;

ResourceGroupResource resourceGroup = await client
    .GetDefaultSubscriptionAsync()
    .Result
    .GetResourceGroupAsync("my-resource-group");

WeightsAndBiasesInstanceCollection instances = resourceGroup.GetWeightsAndBiasesInstances();

WeightsAndBiasesInstanceData data = new WeightsAndBiasesInstanceData(AzureLocation.EastUS)
{
    Properties = new WeightsAndBiasesInstanceProperties
    {
        // 마켓플레이스 구성
        Marketplace = new WeightsAndBiasesMarketplaceDetails
        {
            SubscriptionId = "",
            OfferDetails = new WeightsAndBiasesOfferDetails
            {
                PublisherId = "wandb",
                OfferId = "wandb-pay-as-you-go",
                PlanId = "wandb-payg",
                PlanName = "Pay As You Go",
                TermId = "monthly",
                TermUnit = "P1M"
            }
        },
        // 관리자 사용자
        User = new WeightsAndBiasesUserDetails
        {
            FirstName = "Admin",
            LastName = "User",
            EmailAddress = "[email protected]",
            Upn = "[email protected]"
        },
        // W&B 전용 구성
        PartnerProperties = new WeightsAndBiasesPartnerProperties
        {
            Region = WeightsAndBiasesRegion.EastUS,
            Subdomain = "my-company-wandb"
        }
    },
    // 선택 사항: 관리형 ID 활성화
    Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned)
};

ArmOperation operation = await instances
    .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", data);

WeightsAndBiasesInstanceResource instance = operation.Value;

Console.WriteLine($"W&B 인스턴스 생성됨: {instance.Data.Name}");
Console.WriteLine($"프로비저닝 상태: {instance.Data.Properties.ProvisioningState}");

2. 기존 인스턴스 가져오기

WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

Console.WriteLine($"인스턴스: {instance.Data.Name}");
Console.WriteLine($"위치: {instance.Data.Location}");
Console.WriteLine($"상태: {instance.Data.Properties.ProvisioningState}");

if (instance.Data.Properties.PartnerProperties != null)
{
    Console.WriteLine($"리전: {instance.Data.Properties.PartnerProperties.Region}");
    Console.WriteLine($"하위 도메인: {instance.Data.Properties.PartnerProperties.Subdomain}");
}

3. 모든 인스턴스 나열

// 리소스 그룹 내 인스턴스 나열
await foreach (WeightsAndBiasesInstanceResource instance in 
    resourceGroup.GetWeightsAndBiasesInstances())
{
    Console.WriteLine($"인스턴스: {instance.Data.Name}");
    Console.WriteLine($"  위치: {instance.Data.Location}");
    Console.WriteLine($"  상태: {instance.Data.Properties.ProvisioningState}");
}

// 구독 내 인스턴스 목록
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
await foreach (WeightsAndBiasesInstanceResource instance in 
    subscription.GetWeightsAndBiasesInstancesAsync())
{
    Console.WriteLine($"{instance.Data.Name} in {instance.Id.ResourceGroupName}");
}

4. SSO(Single Sign-On) 구성

WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

// SSO 구성으로 업데이트
WeightsAndBiasesInstanceData updateData = instance.Data;

updateData.Properties.SingleSignOnPropertiesV2 = new WeightsAndBiasSingleSignOnPropertiesV2
{
    Type = WeightsAndBiasSingleSignOnType.Saml,
    State = WeightsAndBiasSingleSignOnState.Enable,
    EnterpriseAppId = "",
    AadDomains = { "example.com", "contoso.com" }
};

ArmOperation operation = await resourceGroup
    .GetWeightsAndBiasesInstances()
    .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", updateData);

5. 인스턴스 업데이트

WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

// 태그 업데이트
WeightsAndBiasesInstancePatch patch = new WeightsAndBiasesInstancePatch
{
    Tags =
    {
        { "environment", "production" },
        { "team", "ml-platform" },
        { "costCenter", "CC-ML-001" }
    }
};

instance = await instance.UpdateAsync(patch);
Console.WriteLine($"인스턴스 업데이트됨: {instance.Data.Name}");

6. 인스턴스 삭제

WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

await instance.DeleteAsync(WaitUntil.Completed);
Console.WriteLine("인스턴스 삭제됨");

7. 리소스 이름 사용 가능 여부 확인

// 생성 전에 이름이 사용 가능한지 확인
// (SDK에서 이 기능을 제공하지 않는 경우 직접 ARM 호출을 통해 구현)
try
{
    await resourceGroup.GetWeightsAndBiasesInstanceAsync("desired-name");
    Console.WriteLine("이름이 이미 사용 중입니다");
}
catch (RequestFailedException ex) when (ex.Status == 404)
{
    Console.WriteLine("이름을 사용할 수 있습니다");
}

키 유형 참조

유형 용도
WeightsAndBiasesInstanceResource W&B 인스턴스 리소스
가중치 및 편향 인스턴스 데이터 인스턴스 구성 데이터
가중치 및 바이어스 인스턴스 컬렉션 인스턴스 모음
가중치 및 편향 인스턴스 속성 인스턴스 속성
가중치 및 편향 마켓플레이스 세부 정보 마켓플레이스 구독 정보
가중치 및 편향 제안 세부 정보 마켓플레이스 오퍼 세부 정보
가중치 및 편향 사용자 세부 정보 관리자 사용자 정보
가중치 및 편향 파트너 속성 W&B 전용 구성
가중치 및 편향 단일 로그인 속성 V2 SSO 구성
WeightsAndBiasesInstancePatch 업데이트용 패치
WeightsAndBiasesRegion 지원되는 리전 열거형

사용 가능한 지역

리전 열거형 Azure 리전
WeightsAndBiasesRegion.EastUS 미국 동부
WeightsAndBiasesRegion.CentralUS 미국 중부
WeightsAndBiasesRegion.WestUS 미국 서부
가중치 및 편향 지역.서유럽 서유럽
가중치 및 편향 지역.일본동부 일본 동부
가중치 및 편향 지역.한국 중부 한국 중부

마켓플레이스 오퍼 세부 정보

Azure Marketplace 통합의 경우:

속성
게시자 ID wandb
오퍼 ID wandb-pay-as-you-go
요금제 ID wandb-payg (사용량 기반 과금)

모범 사례

  1. DefaultAzureCredential 사용 — 여러 인증 방법을 자동으로 지원합니다
  2. 관리형 ID 활성화 — 다른 Azure 리소스에 안전하게 액세스하기 위해
  3. SSO 구성 — 엔터프라이즈 보안을 위해 Entra ID SSO 활성화
  4. 리소스에 태그 지정 — 비용 추적 및 관리를 위해 태그 사용
  5. 프로비저닝 상태 확인 — 인스턴스를 사용하기 전에 '성공( Succeeded )' 상태가 될 때까지 기다리십시오
  6. 적절한 리전 사용 — 컴퓨팅 리소스에 가장 가까운 리전을 선택하세요
  7. Azure를 통한 모니터링 — 리소스 상태를 확인하려면 Azure Monitor를 사용하세요

오류 처리

Azure 사용;

try
{
    ArmOperation operation = await instances
        .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb", data);
}
catch (RequestFailedException ex) when (ex.Status == 409)
{
    Console.WriteLine("인스턴스가 이미 존재하거나 이름이 중복됩니다");
}
catch (RequestFailedException ex) when (ex.Status == 400)
{
    Console.WriteLine($"잘못된 구성: {ex.Message}");
}
catch (RequestFailedException ex)
{
    Console.WriteLine($"Azure 오류: {ex.Status} - {ex.Message}");
}

W&B SDK와의 통합

Azure 리소스를 생성한 후, 실험 추적을 위해 W&B Python SDK를 사용하세요:

# 설치: pip install wandb
import wandb

# Azure에 배포된 인스턴스에서 W&B API 키로 로그인
wandb.login(host="https://my-company-wandb.wandb.ai")

# 실행 초기화
run = wandb.init(project="my-ml-project")

# 메트릭 기록
wandb.log({"accuracy": 0.95, "loss": 0.05})

# 실행 종료
run.finish()

관련 SDK

SDK 용도 설치
Azure.ResourceManager.WeightsAndBiases W&B 인스턴스 관리(이 SDK) dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
Azure.ResourceManager.MachineLearning Azure ML 작업 공간 dotnet add package Azure.ResourceManager.MachineLearning

참고 링크

리소스 URL
NuGet 패키지 https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases
W&B 문서 https://docs.wandb.ai/
Azure 마켓플레이스 https://azuremarketplace.microsoft.com/marketplace/apps/wandb.wandb-pay-as-you-go
GitHub 소스 https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/weightsandbiases
GitHub에서 보기
---
name: azure-mgmt-weightsandbiases-dotnet
description: Manage Weights & Biases ML experiment tracking instances on Azure using the .NET SDK. Create, configure, list, update, and delete W&B instances with marketplace integration and SSO.
license: MIT
---

# Azure.ResourceManager.WeightsAndBiases (.NET)

Azure Resource Manager SDK for deploying and managing Weights & Biases ML experiment tracking instances via Azure Marketplace.

## Installation

```bash
dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
dotnet add package Azure.Identity
```

**Current Version**: v1.0.0-beta.1 (preview)  
**API Version**: 2024-09-18-preview

## Environment Variables

```bash
AZURE_SUBSCRIPTION_ID=<your-subscription-id> # Required: Azure subscription ID
AZURE_RESOURCE_GROUP=<your-resource-group> # Required: Azure resource group name
AZURE_WANDB_INSTANCE_NAME=<your-wandb-instance> # Required: Weights & Biases instance name
AZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production
```

## Authentication

```csharp
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.WeightsAndBiases;

// Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=<specific_credential>
var credential = new DefaultAzureCredential(
    DefaultAzureCredential.DefaultEnvironmentVariableName
);
// Or use a specific credential directly in production:
// See https://learn.microsoft.com/dotnet/api/overview/azure/identity-readme?view=azure-dotnet#credential-classes
// var credential = new ManagedIdentityCredential();
ArmClient client = new ArmClient(credential);
```

## Resource Hierarchy

```
Subscription
└── ResourceGroup
    └── WeightsAndBiasesInstance    # W&B deployment from Azure Marketplace
        ├── Properties
        │   ├── Marketplace          # Offer details, plan, publisher
        │   ├── User                 # Admin user info
        │   ├── PartnerProperties    # W&B-specific config (region, subdomain)
        │   └── SingleSignOnPropertiesV2  # Entra ID SSO configuration
        └── Identity                 # Managed identity (optional)
```

## Core Workflows

### 1. Create Weights & Biases Instance

```csharp
using Azure.ResourceManager.WeightsAndBiases;
using Azure.ResourceManager.WeightsAndBiases.Models;

ResourceGroupResource resourceGroup = await client
    .GetDefaultSubscriptionAsync()
    .Result
    .GetResourceGroupAsync("my-resource-group");

WeightsAndBiasesInstanceCollection instances = resourceGroup.GetWeightsAndBiasesInstances();

WeightsAndBiasesInstanceData data = new WeightsAndBiasesInstanceData(AzureLocation.EastUS)
{
    Properties = new WeightsAndBiasesInstanceProperties
    {
        // Marketplace configuration
        Marketplace = new WeightsAndBiasesMarketplaceDetails
        {
            SubscriptionId = "<marketplace-subscription-id>",
            OfferDetails = new WeightsAndBiasesOfferDetails
            {
                PublisherId = "wandb",
                OfferId = "wandb-pay-as-you-go",
                PlanId = "wandb-payg",
                PlanName = "Pay As You Go",
                TermId = "monthly",
                TermUnit = "P1M"
            }
        },
        // Admin user
        User = new WeightsAndBiasesUserDetails
        {
            FirstName = "Admin",
            LastName = "User",
            EmailAddress = "[email protected]",
            Upn = "[email protected]"
        },
        // W&B-specific configuration
        PartnerProperties = new WeightsAndBiasesPartnerProperties
        {
            Region = WeightsAndBiasesRegion.EastUS,
            Subdomain = "my-company-wandb"
        }
    },
    // Optional: Enable managed identity
    Identity = new ManagedServiceIdentity(ManagedServiceIdentityType.SystemAssigned)
};

ArmOperation<WeightsAndBiasesInstanceResource> operation = await instances
    .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", data);

WeightsAndBiasesInstanceResource instance = operation.Value;

Console.WriteLine($"W&B Instance created: {instance.Data.Name}");
Console.WriteLine($"Provisioning state: {instance.Data.Properties.ProvisioningState}");
```

### 2. Get Existing Instance

```csharp
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

Console.WriteLine($"Instance: {instance.Data.Name}");
Console.WriteLine($"Location: {instance.Data.Location}");
Console.WriteLine($"State: {instance.Data.Properties.ProvisioningState}");

if (instance.Data.Properties.PartnerProperties != null)
{
    Console.WriteLine($"Region: {instance.Data.Properties.PartnerProperties.Region}");
    Console.WriteLine($"Subdomain: {instance.Data.Properties.PartnerProperties.Subdomain}");
}
```

### 3. List All Instances

```csharp
// List in resource group
await foreach (WeightsAndBiasesInstanceResource instance in 
    resourceGroup.GetWeightsAndBiasesInstances())
{
    Console.WriteLine($"Instance: {instance.Data.Name}");
    Console.WriteLine($"  Location: {instance.Data.Location}");
    Console.WriteLine($"  State: {instance.Data.Properties.ProvisioningState}");
}

// List in subscription
SubscriptionResource subscription = await client.GetDefaultSubscriptionAsync();
await foreach (WeightsAndBiasesInstanceResource instance in 
    subscription.GetWeightsAndBiasesInstancesAsync())
{
    Console.WriteLine($"{instance.Data.Name} in {instance.Id.ResourceGroupName}");
}
```

### 4. Configure Single Sign-On (SSO)

```csharp
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

// Update with SSO configuration
WeightsAndBiasesInstanceData updateData = instance.Data;

updateData.Properties.SingleSignOnPropertiesV2 = new WeightsAndBiasSingleSignOnPropertiesV2
{
    Type = WeightsAndBiasSingleSignOnType.Saml,
    State = WeightsAndBiasSingleSignOnState.Enable,
    EnterpriseAppId = "<entra-app-id>",
    AadDomains = { "example.com", "contoso.com" }
};

ArmOperation<WeightsAndBiasesInstanceResource> operation = await resourceGroup
    .GetWeightsAndBiasesInstances()
    .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", updateData);
```

### 5. Update Instance

```csharp
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

// Update tags
WeightsAndBiasesInstancePatch patch = new WeightsAndBiasesInstancePatch
{
    Tags =
    {
        { "environment", "production" },
        { "team", "ml-platform" },
        { "costCenter", "CC-ML-001" }
    }
};

instance = await instance.UpdateAsync(patch);
Console.WriteLine($"Updated instance: {instance.Data.Name}");
```

### 6. Delete Instance

```csharp
WeightsAndBiasesInstanceResource instance = await resourceGroup
    .GetWeightsAndBiasesInstanceAsync("my-wandb-instance");

await instance.DeleteAsync(WaitUntil.Completed);
Console.WriteLine("Instance deleted");
```

### 7. Check Resource Name Availability

```csharp
// Check if name is available before creating
// (Implement via direct ARM call if SDK doesn't expose this)
try
{
    await resourceGroup.GetWeightsAndBiasesInstanceAsync("desired-name");
    Console.WriteLine("Name is already taken");
}
catch (RequestFailedException ex) when (ex.Status == 404)
{
    Console.WriteLine("Name is available");
}
```

## Key Types Reference

| Type | Purpose |
|------|---------|
| `WeightsAndBiasesInstanceResource` | W&B instance resource |
| `WeightsAndBiasesInstanceData` | Instance configuration data |
| `WeightsAndBiasesInstanceCollection` | Collection of instances |
| `WeightsAndBiasesInstanceProperties` | Instance properties |
| `WeightsAndBiasesMarketplaceDetails` | Marketplace subscription info |
| `WeightsAndBiasesOfferDetails` | Marketplace offer details |
| `WeightsAndBiasesUserDetails` | Admin user information |
| `WeightsAndBiasesPartnerProperties` | W&B-specific configuration |
| `WeightsAndBiasSingleSignOnPropertiesV2` | SSO configuration |
| `WeightsAndBiasesInstancePatch` | Patch for updates |
| `WeightsAndBiasesRegion` | Supported regions enum |

## Available Regions

| Region Enum | Azure Region |
|-------------|--------------|
| `WeightsAndBiasesRegion.EastUS` | East US |
| `WeightsAndBiasesRegion.CentralUS` | Central US |
| `WeightsAndBiasesRegion.WestUS` | West US |
| `WeightsAndBiasesRegion.WestEurope` | West Europe |
| `WeightsAndBiasesRegion.JapanEast` | Japan East |
| `WeightsAndBiasesRegion.KoreaCentral` | Korea Central |

## Marketplace Offer Details

For Azure Marketplace integration:

| Property | Value |
|----------|-------|
| Publisher ID | `wandb` |
| Offer ID | `wandb-pay-as-you-go` |
| Plan ID | `wandb-payg` (Pay As You Go) |

## Best Practices

1. **Use DefaultAzureCredential** — Supports multiple auth methods automatically
2. **Enable managed identity** — For secure access to other Azure resources
3. **Configure SSO** — Enable Entra ID SSO for enterprise security
4. **Tag resources** — Use tags for cost tracking and organization
5. **Check provisioning state** — Wait for `Succeeded` before using instance
6. **Use appropriate region** — Choose region closest to your compute
7. **Monitor with Azure** — Use Azure Monitor for resource health

## Error Handling

```csharp
using Azure;

try
{
    ArmOperation<WeightsAndBiasesInstanceResource> operation = await instances
        .CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb", data);
}
catch (RequestFailedException ex) when (ex.Status == 409)
{
    Console.WriteLine("Instance already exists or name conflict");
}
catch (RequestFailedException ex) when (ex.Status == 400)
{
    Console.WriteLine($"Invalid configuration: {ex.Message}");
}
catch (RequestFailedException ex)
{
    Console.WriteLine($"Azure error: {ex.Status} - {ex.Message}");
}
```

## Integration with W&B SDK

After creating the Azure resource, use the W&B Python SDK for experiment tracking:

```python
# Install: pip install wandb
import wandb

# Login with your W&B API key from the Azure-deployed instance
wandb.login(host="https://my-company-wandb.wandb.ai")

# Initialize a run
run = wandb.init(project="my-ml-project")

# Log metrics
wandb.log({"accuracy": 0.95, "loss": 0.05})

# Finish run
run.finish()
```

## Related SDKs

| SDK | Purpose | Install |
|-----|---------|---------|
| `Azure.ResourceManager.WeightsAndBiases` | W&B instance management (this SDK) | `dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease` |
| `Azure.ResourceManager.MachineLearning` | Azure ML workspaces | `dotnet add package Azure.ResourceManager.MachineLearning` |

## Reference Links

| Resource | URL |
|----------|-----|
| NuGet Package | https://www.nuget.org/packages/Azure.ResourceManager.WeightsAndBiases |
| W&B Documentation | https://docs.wandb.ai/ |
| Azure Marketplace | https://azuremarketplace.microsoft.com/marketplace/apps/wandb.wandb-pay-as-you-go |
| GitHub Source | https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/weightsandbiases |

모든 파일

0개 파일

azure-mgmt-weightsandbiases-dotnet 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-dotnet/skills/azure-mgmt-weightsandbiases-dotnet # Copy SKILL.md to your .claude/skills/ directory

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/로 복사하세요. Claude가 해당 스킬을 자동으로 감지하여 사용할 것입니다.
저장소 microsoft/skills

관련 스킬

Verification &amp; Quality Assurance
업데이트 된 시간 2026년 6월 29일
klingai-upgrade-migration
업데이트 된 시간 2026년 7월 3일
base44-cli
업데이트 된 시간 2026년 6월 29일
Railway CLI Management
업데이트 된 시간 2026년 7월 2일
OR