Skip to content
Back to skills

Uat

ASecurity

Use when the Power Apps app tests have passed and it is time for pipeline stage 9: take the app to the acceptance environment, generate the UAT script by role and record the acceptance of real users (who and when). Rejected, it sends the fix back to the build. Do not use before /pp-en:test passes, nor to promote to production (use `/pp-en:publish`).

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 6, 2026
ai-agentspythongogit

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add stage2dev/power-platform-skills --skill uat --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Uat?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Uat
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/stage2dev-uat/badge)](https://www.skillsdirectory.com/skills/stage2dev-uat)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: uat
description: "Use when the Power Apps app tests have passed and it is time for pipeline stage 9: take the app to the acceptance environment, generate the UAT script by role and record the acceptance of real users (who and when). Rejected, it sends the fix back to the build. Do not use before /pp-en:test passes, nor to promote to production (use `/pp-en:publish`)."
user-invocable: true
disable-model-invocation: true
---

# /pp-en:uat — User acceptance (UAT)

Stage 9 of the pipeline, block **4. Validation and delivery**. The testers now are the **real users**,
with data close to the real thing, in an environment that is not development. You prepare the script
and record the acceptance; the user runs the session with the people.

`KIT` = `${CLAUDE_PLUGIN_ROOT}`. Output format: `KIT/skills/power-platform/references/output-format.md`.
State script: `python "${CLAUDE_PLUGIN_ROOT}/skills/power-platform/scripts/estado.py"`.
Promotion between environments: `KIT/skills/power-platform/references/alm-environments.md` §2-§5 and §10.

## Before you start

1. `estado.py comecar uat`. Exit 1: show the output and stop.
2. Read `docs/planning/prd.md` (roles, P0 requirements), the latest `docs/qa/QA-*.md` and the ALM
   section of `architecture.md`.
3. **Reopened by a change** (the reason in `STATE.md` cites `CHG-<NNN>`): read
   `docs/changes/CHG-<NNN>.md`. The UAT covers the change's requests (section 2) plus a short cycle
   of the main P0 requirement, to catch regressions; it does not redo the whole script.

## Steps

1. **Where to run UAT** (`AskUserQuestion`):
   - "Acceptance environment (UAT) (Recommended)";
   - "We have no UAT environment: accept in DEV".
   The second becomes an accepted risk in `docs/qa/UAT-<date>.md`, with who accepted it.
2. **Take the app to UAT** (checkpoint `Action in the environment`, 🔴), step by step from
   `alm-environments.md` §10: export the managed solution from DEV, import it into UAT, fill in the
   environment variables, turn on the connection references, give the test users access. "Type 'done'
   or the error."
3. **UAT script** in `docs/qa/UAT-<YYYY-MM-DD>.md`:
   - one block per role;
   - one scenario per P0 requirement: short steps and the expected result;
   - the data set and the test users (one per role, one from another unit);
   - room for `passed / failed / note` and for the signature (name or role, date).
4. **Session with the users** (checkpoint `Action in the environment`, 🔴): the user runs the UAT
   with the people and comes back with the filled-in script. `AskUserQuestion`:
   - "Approved";
   - "Approved with reservations that do not block";
   - "Rejected".
5. **Record** in `UAT-<date>.md` who approved and when. Reservations become ⬜ tasks in an
   "After go-live" section of `GOAL.md`.

## Closing

- **Approved (with or without reservations):** `estado.py concluir uat --nota "acceptance by <who> on <date>"`.
- **Rejected:** each problem in `docs/qa/fixes.md` with the layer (`app` or `flows`), then
  `estado.py reabrir build --motivo "UAT-<date>: <k> problems" [--argumento app|flows]`.
  Build, test and UAT reopen together.
- Commit if `git_commit_por_etapa`: `pp(uat): UAT-<date> <approved | rejected>`.
- Summary and the "Next step" block the script printed.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.