{
 "tool": "skill:contract-testing",
 "name": "contract-testing",
 "kind": "Skill",
 "source": "Favz census",
 "built": "2026-09-30",
 "html": "https://favz.co/tools/skill-contract-testing.html",
 "markdown": "https://favz.co/tools/skill-contract-testing.md",
 "repos_now": 22,
 "repos_ever": 24,
 "still_have_it": 0.917,
 "share_of_census_repos_with_any_tool": 0.00062,
 "repos_by_month": [
  {
   "month": "2025-10",
   "repos_at_month_end": 1
  },
  {
   "month": "2025-12",
   "repos_at_month_end": 1
  },
  {
   "month": "2026-03",
   "repos_at_month_end": 3
  },
  {
   "month": "2026-04",
   "repos_at_month_end": 3
  },
  {
   "month": "2026-05",
   "repos_at_month_end": 4
  },
  {
   "month": "2026-06",
   "repos_at_month_end": 22
  },
  {
   "month": "2026-07",
   "repos_at_month_end": 21
  },
  {
   "month": "2026-09",
   "repos_at_month_end": 22
  }
 ],
 "note_on_last_days": "The last few days always look low, because repos found later fill them in.",
 "goes_with": [
  {
   "tool": "skill:hunt",
   "name": "hunt",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 1168.26,
   "json": "https://favz.co/tools/skill-hunt.json"
  },
  {
   "tool": "skill:ui-ux",
   "name": "ui-ux",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 1070.91,
   "json": "https://favz.co/tools/skill-ui-ux.json"
  },
  {
   "tool": "skill:clean-architecture",
   "name": "clean-architecture",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 856.73,
   "json": "https://favz.co/tools/skill-clean-architecture.json"
  },
  {
   "tool": "skill:council",
   "name": "council",
   "kind": "Skill",
   "repos_with_both": 17,
   "lift": 606.85,
   "json": "https://favz.co/tools/skill-council.json"
  },
  {
   "tool": "skill:error-handling",
   "name": "error-handling",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 475.96,
   "json": "https://favz.co/tools/skill-error-handling.json"
  },
  {
   "tool": "mcp:npm:@notionhq/notion-mcp-server",
   "name": "@notionhq/notion-mcp-server",
   "kind": "MCP server (npm package)",
   "repos_with_both": 16,
   "lift": 329.51,
   "json": "https://favz.co/tools/mcp-npm-notionhq-notion-mcp-server.json"
  },
  {
   "tool": "skill:verification-loop",
   "name": "verification-loop",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 325.34,
   "json": "https://favz.co/tools/skill-verification-loop.json"
  },
  {
   "tool": "skill:check",
   "name": "check",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 317.31,
   "json": "https://favz.co/tools/skill-check.json"
  },
  {
   "tool": "skill:accessibility",
   "name": "accessibility",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 305.97,
   "json": "https://favz.co/tools/skill-accessibility.json"
  },
  {
   "tool": "skill:spec",
   "name": "spec",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 257.02,
   "json": "https://favz.co/tools/skill-spec.json"
  },
  {
   "tool": "skill:api-design",
   "name": "api-design",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 221.57,
   "json": "https://favz.co/tools/skill-api-design.json"
  },
  {
   "tool": "skill:plan",
   "name": "plan",
   "kind": "Skill",
   "repos_with_both": 16,
   "lift": 163.71,
   "json": "https://favz.co/tools/skill-plan.json"
  }
 ],
 "min_shared_repos_for_a_pair": 5,
 "same_pack": []
}
