{
  "dataset": "The State of Agent Tooling — structural census of the Claude Code artefact ecosystem",
  "publisher": "Kynth Studios",
  "measured_at": "2026-08-14T07:20:26.064+00:00",
  "generated_at": "2026-08-14T15:23:01.281Z",
  "source": "SkillWorks (skillworks.kynth.studio) — sw_listings, rebuilt nightly from GitHub and skills.sh",
  "method": "static structural checks — no execution, no model judging, no hand curation",
  "license": "CC-BY-4.0",
  "headline": {
    "total_listings": 445348,
    "fails_structural": 43199,
    "fail_rate": 0.097001,
    "fail_rate_pct": 9.7
  },
  "by_kind": {
    "marketplace": 6324,
    "plugin": 20212,
    "skill": 347382,
    "subagent": 71430
  },
  "fails_by_kind": {
    "marketplace": 99,
    "plugin": 33,
    "skill": 27398,
    "subagent": 15669
  },
  "fails_by_cause": {
    "broken-manifest": 128,
    "empty-marketplace": 99,
    "broken-frontmatter": 38183,
    "no-name": 4119,
    "no-description": 1799
  },
  "flag_prevalence": {
    "no-license": 205877,
    "broken-manifest": 128,
    "empty-marketplace": 99,
    "archived": 710,
    "official": 870,
    "no-version": 1237,
    "fork": 76,
    "broken-frontmatter": 38183,
    "missing-references": 139623,
    "name-mismatch": 28349,
    "stub": 12330,
    "no-name": 8959,
    "unknown-tools": 16192,
    "nonstandard-name": 18876,
    "no-description": 2784,
    "thin-description": 1718,
    "long-description": 1864,
    "unmaintained": 82
  },
  "concentration": {
    "distinct_repositories": 14233,
    "repositories_with_a_failure": 3168,
    "listings_per_repository": 31.3,
    "note": "A listing is one artefact in one repository. The ecosystem is heavily forked and vendored, so the same file is counted once per repository carrying it. The failure RATE is the citable figure; the population count is not a claim about how many distinct artefacts exist."
  },
  "population": {
    "archived": 710,
    "no_license": 178930,
    "with_recorded_installs": 5821,
    "with_stars": 283505,
    "no_push_90d": 108266,
    "no_push_180d": 16282,
    "mean_score": 66.09
  },
  "grade_distribution": {
    "B": 158264,
    "C+": 118565,
    "C": 41985,
    "B+": 92641,
    "F": 4923,
    "D": 15264,
    "A": 12846,
    "A+": 860
  },
  "category_distribution": {
    "ai-agents": 166835,
    "research": 20113,
    "writing-docs": 36803,
    "devops": 19808,
    "security": 17158,
    "frontend": 21224,
    "productivity": 11172,
    "languages": 8874,
    "data": 9575,
    "code-review": 27783,
    "mobile": 6076,
    "testing-qa": 24946,
    "backend": 14076,
    "finance-legal": 5737,
    "media": 6764,
    "git": 7888,
    "debugging": 5068,
    "office-files": 2697,
    "general": 32751
  },
  "fatal_rule": {
    "always": [
      "broken-frontmatter",
      "broken-manifest",
      "empty-marketplace"
    ],
    "subagent_only": [
      "no-name",
      "no-description"
    ],
    "note": "works=false is exactly these flags and nothing else. Every other flag is a score deduction, not a load verdict. name and description are Required: Yes for a subagent and Required: No / Recommended for a skill, per code.claude.com/docs/en."
  }
}