agentleFS
NathanForsterNathanForster/claude-commands/skills/icm-validate/SKILL.md

icm-validate

Skill1 starsChanged 26 days agoMITView on GitHub

Audit ICM requirements against source code and pipeline artifacts, then update statuses in the requirements register and traceability matrix. Use to check which requirements are implemented or verified in an ICM-governed project, or to validate a single requirement by its REQ-ID.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 4 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

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

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

    Scope: if the user's input (the text after the skill name.

    line 13
  2. Distinctive:

    Use the Trace column as the starting point for where to look.

    line 43
  3. Distinctive:

    Read the relevant source file(s) and grep for key symbols if needed.

    line 44
  4. Very specific:

    Look for input_<req_id>_implementation.md in source-development/workflows/03-implementation/.

    line 48
  5. Distinctive:

    Produce a findings table: before touching any files:

    line 55
  6. Very specific:

    Update the Updated: datestamp in the header comment of both files.

    line 69
  7. Distinctive:

    Do not change any other content — titles, priorities, ADR references, etc.

    line 70
  8. Very specific:

    Use today's date for the Updated: stamp (check it with Get-Date or date if you are not sure of it).

    line 81
  9. Very specific:

    If a requirement is partially implemented, set Status to Implemented but append (partial — <gap description>) in the Trace column so the …

    line 83
  10. Very specific:

    Do not mark anything Verified unless there is an explicit test in the project's test suite (e.g.

    line 85
  11. Very specific:

    If a new requirement has been added to src/ that has no register entry, flag it for the user — do not silently create new REQ IDs.

    line 90

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

ICM: Validate Implementation

Checks every requirement in the register against the actual source code AND the source-development pipeline artifacts, then updates the Status column in both the requirements register and the traceability matrix.

Scope: if the user's input (the text after the skill name; in Claude Code it may be appended as ARGUMENTS: ...) names a requirement ID (e.g. REQ-42), validate only that row — same checks, same findings table, same confirmation gate. Otherwise audit the full register.

Files

  • Register: requirements/workflows/03-baseline/requirements-register.md
  • Matrix: requirements/workflows/04-trace/traceability-matrix.md
  • Source: src/
  • Artifacts: source-development/workflows/03-implementation/ source-development/workflows/04-validation/

Status values (from the register's Status Key)

ValueMeaning
BaselinedApproved and frozen — not yet checked for implementation
ImplementedCode exists in src/
VerifiedTested or validated (tests pass, or manually confirmed working)
SupersededReplaced by a newer requirement — leave as-is

Process

  1. Read the register in full. Identify every row whose Status is Baselined or Implemented (i.e. not yet Verified or Superseded).
  2. For each such requirement, perform two checks:

    2a. Code check

    • Use the Trace column as the starting point for where to look.
    • Read the relevant source file(s) and grep for key symbols if needed.
    • Determine: fully implemented / partially implemented / not implemented.

    2b. Artifact check

    • Look for input_<req_id>_implementation.md in source-development/workflows/03-implementation/.
    • Look for input_<req_id>_validation.md in source-development/workflows/04-validation/.
    • Flag any Implemented row that is missing either artifact — this means the source-development pipeline was skipped and must be backfilled.
  3. Produce a findings table before touching any files:

    REQ IDTitleCurrent StatusCodeImpl artifactVal artifactNew Status
    REQ-XX...Baselined✅ present✅ present✅ presentImplemented
    REQ-YY...Implemented✅ present❌ missing❌ missingImplemented (backfill needed)

    Present this to the user and confirm before writing anything.

  4. On confirmation, update both documents:
    • In the register: change the Status cell for each affected row. Append (backfill needed) to the Trace cell for any row missing artifacts.
    • In the matrix: add or update the Source File(s) cell for any row that was missing or stale trace information.
    • Update the Updated: datestamp in the header comment of both files.
    • Do not change any other content — titles, priorities, ADR references, etc.
  5. Report a summary:
    • How many moved to Implemented
    • How many moved to Verified
    • How many remain Baselined (with reason)
    • How many are missing ICM artifacts (backfill needed)
    • How many gaps were found in code

Notes

  • Use today's date for the Updated: stamp (check it with Get-Date or date if you are not sure of it).
  • If a requirement is partially implemented, set Status to Implemented but append (partial — <gap description>) in the Trace column so the gap is visible.
  • Do not mark anything Verified unless there is an explicit test in the project's test suite (e.g. testing-validation/, src/tests/, or the project's dedicated test project) that covers it, or the user explicitly confirms manual verification.
  • Superseded rows: skip entirely.
  • If a new requirement has been added to src/ that has no register entry, flag it for the user — do not silently create new REQ IDs.
  • Canonical artifact naming: input_<REQ-ID>_implementation.md and input_<REQ-ID>_validation.md, where <REQ-ID> is the register's requirement ID (e.g. input_REQ-42_implementation.md). This is the form the session-close skill also expects. Treat the older input_req<NN>_* spelling as legacy — accept it when scanning, but write any new artifacts with the canonical form.

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.