11<div align =" center " >
22
33<picture >
4- <source media =" (prefers-color-scheme: dark) " srcset =" .github/banner.svg " >
5- <source media =" (prefers-color-scheme: light) " srcset =" .github/banner.svg " >
6- <img alt =" skillcheck " src =" .github/banner.svg " width =" 600 " >
4+ <source media =" (prefers-color-scheme: dark) " srcset =" .github/banner.svg " >
5+ <source media =" (prefers-color-scheme: light) " srcset =" .github/banner.svg " >
6+ <img alt =" skillcheck " src =" .github/banner.svg " width =" 600 " >
77</picture >
88
99<br />
1010
1111** Cross-agent skill quality gate for ` SKILL.md ` files.**
1212
13+ <br />
14+
15+ <img src =" https://img.shields.io/pypi/v/skillcheck?style=flat-square " alt =" PyPI version " > <img src =" https://img.shields.io/pypi/pyversions/skillcheck?style=flat-square " alt =" Python " > <img src =" https://img.shields.io/github/actions/workflow/status/moonrunnerkc/skillcheck/ci.yml?style=flat-square " alt =" CI status " > <img src =" https://img.shields.io/github/license/moonrunnerkc/skillcheck?style=flat-square " alt =" License " >
16+
17+ ** v1.2.0 · 683 tests passing · production**
18+
1319</div >
1420
1521---
@@ -65,7 +71,7 @@ The default mode. Validates frontmatter fields, description quality score, body
6571
6672``` bash
6773skillcheck SKILL.md
68- skillcheck skills/ # recursive scan; finds every file named SKILL.md
74+ skillcheck skills/ # recursive scan; finds every file named SKILL.md
6975skillcheck SKILL.md --format json
7076```
7177
@@ -77,7 +83,7 @@ Extracts a directed capability graph from heading structure and backtick referen
7783
7884``` bash
7985skillcheck SKILL.md --analyze-graph
80- skillcheck SKILL.md --emit-graph # print graph only, exit 0
86+ skillcheck SKILL.md --emit-graph # print graph only, exit 0
8187skillcheck SKILL.md --emit-graph --format json
8288```
8389
@@ -102,9 +108,9 @@ skillcheck emits a structured self-critique prompt. The calling agent evaluates
102108skillcheck SKILL.md --emit-critique-prompt > prompt.txt
103109# Hand prompt.txt to your agent. Agent returns JSON. Then:
104110skillcheck SKILL.md --ingest-critique response.json
105- skillcheck SKILL.md --ingest-critique - # read from stdin
111+ skillcheck SKILL.md --ingest-critique - # read from stdin
106112skillcheck SKILL.md --emit-critique-prompt --critique-agent codex > prompt.txt
107- skillcheck SKILL.md --agent-reason --format agent # critique + graph prompt packet
113+ skillcheck SKILL.md --agent-reason --format agent # critique + graph prompt packet
108114```
109115
110116` --critique-agent ` selects a framing variant tuned for each platform (claude, codex, cursor). The schema and exit codes are identical across all variants.
@@ -142,7 +148,7 @@ When an agent graph is ingested alongside a heuristic graph, `graph.contradictio
142148The per-skill validation ledger is an append-only ` .skillcheck-history.json ` file stored next to the SKILL.md. Each ` --history ` run appends one record: timestamp, skillcheck version, a 16-character content hash, which modes ran, which agents were used, and diagnostic counts. No message text, skill body content, or user identifiers are stored. Committing the ledger to git is safe.
143149
144150``` bash
145- skillcheck SKILL.md --history # run validation and append a record
151+ skillcheck SKILL.md --history # run validation and append a record
146152skillcheck SKILL.md --show-history
147153skillcheck SKILL.md --show-history --format json
148154```
@@ -203,25 +209,25 @@ JSON output (`--format json`):
203209
204210` ` ` json
205211{
206- "version": "1.2.0",
207- "files_checked": 18,
208- "files_passed": 18,
209- "files_failed": 0,
210- "results": [
211- {
212- "path": "skills/claude-api/SKILL.md",
213- "valid": false,
214- "diagnostics": [
215- {
216- "rule": "frontmatter.name.reserved-word",
217- "severity": "warning",
218- "message": "Name contains the term 'claude' which may collide with platform-reserved namespaces. Verify with the target agent's documentation.",
219- "line": 2,
220- "context": "name: claude-api"
221- }
222- ]
223- }
224- ]
212+ "version": "1.2.0",
213+ "files_checked": 18,
214+ "files_passed": 18,
215+ "files_failed": 0,
216+ "results": [
217+ {
218+ "path": "skills/claude-api/SKILL.md",
219+ "valid": false,
220+ "diagnostics": [
221+ {
222+ "rule": "frontmatter.name.reserved-word",
223+ "severity": "warning",
224+ "message": "Name contains the term 'claude' which may collide with platform-reserved namespaces. Verify with the target agent's documentation.",
225+ "line": 2,
226+ "context": "name: claude-api"
227+ }
228+ ]
229+ }
230+ ]
225231}
226232` ` `
227233
0 commit comments