CtrlK
BlogDocsLog inGet started
Tessl Logo

tessleng/skill-insights

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

1.44x
Quality

90%

Does it follow best practices?

Impact

97%

1.44x

Average score across 2 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

discovery.schema.jsonreferences/schemas/

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tessl.io/skill-insights/discovery.schema.json",
  "title": "Skill Insights — Discovery Output",
  "description": "Canonical inventory produced by discover-skills. A Skill is one logical SKILL.md (deduped by content hash within a repo). A Tile is one materialised Tessl tile instance in one repo.",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "metadata", "tiles", "skills", "stats", "warnings"],
  "properties": {
    "schema_version": { "type": "string", "const": "1.4" },
    "metadata": { "$ref": "#/$defs/Metadata" },
    "tiles": { "type": "array", "items": { "$ref": "#/$defs/Tile" } },
    "skills": { "type": "array", "items": { "$ref": "#/$defs/Skill" } },
    "stats": { "$ref": "#/$defs/Stats" },
    "warnings": { "type": "array", "items": { "type": "string" } }
  },
  "$defs": {
    "Metadata": {
      "type": "object",
      "additionalProperties": false,
      "required": ["scan_id", "scan_root", "scanned_at", "tool_version", "repos"],
      "properties": {
        "scan_id": { "type": "string" },
        "scan_root": { "type": "string" },
        "scanned_at": { "type": "string", "format": "date-time" },
        "tool_version": { "type": "string" },
        "repos": { "type": "array", "items": { "$ref": "#/$defs/RepoMeta" } }
      }
    },
    "RepoMeta": {
      "type": "object",
      "additionalProperties": false,
      "required": ["repo_id", "name", "path", "is_git_repo", "tessl_manifests"],
      "properties": {
        "repo_id": { "type": "string" },
        "name": { "type": "string" },
        "path": { "type": "string" },
        "is_git_repo": { "type": "boolean" },
        "head_sha": { "type": ["string", "null"] },
        "head_branch": { "type": ["string", "null"] },
        "remote_url": { "type": ["string", "null"] },
        "tessl_manifests": {
          "type": "array",
          "items": { "$ref": "#/$defs/TesslManifestMeta" }
        }
      }
    },
    "TesslManifestMeta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "path", "name",
        "dependencies_total", "dependencies_resolved",
        "dependencies_unresolved", "dependencies_skipped_non_skill"
      ],
      "properties": {
        "path": { "type": "string", "description": "Repo-relative tessl.json path" },
        "name": { "type": ["string", "null"] },
        "dependencies_total": { "type": "integer", "minimum": 0 },
        "dependencies_resolved": { "type": "integer", "minimum": 0 },
        "dependencies_unresolved": { "type": "integer", "minimum": 0 },
        "dependencies_skipped_non_skill": { "type": "integer", "minimum": 0 }
      }
    },
    "Tier": {
      "type": "string",
      "enum": ["published_tile", "authored_tile", "github_tile", "claude_plugin", "non_tile"]
    },
    "TileTier": {
      "type": "string",
      "enum": ["published_tile", "authored_tile", "github_tile"]
    },
    "Tile": {
      "type": "object",
      "additionalProperties": false,
      "description": "One materialised Tessl tile instance in one repo. The same tile name can appear more than once when local source and installed copies both exist.",
      "required": [
        "tile_id", "name", "repo", "tier", "source",
        "version_installed", "manifest_path", "skill_ids"
      ],
      "properties": {
        "tile_id": { "type": "string" },
        "name": { "type": "string", "description": "workspace/name" },
        "repo": { "type": "string" },
        "tier": { "$ref": "#/$defs/TileTier" },
        "source": {
          "type": "string",
          "enum": ["tessl_json", "filesystem"],
          "description": "How the tile was discovered. tessl_json wins over filesystem when both apply."
        },
        "version_installed": { "type": ["string", "null"] },
        "manifest_path": { "type": ["string", "null"] },
        "skill_ids": { "type": "array", "items": { "type": "string" } },
        "published_to_registry": { "type": ["boolean", "null"] },
        "registry": { "$ref": "#/$defs/TileRegistry" },
        "outdated": { "$ref": "#/$defs/TileOutdated" },
        "context_cost": { "$ref": "#/$defs/TileContextCost" }
      }
    },
    "TileRegistry": {
      "type": "object",
      "description": "Tile metadata fetched from the registry. Either an error sentinel or a populated record.",
      "additionalProperties": true,
      "properties": {
        "version": { "type": ["string", "null"] },
        "fingerprint": { "type": ["string", "null"] },
        "summary": { "type": ["string", "null"] },
        "moderationPassed": { "type": ["boolean", "null"] },
        "moderationError": { "type": ["string", "null"] },
        "archived": { "type": ["boolean", "null"] },
        "archivedReason": { "type": ["string", "null"] },
        "archivedAt": { "type": ["string", "null"] },
        "hasDocs": { "type": ["boolean", "null"] },
        "hasSkills": { "type": ["boolean", "null"] },
        "hasSteering": { "type": ["boolean", "null"] },
        "evalScore": { "type": ["number", "null"] },
        "evalBaselineScore": { "type": ["number", "null"] },
        "evalImprovement": { "type": ["number", "null"] },
        "evalImprovementMultiplier": { "type": ["number", "null"] },
        "scores": { "$ref": "#/$defs/TileRegistryScores" },
        "_error": { "type": "string" },
        "_status": { "type": ["integer", "null"] }
      }
    },
    "TileRegistryScores": {
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "aggregate": { "type": ["number", "null"], "minimum": 0, "maximum": 1 },
        "quality": { "type": ["number", "null"], "minimum": 0, "maximum": 1 },
        "impact": { "type": ["number", "null"], "minimum": 0, "maximum": 1 },
        "security": {
          "anyOf": [
            { "type": "string", "enum": ["LOW", "MEDIUM", "HIGH", "CRITICAL"] },
            { "type": "null" }
          ]
        },
        "evalAvg": { "type": ["number", "null"] },
        "evalCount": { "type": ["integer", "null"] },
        "lastScoredAt": { "type": ["string", "null"] },
        "validationErrors": { "type": "array", "items": { "type": "string" } }
      }
    },
    "TileOutdated": {
      "type": "object",
      "additionalProperties": false,
      "required": ["current", "latest", "update_available"],
      "properties": {
        "current": { "type": ["string", "null"] },
        "latest": { "type": ["string", "null"] },
        "update": { "type": ["string", "null"] },
        "isLatestPinned": { "type": ["boolean", "null"] },
        "update_available": { "type": "boolean" }
      }
    },
    "TileContextCost": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "per_skill",
        "front_loaded_total", "on_demand_min_total", "on_demand_max_total",
        "content_tokens_total", "lint_valid"
      ],
      "properties": {
        "per_skill": {
          "type": "object",
          "description": "Keyed by skill name (frontmatter name or directory).",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": false,
            "required": ["front_loaded", "on_demand_min", "on_demand_max"],
            "properties": {
              "front_loaded": { "type": "integer", "minimum": 0 },
              "on_demand_min": { "type": "integer", "minimum": 0 },
              "on_demand_max": { "type": "integer", "minimum": 0 }
            }
          }
        },
        "front_loaded_total": { "type": "integer", "minimum": 0 },
        "on_demand_min_total": { "type": "integer", "minimum": 0 },
        "on_demand_max_total": { "type": "integer", "minimum": 0 },
        "content_tokens_total": { "type": "integer", "minimum": 0 },
        "lint_valid": { "type": "boolean" },
        "exit_code": { "type": "integer" }
      }
    },
    "Skill": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "skill_id", "name", "description", "repo", "tier",
        "primary_path", "all_paths", "agent_harnesses",
        "source_type", "content_hash",
        "owning_package", "declared_in",
        "supporting_files", "bundled_directories",
        "frontmatter", "content"
      ],
      "properties": {
        "skill_id": { "type": "string" },
        "name": { "type": "string" },
        "description": { "type": "string" },
        "repo": { "type": "string" },
        "tier": { "$ref": "#/$defs/Tier" },
        "tile_id": { "type": ["string", "null"] },
        "tile_name": { "type": ["string", "null"], "description": "workspace/name of the owning tile, when applicable." },
        "primary_path": { "type": "string", "description": "Repo-relative SKILL.md path." },
        "all_paths": {
          "type": "array",
          "items": { "type": "string" },
          "minItems": 1
        },
        "agent_harnesses": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": ["claude", "cursor", "agents", "tessl_tile", "standalone"]
          }
        },
        "source_type": {
          "type": "string",
          "enum": [
            "claude_skill", "cursor_skill", "agents_skill",
            "tessl_tile_skill", "standalone", "claude_plugin_skill"
          ]
        },
        "content_hash": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "owning_package": { "$ref": "#/$defs/OwningPackage" },
        "declared_in": {
          "type": "array",
          "items": { "$ref": "#/$defs/Declaration" }
        },
        "supporting_files": {
          "type": "array",
          "items": { "$ref": "#/$defs/SupportingFile" }
        },
        "bundled_directories": {
          "type": "array",
          "items": { "$ref": "#/$defs/BundledDirectory" }
        },
        "frontmatter": { "$ref": "#/$defs/Frontmatter" },
        "content": { "$ref": "#/$defs/SkillContent" }
      }
    },
    "OwningPackage": {
      "anyOf": [
        { "type": "null" },
        {
          "type": "object",
          "additionalProperties": false,
          "required": ["kind"],
          "properties": {
            "kind": { "type": "string", "enum": ["tessl_tile", "claude_plugin"] },
            "name": { "type": ["string", "null"] },
            "version": { "type": ["string", "null"] },
            "manifest_path": { "type": ["string", "null"] }
          }
        }
      ]
    },
    "Declaration": {
      "type": "object",
      "additionalProperties": false,
      "required": ["manifest_path", "dep_key"],
      "properties": {
        "manifest_path": { "type": "string" },
        "dep_key": { "type": "string" },
        "version": { "type": ["string", "null"] }
      }
    },
    "SupportingFile": {
      "type": "object",
      "additionalProperties": false,
      "required": ["path", "kind", "discovered_via", "size_bytes"],
      "properties": {
        "path": { "type": "string" },
        "kind": {
          "type": "string",
          "enum": ["reference", "script", "linked_doc", "nested_skill", "other"]
        },
        "discovered_via": {
          "type": "string",
          "enum": [
            "references_dir", "scripts_dir", "markdown_link",
            "at_import", "inline_code", "other"
          ]
        },
        "line_count": { "type": ["integer", "null"], "minimum": 0 },
        "size_bytes": { "type": "integer", "minimum": 0 }
      }
    },
    "BundledDirectory": {
      "type": "object",
      "additionalProperties": false,
      "required": ["path", "file_count"],
      "properties": {
        "path": { "type": "string" },
        "file_count": { "type": "integer", "minimum": 0 }
      }
    },
    "Frontmatter": {
      "type": "object",
      "additionalProperties": false,
      "required": ["raw", "parse_error"],
      "properties": {
        "raw": {
          "description": "Parsed YAML frontmatter; user-controlled, so shape is unconstrained.",
          "anyOf": [
            { "type": "object", "additionalProperties": true },
            { "type": "null" }
          ]
        },
        "parse_error": { "type": ["string", "null"] }
      }
    },
    "SkillContent": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "line_count", "word_count", "body_preview",
        "has_references_dir", "has_scripts_dir"
      ],
      "properties": {
        "line_count": { "type": "integer", "minimum": 0 },
        "word_count": { "type": "integer", "minimum": 0 },
        "body_preview": { "type": "string" },
        "has_references_dir": { "type": "boolean" },
        "has_scripts_dir": { "type": "boolean" }
      }
    },
    "Stats": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "total_skills", "total_skill_files", "total_repos", "total_tiles",
        "by_source_type", "by_repo", "by_tier", "by_tile_tier",
        "tiles_by_source",
        "tiles_published_to_registry", "tiles_authored_only",
        "tiles_with_security_concern", "tiles_with_update_available",
        "skills_with_supporting_files", "total_supporting_files"
      ],
      "properties": {
        "total_skills": { "type": "integer", "minimum": 0 },
        "total_skill_files": { "type": "integer", "minimum": 0 },
        "total_repos": { "type": "integer", "minimum": 0 },
        "total_tiles": { "type": "integer", "minimum": 0 },
        "by_source_type": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "claude_skill", "cursor_skill", "agents_skill",
            "tessl_tile_skill", "standalone", "claude_plugin_skill"
          ],
          "properties": {
            "claude_skill": { "type": "integer", "minimum": 0 },
            "cursor_skill": { "type": "integer", "minimum": 0 },
            "agents_skill": { "type": "integer", "minimum": 0 },
            "tessl_tile_skill": { "type": "integer", "minimum": 0 },
            "standalone": { "type": "integer", "minimum": 0 },
            "claude_plugin_skill": { "type": "integer", "minimum": 0 }
          }
        },
        "by_repo": {
          "type": "object",
          "additionalProperties": { "type": "integer", "minimum": 0 }
        },
        "by_tier": {
          "type": "object",
          "additionalProperties": { "type": "integer", "minimum": 0 }
        },
        "by_tile_tier": {
          "type": "object",
          "additionalProperties": { "type": "integer", "minimum": 0 }
        },
        "tiles_by_source": {
          "type": "object",
          "additionalProperties": false,
          "required": ["tessl_json", "filesystem"],
          "properties": {
            "tessl_json": { "type": "integer", "minimum": 0 },
            "filesystem": { "type": "integer", "minimum": 0 }
          }
        },
        "tiles_published_to_registry": { "type": "integer", "minimum": 0 },
        "tiles_authored_only": { "type": "integer", "minimum": 0 },
        "tiles_with_security_concern": { "type": "integer", "minimum": 0 },
        "tiles_with_update_available": { "type": "integer", "minimum": 0 },
        "skills_with_supporting_files": { "type": "integer", "minimum": 0 },
        "total_supporting_files": { "type": "integer", "minimum": 0 }
      }
    }
  }
}

README.md

tile.json