qa-break

fatmuh/agentic-workflow-skills@main

SKILL.md

/qa-break

Every screen looks right with polite data. This skill feeds a surface the data it dreads — names past 150 characters, one-letter names, counts in the hundreds of thousands, collections that arrive empty — at the cheapest place the app will accept it, and records what breaks. It runs in a fresh session with no memory of any Dev work (ADR 0004): every fact is re-read from the target repo.

Two commitments hold throughout. No application code is edited — not markup, not styles, not the data layer; the run may add its own throwaway render harness, clearly marked as the run's, and nothing else. And the data is plausible, never filler: values are built from the repo's own documented shapes, because a wall of "aaaa" proves nothing a user could produce.

Re-derive the context first

  1. docs/agentic-skills/stack.md — the pinned test command (the only runner this run uses), the language and framework facts. No config means derive from the repo's own manifests and say which evidence stood in; a surface that cannot be rendered headlessly at all belongs to the fallback below.
  2. docs/agentic-skills/ui-gates.md — the hard gates and any documented gate exceptions. The 320px overflow gate is this skill's natural finding category: an overflow under worst-case data is a gate break unless an exception covers exactly it.
  3. docs/agentic-skills/data.md — the worst-case fabrication profile's documented shapes (name lengths, one-letter values, the huge counts and prices, the empty collections). These shapes are the dataset's source, adapted to the fields the surface actually renders.
  4. GLOSSARY.md and docs/adr/ when present — findings named in the repo's vocabulary, deliberate edges honored as decisions rather than reported as defects.

Build the worst-case dataset

Walk the surface's rendered fields and give each one its documented edge, mixed across rows in one dataset — many fields stressed together, not one row per terror: