Agent skill
qa-tester
Install this agent skill to your Project
npx add-skill https://github.com/ChinchillaEnterprises/ChillSkills/tree/main/qa-tester
SKILL.md
QA Tester — Automated BeonIQ QA Skill
Automates first-pass QA testing for the BeonIQ transportation analytics dashboard. Uses Playwright MCP with Chrome to navigate the app, take screenshots, validate against acceptance criteria, and report results.
This does NOT replace human QA testing. It handles the repetitive screenshot-compare-validate loop so the QA team can focus on judgment calls and edge cases.
When to Use
Use this skill when asked to: "run QA", "test the app", "QA check", "check the deploy", "run the checklist", "test BeonIQ", or any request to validate the BeonIQ web app.
Prerequisites
- Playwright MCP must be available (browser automation)
- Always use Chrome: When launching browser, use
--chromeflag / Chrome browser mode - GitHub CLI (
gh) authenticated to ChinchillaEnterprises/transportation-insight - Slack MCP for posting results
Authentication — IMPORTANT
The BeonIQ app requires authentication. Follow this order:
- Try Google SSO first — Look for the Google SSO login button on the login screen
- If Okta 2FA blocks you — Do NOT try to brute force Okta. Instead, use the Google SSO login backdoor built into the login screen (bottom-right corner of the login page). This bypasses Okta 2FA entirely.
- Never get stuck on auth — if both methods fail, report it and move on
Test Credentials
- Environment variables or session cookies from previous runs
- Dev environment:
https://dev.beoniq.com(or current dev URL) - Prod environment:
https://app.beoniq.com(or current prod URL)
QA Checklist
Authentication
- Login works (Google SSO or backdoor)
- Correct company loads after login
Daily Briefing
- Content renders (no "data access error")
- Headline KPI is appropriate (not obscure metric)
- AI Summary accessible (View Full Summary link works)
- Styling matches current design (yellow glow, suggestion pills, badges)
- MoM/QoQ/YoY trend indicators present
- Data is current (not stale)
KPI Cards
- All 7 KPIs show values (not N/A unless expected)
- AI Insights (star icon) present on each KPI
- Expand/collapse behavior works
- Values change when filters applied (Mode/Direction)
Charts
- Data lines visible (all solid, correct colors)
- Date range covers expected period
- Y-axis properly truncated (not starting at 0 for large values)
- Chart responsive to KPI selection
AI Insight Section (below chart)
- AI Insight section visible below the chart/graph
- Performance Summary text present (not empty/missing)
- Key Drivers section present with bullet points
- Business Impact section present
- Recommended Actions section present
- Content is company-specific (not generic or copied from another company)
- Check EVERY company — missing on some but not others = pipeline issue
- Screenshot: {COMPANY}-03-overview-ai-insight
Outliers & Alerts
- Count matches badge number
- Modals open when clicked
- Root cause text present
- No duplicates
Recommendations
- Section visible
- Count matches badge
- No duplicate entries (same route, same bill numbers)
- Modal shows shipment details
- Type tags present (Consolidation, Cost, etc.)
Ask Data
- Suggested questions load
- At least 2 test queries return valid data
- No error states on common queries
Service Types
- MT (Managed Transport) — data loads, KPIs populate
- Brokerage — data loads, not showing MT data
- Parcel — shows correct parcel data or N/A if expected
Performance
- Page load < 3 seconds after hard refresh
- No zoom issues (stays at 100%)
Workflow
1. Launch Chrome via Playwright MCP
2. Navigate to BeonIQ login page
3. Authenticate via Google SSO (or bottom-right backdoor if Okta blocks)
4. For each service type (MT, Brokerage, Parcel):
a. Switch to that service
b. Take full-page screenshot
c. Validate Daily Briefing section
d. Validate each KPI card (count, values, AI insights)
e. Validate Chart section
f. Validate AI Insight section below chart (Performance Summary, Key Drivers, Business Impact, Recommended Actions)
g. Validate Outliers section
h. Validate Recommendations section
i. Test Ask Data with sample question
j. Screenshot any failures
5. Compare against GitHub issue acceptance criteria (if issue-specific QA)
6. Generate report
7. Post to Slack #internal-beoniq
8. Comment on relevant GitHub issues
Issue-Aware QA Mode
When testing a specific issue:
gh issue view [NUMBER] --repo ChinchillaEnterprises/transportation-insight --comments- Extract acceptance criteria from issue body
- Check for linked mockup images in comments
- Run targeted tests for that issue's scope
- Comment pass/fail result on the issue
Report Format
Slack Report
QA Report — [Date] ([Environment])
Automated First Pass by QA Skill
PASSED (N):
- #XXX Feature description — details
- #XXX Feature description — details
FAILED (N):
- #XXX Feature description — what's wrong (screenshot attached)
NEEDS HUMAN REVIEW (N):
- Item that requires judgment call
Note: This is an automated first pass. Human QA review still needed for UX judgment, edge cases, and cross-browser testing.
GitHub Issue Comment
**Automated QA — [Date] ([Environment])**
Status: PASS / FAIL / NEEDS REVIEW
**Checked:**
- [x/✗] Item from acceptance criteria
- [x/✗] Item from acceptance criteria
**Screenshots:** [attached]
**Notes:** [any observations]
_Automated first pass — human review recommended._
GitHub Labels
Use these labels when commenting on issues:
QA: Pass— Automated QA passedQA: Fail— Automated QA found issuesQA: Regression— Visual or data regression detectedReady for QA— Dev complete, awaiting QA
Key URLs
- Dev: Check Slack #internal-beoniq for latest deploy URL
- Repo: ChinchillaEnterprises/transportation-insight
- Slack channel: #internal-beoniq (C09JD94HRUN)
Overnight Mode (Autonomous)
When invoked by the overnight pipeline (overnight-pipeline.sh Phase 4b), this skill runs non-interactively with no human in the loop.
Behavior Differences
- No Slack posting — the pipeline handles Slack. Just output results to stdout.
- Auto-file GitHub issues — for each FAILURE, create an issue immediately using
gh issue create - JSON output required — the LAST line of stdout must be a valid JSON summary (the pipeline parses it)
- 10-minute timeout — prioritize coverage over depth. Skip items that hang.
- Screenshots — save to
resources/debug/qa-overnight/in the transportation-insight repo
JSON Output Format
The last line printed to stdout must be:
{"date": "YYYY-MM-DD", "passed": N, "failed": N, "issues_created": [123, 124], "summary": "Brief text summary"}
GitHub Issue Template (Auto-Filed)
gh issue create \
--repo ChinchillaEnterprises/transportation-insight \
--title "[QA] Description of failure" \
--label "QA: Fail" --label "bug" \
--body "## Overnight QA Failure
**Environment:** dev
**Date:** YYYY-MM-DD
**Checklist Item:** Which item failed
### Expected
What should happen
### Actual
What happened instead
### Screenshot
Path: resources/debug/qa-overnight/FILENAME.png
_Auto-filed by overnight QA pipeline._"
Screenshot Path
Save all screenshots to:
/Users/tori/Documents/Repos/CHI/transportation-insight/resources/debug/qa-overnight/
Naming: {date}-{section}-{status}.png (e.g., 2026-03-04-kpi-cards-fail.png)
Priority Order (for timeout safety)
If running low on time, prioritize in this order:
- Auth (if this fails, stop and report)
- Daily Briefing
- KPI Cards
- Charts
- Outliers & Recommendations
- Ask Data
- Service type switching
- Performance
Sample Test Queries for Ask Data
- "What was the total cost per pound in January 2026?"
- "Which carrier has the highest cost per package?"
- "How much did I spend on 3rd party shipments?"
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
Red Team
Use this skill when the user says "red team", "stress test", "attack this", "critique this", "run the models against this", "test this plan", "refine this with AI", or wants to use external AI models to critique, validate, or improve a document, pitch, plan, or idea. Also use when the user wants to save Claude Code usage by offloading analysis to other models.
Upwork Scanner
This skill should be used when the user asks to "scan upwork", "find upwork jobs", "check upwork", "run the scanner", "look for jobs", or mentions finding freelance projects for Chinchilla AI.
Polymarket Arb Scanner
This skill should be used when the user asks to "scan polymarket", "find arb opportunities", "check polymarket arbs", "run arb scanner", "polymarket arbitrage", or mentions detecting price inefficiencies on Polymarket.
captain-update
Polymarket Copy Trader
This skill should be used when the user asks to "copy trade", "telegram bot polymarket", "follow traders", "copy polymarket", or mentions building a copy trading bot for Polymarket.
Architecture Diagram
This skill should be used when the user asks to "generate a diagram", "create an architecture diagram", "make a diagram", "draw a system diagram", or needs a branded Chinchilla AI technical diagram for proposals or documentation.
Didn't find tool you were looking for?