{"adoption": {"forks": 3399, "observed_at": "2026-08-28T04:12:11.198806+00:00", "stars": 47339}, "canonical_url": "https://ross.abutalabs.com/products/obsidian-skills", "card": {"archived": false, "artifact_type": "plugin", "description": "Agent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.", "domain": ["developer-tools", "artificial-intelligence", "text-editors"], "enriched": true, "function": ["agent-framework", "markdown", "cli", "developer-tools", "documentation"], "health_score": 72, "homepage": null, "language": null, "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["kepano/obsidian-skills"], "name": "kepano/obsidian-skills", "platform": ["cross-platform", "cli"], "pushed_at": "2026-06-08T16:12:01+00:00", "repo": "kepano/obsidian-skills", "stars": 47339, "tags": ["obsidian", "agent-skills", "claude-code", "codex", "opencode", "-canvas", "bases", "wikilinks", "vault-automation", "ai-agents"], "topics": ["claude", "codex", "obsidian", "skills", "clawdbot", "cli", "defuddle", "opencode", "openclaw", "bases", "jsoncanvas", "markdown", "md", "agents", "agentskills", "hermes"], "urls": [], "use_cases": ["teach my AI agent to edit Obsidian markdown with wikilinks and callouts", "create and edit .base files with views and filters via an agent", "generate JSON Canvas files programmatically with an LLM", "let Claude Code interact with my Obsidian vault through the CLI", "extract clean markdown from web pages to save into my vault", "set up agent skills for Obsidian plugin and theme development"], "what_it_is": "A collection of Agent Skills for Obsidian that teach AI coding agents (Claude Code, Codex, OpenCode) how to work with Obsidian vaults, the Obsidian CLI, and open formats like Obsidian Flavored Markdown, Bases, and JSON Canvas. Skills follow the agentskills.io specification and can be installed via marketplace, npx, or manual copy.", "when_to_avoid": ["you don't use Obsidian or its file formats", "you need a general-purpose agent framework rather than Obsidian-specific skills", "your agent doesn't support the Agent Skills specification"], "when_to_choose": ["you use Obsidian and want AI agents to read or edit your vault correctly", "you need agents to understand Obsidian-specific syntax like wikilinks, callouts, and embeds", "you want standards-compliant skills usable across Claude Code, Codex, and OpenCode"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/obsidian-skills", "repo": "kepano/obsidian-skills", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "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:12:11.198806+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:11.198806+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:21:09.920446+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "916f32671a4f0c8fdec84f8aa2ac1427d45aaa198edf41b7055e0da88ef251e1", "fetched_at": "2026-08-28T04:12:11.198806+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kepano/obsidian-skills"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 86, "longevity": 17, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 243, "days_push": 86, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}