一键导入
verify
Run the implemented feature on local servers (provisioning Azure-only dependencies first) to verify it works before deploying to Azure.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run the implemented feature on local servers (provisioning Azure-only dependencies first) to verify it works before deploying to Azure.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when starting or refining a project's requirements, before any planning or coding. Supports sub-commands `sync`, `reverse`, and `validate`.
Use when local verification passed and the feature is ready to ship to Azure.
Use when a plan exists and the application source or IaC needs to be created or updated.
Use when a spec exists and an implementation or Azure deployment plan is needed, before writing code.
Use when the user wants to run the full Specify → Plan → Implement → Deploy loop end-to-end in one shot. Accepts a free-form prompt that is passed to specify.
Use when implementation exists and needs to be exercised locally against provisioned Azure dependencies, before deploying.
| name | verify |
| description | Run the implemented feature on local servers (provisioning Azure-only dependencies first) to verify it works before deploying to Azure. |
$ARGUMENTS
Purpose. Provision the feature's Azure dependencies via azd provision, then run the components locally pointed at those Azure resources so the user can exercise the feature end-to-end. A green run gates /speckit:deploy; failure blocks it.
$ARGUMENTS (if any) = guidance: which component to focus on (api / web / functions / worker), --reuse (skip azd provision if the env is already provisioned), --rerun (force fresh start of local processes). Empty = "provision Azure deps for the AZD env in /azure.md, start the feature locally against them, and walk me through verifying it works".
Context.
/speckit:implementalready ran the unit/integration suite. This command runs the feature so the user can exercise it like a real consumer.
Load context. Read specs/feature.json → <feature_directory>. Read spec.md, plan.md, tasks.md, tasks.json, and the workspace-root /azure.md. Stop if tasks.* is missing (run /speckit:tasks). If any task is still pending, list the IDs and ASK whether to verify the partial implementation or stop. Constitution non-negotiables are enforced upstream by /speckit:plan and /speckit:implement and are not re-checked here.
Inventory. From plan.md, azure.yaml, and the repo, list each runnable component (path, run command — dotnet run / npm run dev / func start / uvicorn …, port, health URL) and the Azure resources it depends on. Show the inventory as a table and ASK the user to confirm before proceeding.
Provision Azure dependencies. Confirm the AZD environment, subscription, resource group, and region recorded in /azure.md, then run:
azd provision -e <AZD environment> --debug > ./azure.log
--reuse, first check azd show -e <AZD environment> -o json (falling back to az group show -n <resource-group> if azd show does not report provisioning state); if the environment’s resources already exist, skip this step and reuse them.Wire local config to the provisioned resources. Export the AZD environment values into the local config the components read (.env, local.settings.json, appsettings.Development.json, etc.) using azd env get-values -e <AZD environment>. Show the user which keys are being written (names only, never secret values). Secrets must resolve via Key Vault references / managed identity — never as literals.
Pre-flight. Verify the required tools are installed (dotnet, node, python, …). ASK before installing anything. Restore dependencies (npm ci, dotnet restore, pip install -e ., …) — also after asking.
Start the components locally. In dependency order, start each component. Detect busy ports and ASK whether to reuse, kill, or pick another — never silently override. Show the frontend (if available) in the integrated browser.
Update status. Create or update <feature_directory>/verify-status.json with the result of this verify run. Overwrite the file atomically — do not append — and never write secrets (connection strings, keys, SAS tokens, passwords). Use ISO-8601 UTC timestamps (YYYY-MM-DDTHH:MM:SSZ). endpoints lists the local addresses where each component is running on the developer's machine (the URLs the user opens to exercise the feature) — not the Azure-hosted URLs of the provisioned resources; the latter belong to /speckit:deploy's deploy-status.json. Use this exact schema:
{
"azd_environment": "<AZD environment>",
"subscription_id": "<Azure Subscription Id>",
"subscription_name": "<Azure Subscription Name>",
"resource_group": "<resource group name>",
"region": "<Azure region>",
"azd_template": "<azd template repo or 'minimal'>",
"status": "succeeded | failed | partial | what-if",
"started_at": "2026-05-11T14:02:11Z",
"completed_at": "2026-05-11T14:09:47Z",
"duration_seconds": 456,
"command": "azd provision -e dev --debug",
"log_file": "./azure.log",
"endpoints": [
{ "name": "web", "url": "http://localhost:5173" },
{ "name": "api", "url": "http://localhost:5000/health" }
],
"resources": [
{ "name": "app-web-abc123", "type": "Microsoft.Web/sites", "action": "created" },
{ "name": "cosmos-abc123", "type": "Microsoft.DocumentDB/databaseAccounts", "action": "updated" }
],
"outputs": {
"AZURE_RESOURCE_GROUP": "rg-myfeature"
},
"error": null
}
Field rules: endpoints[].url MUST be a local URL (typically http://localhost:<port> or http://127.0.0.1:<port>, optionally with the component's health path) — emit one entry per locally-started component from step 6, in the same order they were started; omit endpoints entirely when no component started. status is succeeded when azd provision exits 0 and every local component reached its health URL, failed when azd provision exits non-zero or any local component failed to start / become healthy (populate error with { "resource": "...", "code": "...", "message": "..." }), partial when some resources / components came up but the run halted, what-if when --what-if was passed (no resources actually changed). resources[].action is one of created / updated / deleted / unchanged. outputs contains the non-secret keys returned by azd env get-values — strip any value whose key matches *KEY*, *SECRET*, *PASSWORD*, *CONNECTION_STRING*, or *TOKEN*.
Hand off. Emit a clear go / no-go for /speckit:deploy plus a short report:
/speckit:deploy if all green, otherwise specific fixes.