qa-investigate
[QA Method] Bug investigation: reproduce, isolate root cause, gather evidence, common VC patterns.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
[QA Method] Bug investigation: reproduce, isolate root cause, gather evidence, common VC patterns.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Initialize / onboard this agentic-QA plugin onto a deployment. Installs deps, then asks the operator only what genuinely shapes the config — the environment NAME, the bug tracker (Jira / Azure Boards), the code host (GitHub / Azure Repos), and an auth preference per axis (PAT recommended, else browser/CLI login). Everything else — whether it is a native-platform or a CLIENT project, the client org, the contribution mode, the fork account — is DERIVED from the token + the filled env + a live module/repo scan. Writes project-profile.json + .env.<env> + .env.local + .mcp.json and verifies access. The whole point is to make /qa-fix route each bug to the RIGHT repo (client custom code vs native platform) and file to the RIGHT tracker. Use when standing the plugin up on a new machine or for a new customer.
Initialize / onboard this agentic-QA plugin onto a deployment. Installs deps, then asks the operator only what genuinely shapes the config — the environment NAME, the bug tracker (Jira / Azure Boards), the code host (GitHub / Azure Repos), and an auth preference per axis (PAT recommended, else browser/CLI login). Everything else — whether it is a native-platform or a CLIENT project, the client org, the contribution mode, the fork account — is DERIVED from the token + the filled env + a live module/repo scan. Writes project-profile.json + .env.<env> + .env.local + .mcp.json and verifies access. The whole point is to make /qa-fix route each bug to the RIGHT repo (client custom code vs native platform) and file to the RIGHT tracker. Use when standing the plugin up on a new machine or for a new customer.
[QA Methodology] Gather ALL fresh CI prerelease artifacts for a change (modules + platform + vc-frontend) and deploy them together to the test env (vc-deploy-dev@<TEST_ENV branch>) in ONE manifest update: resolve a tracker ticket's linked PRs across all repos (or an explicit --module/--platform/--theme/--pr set) → each PR's latest vc3prerelease build → minimal-diff repin of backend/packages.json (AzureBlob/BlobName + PlatformVersion) and theme/artifact.json → dry-run combined diff (default) or a gated deploy PR (direct same-repo when the account has write, else a fork PR) → --verify polls the env-branch pin + /api/platform/modules per target. Never merges (a human merges to deploy); writes route through gh's keyring token; prints the web-edit URL when it can't push. Unblocks /qa-test PR#N and /qa-verify-fix.
[QA Method] Triangulate each BL invariant against docs + live + source code, auto-apply confirmed changes to business-logic.md, and reconcile test-case coverage. Delegates the live axis to qa-testing-expert; runs the triangulation via ba-system-analyzer.
Bring up a local Virto Commerce stack (backend + storefront + DB + ES) via start-local, pinned to the ACTUAL deployed package manifest (vc-deploy-dev @ vcptcore-demo); optionally augment it with the module/PR versions a JIRA task needs. Use when asked to spin up / run / provision a local VC environment, reproduce a deployed env locally, or stand up an env to test a specific ticket.
[QA Method] Defect management lifecycle: JIRA Bug Workflow, triage, classification, report validation, verification protocol, defect metrics.
| name | qa-investigate |
| description | [QA Method] Bug investigation: reproduce, isolate root cause, gather evidence, common VC patterns. |
| argument-hint | bug description | VCST-XXXX |
| disable-model-invocation | true |
Investigate a suspected bug using a structured 5-phase process: Reproduce → Isolate Layer → Gather Evidence → Identify Root Cause → Document & Hand Off.
/qa-investigate Payment form not submitting on checkout
/qa-investigate VCST-1234
/qa-investigate Flaky test in Suite 04 — cart total sometimes shows $0
Read the investigation flow: Load bug-investigation-flow.md from this skill folder for the full process, decision tree, and common VC patterns (P1–P8). For the operational evidence-capture pass and the root-cause worksheet, also load evidence-and-root-cause.md (the runnable companion) — this is where the depth lives.
Scaffold the evidence package up front so every artifact has one home and nothing is missed
(scripts/bundle-evidence.ts is full vc-qa plugin only, not shipped in vc-fix — create the
package dir by hand at reports/tickets/<TICKET>/evidence-<UTCstamp>/ with
screenshots/ network/ console/ har/ subfolders, and write evidence-index.md /
root-cause.md yourself; see evidence-and-root-cause.md §0 for the exact shapes).
Resolve TEST_ENV FIRST (bug-investigation-flow.md §1):
vcst); state it explicitlyFRONT_URL / BACK_URL / STORE_ID / ENV_RISK; run /qa-env-check endpoints to confirm healthReproduce the bug:
tracker-ops.md §2 — Jira MCP getJiraIssue / Azure ado.mjs get-workitem)Isolate the layer, then name the fix target (bug-investigation-flow.md §3):
repoKind → exact repo (§3 Step 5 + §8): vc-frontend / vc-module-x-* / vc-module-* / vc-platform, resolved via module-suite-map.md + fix-repos.json. Determine layer/module/frontend/platform precisely — never hand off a vague "backend bug".Gather ALL logs & evidence — run the ordered capture pass (evidence-and-root-cause.md Part A; bug-investigation-flow.md §4 + §9):
Request-Id/traceparent on the failing request) and write it into evidence-index.md — it's the join key for App Insights and is unrecoverable once you navigate away.evidence-and-root-cause.md Part A row 9).Identify root cause — fill the worksheet, don't just pattern-match (evidence-and-root-cause.md Part B → root-cause.md). Pattern-matching P1–P8 gives a hypothesis; the worksheet turns it into a conclusion: every claim cites a captured artifact (trace ID / response body / source line), the lowest failing layer is proven not assumed, and at least the two obvious alternatives (by-design, data drift) are ruled out. Name a repoKind/repo only at MEDIUM+ confidence — LOW confidence hands off "symptom + layer + what's left", never a guessed repo. Pattern reference:
Dig into the source code — answer WHERE, then WHEN & WHY (bug-investigation-flow.md §8). When browser/log evidence isn't enough to explain the behavior, read the actual code via GitHub MCP (read-only):
vc-module-* / §8B frontend vc-frontend): search_code for the controller/service/resolver or page/composable/store, trace the logic chain, and decide by-design vs. defect.list_commits on the suspect path, diff the method across good/bad refs, and open the introducing PR (get_pull_request) to recover what the change intended. Confirm the diff actually explains the symptom — correlation ≠ causation.Document and hand off:
evidence-and-root-cause.md — every mandatory slot filled + alternatives ruled out is the bar before writing the report; anything missing means go back and capture (there's no --check script in vc-fix, per §0 above).skills/qa-defect/defect-report-templates.md — reference the package artifacts, don't inline them (reports.md §8)repoKind, per qa-bug.md Step 4) so /qa-fix Gate 1 can confirm rather than re-derivereports/bugs//qa-bug Step 5 (tracker-ops Create — Jira createJiraIssue / Azure ado.mjs create-workitem)TEST_ENV first — every URL/credential/App Insights resource is per-env; discover the App Insights resource by matching the active URLs, never hardcode an env nameevidence-and-root-cause.md Part A) into the bundled package; the trace/operation ID is mandatory for any server-side bug and must be grabbed during repro — it's unrecoverable laterbundle-evidence.ts --check must PASS before filing — all mandatory evidence present and worksheet alternatives ruled outevidence-and-root-cause.md Part B)