Skip to main content

managing-sre-agent

Manage Azure SRE Agent configuration for this demo: connectors, skills, guarded custom agents, response plans, and the knowledge base. Use when asked to create, list, update, or delete SRE Agent resources.

ソース情報

リポジトリ
microsoft/sre-agent
ソースの最終更新活動
2026年9月9日 21:20
検出された SKILL.md の言語
英語
スター
183
フォーク
184

インストール方法

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

ソースファイルを確認

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

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
managing-sre-agent
description
Manage Azure SRE Agent configuration for this demo: connectors, skills, guarded custom agents, response plans, and the knowledge base. Use when asked to create, list, update, or delete SRE Agent resources.
# SRE Agent Administration For **this demo**, core agent configuration is declared in Bicep (`infra/modules/sre-agent.bicep`): - **Agent settings** — autonomous mode, High access level, Azure Monitor incident binding - **RBAC** — system-assigned managed identity granted Reader, Monitoring Reader, Contributor, and AKS RBAC Cluster Admin on the resource group; the runtime user-assigned identity also has subscription-level Reader so the correlation skill can read Alerts Management and Resource Health event feeds To change these resources, **edit the Bicep and run `azd provision`**. The four connectors (`app-insights`, `log-analytics`, `azure-monitor`, and `learn-docs`) are declared under `connectors` in `sre-config/agent-config.json`. Setup applies them using `infra/modules/sre-agent-connectors.bicep` after an authenticated API-readiness gate. Do not put them back in the core agent module: that would block post-provision recovery while the backend is still starting. Runtime skills, custom agents, and response plans are defined in `sre-config/agent-config.json`. Skill procedures live in `sre-config/skills/`; agent definitions live in `sre-config/agents/`. `scripts/setup-sre-agent.ps1` renders these and embeds the shared `sre-config/hooks/readonly-evidence.py` into each child's hook. This `.github/skills/` document is operator guidance, not a deployed runtime skill. Do not design overlapping response plans around an assumed priority or specificity rule. Treat multiple matches as undefined, keep purpose-built filters mutually exclusive where routing matters, and make any fallback both positively scoped and explicitly exclude every known route. ## Post-provision configuration Run: ```powershell .\scripts\setup-sre-agent.ps1 ``` Only run that command with authorization to modify live configuration. For a local-only preview, use `-ResourceGroup rg-example -RenderOnly`; it does not authenticate or make network calls. The script waits for API readiness, applies the staged connector template through ARM, checks evidence-tool registration, and applies and reads back skills, then agents/hooks, then response plans. It refuses to publish the global routing hint until referenced skills and agents converge. It also uploads knowledge files, syncs agent-global custom instructions, and enables the Microsoft Learn MCP tools. Matching skills, agents, response plans, and instructions skip writes. If a managed definition or nonempty global instructions differ from source, setup stops before writes. Inspect the live definition and the reported changed fields; only then explicitly rerun with `-UpdateExisting`. The script first saves previous managed definitions/instructions to the user's local application-data `sre-agent/snapshots` directory, or `-SnapshotDirectory` outside any Git checkout. Never commit those private snapshots. It preserves unmanaged objects and tags; there is no prune mode. Existing agents use PATCH to preserve settings outside the lab manifest. Rereads detect edits since preflight, but this is not a transactional multi-object deployment. Connectors retain incremental Bicep apply semantics, preserving unmanaged names and existing tags. Source IDs and some connector fields are redacted by the API; only exposed type, identity, and provisioning state are compared. Changing an existing type/identity requires `-UpdateExisting`; other declared connector settings are reapplied from source. Do not describe redacted snapshots as a complete rollback backup. `-ReadinessTimeoutSeconds` (default 900) bounds startup polling; `-ConnectorTimeoutSeconds` (default 600) bounds the connector deployment and its transient retries. Authentication failures stop immediately. On deployment timeout, setup requests cancellation; inspect the reported deployment before retrying. The script reads every `*.md` under `sre-config/knowledge-base/`, substitutes `@@RG@@` -> the actual resource group, computes a SHA256, and uploads only files whose content has changed since the last run (cache in `sre-config/knowledge-base/.upload-hashes.json`). To add new agent knowledge: 1. Drop a new `*.md` file into `sre-config/knowledge-base/` 2. Use `@@RG@@` placeholder anywhere you need the resource group name 3. Re-run `.\scripts\setup-sre-agent.ps1` To remove a knowledge file: delete the local `.md`, then delete the corresponding `<name>.md` from the agent's Builder UI > Knowledge sources view (the script does not delete remote files that are no longer present locally). Keep global instructions short; detailed procedures belong in a skill so they load only when relevant. ## Evidence skills and specialists `zava-investigation-coordination` guides the meta agent, not a new incident handler. It owns no operational cloud tools. The two `zava-*-evidence` skills own read-only procedures and the two Monitor dependency names in manifest `tools`. That array becomes the JSON API's `properties.tools`; Markdown frontmatter alone is insufficient. Application/performance incident runbooks reuse the evidence skills while retaining their authorized write tools and remediation sections. The named specialists have nonempty `handoffDescription`, selected evidence skills, explicit `tools: ["ReadFile"]`, and child-only PreToolUse guards. Do not empty all agent tool lists (workspace defaults can return), empty `allowedSkills` (not a deny-all control), or install the guard globally. A hook pass must not emit `permissionDecision: allow`. Adding a skill dependency must not silently widen the guard's exact allowlist. Default `SkillOwned` mode declares Monitor dependencies on the evidence skills. `-EvidenceToolMode ExplicitAgent` also selects them on the specialists for compatibility. Do not change a working profile's tool mode without confirming the selected skill and tools are available on that deployment. Run the local contracts with `python -B -m unittest discover -s .\tests -p 'test_*.py' -v` (Python 3 and PowerShell 7.4+, no packages). Follow the [configuration verification guide](../../../docs/skills-agents-validation.md) after an authorized deployment. Local tests do not establish live tool availability. ## When helping users 1. **"Add a skill or response plan"** — edit `sre-config/agent-config.json` and the relevant file under `sre-config/skills/`, then run `setup-sre-agent.ps1`. 2. **"Add a connector"** — edit the manifest's `connectors` entries and run `setup-sre-agent.ps1` after reviewing the change. Connector resources remain ARM/Bicep-managed through the staged template. 3. **"Add a knowledge file"** — drop the markdown under `sre-config/knowledge-base/` and run `setup-sre-agent.ps1`. 4. **"Verify the agent is configured"** — run `setup-sre-agent.ps1`; Step 7 verifies the deployed properties. 5. **Activity-log alerts gotcha** — they fire as Sev4 regardless of the configured severity, so response plan filters must match all severities. 6. **Runbook philosophy** — preserve the existing descriptions, tools, and procedures when moving or editing files under `sre-config/skills/`. 7. **Kubernetes tool guidance** — use `RunKubectlReadCommand` and `RunKubectlWriteCommand` directly in runtime skills. Do not make runbooks depend on terminal-native kubectl. 8. **"Add an evidence specialist"** — add a manifest `agents` reference and a supported properties file; reuse the child hook, not a global hook. Preview locally first. Do not change response-plan handlers, IAM, connectors, network access, or self-management settings as part of this configuration change.
GitHubで見る