{"adoption": {"forks": 324, "observed_at": "2026-08-28T04:07:53.861874+00:00", "stars": 3289}, "canonical_url": "https://ross.abutalabs.com/products/obsidian-wiki", "card": {"archived": false, "artifact_type": "framework", "description": "Framework for AI agents to build and maintain a digital brain through Obsidian wiki", "domain": ["artificial-intelligence", "developer-tools"], "enriched": true, "function": ["agent-framework", "rag", "documentation", "markdown", "llm-inference", "developer-tools"], "health_score": 100, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Ar9av/obsidian-wiki"], "name": "Ar9av/obsidian-wiki", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-26T20:08:36+00:00", "repo": "Ar9av/obsidian-wiki", "stars": 3289, "tags": ["obsidian", "second-brain", "knowledge-graph", "agent-skills", "llm-tools", "digital-brain", "wikilinks", "memory", "ai-agents", "retrieval-augmented-generation", "knowledge-base"], "topics": ["agent-skills", "knowledge-base", "llm-tools", "obsidian", "wiki", "brain", "obsidian-brain", "knowledge-graph", "memory"], "urls": [], "use_cases": ["build a second brain with my AI agent", "stop re-asking the LLM the same questions", "ingest PDFs and chat logs into an Obsidian vault", "give my coding agent persistent memory across projects", "query my knowledge base with citations", "distill what I learn in a repo into markdown notes", "mine my Claude chat history into a wiki"], "what_it_is": "A skill-based Python framework that lets AI coding agents (Claude Code, Cursor, Codex, etc.) build and maintain an Obsidian markdown knowledge base following Karpathy's LLM Wiki pattern. It ingests documents, chat history, and codebases into interconnected wiki pages with wikilink citations, giving agents persistent, queryable memory.", "when_to_avoid": ["you need a hosted knowledge base with a web UI or database backend", "you don't use Obsidian or any AI coding agent", "you need real-time collaborative editing rather than agent-maintained markdown"], "when_to_choose": ["you use Obsidian and an AI coding agent and want a durable, self-owned knowledge base", "you want markdown files with wikilink citations instead of re-running RAG or chat logs", "you want vendor-neutral skills that work across many agents with no runtime or API keys"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/obsidian-wiki", "repo": "Ar9av/obsidian-wiki", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "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:07:53.861874+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:53.861874+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:22:50.145400+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46664d18438e8cf2f888bf39ff8c8e8545b63218c8f4ffcd590049268351e53c", "fetched_at": "2026-08-28T04:07:53.861874+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Ar9av/obsidian-wiki"}, {"content_hash": "b455c8d742cd78590c144f8fd90edf066a6d78cc278fb978078a42e94aaa3c4f", "fetched_at": "2026-08-29T09:35:51.669879+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/obsidian-wiki/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 10, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 149, "days_push": 7, "days_rel": 8, "gap_med": 1, "n_releases_24m": 34}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}