agentleFS
mauriciovieiramauriciovieira/groundwork/skills/validate/SKILL.md

validate

Skill0 starsChanged 4 months agoMITView on GitHub

Use when a groundwork feature's implementation looks finished, or the user asks "is it done", "ready to merge", or "does it meet the spec". Definition-of-Done gate - checks every acceptance criterion has a passing test, every slice is done or explicitly deferred, and no accepted ADR is violated. Reports pass/fail with specific gaps.

63 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use policy-init, create and 9 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.
  • open-coder-aiSkill

    policy-init

    Create conformant Chock policy from request. args(request, target_path,

    Also in 3 projects that use this

  • MicrosoftSkill

    create

    Also in 4 projects that use this

  • HermeticOrmusSkill

    close

    End-of-session ritual. Captures session state, updates auto-memory, writes a session summary, then exits the session cleanly.

    Also in 4 projects that use this

  • Hugging FaceSkill

    sprint

    Work on a batch of GitHub issues in parallel using Agent Teams. Creates one worktree per issue with TDD enforcement, coordinates via a lead agent, then produces stacked PRs.

    Also in 4 projects that use this

  • qtzx06Skill

    eval

    Evaluate trained YOLO model accuracy with mAP metrics and per-class error analysis. Identifies failure cases for targeted improvement. Use after training.

    Also in 4 projects that use this

  • csiddhant796-blipSkill

    board

    Read, write, and browse the AgentHub message board for agent coordination.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 53 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

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

    uncovered: - no test exercises it

    line 33
  2. Very specific:

    Check each slice's Finish-condition against reality too.

    line 42
  3. Distinctive:

    Never report an overall pass because most things passed.

    line 58

“Common” is measured: kept by at least 6 in 10 of the 53 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

groundwork:validate

A gate, not a test-writing skill. Check whether a feature actually meets its own Definition of Done and report exactly what's missing - never just a pass/fail with no detail.

0. Preconditions

Read docs/groundwork/config.json. If it doesn't exist, don't stop - bootstrap it per the "Lazy bootstrap" section of the groundwork setup skill: detect tracker and project type, write the config with defaults, state the assumptions in one line, and continue. Running setup explicitly is only for customizing.

1. Check the PRD actually states criteria

Open docs/groundwork/features/NNNN-slug/prd.md and find its acceptance criteria. A PRD written by inception deliberately leaves that section as a placeholder for survey to fill in.

If the section is missing, empty, or still a placeholder, stop here and say so. A feature with no stated criteria cannot pass this gate, and reporting a pass over an empty list is the worst outcome available: it reads as done. Send the user to survey to state the criteria, and do not continue to step 2.

2. Check acceptance criteria

For every acceptance criterion, ask two separate questions.

Is it tested? Find whether a test actually exercises it. Run the test suite; don't take a test's existence on faith if you can execute it.

Is it proven? If the config has a verify block, check that the criterion has observable evidence behind it - a verification that drove the running application and captured what happened, posted to the slice that covers this criterion. A passing test is the code agreeing with itself; evidence is the product being watched doing the thing.

Report each criterion as exactly one of:

  • covered+proven - a passing test and posted evidence
  • covered-unproven - a passing test, no evidence. Not a pass
  • uncovered - no test exercises it
  • failing - a test exercises it and does not pass

Where the repository has no verify block at all, every criterion is covered-unproven - there is no way to prove any of them. Say that once, as one fact about the repository rather than once per criterion, and name verify --init as what fixes it. Do not invent a softer outcome for this case: a feature nobody can demonstrate is not a feature anybody has finished, and a repository without verification is the case most likely to be quietly certified for years.

3. Check slice status

Read the slices from the configured tracker. Where a slice's status lives differs, and needs-proof is the case that is easy to miss: on github and linear it is a comment on an issue that is still open, not a field, so read the comments rather than only the open/closed state. On local it is a Status: value in tasks.md alongside open and done. Every slice from to-issues should be done or explicitly deferred with a stated reason. Flag any slice that's neither - stuck open with no explanation, or silently abandoned. A slice marked needs-proof is its own outcome: built, but never shown working. Report those separately from open slices, because the fix is different - they need a verification run, not implementation.

Check each slice's Finish-condition against reality too. A closed slice whose finish condition is not actually met was closed early.

4. Check ADR compliance

For every Accepted ADR under the feature's adr/, and any relevant Accepted ADR under the system-wide docs/groundwork/adr/ (written by improve-codebase-architecture, or by survey for implementation-stack decisions), do a best-effort check that the current code doesn't contradict its Decision. This can't be exhaustive - look for obvious violations (an ADR mandates one approach and the code visibly does something else), not subtle ones. Say plainly when you can't verify something rather than asserting compliance you didn't check.

5. Report, and close the loop

Give a verdict per acceptance criterion, per slice, and per ADR, not just an overall one. For anything that fails, say exactly what's missing and where.

If everything passes, say so clearly and continue straight into code-review before merging.

If this repository has no verification at all, the gate does not pass. Report every criterion as covered-unproven, say plainly that nothing here can be demonstrated, and point at verify --init. This is the one failure the user can close in a single step, and it is also the one they are most likely to want waved through - do not wave it through. build deliberately does not block on this, so the gate is the only place it is ever caught.

If anything failed, don't just stop. Say what would close each gap, and offer to go back into build with that exact list - uncovered criteria need tests, covered-unproven ones need a verification run, needs-proof slices need evidence, and a failing test needs a fix. Hand the list over rather than making the user reconstruct it. Review waits until the gaps are closed.

Never report an overall pass because most things passed. This gate exists to be the one place that says no.

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.