npx skills add ...
npx skills add microsoft/vibe-kit --skill msresearch-promptions
npx skills add microsoft/vibe-kit --skill msresearch-promptions
Promptions — Microsoft Research's dynamic prompt middleware that turns a user's prompt into ephemeral UI controls (sliders, toggles, selects) they can adjust and replay to steer model output without rewriting instructions. Use for integrating Promptions, designing control schemas, rendering controls in React/Fluent UI, or showcasing the hosted ImageGen Workbench demo (the recommended first-look) or the self-hosted `promptions-chat` reference app.
Identify which journey the user is on before touching files:
promptions-chat locally. Lowest commitment, visual payoff.
If the user is undecided, default to path 2 — and within path 2, default to ImageGen: it's the most impressive, takes zero setup, and makes the pattern click in seconds. Only walk through the self-hosted chatbot if the user wants to see code, fork it, or run against their own key.
Hosted ImageGen demo: the only prereq is a modern browser — open https://www.microsoft.com/en-us/research/workbench/project/promptions/demo and you're done. The items below apply to the optional self-hosted chatbot path.
corepack, and --host 0.0.0.0 IPv6 behavior all work as documented only in WSL2. See Microsoft's WSL install guide.corepack (ships with Node) or npx.api.openai.com) is supported only as a fallback for users who cannot use Azure. The chatbot requires a GPT-4-family model (e.g., gpt-4.1-mini); GPT-5 is not compatible.git clone https://github.com/microsoft/Promptions.git promptions-app), then run the Azure OpenAI provisioning script (docs/azure-openai-setup.md) — it creates the deployment and writes apps/promptions-chat/.env and apps/promptions-image/.env in one shot. Public OpenAI is a documented fallback only for users who can't use Azure. Then corepack yarn install && corepack yarn build, and from promptions-app/apps/promptions-chat/ run npx vite --host 0.0.0.0 --port 3003.isBackground: true and use get_terminal_output to verify the server started — never run additional commands in the same background terminal.npx vite for promptions-chat must run from inside promptions-app/apps/promptions-chat/. Running from the kit root, workspace root, or repo root produces confusing errors.npx vite, not corepack yarn workspace ... dev: Yarn 4 hoists deps and skips local .bin symlinks; the workspace command fails with "permission denied: vite". Don't run corepack enable either — it requires root in dev containers.--host 0.0.0.0: Vite v7 binds to IPv6 ::1 by default, breaking dev-container port forwarding. Without this flag the app won't load in any browser.VITE_OPENAI_MODEL is set to the deployment name they chose in Foundry (or in the provisioning script), not the underlying model name (gpt-4.1-mini). This is the #1 Azure misconfiguration and produces 404 DeploymentNotFound. See docs/azure-openai-setup.md./openai suffix. VITE_OPENAI_BASE_URL must be just https://<resource>.openai.azure.com. The AzureOpenAI SDK class used by promptions-chat appends /openai/deployments/... itself; adding the suffix makes the request .../openai/openai/deployments/... and returns 404 Resource not found. Only raw REST curl calls (e.g., the smoke test) need /openai/ in the URL template, never in the env var.az cognitiveservices account deployment create requires --model-version explicitly — there is no "latest" auto-pick. The provisioning script defaults to 2025-04-14 for gpt-4.1-mini. If the user reports Model 'gpt-4.1-mini' version '' is not supported, the version field was blanked out; re-run with AZ_MODEL_VERSION=2025-04-14 or check the current GA at https://learn.microsoft.com/azure/ai-services/openai/concepts/models..env lives at the per-app level: promptions-app/apps/promptions-chat/.env (chat) and promptions-app/apps/promptions-image/.env (image), not the repo root. Both apps read the same four VITE_OPENAI_* vars. The provisioning script writes both..env locally and confirm it's set before launching. Validate the key with the curl check from docs/quick-start.md before doing anything else — a bad key wastes minutes of confusing errors.lib/ after they've seen the pattern in action.Local: http://localhost:3003, open it for the user with the browser tool if available. For the hosted ImageGen demo, open https://www.microsoft.com/en-us/research/workbench/project/promptions/demo directly.gpt-4.1-mini, gpt-4.1); GPT-5 is not compatible. For Azure OpenAI (strongly preferred), all four VITE_OPENAI_* values are populated by the provisioning script (docs/azure-openai-setup.md) into both apps/promptions-chat/.env and apps/promptions-image/.env. If — and only if — the user has explicitly opted into the public-OpenAI fallback, set VITE_OPENAI_API_KEY and VITE_OPENAI_MODEL=gpt-4.1 (upstream's documented default) and leave VITE_OPENAI_BASE_URL and VITE_OPENAI_API_VERSION unset — the absence of VITE_OPENAI_BASE_URL is what tells promptions-chat to use the standard OpenAI client instead of AzureOpenAI.| Doc | When to load |
|---|---|
| docs/about-promptions.md | User asks what Promptions is, how it works, key results, limitations, or background |
| docs/quick-start.md | User wants to try ImageGen (hosted, recommended first-look) or self-host promptions-chat |
| docs/azure-openai-setup.md | User wants to provision an Azure OpenAI GPT deployment for the self-hosted chatbot (automated script + manual Foundry walkthrough) |
| docs/application-patterns.md | User wants to design a new Promptions experience, see integration code, or adapt domain workflows (customer support, content ops, analytics, marketing, education) |
| docs/data-integration.md | User asks about transcripts, telemetry ingestion, or shaping chat history into control inputs |
| docs/reference.md | User needs full schema details or type reference |
| docs/performance-guide.md | User asks about latency, cost, batching, or model selection |
| docs/troubleshooting.md | User hits an error, malformed control output, or replay failure |
lib/ — TypeScript modules covering schema, generation, validation, React rendering, and replay. Canonical reference for the integration path.assets/papers/ — CHIWORK 2025 paper artifacts for offline reference; surfaced from docs/about-promptions.md.assets/scripts/provision-azure-openai.sh — One-shot Azure OpenAI provisioning script. Creates the resource group + Azure OpenAI account + GPT-4-family deployment (with explicit --model-version), smoke-tests it, and writes the four required VITE_OPENAI_* values into both promptions-app/apps/promptions-chat/.env and promptions-app/apps/promptions-image/.env. See docs/azure-openai-setup.md.promptions-app/ — Chatbot reference app cloned from github.com/microsoft/Promptions during quick-start setup.