QA Verification Harness

VerifiedSafe

Run the project's verification harness (analyze, lint, format, tests) after code changes. Supports quick, standard, and full tiers.

Sby Skills Guide Bot
TestingIntermediate
7/28/2026
Claude CodeCursorCodex
#dart#flutter#static-analysis#test-runner#melos

Recommended for

Automated summary

Runs a Dart/Flutter project's verification harness — static analysis, formatting check, and tests — across three tiers: quick, standard, or full.

Strengths

  • Three explicit tiers (quick, standard, full) each with the exact command to run
  • Correctly insists on staying at the repo root because Pub Workspaces analyzes all packages in one pass
  • Documents the code-generation prerequisite (Riverpod, Drift, i18n, Freezed) before verification
  • Sets clear completion criteria that must all hold before a task is called done

Limitations

  • Tightly coupled to the project's fvm and melos setup, so it is not portable as-is
  • Assumes melos scripts format:ci, test:ci, and gen already exist in the repository
  • Offers no failure triage — you must fix issues and re-run the tier yourself
When to use it

Use it right after editing Dart code to verify the change before declaring the work complete.

When not to use it

Skip it on non-Dart projects or repos without fvm/melos configured, or when you are only reading code and not changing it.

Security analysis

Safe
Quality score92/100

The skill instructs running standard Dart/Flutter project verification commands (analyze, format check, tests, code generation). These are legitimate, non-destructive developer workflows with no network exfiltration, obfuscation, or system-level destructive actions. Formatting may modify files but only within the project and as intended.

No concerns found

How this analysis is made

Examples

Quick check after a small edit
I just refactored a helper function in packages/core/lib/src/utils.dart. Run the quick QA tier so we know nothing broke.
Pre-PR standard pass
Run the standard QA tier on this repo and fix any formatting diffs it reports, then re-run until clean.
Full verification after provider changes
I added a new @riverpod provider and updated the Drift table. Run code generation first, then the full QA tier including all tests.

name: qa description: Run the project's verification harness (analyze, lint, format, tests) after code changes. Use after editing Dart code to verify the change before declaring it complete. argument-hint: "[quick|standard|full]"

QA Verification Harness

Run the appropriate verification tier based on $ARGUMENTS. If $ARGUMENTS is empty, run standard.


Tier 1 — quick

Minimum check. Run from the repository root — do NOT cd into subdirectories, because this is a Pub Workspaces project and fvm dart analyze at the root inspects all packages in one pass.

fvm dart analyze

Expected output: No issues found!

If issues are found, fix them and re-run before proceeding.


Tier 2 — standard (default when $ARGUMENTS is empty)

Pre-PR baseline. Run all three steps in sequence; stop and fix before continuing if any step fails.

# Step 1 — static analysis across all packages
fvm dart analyze

# Step 2 — format check (read-only, does NOT modify files)
fvm dart run melos run format:ci --no-select

Expected output for each: No issues found! (analyze) or a clean exit (format:ci).

If format:ci reports a diff, fix formatting with:

fvm dart format packages/

Then re-run fvm dart run melos run format:ci --no-select to confirm the diff is gone.


Tier 3 — full

Heavy verification including tests. Run standard first, then add:

# All packages
fvm dart run melos run test:ci --no-select

# Or, for a specific package only
fvm dart run melos exec --scope=<package_name> -- flutter test

All tests must pass. Do not declare the task complete while any test is red.


Code-generation prerequisite

If the change touches any of the following, run fvm dart run melos run gen before running any QA tier:

  • Riverpod providers annotated with @riverpod
  • Drift database table definitions
  • i18n YAML files (app_en.yaml / app_ja.yaml)
  • Freezed data classes
fvm dart run melos run gen

For i18n changes only:

fvm dart run melos run slang

Completion criteria

Do NOT declare the task complete until all of the following are true for the chosen tier:

  • fvm dart analyze → No issues found!
  • fvm dart run melos run format:ci --no-select → clean (standard / full)
  • fvm dart run melos run test:ci --no-select → all tests pass (full only)

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/qa-verification-harness-ms47vo2a' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/qa-verification-harness-ms47vo2a/download' --output '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md.part' && mv '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md.part' '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md' && test -s '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/qa' && cp -R '.skill-downloads/qa-verification-harness-ms47vo2a' '.claude/skills/qa'

Cursor
test -f '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md' && test -s '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/qa' && cp -R '.skill-downloads/qa-verification-harness-ms47vo2a' '.cursor/skills/qa'

Codex
test -f '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md' && test -s '.skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/qa' && cp -R '.skill-downloads/qa-verification-harness-ms47vo2a' '.agents/skills/qa'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/qa-verification-harness-ms47vo2a'

openskills read 'qa-verification-harness-ms47vo2a'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/qa-verification-harness-ms47vo2a/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills