mcpField
H
hrt-artifact-lint

hrt-artifact-lint

github.com/hash-idTesting & quality251 installsUpdated 4d ago
Repository

About hrt-artifact-lint

hrt-artifact-lint is a skill for checking change directories containing proposal, spec, design, and task artifacts. It reports structural issues and size facts, with a proposal-only mode for early work.

Key features

  1. 01Checks artifact structure and size
  2. 02Supports proposal-only checks
  3. 03Reports errors and warnings
  4. 04Provides line-based diagnostics
  5. 05Falls back to manual checks if unavailable

Use cases

  1. 01Validate artifacts before proceeding
  2. 02Check a proposal before later files exist
  3. 03Identify structural defects in change documents

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/hash-id/openspec-schema --skill hrt-artifact-lint

After installing, type/hrt-artifact-lintin Claude Code to confirm it loaded.

Bundled fileslint.cjs

Details

From the project README

hrt-artifact-lint

Run the bundled lint.cjs (sits next to this file, installed at .agents/skills/hrt-artifact-lint/lint.cjs, no dependencies) against the change directory - the folder with proposal.md, specs/, design.md, tasks.md:

node .agents/skills/hrt-artifact-lint/lint.cjs <change-dir>

In the proposal phase, when no later artifact exists yet, add --phase=proposal so the run checks proposal.md only (structure, size, shape) and does not report the missing specs, design, and tasks as errors.

Output is LEVEL path:line message, one per line, then a Size facts: line (capabilities, scenarios, task groups, proposal words; no verdict). Exit 1 if any ERROR, else 0.

  • ERROR: a deterministic structural defect with exactly one correct fix. Fix it directly, no user prompt, record what changed.
  • WARN: non-blocking. Fix if quick.

The caller does not re-run these checks by hand after the lint passes. The caller's judgement checks (is a scenario genuinely behaviour, is a requirement genuinely testable, is an N/A section genuinely non-applicable) are not covered here and still run.

If Node is missing or lint.cjs cannot be found, say so and fall back to checking these by hand. Do not skip them silently.

Comments

Markdown supported