Works with the AI tools you already use

    CClaude CodeCCursorCCodex CLIGGitHub CopilotGGemini CLIVVS CodeWWindsurfMManus+14 more

    Quality Engineer

    by Matthew King

    2

    A risk-first QA agent that hunts bugs via personas, extracts BDD requirements, and drives TDD fixes.

    $5

    /mo

    Subscription · cancel anytime

    Secure checkout via Stripe

    • Always the latest version
    • Delivered live to your agent via MCP
    • Cancel anytime, access ends at period end
    0 installsSecurity scanned

    See it in action

    You say

    hunt a bug using one of the available personas

    Your agent does

    I have enough to report a validated, high-confidence finding. I hunted the comment-submission flow in PostDetailActivity as The Repeater — the flaky-network user whose behaviour is "it failed, so I hit it again."

    QUALITY ENGINEER - BUG HUNT App: BlogApp (Android / Firebase Realtime DB) Mode: Bug hunt Personas: The Repeater (flaky-network retrier) Date: 2026-06-18 Result: 1 validated bug (2 facets, same root behaviour)

    [1] Failed comment submit leaves the user stuck, and genuine retries create duplicates Severity: High Persona: The Repeater — works on bad signal; when a write "fails" they retry. This flow both blocks the retry AND duplicates on retry. Area: Activities/PostDetailActivity.java — add-comment flow Technique: Error Guessing, Idempotency Thinking, Reliability/Resilience

    Summary: On a failed comment write the "Add Comment" button is never re-shown, trapping the user; and because each tap calls a fresh push(), any real network retry writes a duplicate comment.

    Why: Two coupled defects in the same handler:

            (a) Recoverability — the button is hidden on click and only
                restored in the SUCCESS callback. The failure callback shows
                a toast but never restores visibility, so after one failed
                send the user cannot resend the comment they just typed
                without leaving and re-entering the screen.
    
            (b) Server-side idempotency — push() is called fresh inside
                every onClick, minting a new unique key per attempt. There is
                no idempotency key or natural unique constraint, so a request
                that times out on the client but actually committed will be
                written a second time on retry → duplicate comments.
    

    Evidence: PostDetailActivity.java:87-116 btnAddComment.setOnClickListener(... { btnAddComment.setVisibility(View.INVISIBLE); // hidden on click DatabaseReference commentReference = firebaseDatabase.getReference(COMMENT_KEY) .child(PostKey).push(); // new key EVERY tap ... commentReference.setValue(comment) .addOnSuccessListener(... { btnAddComment.setVisibility(View.VISIBLE); // restored only on success }) .addOnFailureListener(... { showMessage("fail to add comment : "+e.getMessage()); // <-- button NOT restored; no rollback; no dedupe });

    Steps to reproduce: Facet (a): 1. Open a post, type a comment, go offline / drop signal. 2. Tap "Add Comment". Write fails; toast appears. 3. Button has vanished — no way to resend without re-opening the post. Facet (b): 1. On a slow/flaky connection, tap "Add Comment". 2. Client reports failure/timeout but the write reaches the server. 3. User (or app on next session) retries → two identical comments.

    Expected: A failed submit restores the button so the user can retry; a retry of a write that already committed produces exactly one comment. Actual: Failed submit permanently hides the button; genuine retries each create a new node → duplicate comments.

    Requirement: Gap — not specified. Suggested test:

    • Unit/UI (Robolectric/Espresso): mock setValue() to invoke the failure listener; assert btnAddComment.getVisibility() == VISIBLE afterwards.
    • Integration: simulate commit-then-timeout; assert only one comment node exists for the post after a retry. Suggested fix:
    • In addOnFailureListener, restore btnAddComment to VISIBLE (mirror the success path) — ideally via a finally-style shared callback.
    • Compute the push key ONCE before the attempt (or use a content/client idempotency key) and reuse it across retries so a replay overwrites rather than appends.

    What you get

    Map technical debt and quality risks to business impact priorities.Identify edge-case bugs using specialized user-behavior personas.Reverse-engineer a legacy codebase into BDD requirements and a traceability matrix.Automate the Red-Green-Refactor cycle for TDD-based bug fixing.Audit and expand Playwright E2E suites based on discovered persona gaps.

    About this skill

    Professional Quality Engineering for Your Repository

    The Quality Engineer skill transforms your AI agent into a proactive QA partner that goes beyond simple bug catching. It implements a structured loop to understand, assess, cover, find, fix, and verify your codebase. Unlike generic AI prompting, this skill uses persona-based testing and a risk-first methodology to identify where failures would cause the most business impact.

    What it does

    • Risk Analysis: Generates a repo-specific risk map, identifying high-priority areas that lack sufficient coverage.
    • Persona-Based Bug Hunting: Employs specialized user personas to "stress test" your application through different behavioral lenses.
    • Requirements Extraction: Reverse-engineers your code and existing tests into a BDD-style requirements pack and traceability matrix.
    • Test Generation: Automatically scaffolds unit, integration, and E2E (Playwright) tests in your project's native style.
    • TDD Loop: Drives a strict Red-Green-Refactor cycle to fix bugs or implement features with 100% test confidence.

    Why use this skill?

    Standard AI agents often write superficial tests or hallucinate requirements. This skill enforces a disciplined engineering workflow, ensuring that every bug report is backed by code evidence and every new test addresses a documented risk.

    How to install

    Drop the file into your AI Agent. Works with Claude, Cursor, ChatGPT, and 20+ more.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Free forever

    No account required to browse

    Trust & safety

    Security scanned

    Verified clean 1 month ago

    Listed1 month ago

    Creator

    Building quality-driven AI solutions that streamline complex processes, improve decision-making, and deliver outcomes you can trust.

    Frequently Asked Questions

    Popular in Testing & QA