spec-lint SKILL.md skillA

spec-lint from kevinlin/skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add kevinlin/skills/spec-lint@v1.2.1

Pins v1.2.1 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
kevinlin/skills
Path
spec-lint/SKILL.md
Versions recorded
2
Latest version
v1.2.1, committed Aug 14, 2026
First version recorded
Jul 17, 2026
Size
17,636 bytes
Repository stars
5
License
MIT

Lint the project's specification docs (requirements / design / plan / task markdown): orphan specs, dead cross-doc links, index and naming drift, empty sections, stale TODOs, and — most importantly — reverse consistency between layers (design must cover its requirements, plans must cover their design). Auto-detects which spec-driven framework is in use — Kiro IDE, Superpowers, OpenSpec, GitHub spec-kit, BMad Method, GSD, or a generic default profile — and applies that profile's rules. Use when…

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# spec-lint: Multi-Profile Specification Doc Health Check

Lint specification markdown produced during a spec-driven workflow. The goal is a clean, navigable spec tree where:

- A root index (or equivalent registry) lists every spec file.
- Each layer is consistent with the layer above it (design covers requirements; plan covers design).
- Cross-doc links resolve.
- Naming, structure, and metadata follow the conventions of the toolkit in use.

## Supported Profiles

Seven built-in profiles:

| Profile | Root | Layer chain |
|---|---|---|
| `default` | `docs/specs/` (or `specs/`) | requirements → design → plan → tasks (checkboxes) |
| `kiro` | `.kiro/specs/` | requirements/bugfix → design → tasks |
| `superpowers` | `docs/superpowers/plans/` | inline per dated plan file: Goal → Approach → Tasks |
| `openspec` | `openspec/` | spec + proposal → design → tasks → archive |
| `spec-kit` | `specs/` | constitution → spec → plan + data-model → tasks |
| `bmad` | `_bmad-output/` | PRD → architecture → epics/stories → sprint-status |
| `gsd` | `.planning/` | REQUIREMENTS → ROADMAP → phase PLANs → VERIFICATION |
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add kevinlin/skills/spec-lint@sha256:52efa70626d24c5d

The line at the top of this page pins the label v1.2.1, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_huzvyix46ylw3n2q.svg)](https://markdownregistry.com/a/art_huzvyix46ylw3n2q)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 2 versions of this file, between Jul 17, 2026 and Aug 14, 2026, about one every 28 days.

versioncommittedcommitsizeaudit
v1.2.1 latest2026-08-14 ca52741 17,636 BA view · diff
v1.2.02026-07-17 008f8cd 17,320 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (17636 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

kevinlin/skills · 5 stars · license MIT · pushed 2026-10-27 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_huzvyix46ylw3n2q
GET https://markdownregistry.com/api/v1/resolve?ref=kevinlin/skills/spec-lint
GET https://markdownregistry.com/api/v1/blob/52efa70626d24c5d2077434d2af5a37c6328b156838072598f20ef36242c9169

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from kevinlin/skills

CLAUDE.md CLAUDE.md file
kevinlin/skills · CLAUDE.md
git:20261027.0d3e083 · audit A · 5 stars
agent-insights SKILL.md skill
kevinlin/skills · agent-insights/SKILL.md · Generate a cross-tool usage insights report from locally stored AI coding agent sessions (Claude Code, Claude Cowork…
v1.6.1 · audit A · 5 stars
code-review-expert SKILL.md skill
kevinlin/skills · code-review-expert/SKILL.md · Expert code review with a senior engineer lens — covers architecture, SOLID principles, security vulnerabilities…
v1.0.0 · audit A · 5 stars
declawed SKILL.md skill
kevinlin/skills · declawed/SKILL.md · De-slop pass for any text: mechanically scans for the statistical tells of AI writing (the "not X but Y" reflex…
v1.2.2 · audit A · 5 stars
gap-analysis SKILL.md skill
kevinlin/skills · gap-analysis/SKILL.md · Use when producing or updating a gap-analysis HTML report. Triggers on "gap analysis", "gap register", "gap index"…
v1.1.0 · audit A · 5 stars
html-diagram SKILL.md skill
kevinlin/skills · html-diagram/SKILL.md · Use when the user needs an architecture or system diagram, a CI/CD, build, or release pipeline, an ETL or data…
v1.2.2 · audit A · 5 stars
research-plan-implement SKILL.md skill
kevinlin/skills · research-plan-implement/SKILL.md · Complete Research \u2192 Plan \u2192 Implement workflow for complex tasks. Use this skill whenever the user faces…
v1.0.0 · audit A · 5 stars
spec-coding SKILL.md skill
kevinlin/skills · spec-coding/SKILL.md · Guide users through spec-driven development — from goal clarification through requirements, design, task planning, and…
v1.0.1 · audit A · 5 stars
spec-compact SKILL.md skill
kevinlin/skills · spec-compact/SKILL.md · Compact a spec plan (or design doc) markdown file after the implementation has shipped: strip the transient how — code…
v1.1.2 · audit A · 5 stars
CLAUDE.md@spec-compact/evals/fixtures/repos/lint-debris CLAUDE.md file
kevinlin/skills · spec-compact/evals/fixtures/repos/lint-debris/CLAUDE.md
git:20260814.841991c · audit B · 5 stars
CLAUDE.md@spec-compact/evals/fixtures/repos/shipped-plan CLAUDE.md file
kevinlin/skills · spec-compact/evals/fixtures/repos/shipped-plan/CLAUDE.md
git:20260814.841991c · audit B · 5 stars
CLAUDE.md@spec-compact/evals/fixtures/repos/unshipped-plan CLAUDE.md file
kevinlin/skills · spec-compact/evals/fixtures/repos/unshipped-plan/CLAUDE.md
git:20260814.841991c · audit B · 5 stars

Every file in kevinlin/skills

Browse by kind, by grade A, or by owner.