Skip to content
cccskills
FreePublished on GitHub

qa

Verify a feature works after implementation. Actively try to break it — edge cases, error paths, integration wiring, and real usage flows.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1,020 stars(GitHub 1,020 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

QA

Planner Entry

Run /qa only when the user explicitly requests adversarial validation or an actionable PR/CI finding needs it. Do not add QA as a pre-PR quality gate: task-defined tests and the two PR AI reviewers are the default evidence.

Verify that a feature works as intended after implementation. Assume bugs exist and hunt for them.

Mindset: you are not confirming it works — you are discovering where it breaks.

Available skills

  • /tdd — Use when unit or integration coverage is missing.
  • /e2e — Use when a user-facing flow lacks browser coverage.

Before starting: create the pipeline

Create these tasks immediately (use your task/todo tracking tool if available):

  1. Understand the intent — Read task/PR/commits to understand what was built
  2. Trace the wiring — Verify the feature is actually connected end-to-end
  3. Test the happy path — Run the feature as a user would
  4. Try to break it — Boundary values, error paths, concurrency, auth
  5. Verify test coverage — Check for missing tests and report gaps
  6. Report — Summarize findings with verdict

Mark each task in_progress when you begin it and completed when you finish it.


Phase 1: Understand the intent

Mark task 1 as in_progress.

Read the task description, PR, or recent commits to understand what was built and what it should do. Identify:

  • The expected behavior (happy path)
  • System boundaries (user input, API endpoints, external data)
  • Integration points (what calls what, data flow end-to-end)

Mark task 1 as completed.


Phase 2: Trace the wiring

Mark task 2 as in_progress.

Before testing behavior, verify the feature is actually connected:

  • Exports are imported and used (not just defined)
  • API routes have consumers (frontend calls them, or tests exercise them)
  • Data flows end-to-end: input -> handler -> storage -> response -> display
  • New config/env vars are documented and have defaults

If something is orphaned or unwired, stop and report it — no point testing disconnected code.

Mark task 2 as completed.


Phase 3: Test the happy path

Mark task 3 as in_progress.

Run the feature as a user would. For backend changes, call the API. For frontend changes, trace the UI flow. For both, follow the full path:

  • Does the basic use case work?
  • Does the response/output match expectations?
  • Is the data persisted correctly?

Mark task 3 as completed.


Phase 4: Try to break it

Mark task 4 as in_progress.

Systematically test these categories (skip what doesn't apply):

Boundary values:

  • Empty input, nil/null, zero, negative numbers, max values
  • Empty arrays/maps, single element, very large collections
  • Strings: empty, whitespace-only, special characters, very long

Error paths:

  • What happens when dependencies fail (DB down, API timeout, invalid response)?
  • Are errors surfaced clearly or silently swallowed?
  • Does the system recover or get stuck in a bad state?

Concurrency:

  • What happens with simultaneous requests to the same resource?
  • Race conditions: create/update/delete at the same time
  • Does it handle duplicate submissions?

Authorization:

  • Can the feature be accessed without proper auth?
  • Does it respect permission boundaries?

Mark task 4 as completed.


Phase 5: Verify test coverage

Mark task 5 as in_progress.

Check that the implementation has tests covering the behaviors you just verified:

  • Are the happy path and key error paths tested?
  • Are edge cases from Phase 4 covered?
  • Are tests at the right level: unit for pure logic, integration for boundaries, E2E for critical browser flows?
  • Do tests assert behavior/state/output rather than implementation details or mock behavior?
  • If tests are missing, report the exact behavior and recommended test level so add the focused test in the same conversation.
  • Avoid snapshot tests unless the snapshot change will be deliberately reviewed.

Mark task 5 as completed.


Phase 6: Report

Mark task 6 as in_progress.

Summarize what was tested and what was found:

Verified working:

  • List of behaviors confirmed working

Issues found:

  • file:line - description, how to reproduce, severity (blocker/suggestion)

Missing test coverage:

  • Behaviors that work but have no automated test

Verdict: Feature complete / Has issues — fix before merge

Mark task 6 as completed.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Debug an ACP agent CLI by spawning it, speaking raw JSON-RPC, and capturing every frame to a JSONL file. Use when the user asks to probe an agent's capabilities, compare agents, test a prompt against an agent, inspect raw ACP wire frames, or investigate why an agent fails to initialize.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1KUpdated Oct 26, 2026

Add a new third-party integration (Jira/Linear-style) — per-workspace credentials, 90s auth-health poller, settings page, link/import buttons. Use when scaffolding a new external service integration.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1KUpdated Oct 26, 2026

Delete local branches whose remote has been deleted ([gone]), including their worktrees. Use for branch cleanup after merging PRs.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1KUpdated Oct 26, 2026

Review changed code for quality, security, and architecture compliance. Use only when the user explicitly requests local review or a PR finding requires it.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1KUpdated Oct 26, 2026

commit

Free

Stage and commit changes using Conventional Commits. Use when there are dirty/staged files to commit, the user says "commit", or before pushing a PR.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1KUpdated Oct 26, 2026

Curate the right project context before coding or debugging. Use when starting a new session, switching areas of the codebase, output quality is drifting, a task spans backend/frontend/docs, or external instructions need to be reconciled with Kandev conventions.

The English summary is being prepared. Showing the original description.

kdlbs/kandev1KUpdated Oct 26, 2026

See all skills by kdlbs

Report a problem with this skill