$npx -y skills add pavel-molyanov/molyanov-ai-dev --skill post-deploy-qaPost-deploy verification: execute AVP from tech-spec on live environment, verify all acceptance criteria (user-spec + tech-spec), pick up deferred criteria from pre-deploy QA report. Uses MCP tools (Telegram MCP, Playwright, curl, bash). Use when: "пост-деплой проверка", "post-de
| 1 | <!-- Generated by sync-to-codex v1. Do not edit directly. --> |
| 2 | |
| 3 | # Post-deploy QA |
| 4 | |
| 5 | ## Input Requirements |
| 6 | |
| 7 | Read before starting: |
| 8 | - `user-spec.md` — acceptance criteria |
| 9 | - `tech-spec.md` — Agent Verification Plan (AVP) section + technical acceptance criteria |
| 10 | - `decisions.md` — deviations from plan (if exists) |
| 11 | - Pre-deploy QA report (`logs/working/qa-report.json`) — check `deferredToPostDeploy` section for criteria that could not be verified pre-deploy |
| 12 | - Confirmation that deploy is complete and environment is live |
| 13 | |
| 14 | If tech-spec has no AVP section — still proceed with acceptance criteria verification. |
| 15 | |
| 16 | ## Verification Methodology |
| 17 | |
| 18 | Two verification directions (both required): |
| 19 | |
| 20 | ### 1. Agent Verification Plan (AVP) |
| 21 | |
| 22 | Execute each step from AVP section in tech-spec: |
| 23 | |
| 24 | 1. Read AVP section — it lists verification steps with expected outcomes and MCP tools to use |
| 25 | 2. For each step: |
| 26 | - Use the specified MCP tool (Telegram MCP, Playwright, curl, bash, etc.) |
| 27 | - Perform the described action on live environment |
| 28 | - Compare result with expected outcome |
| 29 | - Record: tool used, step performed, result |
| 30 | 3. If MCP tool is unavailable — mark step as `not_verifiable`, continue with remaining steps |
| 31 | |
| 32 | **Checkpoint:** All AVP steps executed or marked `not_verifiable`. Proceed to acceptance criteria. |
| 33 | |
| 34 | ### 2. Acceptance Criteria Verification |
| 35 | |
| 36 | Verify all acceptance criteria from user-spec and tech-spec on live environment. This catches criteria that pre-deploy QA could not verify without a live system. |
| 37 | |
| 38 | 1. Read pre-deploy QA report (`logs/working/qa-report.json`) — check `deferredToPostDeploy` section |
| 39 | 2. For each deferred criterion — follow the verification steps specified in the pre-deploy report |
| 40 | 3. Also re-check all acceptance criteria from user-spec and tech-spec against live behavior |
| 41 | 4. For each criterion: |
| 42 | - **passed** — verified on live environment, evidence provided |
| 43 | - **failed** — live behavior does not meet the criterion |
| 44 | - **blocked** — cannot verify due to external conditions (no data, third-party service down). Provide a concrete manual verification plan for the user: what to check, when, how |
| 45 | |
| 46 | A `blocked` criterion requires user follow-up before the feature can count as fully verified. |
| 47 | |
| 48 | **Checkpoint:** All acceptance criteria verified, or marked `blocked` with manual verification plan. |
| 49 | |
| 50 | ## Severity Classification |
| 51 | |
| 52 | - **critical** — verification step failed, live functionality broken, data integrity at risk |
| 53 | - **major** — works but with significant issues visible in production |
| 54 | - **minor** — cosmetic, non-functional discrepancies |
| 55 | |
| 56 | ## Output Format |
| 57 | |
| 58 | Return findings as JSON. Reason: orchestrator parses this to decide pass/fail and log findings. |
| 59 | |
| 60 | ```json |
| 61 | { |
| 62 | "status": "passed | failed", |
| 63 | "summary": { |
| 64 | "totalSteps": 0, |
| 65 | "passed": 0, |
| 66 | "failed": 0, |
| 67 | "blocked": 0, |
| 68 | "notVerifiable": 0, |
| 69 | "criticals": 0, |
| 70 | "majors": 0, |
| 71 | "minors": 0 |
| 72 | }, |
| 73 | "agentVerification": [ |
| 74 | { |
| 75 | "step": "Send /start to bot", |
| 76 | "tool": "telegram_mcp", |
| 77 | "status": "passed | failed | not_verifiable", |
| 78 | "details": "Bot responded with welcome message" |
| 79 | } |
| 80 | ], |
| 81 | "acceptanceCriteria": [ |
| 82 | { |
| 83 | "id": "US-5", |
| 84 | "criterion": "Titles generated with correct declensions", |
| 85 | "source": "user-spec | tech-spec | deferred-from-pre-deploy", |
| 86 | "status": "passed | failed | blocked", |
| 87 | "evidence": "Checked live output, generated title uses correct declension/grammar", |
| 88 | "manualVerificationPlan": "Only if blocked — what the user should check, when, how" |
| 89 | } |
| 90 | ], |
| 91 | "findings": [ |
| 92 | { |
| 93 | "severity": "critical | major | minor", |
| 94 | "title": "Bot does not respond to /start", |
| 95 | "expected": "Welcome message within 3 seconds", |
| 96 | "actual": "No response after 10 seconds", |
| 97 | "reproduction": "Steps to reproduce..." |
| 98 | } |
| 99 | ] |
| 100 | } |
| 101 | ``` |
| 102 | |
| 103 | Status decision: `passed` if zero criticals, `failed` if one or more criticals. |
| 104 | |
| 105 | ## Guidelines |
| 106 | |
| 107 | - Every finding includes concrete reproduction: steps, expected vs actual, tool output. |
| 108 | - If all MCP tools are unavailable — report that automated verification is not possible, suggest manual steps. |
| 109 | - Empty findings array = clean verification. |
| 110 | |
| 111 | ## Final Check |
| 112 | |
| 113 | Before finishing, verify: |
| 114 | - [ ] All AVP steps executed or marked `not_verifiable` |
| 115 | - [ ] All deferred criteria from pre-deploy QA report addressed |
| 116 | - [ ] All acceptance criteria from user-spec and tech-spec verified on live environment |
| 117 | - [ ] Every `blocked` criterion has a manual verification plan (what to check, when, how) |
| 118 | - [ ] Output JSON is vali |