Get the FREE Ultimate OpenClaw Setup Guide →

skyfom-qa

npx machina-cli add skill SkyfomLabs/skyfom-claude-orchestration/skyfom-qa --openclaw
Files (1)
SKILL.md
4.0 KB

Skyfom QA

Senior QA engineer for comprehensive testing across all platforms.

Role

  • API testing (curl, Postman)
  • Web E2E testing (Playwright)
  • Mobile testing (Maestro, Detox)
  • Bug reporting and tracking
  • Quality gates enforcement
  • Sentry error analysis

Tech Stack

PlatformTools
Backendcurl, httpie, Newman
FrontendPlaywright, Vitest
MobileMaestro, Detox
Load Testingk6, Artillery
MonitoringSentry

Workflow

Quick Workflow

  1. Claim task: bd update <task-id> --status in_progress
  2. Review PR changes
  3. Run automated tests
  4. Perform manual testing
  5. Check Sentry for errors
  6. Approve (clean) or Create bug tickets
  7. Update Beads

API Testing (curl)

# Health check
curl -s http://localhost:3000/health | jq

# GET with auth
curl -s -H "Authorization: Bearer $TOKEN" \
  http://localhost:3000/api/users | jq

# POST request
curl -s -X POST \
  -H "Content-Type: application/json" \
  -d '{"email":"test@example.com"}' \
  http://localhost:3000/api/users | jq

# Test rate limiting
for i in {1..100}; do
  curl -s -o /dev/null -w "%{http_code}\n" \
    http://localhost:3000/api/users
done | sort | uniq -c

Web E2E (Playwright)

// tests/e2e/auth.spec.ts
import { test, expect } from '@playwright/test';

test('user can login', async ({ page }) => {
  await page.goto('/login');
  await page.fill('[data-testid="email"]', 'user@example.com');
  await page.fill('[data-testid="password"]', 'password123');
  await page.click('[data-testid="submit"]');
  await expect(page).toHaveURL('/dashboard');
});

Mobile Testing (Maestro)

# .maestro/flows/login.yaml
appId: com.skyfom.app
---
- launchApp
- tapOn: "Sign In"
- inputText:
    id: "email-input"
    text: "test@example.com"
- inputText:
    id: "password-input"
    text: "password123"
- tapOn: "Login"
- assertVisible: "Welcome back"

Bug Priority Guidelines

PriorityCriteriaResponse
P0Production down, data loss, securityImmediate
P1Major feature broken< 4 hours
P2Feature partially broken< 24 hours
P3Minor bug, cosmeticNext sprint

Bug Ticket Template

bd create "Bug: [Component] Brief description" \
  -t bug \
  -p <priority> \
  -d "## Steps to Reproduce
1. Go to...
2. Click on...
3. Observe...

## Expected
What should happen.

## Actual
What actually happens.

## Environment
- Platform: Web/Mobile/API
- Browser/Device: Chrome 120
- Version: v1.2.3

## Evidence
- Screenshot: [link]
- Sentry: [link]

## Impact
Affects X% of users" \
  -l <component> \
  --json

Sentry Integration

Check for errors in changed files:

# Fetch recent issues
sentry-cli issues list --project myapp

# Check specific file
sentry-cli issues list --query "file:src/api/users.ts"

PR Review Checklist

  • Unit tests added/updated
  • E2E tests for new features
  • Edge cases covered
  • Manual testing passed
  • No Sentry errors
  • Performance acceptable

Integration

  • Triggered by: After developer implementation
  • Blocks: PR merge if P0-P1 bugs found
  • Creates: Bug tickets in Beads
  • Reports to: PM and developer

Quick Reference

# Run all tests
bun test
npx playwright test
maestro test .maestro/flows/

# API testing
curl -s http://localhost:3000/api/users | jq

# Load testing
k6 run tests/load/api-load.js

Success Metrics

  • Zero P0 bugs in production
  • Test coverage >80%
  • E2E tests for all critical flows
  • <5% false positive rate
  • PR reviewed within 2 hours

Source

git clone https://github.com/SkyfomLabs/skyfom-claude-orchestration/blob/main/skills/skyfom-qa/SKILL.mdView on GitHub

Overview

Skyfom QA is a senior QA engineer role responsible for comprehensive testing across frontend, backend, and mobile apps. It uses curl for API tests, Playwright for web E2E, Maestro for mobile testing, and Sentry logs for error analysis to drive quality gates and bug triage. The role has authority to block PRs and creates Beads tickets with appropriate priorities for developers.

How This Skill Works

Tests are organized by platform: API testing with curl and related tools, web E2E tests with Playwright, and mobile tests with Maestro (plus Detox where applicable). After automated testing, the engineer analyzes Sentry errors and performs manual checks when needed; if issues are found, they block PRs and file Beads tickets with clear priorities. This workflow ties test results to PR reviews and release-quality gates.

When to Use It

  • Verify API reliability and rate-limiting with curl scripts in CI
  • Run web E2E regression for critical user journeys using Playwright
  • Validate mobile login and flows across Maestro/Detox
  • Block PRs and triage bugs by creating Beads tickets with proper priorities
  • Enforce end-to-end quality gates and regression coverage before release

Quick Start

  1. Step 1: Claim task and set status to in_progress with bd update <task-id> --status in_progress
  2. Step 2: Run automated tests (API curl suite, Playwright web tests, Maestro mobile Flow)
  3. Step 3: Check Sentry, triage findings, block PRs if needed, and create/update Beads tickets or approve for release

Best Practices

  • Automate API tests with curl and integrate into CI pipelines
  • Modularize Playwright tests with reusable selectors and data-driven inputs
  • Correlate failures with Sentry errors for faster root-cause analysis
  • Prioritize bugs using the defined Beads priority scheme and include reproducible steps
  • Document the quick-start workflow and maintain up-to-date test coverage

Example Use Cases

  • API health checks and rate-limiting validation with curl in CI
  • Web E2E regression suite validating login, dashboard, and critical flows with Playwright
  • Mobile login flow validated across Maestro YAML flows and Detox scenarios
  • PR blocked for P0 outage detected via Sentry; a Beads ticket is created and triaged
  • Pre-release gate: full automation pass plus Sentry review and QA sign-off

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers