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)