{"adoption": {"forks": 97, "observed_at": "2026-08-28T04:04:19.990627+00:00", "stars": 1313}, "canonical_url": "https://ross.abutalabs.com/products/takt", "card": {"archived": false, "artifact_type": "cli-tool", "description": "TAKT Agent Koordination Topology - Define how AI agents coordinate, where humans intervene, and what gets recorded — in YAML", "domain": ["developer-tools"], "enriched": true, "function": ["agent-framework", "workflow-automation", "cli", "developer-tools"], "health_score": 80, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nrslib/takt"], "name": "nrslib/takt", "platform": ["cli", "cross-platform"], "pushed_at": "2026-08-26T15:57:48+00:00", "repo": "nrslib/takt", "stars": 1313, "tags": ["multi-agent-orchestration", "claude-code", "codex", "yaml-workflows", "ai-coding-agents", "review-loops", "human-in-the-loop", "ai-agents", "automation", "command-line", "nodejs"], "topics": ["agent-orchestration", "ai-agents", "claude-code", "multi-agent", "agent-team", "codex", "opencode"], "urls": [], "use_cases": ["orchestrate multiple ai coding agents in a defined workflow", "run plan implement review fix loops with ai agents", "add human checkpoints to ai agent workflows", "queue coding tasks for ai agents to execute in isolated worktrees", "define agent permissions and output contracts in yaml", "coordinate claude code and codex in one pipeline"], "what_it_is": "TAKT is an open-source CLI that orchestrates AI coding agents into repeatable development workflows defined in YAML. It coordinates providers like Claude Code, Codex, OpenCode, Cursor, and Copilot CLI with plan-implement-review-fix loops, human checkpoints, isolated worktrees, and traceable logs.", "when_to_avoid": ["you need a general-purpose agent framework for non-coding tasks", "you prefer fully autonomous agents without human checkpoints or YAML-defined structure", "you don't use AI coding agents at all"], "when_to_choose": ["you want repeatable, explicit AI agent workflows instead of ad-hoc prompting", "you need multi-agent pipelines with review loops and human intervention points", "you use multiple agent providers (Claude Code, Codex, OpenCode, Cursor) and want one orchestration layer"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/takt", "repo": "nrslib/takt", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "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:19.990627+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:19.990627+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:48:52.850947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306f049d3b6ff9b2dba2e8dc0477e1503fd28b85bce5ee32ee2e62fbe5832bdc", "fetched_at": "2026-08-28T04:04:19.990627+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nrslib/takt"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 15, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 220, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}