Skip to content

Commit 107333f

Browse files
committed
chore: add grill-me-qa skill
1 parent a516d40 commit 107333f

7 files changed

Lines changed: 1274 additions & 0 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Douglas Fugazi
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
name: grill-me-qa
3+
description: "A relentless interview to stress-test QA automation plans, test strategies, and framework designs before implementation. Use when the user wants to validate a test architecture, challenge a testing decision, prepare an AI-assisted testing rollout, or uses any 'grill' trigger phrases. Covers test strategy, framework selection, AI integration, CI/CD, maintainability, and quality engineering."
4+
---
5+
6+
# Grill Me QA
7+
8+
A relentless, systematic interview that stress-tests every aspect of a QA automation plan or test strategy until all decisions are resolved. Designed for QA Automation Engineers, SDETs, and QA Leads working with AI-assisted testing tools.
9+
10+
> **Activation:** Triggered when the user wants to validate, challenge, or stress-test a testing plan, framework choice, test architecture, or AI-testing strategy. Also activated by explicit reference: "use the skill grill-me-qa".
11+
12+
## When to Use This Skill
13+
14+
- Before starting a new test automation project or framework
15+
- When adopting AI tools for test generation, healing, or analysis
16+
- Before presenting a test strategy to stakeholders
17+
- When refactoring or migrating an existing test suite
18+
- When evaluating tool/framework trade-offs (Playwright vs Selenium vs Cypress vs k6)
19+
- Before scaling test coverage or reorganizing a regression suite
20+
- When flaky tests are undermining trust in the suite
21+
22+
## How Grilling Works
23+
24+
### Core Protocol
25+
26+
1. **One question at a time.** Never ask multiple questions simultaneously. Wait for the user's answer before proceeding.
27+
2. **Provide a recommended answer** for every question, based on industry best practices, ISTQB principles, and the specific context of the project.
28+
3. **Explore before asking.** If a question can be answered by examining the codebase, test suite, CI configuration, or existing documentation — explore it instead of asking the user.
29+
4. **Walk the decision tree systematically.** Follow the seven dimensions in order. Resolve dependencies between decisions one by one before moving to the next branch.
30+
5. **Challenge vague answers.** If the user's answer is imprecise, follow up to sharpen it. "It depends" is not an answer — force a concrete decision with context.
31+
6. **Track decisions.** Maintain a running log of resolved decisions, deferred items, and open questions throughout the session.
32+
33+
### Session Flow
34+
35+
```
36+
Phase 1: Context Gathering
37+
→ What are we grilling? (plan, strategy, framework choice, AI adoption)
38+
→ Explore codebase, test suite, CI config, existing docs
39+
40+
Phase 2: Systematic Grilling (7 Dimensions)
41+
→ Walk through each dimension, one question at a time
42+
→ Provide recommended answer, wait for user's decision
43+
→ Resolve dependencies before moving forward
44+
45+
Phase 3: Decision Record Generation
46+
→ Summarize all decisions into a Test Strategy Decision Record (TSDR)
47+
→ Offer Markdown and/or HTML output
48+
```
49+
50+
## The Seven Dimensions
51+
52+
Each dimension contains a decision tree with specific interrogation points. Read `references/qa-decision-tree.md` for the full question bank.
53+
54+
### Dimension 1: Test Strategy & Coverage
55+
- What testing pyramid shape fits this project?
56+
- What is the risk-based coverage priority?
57+
- What is the boundary between automated and exploratory testing?
58+
- What non-functional testing is required (performance, security, accessibility)?
59+
60+
### Dimension 2: Framework & Tooling
61+
- Why this framework over alternatives? (Playwright / Selenium / Cypress / k6 / other)
62+
- What language and why? (TypeScript / Java / Python / other)
63+
- What design pattern? (Page Object Model / Screenplay / Fluent API / hybrid)
64+
- What reporting and observability tools?
65+
66+
### Dimension 3: Test Architecture
67+
- How are tests isolated from each other?
68+
- What is the test data strategy? (seeding, cleanup, factories, fixtures)
69+
- How are environments managed? (local, staging, CI)
70+
- What is the parallelization strategy?
71+
- What is the retry and flakiness policy?
72+
73+
### Dimension 4: AI Integration
74+
- Where does AI enter the testing workflow? (generation, healing, analysis, visual, triage)
75+
- How are AI-generated tests validated for correctness?
76+
- What is the human-in-the-loop boundary?
77+
- How are hallucinations and non-deterministic outputs mitigated?
78+
- What is the cost/token budget for AI-assisted testing?
79+
- What AI tools are selected and why?
80+
81+
### Dimension 5: CI/CD Pipeline
82+
- What are the test stages and quality gates?
83+
- What is the execution budget? (time limit per stage)
84+
- What is the test selection strategy? (impacted tests, smart selection, full suite)
85+
- Fail-fast or comprehensive-then-report?
86+
- How are flaky tests handled in CI? (quarantine, auto-retry, block merge)
87+
88+
### Dimension 6: Quality Engineering (Non-Functional)
89+
- What accessibility standard is targeted? (WCAG 2.1 AA / Section 508 / other)
90+
- What performance testing is needed? (load, stress, soak, spike)
91+
- What visual regression approach? (pixel diff, DOM diff, AI-assisted)
92+
- What is the cross-browser and cross-device matrix?
93+
- What security testing is integrated? (SAST, DAST, dependency scanning)
94+
95+
### Dimension 7: Maintainability & Sustainability
96+
- What is the dead test detection and removal strategy?
97+
- How is test code quality enforced? (linting, review standards, DRY thresholds)
98+
- What is the refactoring cadence?
99+
- How are tests documented? (naming, comments, test plan links)
100+
- What is the onboarding path for new team members?
101+
102+
## Interrogation Guidelines for AI-Assisted Testing
103+
104+
When the grilling touches AI integration (Dimension 4), apply additional scrutiny. AI in testing is high-risk if unvalidated. Read `references/ai-testing-interrogation.md` for the full question bank.
105+
106+
Key areas:
107+
- **Validation:** How do you know the AI-generated test is actually testing the right thing?
108+
- **Determinism:** Can the test pass for the wrong reason?
109+
- **Maintenance:** What happens when the AI tool changes its output format?
110+
- **Ownership:** Who owns the test — the human or the AI tool?
111+
- **Audit trail:** Can you explain why a test exists and what it verifies?
112+
113+
## Output: Test Strategy Decision Record (TSDR)
114+
115+
At the end of the grilling session, generate a TSDR summarizing all decisions. Use the templates provided:
116+
117+
- **Markdown:** `templates/grilling-summary.md` — for developers and version control
118+
- **HTML:** `templates/grilling-summary.html` — for stakeholders, presentations, and sharing
119+
120+
The TSDR includes:
121+
- Project name, date, and participants
122+
- Per-dimension status (Resolved / Deferred / Open)
123+
- Decision log with: question, recommended answer, chosen answer, rationale
124+
- Outstanding items and follow-up actions
125+
126+
## Stopping Criteria
127+
128+
End the grilling session when:
129+
1. All seven dimensions have been covered (even if some are deferred)
130+
2. The user explicitly asks to stop
131+
3. The remaining open questions are blocked by external dependencies (not decisions)
132+
133+
Never end mid-dimension unless the user requests it. Always summarize the current state before closing.
134+
135+
## Tone
136+
137+
Be relentless but constructive. The goal is not to overwhelm — it is to surface hidden assumptions and force clarity. Treat every decision as important, but prioritize questions that have the highest impact on the testing strategy.
138+
139+
Do not let the user skip questions without acknowledging the risk. If a question is deferred, mark it explicitly and note the impact of the deferral.
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
# AI Testing Interrogation — Expanded Question Bank
2+
3+
When the grilling touches Dimension 4 (AI Integration), apply heightened scrutiny. AI in testing is powerful but introduces non-determinism, trust issues, and maintenance burdens that must be explicitly addressed.
4+
5+
---
6+
7+
## 4.1 Where does AI enter the testing workflow?
8+
9+
### Interrogation points
10+
11+
- **Test generation:** Is AI generating test code from specs, Gherkin, or natural language descriptions?
12+
- **Test healing:** Is AI auto-fixing broken selectors, assertions, or page structure changes?
13+
- **Visual regression:** Is AI being used for intelligent visual diffing (vs pixel comparison)?
14+
- **Triage & analysis:** Is AI analyzing test failures, grouping similar failures, or suggesting root causes?
15+
- **Test selection:** Is AI selecting which tests to run based on code changes?
16+
- **Test data generation:** Is AI generating test data, edge cases, or boundary values?
17+
18+
### Recommended answer
19+
20+
Adopt AI incrementally, lowest-risk first:
21+
22+
1. **Triage** (lowest risk) — AI analyzes failures and groups them. Wrong output wastes time, doesn't cause false confidence.
23+
2. **Visual regression** — Mature technology. AI-assisted diffing reduces false positives vs pixel diff.
24+
3. **Test generation** (medium risk) — AI generates test drafts. Mandatory human review before merge.
25+
4. **Test healing** (higher risk) — Auto-fixing broken tests. Must be opt-in, logged, and reviewed.
26+
5. **Test selection** (highest risk) — AI decides what to test. Always maintain a fallback to full suite.
27+
28+
Never deploy AI-based test selection without a safety net (random sampling of non-selected tests).
29+
30+
---
31+
32+
## 4.2 How are AI-generated tests validated for correctness?
33+
34+
### Interrogation points
35+
36+
- Who reviews AI-generated tests before they are merged?
37+
- What criteria define a "correct" AI-generated test?
38+
- How do you verify the test is testing the right thing — not just passing?
39+
- What is the mutation testing strategy? (Can the test catch intentional bugs?)
40+
- How do you handle tests that pass for the wrong reason (tautological tests)?
41+
42+
### Recommended answer
43+
44+
Every AI-generated test must pass a four-gate review:
45+
46+
1. **Behavioral gate:** Does the test verify the intended behavior? (Reviewer reads the test and confirms it matches the spec.)
47+
2. **Mutation gate:** Introduce a deliberate bug in the code under test. Does the test fail? If not, the test is worthless.
48+
3. **Stability gate:** Run the test 10 times. If it flakes even once, it fails.
49+
4. **Readability gate:** Can a new team member understand what the test does and why it exists without asking the author?
50+
51+
AI-generated tests that fail any gate are rejected, not patched. Re-prompt and regenerate.
52+
53+
---
54+
55+
## 4.3 What is the human-in-the-loop boundary?
56+
57+
### Interrogation points
58+
59+
- What decisions can the AI make autonomously?
60+
- What decisions require human approval?
61+
- Is there a "trust threshold" after which the AI gets more autonomy?
62+
- How is the audit trail maintained? (Who decided what, when?)
63+
- What happens when the AI and the human disagree?
64+
65+
### Recommended answer
66+
67+
Define clear autonomy tiers:
68+
69+
| Tier | AI Action | Human Role |
70+
|------|-----------|------------|
71+
| 1 | Suggest | Human reviews and decides |
72+
| 2 | Draft | Human reviews, edits, approves |
73+
| 3 | Execute + log | Human reviews logs post-action, can revert |
74+
| 4 | Autonomous | No human review (reserved for lowest-risk, well-established patterns) |
75+
76+
Start everything at Tier 1-2. A task can only advance to Tier 3 after 95%+ accuracy over 100+ executions with human verification. Tier 4 is reserved for deterministic, reversible actions (e.g., formatting test output).
77+
78+
Maintain a complete audit log: every AI action records what was done, what prompt triggered it, what model was used, and what the outcome was.
79+
80+
---
81+
82+
## 4.4 How are hallucinations and non-deterministic outputs mitigated?
83+
84+
### Interrogation points
85+
86+
- What temperature/decoding settings are used for test generation?
87+
- How are AI outputs validated against the actual application behavior?
88+
- What happens when the AI generates code that doesn't compile or references non-existent elements?
89+
- How do you handle AI tests that pass today and fail tomorrow (semantic drift)?
90+
91+
### Recommended answer
92+
93+
- Use low-temperature settings (0.0-0.3) for test generation to reduce randomness.
94+
- Validate every AI-generated selector/assertion against the live application during review. Never trust AI descriptions of UI structure.
95+
- For semantic drift: run AI-generated tests in a "canary" mode for 7 days before promoting to the main suite. If the test flakes or fails during canary, it is not ready.
96+
- Maintain a feedback loop: track AI test quality metrics (rejection rate, post-merge flakiness, mutation score) and feed back into prompt engineering.
97+
98+
---
99+
100+
## 4.5 What is the cost/token budget for AI-assisted testing?
101+
102+
### Interrogation points
103+
104+
- What is the per-PR cost of AI test generation?
105+
- What is the monthly cost of AI triage/analysis?
106+
- How is cost tracked and attributed?
107+
- What happens when the budget is exceeded?
108+
- Are there fallback strategies when AI is unavailable (rate limits, outages)?
109+
110+
### Recommended answer
111+
112+
- Track AI cost per category: generation, triage, healing, selection.
113+
- Set a monthly budget with alerts at 50%, 75%, and 100%.
114+
- When budget is exceeded: generation stops (falls back to manual), triage continues (low cost), healing continues (high value).
115+
- Always maintain a non-AI fallback path for every workflow. If the AI provider is down, tests must still run, triage must still happen (manually), and the pipeline must not break.
116+
- Cost efficiency metric: cost per valid test generated. If AI generates 100 tests at $50, but only 20 pass all four gates, the real cost is $2.50 per valid test. Track this.
117+
118+
---
119+
120+
## 4.6 What AI tools are selected and why?
121+
122+
### Interrogation points
123+
124+
- What tools were evaluated? (GitHub Copilot, Cursor, Claude, ChatGPT, specialized tools)
125+
- What are the selection criteria? (accuracy, integration, cost, ecosystem, security)
126+
- Does the tool support the team's framework and language?
127+
- Is the tool's output deterministic enough for CI use?
128+
- What is the vendor lock-in risk?
129+
- How does the tool handle proprietary or sensitive code?
130+
131+
### Recommended answer
132+
133+
Document a tool comparison matrix with these criteria:
134+
135+
1. **Accuracy** — Mutation score of generated tests (objective metric)
136+
2. **Integration** — Does it work with the existing framework/CI/IDE?
137+
3. **Cost** — Per-developer or per-request pricing
138+
4. **Security** — Does the tool train on your code? Is data sent to external servers?
139+
5. **Determinism** — Same input, same output? (Critical for CI reproducibility)
140+
6. **Portability** — Can you switch tools without rewriting all tests?
141+
142+
Prefer tools that integrate with the existing IDE and CI pipeline over standalone tools. Avoid tools that require sending proprietary code to external servers without explicit security review. For test generation specifically, evaluate with a standardized benchmark (e.g., generate tests for 10 known features and score the output).
143+
144+
---
145+
146+
## 4.7 Ownership: Who owns the test — the human or the AI tool?
147+
148+
### Interrogation points
149+
150+
- If an AI-generated test fails in production, who is responsible?
151+
- Is there a code ownership header or annotation on AI-generated tests?
152+
- How are AI-generated tests maintained over time?
153+
- Can the same AI tool update the test later, or must a human do it?
154+
155+
### Recommended answer
156+
157+
- **Humans own all tests, regardless of how they were created.** AI is a tool, not an author.
158+
- Every AI-generated test must have a human owner (code ownership annotation or team assignment).
159+
- Tag AI-generated tests in the test metadata (e.g., `@ai-generated @reviewed-by:username`) for tracking quality over time.
160+
- When an AI-generated test breaks, the human owner is responsible for fixing it — not delegating back to the AI tool. If the human cannot understand the test well enough to fix it, the test should be deleted and rewritten.
161+
- Track AI vs human test quality metrics separately: flakiness rate, bug detection rate, maintenance cost. If AI tests are consistently lower quality, adjust the generation strategy.

0 commit comments

Comments
 (0)