[Publisher repository snapshot. Source commit dated 2026-09-24 (UTC), raw source captured on 2026-10-17 (UTC). Latest default-branch state and installation are unverified.]
Source: https://raw.githubusercontent.com/osovv/grace-marketplace/70f5ec4305bb2cc6ed82dea9470a3b810603874b/plugins/grace/skills/grace/grace-verification/SKILL.md
<skill>
<purpose>
Strengthen deterministic verification for modules and changes. Verification state lives in .grace/verification/index.xml and routed verification documents. Each durable module should have deterministic V-M-* coverage unless an explicit exception is planned.
</purpose>
<workflow>
- Read relevant
.grace/graphanchors and currentV-M-*entries. - Identify scenarios, commands, test files, required log markers, and trace assertions.
- Ensure commands are deterministic and runnable from the project root or documented cwd.
- Update or propose
.grace/verificationchanges through the active change plan. - Run the commands and record fresh evidence in the response.
</workflow>
<cwd_contract>
When verification commands run from a workspace or package directory, add one direct
<Cwd>relative/project/path</Cwd>child to the owningV-M-*entry. Keep declared<TestFiles><File>...</File></TestFiles>paths project-root-relative; the CLI usesCwdonly to compare them with cwd-relative command arguments. </cwd_contract> <evidence_contract> Use<Marker>when module health must prove a runtime log or trace emission from linked implementation code. Use<TraceAssertion>for deterministic test or trace evidence that does not require runtime logging, such as pure functions, type-level modules, and core libraries. A non-empty marker or trace assertion satisfies the module-health evidence requirement; only authored markers require matching runtime emission andBLOCK_*evidence. </evidence_contract> <gate_task_contract> Reference named project tasks inMustPassCommandandExpectedCommand(for examplebun run gate:e2e) instead of inline;-chains. Decompose full gates into granular named tasks (gate:test,gate:typecheck,gate:build,gate:e2e) so a selective re-run is just running that task, timeouts map to one coherent unit, andgrace lint --run-commandsreports each gate step with its own timing and log. </gate_task_contract> <flake_contract> A flaky gate is a defect of the verification entry, not a reason to re-run blindly. Diagnose from the per-attempt logs under~/.cache/grace/run-commands/. Fix it by decomposing the gate task, adding runner-level retries inside the task itself (for example playwright--retries), or quarantining the unstable scenario. Silent manual re-runs are not a fix: grace records every run honestly, and nondeterministic verification undermines assertion evidence. </flake_contract> </skill>