Skip to main content

create-workspace

Provision a Microsoft.Chaos/workspaces resource (v2), bind a managed identity, set scopes, and grant Reader RBAC on the scope.

ソース情報

リポジトリ
microsoft/chaos-studio
ソースの最終更新活動
2026年7月23日 19:33
検出された SKILL.md の言語
英語
スター
3
フォーク
5

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
create-workspace
description
Provision a Microsoft.Chaos/workspaces resource (v2), bind a managed identity, set scopes, and grant Reader RBAC on the scope.
# CreateWorkspace — Chaos Studio Workspace Provisioning > ⛔ **ABSOLUTE RULE**: Do NOT improvise, skip, or substitute any step. On ANY error, STOP and wait for the user. ## When to use this skill (vs. the MCP server) This skill is the **human-interactive** path: it persists state to `startchaos-state.json`, renders cards, and produces the workspace + identity + Reader RBAC in one go. Use it when there is a user in the loop. If you are an **autonomous agent** with no user to prompt, call `chaos_create_workspace` on the `chaos-studio` MCP server. Same provisioning + identity binding + Reader RBAC, returned as a single tool call. See `mcp/README.md`. Both surfaces target `Microsoft.Chaos` `2026-05-01-preview` and use the local `az login` session for auth. ## How It Works All provisioning logic lives in `scripts/Invoke-CreateWorkspace.ps1`. The script handles input validation, workspace creation via `az chaos workspace create` (the CLI awaits the provisioning LRO), identity resolution, RBAC test/grant, and state persistence. The AI orchestrator's **only** job is: 1. Set `$env:STARTCHAOS_STATE_PATH` to `${SESSION_DIR}/startchaos-state.json`. 2. Run the script with the required parameters. 3. Handle exit codes that require user input (see below). 4. Re-run with the user's answers as parameters. ## Prerequisites - `state.auth.status == "done"` (run auth pre-flight first; the script refuses to start otherwise) - `state.context.subscriptionId` populated ## Running the Script ```powershell $env:STARTCHAOS_STATE_PATH = "<session-dir>/startchaos-state.json" & "<skill-dir>/scripts/Invoke-CreateWorkspace.ps1" ` -ResourceGroup <rg> ` -WorkspaceName <name> ` -Scopes @('<arm-id>', ...) ` [-Location <region>] ` [-IdentityType SystemAssigned|UserAssigned] ` [-UserAssignedIdentityResourceId <uami-arm-id>] ``` Idempotent: re-runs short-circuit when `state.workspace.status == "done"`. ## Exit Codes → AI Actions | Exit | Meaning | AI Action | |------|---------|-----------| | **0** | Workspace ready | Done — summary already rendered by script. | | **1** | Hard error | STOP. Render the error from script output. Wait for user. State has `workspace.lastError`. | If a required parameter is missing, PowerShell's parameter binder fails before the script body runs — gather the missing input via `ask_user` and retry. ## Script Parameters | Parameter | Required | Default | Description | |-----------|----------|---------|-------------| | `-ResourceGroup` | yes | — | Azure resource group name | | `-WorkspaceName` | yes | — | Name for the workspace resource | | `-Scopes` | yes | — | ARM IDs the workspace is allowed to target (subscription / RG / service group) | | `-Location` | no | `westus2` | Azure region | | `-IdentityType` | no | `SystemAssigned` | `SystemAssigned` or `UserAssigned` | | `-UserAssignedIdentityResourceId` | conditional | — | Required when `-IdentityType UserAssigned` | ## What the Script Handles (no AI logic needed) - Input validation and ARM-ID well-formedness checks - Workspace creation via `az chaos workspace create` (identity + scopes) - Provisioning LRO awaited by the CLI, with terminal-state surfacing - Identity resolution (SystemAssigned principalId from response; UserAssigned via UAMI GET) - Per-scope `Test-CallerCanAssignRoles` + Reader role assignment with remediation card on denial - Atomic state writes with error envelopes - Idempotent re-runs ## Related Skills - `start-chaos` — orchestrator that invokes this skill - `setup-scenario` — next phase after workspace creation
GitHubで見る