agentleFS
aaziraniaazirani/flutter_agentify/.agents/skills/verify/SKILL.md

verify

Skill0 starsChanged 4 days agoMITView on GitHub

How to prove a change works by running the gate, read what each step means, and try behavior with the action CLI. Use when you finish any task, when tool/check.sh fails, or before you tell the person something is done.

189 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use instinct-export, instinct-import and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • TheKREATORSSkill

    instinct-export

    Export instincts from project/global scope to a file

    Also in 3 projects that use this

  • TheKREATORSSkill

    instinct-import

    Import instincts from file or URL into project/global scope

    Also in 3 projects that use this

  • AviadPSkill

    risk-assess

    Assess the risk and blast radius of a proposed code change before implementing it. Evaluates CI impact, framework-wide vs localized scope, rollback path, and identifies blindspots. Use when user says "what's the risk", "is this safe", "assess the impact", "risk assess", "blast radius", or before applying framework-wide or CI-affecting changes. Do NOT use for code quality review (use code-quality) or plan validation (use design-validator).

    Also in 3 projects that use this

  • diego-tobalinaSkill

    build-fix

    Fix build and compilation errors systematically. Run when build fails.

    Also in 6 projects that use this

  • AaravChadhaSkill

    secure

    Security review with a confidence gate - a finding exists only with a concrete exploit scenario and a high/medium/low confidence rating; everything else goes to a worth-hardening list, never inflated. Sweeps five surfaces: auth gates, secrets hygiene, injection and unsafe sinks, unsafe deserialization/crypto/transport, and LLM tool-use trust boundaries. Reports only, never fixes. Use when the user asks for a security review or to check vulnerabilities, secrets, or auth.

    Also in 3 projects that use this

  • ArvorCoSkill

    specify

    Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

    Also in 10 projects that use this

  • +1 more from TheKREATORS

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 167 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Don't load this for choosing which test to write.

    line 8
  2. Distinctive:

    If you could not run a step (no device, no network), say which one in the report.

    line 43

“Common” is measured: kept by at least 6 in 10 of the 167 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Verify

Don't load this for choosing which test to write; see testing.

Rule

Run tool/check.sh before you say work is done. Work is done only when it ends with All checks passed. Report what it printed, and never report a check you did not run. The gate is the enforcement. flutter analyze does not report the custom lint rules; use dart analyze at the repo root or the gate.

Why

Each rule in this repo has a check, and the checks only protect you if they actually run. A claim without output is a guess.

How

tool/check.sh stops at the first failing step. In order:

  1. dependencies: pub get for the app and each package (on-device included when present). Fails on a bad pubspec.yaml or a version conflict.
  2. generate code: dart run build_runner build (drift, Riverpod). Fails when annotated code does not compile.
  3. schema dump is current: the database schema equals drift_schemas/. Fails if you changed tables without raising schemaVersion and dumping (storing-data).
  4. format: dart format check. Fix with dart format <the files it names>.
  5. analyze: dart analyze --fatal-infos, which includes the custom lint rules (layer boundaries, ui_calls_actions, hardcoded colors and strings, and so on). Any info fails the gate.
  6. tests: flutter test, then the core and lints packages with dart test, then the UI package with flutter test (and the on-device package when present). Includes the parity test.
  7. doctor: dart run flutter_agentify_core:doctor (agent-files, skills, bundled-secrets, migrations, ratchet, doc-links). Run one check with --only <name>.
  8. action smoke check: set_language to the default language (the first in kSupportedLanguages), such as dart run tool/action.dart set_language '{"locale":"en"}', proves the registry starts and an action runs.

Reading a failure: find the == step heading above the first error; fix that step only, then rerun the whole gate. Don't "fix" a failing check by loosening it or adding // ignore:; the ratchet counts those and may only go down.

Behavior checks without the UI use the action CLI, which works on a scratch database under .dart_tool/, never the app's data:

dart run tool/action.dart --list
dart run tool/action.dart set_language '{"locale":"fa"}'
dart run tool/action.dart <action_name> '<json>' --approved

--list prints the action names (for example create_item, list_items, set_theme_mode, view_screen). Actions that need approval need --approved. For UI changes the gate is not enough: run the app and look at it, or say you did not.

If you could not run a step (no device, no network), say which one in the report.

Anti-patterns

  • Saying "tests pass" after running one file.
  • Reporting from memory or from an earlier run.
  • Skipping the gate because only a doc changed (the doctor checks skills and links).
  • Hiding a failure by editing a baseline or a generated file.

Verification

  • The last lines of tool/check.sh output read All checks passed.; paste or quote them in your report.
  • test/tool/action_cli_test.dart covers the CLI itself.

Related skills

  • testing — writing the tests the gate runs
  • actions — the CLI and action reference
  • storing-data — when the schema step fails
  • clean-architecture — when a boundary lint fails

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.