Scan a directory or workspace for SKILL.md files across all agents and repos, capture supporting files (references, scripts, linked docs), dedupe vendored copies, enrich each Tessl tile with registry signals, and emit a canonical JSON inventory validated by JSON Schema. Then run four analytical phases in parallel against the inventory — staleness + git provenance (history, broken refs, contributors), quality (Tessl `skill review`), duplicates (similarity + LLM judgement), registry-search (per-standalone-skill registry suggestions, HTTP only) — and render a self-contained interactive HTML report with a top-of-report health overview, top-issues panel, recently-changed list, and per-tessl.json manifests view.
84
90%
Does it follow best practices?
Impact
97%
1.44xAverage score across 2 eval scenarios
Advisory
Suggest reviewing before use
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://tessl.io/skill-insights/quality.schema.json",
"title": "Skill Insights — Quality Output",
"description": "Per-skill review scores produced by analyze-skill-quality. Scores come from `tessl skill review --json`, registry tile-quality passthrough, or are absent (failed/skipped). Tile rollup pulls registry quality where available, otherwise computed mean of per-skill review scores.",
"type": "object",
"additionalProperties": false,
"required": ["schema_version", "metadata", "per_skill", "per_tile", "estate_summary", "warnings"],
"properties": {
"schema_version": { "type": "string", "const": "2.0" },
"metadata": {
"type": "object",
"additionalProperties": false,
"required": [
"scanned_at", "tool_version",
"skill_count_reviewed", "skill_count_passthrough",
"skill_count_skipped", "skill_count_failed", "skill_count_total",
"duration_sec", "failed_skills"
],
"properties": {
"scan_id": { "type": ["string", "null"] },
"scanned_at": { "type": "string", "format": "date-time" },
"tool_version": { "type": "string" },
"skill_count_reviewed": { "type": "integer", "minimum": 0 },
"skill_count_passthrough": { "type": "integer", "minimum": 0 },
"skill_count_skipped": { "type": "integer", "minimum": 0 },
"skill_count_failed": { "type": "integer", "minimum": 0 },
"skill_count_total": { "type": "integer", "minimum": 0 },
"duration_sec": { "type": "number", "minimum": 0 },
"failed_skills": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["skill_id", "error"],
"properties": {
"skill_id": { "type": "string" },
"error": { "type": "string" }
}
}
}
}
},
"per_skill": {
"type": "array",
"items": { "$ref": "#/$defs/PerSkillQuality" }
},
"per_tile": {
"type": "array",
"items": { "$ref": "#/$defs/PerTileQuality" }
},
"estate_summary": {
"type": "object",
"additionalProperties": false,
"required": [
"avg_review_score", "by_verdict",
"skills_with_validation_failures",
"tiles_with_registry_score", "tiles_with_computed_avg"
],
"properties": {
"avg_review_score": { "type": ["number", "null"], "minimum": 0, "maximum": 100 },
"by_verdict": {
"type": "object",
"additionalProperties": false,
"required": ["good", "acceptable", "needs_work", "poor", "unknown"],
"properties": {
"good": { "type": "integer", "minimum": 0 },
"acceptable": { "type": "integer", "minimum": 0 },
"needs_work": { "type": "integer", "minimum": 0 },
"poor": { "type": "integer", "minimum": 0 },
"unknown": { "type": "integer", "minimum": 0 }
}
},
"skills_with_validation_failures": { "type": "integer", "minimum": 0 },
"tiles_with_registry_score": { "type": "integer", "minimum": 0 },
"tiles_with_computed_avg": { "type": "integer", "minimum": 0 }
}
},
"warnings": { "type": "array", "items": { "type": "string" } }
},
"$defs": {
"Verdict": {
"type": "string",
"enum": ["good", "acceptable", "needs_work", "poor", "unknown"]
},
"Tier": {
"type": ["string", "null"],
"enum": ["published_tile", "authored_tile", "github_tile", "claude_plugin", "non_tile", null]
},
"ReviewStatus": {
"type": "string",
"enum": ["reviewed", "passthrough", "skipped_max_skills", "failed"]
},
"PerSkillQuality": {
"type": "object",
"additionalProperties": false,
"required": [
"skill_id", "name", "repo", "primary_path",
"tile_id", "tile_name", "tier", "is_declared",
"review_score", "verdict",
"validation", "description_judge", "content_judge",
"_status"
],
"properties": {
"skill_id": { "type": "string" },
"name": { "type": "string" },
"repo": { "type": "string" },
"primary_path": { "type": "string" },
"tile_id": { "type": ["string", "null"] },
"tile_name": { "type": ["string", "null"] },
"tier": { "$ref": "#/$defs/Tier" },
"is_declared": { "type": "boolean" },
"review_score": { "type": ["integer", "null"], "minimum": 0, "maximum": 100 },
"verdict": { "$ref": "#/$defs/Verdict" },
"validation": {
"anyOf": [
{ "type": "null" },
{ "$ref": "#/$defs/Validation" }
]
},
"description_judge": {
"anyOf": [
{ "type": "null" },
{ "$ref": "#/$defs/Judge" }
]
},
"content_judge": {
"anyOf": [
{ "type": "null" },
{ "$ref": "#/$defs/Judge" }
]
},
"_status": { "$ref": "#/$defs/ReviewStatus" },
"_passthrough": { "type": "string", "enum": ["registry_tile_score"] },
"_error": { "type": "string" }
},
"allOf": [
{
"description": "passthrough records carry _passthrough; reviewed/skipped/failed do not.",
"if": { "properties": { "_status": { "const": "passthrough" } }, "required": ["_status"] },
"then": { "required": ["_passthrough"] },
"else": { "not": { "required": ["_passthrough"] } }
},
{
"description": "failed records carry _error; other statuses do not.",
"if": { "properties": { "_status": { "const": "failed" } }, "required": ["_status"] },
"then": { "required": ["_error"] },
"else": { "not": { "required": ["_error"] } }
}
]
},
"Validation": {
"type": "object",
"additionalProperties": false,
"required": ["passed", "error_count", "warning_count", "failed_checks"],
"properties": {
"passed": { "type": ["boolean", "null"] },
"error_count": { "type": "integer", "minimum": 0 },
"warning_count": { "type": "integer", "minimum": 0 },
"failed_checks": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["name", "status", "message"],
"properties": {
"name": { "type": "string" },
"status": { "type": "string", "enum": ["error", "warning"] },
"message": { "type": "string" }
}
}
}
}
},
"Judge": {
"type": "object",
"additionalProperties": false,
"required": ["model", "success", "normalized_score", "scores", "overall_assessment", "suggestions"],
"properties": {
"model": { "type": ["string", "null"] },
"success": { "type": ["boolean", "null"] },
"normalized_score": { "type": ["number", "null"], "minimum": 0, "maximum": 1 },
"scores": {
"type": "object",
"description": "Keyed by judge dimension name (varies by judge config).",
"additionalProperties": {
"type": "object",
"additionalProperties": true,
"required": ["score"],
"properties": {
"score": { "type": ["number", "integer"] },
"reasoning": { "type": "string" }
}
}
},
"overall_assessment": { "type": ["string", "null"] },
"suggestions": {
"type": "array",
"items": { "type": "string" }
}
}
},
"PerTileQuality": {
"type": "object",
"additionalProperties": false,
"required": [
"tile_id", "name", "repo", "tier",
"published_to_registry",
"score", "score_source", "verdict", "skill_count",
"weakest_skill_id", "strongest_skill_id"
],
"properties": {
"tile_id": { "type": "string" },
"name": { "type": "string" },
"repo": { "type": "string" },
"tier": { "type": ["string", "null"], "enum": ["published_tile", "authored_tile", "github_tile", null] },
"published_to_registry": { "type": ["boolean", "null"] },
"score": { "type": ["integer", "null"], "minimum": 0, "maximum": 100 },
"score_source": {
"anyOf": [
{ "type": "null" },
{ "type": "string", "enum": ["registry", "computed_avg"] }
]
},
"verdict": { "$ref": "#/$defs/Verdict" },
"skill_count": { "type": "integer", "minimum": 0 },
"weakest_skill_id": { "type": ["string", "null"] },
"strongest_skill_id": { "type": ["string", "null"] }
}
}
}
}