Skip to content

Commit 46455ef

Browse files
author
Your Name (aider)
committed
style: align indentation in README.md hero block, code blocks, and JSON
1 parent b2c29e2 commit 46455ef

1 file changed

Lines changed: 32 additions & 61 deletions

File tree

README.md

Lines changed: 32 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
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/>
@@ -65,7 +65,7 @@ The default mode. Validates frontmatter fields, description quality score, body
6565

6666
```bash
6767
skillcheck SKILL.md
68-
skillcheck skills/ # recursive scan; finds every file named SKILL.md
68+
skillcheck skills/ # recursive scan; finds every file named SKILL.md
6969
skillcheck SKILL.md --format json
7070
```
7171

@@ -77,7 +77,7 @@ Extracts a directed capability graph from heading structure and backtick referen
7777

7878
```bash
7979
skillcheck SKILL.md --analyze-graph
80-
skillcheck SKILL.md --emit-graph # print graph only, exit 0
80+
skillcheck SKILL.md --emit-graph # print graph only, exit 0
8181
skillcheck SKILL.md --emit-graph --format json
8282
```
8383

@@ -86,9 +86,9 @@ Graph nodes: `Capability` (section headings), `Input` (backtick references requi
8686
From the field test on `mcp-builder/SKILL.md` (reproduce: `skillcheck skills/mcp-builder/SKILL.md --analyze-graph`):
8787

8888
```
89-
line 18 ⚠ warning graph.capability.orphaned Capability 'Understand Modern MCP Design'
89+
line 18 ⚠ warning graph.capability.orphaned Capability 'Understand Modern MCP Design'
9090
has no declared inputs or outputs.
91-
line 32 ⚠ warning graph.capability.orphaned Capability 'Study MCP Protocol Documentation'
91+
line 32 ⚠ warning graph.capability.orphaned Capability 'Study MCP Protocol Documentation'
9292
has no declared inputs or outputs.
9393
```
9494

@@ -102,9 +102,9 @@ skillcheck emits a structured self-critique prompt. The calling agent evaluates
102102
skillcheck SKILL.md --emit-critique-prompt > prompt.txt
103103
# Hand prompt.txt to your agent. Agent returns JSON. Then:
104104
skillcheck SKILL.md --ingest-critique response.json
105-
skillcheck SKILL.md --ingest-critique - # read from stdin
105+
skillcheck SKILL.md --ingest-critique - # read from stdin
106106
skillcheck SKILL.md --emit-critique-prompt --critique-agent codex > prompt.txt
107-
skillcheck SKILL.md --agent-reason --format agent # critique + graph prompt packet
107+
skillcheck SKILL.md --agent-reason --format agent # critique + graph prompt packet
108108
```
109109

110110
`--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 +142,7 @@ When an agent graph is ingested alongside a heuristic graph, `graph.contradictio
142142
The 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.
143143

144144
```bash
145-
skillcheck SKILL.md --history # run validation and append a record
145+
skillcheck SKILL.md --history # run validation and append a record
146146
skillcheck SKILL.md --show-history
147147
skillcheck SKILL.md --show-history --format json
148148
```
@@ -156,7 +156,7 @@ History ledger: SKILL.md
156156
Schema version: 1
157157
Total runs: 1
158158
159-
Run 1 2026-04-25T04:21:03Z FAIL exit=3
159+
Run 1 2026-04-25T04:21:03Z FAIL exit=3
160160
version=0.2.0 hash=0f4592dcb53cf2b5
161161
modes=[symbolic, critique(claude), graph(claude)]
162162
errors=5 warnings=36 info=4
@@ -192,9 +192,9 @@ Text output (default), excerpt from a run against the Anthropic skills corpus:
192192

193193
```
194194
✔ PASS skills/claude-api/SKILL.md
195-
line 2 ⚠ warning frontmatter.name.reserved-word Name contains the term 'claude' which may collide with platform-reserved namespaces. Verify with the target agent's documentation.
195+
line 2 ⚠ warning frontmatter.name.reserved-word Name contains the term 'claude' which may collide with platform-reserved namespaces. Verify with the target agent's documentation.
196196
name: claude-api
197-
line 4 · info frontmatter.field.ecosystem Field 'license' is ecosystem-common but not in the agentskills.io spec. Add it to skillcheck.toml under [frontmatter] extension_fields if intentional.
197+
line 4 · info frontmatter.field.ecosystem Field 'license' is ecosystem-common but not in the agentskills.io spec. Add it to skillcheck.toml under [frontmatter] extension_fields if intentional.
198198
199199
Checked 18 files: 18 passed, 0 failed, 29 warnings
200200
```
@@ -203,25 +203,25 @@ JSON output (`--format json`):
203203

204204
```json
205205
{
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-
]
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+
]
225225
}
226226
```
227227

@@ -358,35 +358,6 @@ Agent critique and graph modes validate the agent's JSON response against the ex
358358

359359
Directory-name matching compares against the immediate parent directory. Use `--skip-dirname-check` in CI environments that clone to temp paths.
360360

361-
## Testing
362-
363-
```bash
364-
pip install -e ".[dev]"
365-
python3 -m pytest tests/ -q
366-
```
367-
368-
683 tests cover all rule modules, CLI exit codes, graph analyzers, divergence detection, critique parsing, history round-trips, and the full self-host pipeline against `skills/skillcheck/SKILL.md`. Fixtures are in `tests/fixtures/`; every rule has at least one positive and one negative test case. `tests/test_readme_test_count_claim.py` asserts this count matches `pytest --collect-only`, so any future suite change has to update the number in the same commit or CI fails.
369-
370-
## Maintainer Notes
371-
372-
After editing `skills/skillcheck/SKILL.md`, regenerate the self-host test fixtures so the integration suite stays pinned to the current graph:
373-
374-
```bash
375-
make regen-self-host-fixtures
376-
```
377-
378-
This runs `scripts/regen_self_host_fixtures.py`, which extracts a fresh heuristic graph and writes it to `tests/fixtures/self_host/graph_clean.json`.
379-
380-
To summarize a batch of skillcheck JSON outputs across many repos (the layout the field-test runs use, with one directory per repo, one subdirectory per skill, and `01-symbolic.json` / `02-strict-vscode.json` / `03-graph-analyze.json` / `04-graph-extracted.json` / `08-critique-report.json` / `09-graph-agent-report.json` / `10-full-pipeline.json` per skill), run:
381-
382-
```bash
383-
python scripts/summarize_batch.py path/to/batch-dir
384-
```
385-
386-
It writes `summary.csv` and `findings.md` next to the batch directory. The script is intended for benchmark and field-test workflows; it is not part of the CLI surface and is not exposed as a console script.
387-
388-
To add a new rule: implement `def check_something(skill: ParsedSkill) -> list[Diagnostic]` in the appropriate module under `src/skillcheck/rules/`, register it in `src/skillcheck/rules/__init__.py`, add at least one positive and one negative fixture, and add a row to the Rules table above. Full conventions are in [`.github/CLAUDE.md`](.github/CLAUDE.md).
389-
390361
## Contributing
391362

392363
See [CONTRIBUTING.md](CONTRIBUTING.md) for testing, maintainer workflows, and rule-authoring conventions.

0 commit comments

Comments
 (0)