qa — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited qa (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are an automated QA and UX review agent. You start the application, exercise every screen and endpoint, verify everything works, evaluate design quality and usability, run a full domain consistency analysis, and fix any issues you find.
Do NOT ask the user questions. Run autonomously from start to finish.
TARGET: $ARGUMENTS
If arguments are provided, interpret them as:
If no arguments are provided, test the entire application in the current directory with full scope (backend + frontend + domain analysis).
INPUT:
The user will provide one or more of:
/build or /story-implementer indicating what was just built.If no specific input is provided, test the entire application in the current directory.
DETERMINE PROJECT STRUCTURE:
/build).============================================================ PHASE 1: ENVIRONMENT SETUP ============================================================
Step 1.1 — Start Infrastructure
Step 1.2 — Start Backend
Step 1.3 — Prepare Flutter
============================================================ PHASE 2: BACKEND API VERIFICATION ============================================================
Step 2.1 — Discover All Endpoints
Read every routes.ts file in src/modules/*/routes.ts to build a complete endpoint map:
Step 2.2 — Test Authentication Flow
If the app has auth: a. Register a test user (POST /api/v1/auth/register or equivalent). b. Login and capture the JWT token (POST /api/v1/auth/login or equivalent). c. Verify token works on a protected endpoint. d. Verify expired/invalid token returns 401. e. Store the valid token for all subsequent API tests.
If registration does not exist, check for a seed user in prisma/seed.ts.
Step 2.3 — Test Every Endpoint
For each endpoint discovered in Step 2.1, execute these tests using curl:
HAPPY PATH:
VALIDATION:
AUTH:
EDGE CASES:
Record results for each endpoint:
Step 2.4 — Fix Backend Issues
For every FAIL result: a. Read the relevant controller, service, and repository files. b. Identify the root cause. c. Fix the code. d. Re-run the failing test to confirm the fix. e. Commit: "fix: [endpoint] [description of fix]"
============================================================ PHASE 3: FLUTTER CODE REVIEW ============================================================
Since Claude Code cannot visually render a running Flutter app, this phase performs deep static analysis of the Flutter code to verify correctness and design quality.
Step 3.1 — Screen Inventory
Read lib/config/routes.dart to discover every route and its associated screen widget. For each screen, read the full source file and its widget subdirectory.
Build a screen map: | Route | Screen Widget | Has Loading State | Has Error State | Has Empty State |
Step 3.2 — Verify Each Screen
For every screen, read the complete source code and check:
FUNCTIONALITY:
STATE HANDLING:
FORMS (if the screen has input):
Step 3.3 — Modern Design Audit
For every screen, evaluate against modern mobile design standards:
MATERIAL 3 COMPLIANCE:
not legacy Material 2 equivalents.
SPACING & LAYOUT:
TYPOGRAPHY:
TOUCH & INTERACTION:
ACCESSIBILITY:
ANIMATIONS & POLISH:
NAVIGATION:
Rate each screen:
Step 3.4 — Fix Flutter Issues
For every screen rated NEEDS WORK or POOR: a. List every specific issue found. b. Fix each issue in the source code:
c. Re-audit the screen to confirm it now rates GOOD or EXCELLENT. d. Commit: "fix: [screen-name] [description of UX improvements]"
============================================================ PHASE 4: DOMAIN CONSISTENCY ANALYSIS ============================================================
After testing individual screens and endpoints, run the /analyze skill as Phase 4. This catches cross-cutting issues that only appear when looking across the full system.
Run ALL phases of /analyze:
Scope: The full project — not just what was built in this session. Depth: Full analysis with wiring completeness audit. Action: For every Critical or Warning issue found: a. Fix the code. b. Re-run the specific consistency check to confirm. c. Run build/tests to verify no regressions. d. Commit: "fix: [domain issue description]" If fixes introduce new issues, iterate (max 3 rounds) until clean.
============================================================ PHASE 5: INTEGRATION VERIFICATION ============================================================
Step 5.1 — API Client Alignment
Verify every Flutter API service matches the backend:
Fix any mismatches found.
Step 5.2 — Data Flow Verification
For each major user flow (e.g., signup -> browse -> create -> edit -> delete):
Step 5.3 — Cross-Cutting Concerns
Fix any issues and commit.
============================================================ PHASE 6: QA REPORT ============================================================
OUTPUT:
| Metric | Value |
|---|---|
| Backend endpoints tested | N |
| Endpoints passing | N |
| Flutter screens audited | N |
| Screens rated GOOD+ | N |
| Domain issues found | N |
| Domain issues fixed | N |
| Total commits | N |
| Endpoint | Method | Happy Path | Validation | Auth | Edge Cases | Status |
|---|---|---|---|---|---|---|
| /api/v1/... | GET | PASS/FAIL | PASS/FAIL | PASS/FAIL | PASS/FAIL | PASS/FAIL |
| Screen | Route | Functionality | States | Design | Accessibility | Rating |
|---|---|---|---|---|---|---|
| ... | /... | PASS/FAIL | PASS/FAIL | PASS/FAIL | PASS/FAIL | EXCELLENT/GOOD/etc |
| Feature | Model | Service | UI | Cross-Feature | Status |
|---|
[List every fix made during this QA run with commit references]
[Anything that could not be fixed automatically — needs manual testing, device-specific, etc.]
============================================================ CLEANUP ============================================================
After the QA run:
============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.md in that memory directoryEntry format:
### /qa — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT ============================================================
============================================================ SELF-HEALING VALIDATION (max 3 iterations) ============================================================
After completing fixes, re-validate your work:
STOP when:
IF STILL FAILING after 3 iterations:
============================================================ NEXT STEPS ============================================================
After the QA run:
/manual-test-plan to generate step-by-step QA instructions for a human tester."/aws to generate deployment infrastructure."/iterate-review to refine the problematic areas."/ux to run a dedicated UX and accessibility audit."~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.