Senior QA
Test generation, coverage analysis, E2E testing, and testing patterns.
$skillfish add ~skills/senior-qa Real Conversations
See how the Senior QA skill responds to actual requests. These are representative examples of what your AI agent will produce.
Building a new payment processing service in Node.js. It integrates Stripe, sends webhooks to merchants, and writes to Postgres. What's the testing strategy?
Testing Pyramid for Payment Service:
Unit tests (fast, no I/O) — 70% of suite:
// Test business logic in isolation — mock Stripe and DB
describe('calculateProcessingFee', () => {
it('applies 2.9% + $0.30 for card payments under $100', () => {
expect(calculateProcessingFee({ amount: 5000, method: 'card' })).toBe(175); // cents
});
it('applies 0.8% capped at $5 for ACH', () => {
expect(calculateProcessingFee({ amount: 100000, method: 'ach' })).toBe(500);
});
});
Integration tests — 20% of suite:
// Test Stripe integration against test mode (no mocks)
it('creates a PaymentIntent and returns client_secret', async () => {
const stripe = new Stripe(process.env.STRIPE_TEST_KEY);
const intent = await createPaymentIntent({ amount: 2000, currency: 'usd' });
expect(intent.client_secret).toMatch(/^pi_.*_secret_/);
});
// Test DB writes with a real test database (testcontainers)
it('persists payment record after successful charge', async () => {
await processPayment({ chargeId: 'ch_test_123', amount: 2000 });
const record = await db.payments.findByChargeId('ch_test_123');
expect(record.status).toBe('succeeded');
});
E2E / contract tests — 10% of suite:
- Use Stripe's test webhook CLI to simulate webhook delivery:
stripe trigger payment_intent.succeeded - Test idempotency: send the same webhook event twice, assert the DB record is created exactly once
Critical edge cases to cover:
- Webhook signature validation (reject tampered events)
- Network timeout on Stripe call (should retry with exponential backoff, not double-charge)
- DB write failure after successful Stripe charge (reconciliation path)
Get Started
How to install and use this skill in your preferred environment.
Skills are designed for AI coding agents (Claude Code, Cursor, Windsurf) and IDE-based workflows where the agent can read files, run scripts, and act on your codebase. Web-based AI can use the knowledge and frameworks, but won't have tool access.
Models & Context
Which AI models and context windows work best with this skill.
Recommended Models
Larger models produce more detailed, production-ready outputs.
Context Window
This skill's SKILL.md is typically 3–10 KB — fits in any modern context window.
All current frontier models (Claude, GPT, Gemini) support 100K+ context. Use the full window for complex multi-service work.
Pro tips for best results
Be specific
Include numbers — users, budget, RPS — so the skill can size the architecture.
Share constraints
Compliance needs, team size, and existing stack all improve the output.
Iterate
Start with a high-level design, then ask follow-ups for IaC, cost analysis, or security review.
Combine skills
Pair with companion skills below for end-to-end coverage.
Ready to try Senior QA?
Install the skill and start getting expert-level guidance in your workflow — any agent, any IDE.
$skillfish add ~skills/senior-qa