{"adoption": {"forks": 105, "observed_at": "2026-08-28T04:05:41.151173+00:00", "stars": 1824}, "canonical_url": "https://ross.abutalabs.com/products/pg-aiguide", "card": {"archived": false, "artifact_type": "service", "description": "MCP server and Claude plugin for Postgres skills and documentation. Helps AI coding tools generate better PostgreSQL code.", "domain": ["databases", "developer-tools", "artificial-intelligence", "documentation"], "enriched": true, "function": ["mcp", "documentation", "search-engine", "sdk"], "health_score": 92, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["timescale/pg-aiguide"], "name": "timescale/pg-aiguide", "platform": ["self-hosted", "cli"], "pushed_at": "2026-06-26T19:47:09+00:00", "repo": "timescale/pg-aiguide", "stars": 1824, "tags": ["postgresql", "mcp-server", "claude-plugin", "agent-skills", "timescaledb", "ai-coding", "semantic-search", "ai-agents", "web-server"], "topics": ["ai", "ai-agents", "ai-coding", "claude-marketplace", "claude-plugin", "claude-skills", "docs", "documentation", "mcp", "mcp-server", "postgres", "postgresql", "skills", "claude-code-plugin", "claude-code-plugins", "claude-code-plugins-marketplace"], "urls": [], "use_cases": ["help claude code write better postgres schemas", "add postgres best-practice skills to cursor or codex", "semantic search over postgresql documentation from an ai agent", "stop ai tools generating outdated postgres code", "get timescaledb and postgis docs inside ai coding assistants", "install postgres skills via npx skills for 40+ agents"], "what_it_is": "pg-aiguide is an MCP server and Claude plugin that gives AI coding tools versioned PostgreSQL expertise, including semantic search over the official PostgreSQL, TimescaleDB, and PostGIS manuals and curated best-practice skills. It helps AI agents generate more robust, modern PostgreSQL code with proper constraints, indexes, and current features.", "when_to_avoid": ["you need a general-purpose Postgres client or admin tool rather than AI guidance", "your project does not involve PostgreSQL or its extensions", "you need offline-only documentation without an MCP-capable agent"], "when_to_choose": ["you use AI coding agents and want them to follow modern PostgreSQL best practices", "you need version-aware semantic search over Postgres, TimescaleDB, or PostGIS manuals", "you use Claude Code and want a native plugin with curated skills"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pg-aiguide", "repo": "timescale/pg-aiguide", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "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:05:41.151173+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.151173+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:19:44.399889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "52bc623c289746c21721aed7ae7d05579260881f28bb8f7b2182a28dec1f8cda", "fetched_at": "2026-08-28T04:05:41.151173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/timescale/pg-aiguide"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 89, "longevity": 29, "rhythm": 81}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 406, "days_push": 68, "days_rel": 127, "gap_med": 22, "n_releases_24m": 10}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}