{"adoption": {"forks": 507, "observed_at": "2026-08-28T04:09:04.647012+00:00", "stars": 5016}, "canonical_url": "https://ross.abutalabs.com/products/gh-aw", "card": {"archived": false, "artifact_type": "cli-tool", "description": "GitHub Agentic Workflows", "domain": ["developer-tools", "large-language-models"], "enriched": true, "function": ["ci-cd", "workflow-automation", "agent-framework", "developer-tools", "cli"], "health_score": 100, "homepage": "https://gh.io/gh-aw", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["github/gh-aw"], "name": "github/gh-aw", "platform": ["cli", "go", "cloud"], "pushed_at": "2026-08-26T23:24:17+00:00", "repo": "github/gh-aw", "stars": 5016, "tags": ["github-actions", "gh-extension", "agentic-workflows", "claude-code", "copilot", "codex", "issue-triage", "pr-review", "markdown-workflows", "sandboxed-agents", "automation", "devops", "ai-agents", "docker"], "topics": ["gh-extension", "actions", "cai", "ci", "claude-code", "codex", "copilot", "github-actions"], "urls": [], "use_cases": ["automate issue triage with an AI agent in GitHub Actions", "run AI-powered pull request review on every PR", "investigate CI failures automatically with an agent", "keep documentation up to date using AI workflows", "define AI repository automation as Markdown files", "analyze dependencies and generate repository reports with agents"], "what_it_is": "GitHub Agentic Workflows (gh-aw) is a GitHub CLI extension that lets developers define AI-powered repository automation in Markdown with YAML frontmatter, compiling it into standard GitHub Actions workflows. It runs AI agents like Copilot, Claude Code, Codex, and Gemini securely in CI, with read-only sandboxed defaults and validated safe-outputs for writes.", "when_to_avoid": ["you only need deterministic builds, tests, linting, or deployments - plain GitHub Actions suffices", "you need fully deterministic, reproducible automation with no AI variability", "you don't use GitHub Actions or the GitHub ecosystem", "you can't accept the cost or billing implications of running LLM agents in CI"], "when_to_choose": ["you want AI agents to handle tasks needing reasoning like triage, review, or CI investigation", "you want agentic automation with strong security defaults: sandboxing, read-only agents, scoped safe outputs", "you already use GitHub Actions and want to complement CI with AI workflows", "you want to choose among Copilot, Claude Code, Codex, Gemini, or Pi as the agent engine"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gh-aw", "repo": "github/gh-aw", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "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:09:04.647012+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:04.647012+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:17:31.650574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d5043a8e71d8416fd39b8edd9d17af3440e2e156d38a00de27f1278578a01d31", "fetched_at": "2026-08-28T04:09:04.647012+00:00", "kind": "readme", "missing": false, "url": "https://github.com/github/gh-aw"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 27, "rhythm": 85}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 386, "days_push": 7, "days_rel": 22, "gap_med": 0.0, "n_releases_24m": 349}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}