{"adoption": {"forks": 80, "observed_at": "2026-08-28T04:04:10.261444+00:00", "stars": 1263}, "canonical_url": "https://ross.abutalabs.com/products/autoharness", "card": {"archived": false, "artifact_type": "plugin", "description": "Autoharness — a self-learning skill layer for Claude Code — distills skills from your real sessions, updates them as you work, and prunes the ones that stop getting used. No daemon, no benchmark.", "domain": ["developer-tools", "large-language-models"], "enriched": true, "function": ["agent-framework", "prompt-engineering", "developer-tools", "workflow-automation"], "health_score": 77, "homepage": "https://github.com/tigerless-labs/autoharness", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tigerless-labs/autoharness"], "name": "tigerless-labs/autoharness", "platform": ["python", "cli"], "pushed_at": "2026-07-28T21:33:18+00:00", "repo": "tigerless-labs/autoharness", "stars": 1263, "tags": ["claude-code", "claude-code-plugin", "agent-skills", "self-learning", "skill-management", "llm-agents", "mcp", "ai-agents", "automation", "linux", "macos"], "topics": ["agent-skills", "claude-code", "claude-code-plugin", "llm-agents", "python"], "urls": [], "use_cases": ["automatically learn skills from my Claude Code sessions", "keep my agent skill library clean without manual curation", "distill repeated workflows into reusable Claude Code skills", "merge duplicate agent skills automatically", "prune agent skills that stop being used", "improve coding agent performance with a self-maintaining harness", "capture session learnings into .claude/skills"], "what_it_is": "Autoharness is a self-learning skill layer for Claude Code that distills reusable skills from your real coding sessions, merges near-duplicates, updates skills in use, and prunes unused ones. It runs entirely as a zero-dependency Python plugin with hooks and an MCP server, touching only the skills it generated itself.", "when_to_avoid": ["you don't use Claude Code or a compatible agent harness", "you need skills that work across multiple different AI coding tools", "you prefer fully hand-written, manually curated skill files", "you're on Windows, which isn't listed as a supported platform"], "when_to_choose": ["you use Claude Code regularly and want skills to accumulate and maintain themselves from real work", "you want skill consolidation and pruning without running a separate daemon or eval benchmark", "you want a zero-dependency Python plugin that only manages skills it created itself"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/autoharness", "repo": "tigerless-labs/autoharness", "role": "main", "score": 56}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:10.261444+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:04:11.782545+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "817b88156cf545d8a8b235cbed0061cf009d328b67d2f44f33a1713bdd447507", "fetched_at": "2026-08-28T04:04:10.261444+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}, {"content_hash": "50ee9a2478d0e6190c2ba89f9a00bed445cb716babca76e0407cb05e6e6a79f8", "fetched_at": "2026-08-29T12:16:38.997728+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/tigerless-labs/autoharness"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 6, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 85, "days_push": 36, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}