# kepano/obsidian-skills architecture

> Architecture diagram of the GitHub repository kepano/obsidian-skills, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-20). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kepano/obsidian-skills
- Repository: https://github.com/kepano/obsidian-skills

## Overview

This repository packages Obsidian-focused Agent Skills for compatible coding agents. The principal workflow is: a user gives an agent a vault or content task, the agent loads the relevant skill instructions, and the skill produces or modifies an Obsidian artifact. The documented branches cover Markdown, Bases, Canvas, CLI-based vault work, web-to-Markdown extraction, and data-driven Markdown rendering. No implementation excerpts were provided, so relationships are limited to README-documented capabilities.

Main entry points: [`skills/obsidian-cli/SKILL.md`](https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-cli/SKILL.md) (Obsidian CLI Skill), [`skills/defuddle/SKILL.md`](https://github.com/kepano/obsidian-skills/blob/main/skills/defuddle/SKILL.md) (Defuddle Skill), [`skills/knap/SKILL.md`](https://github.com/kepano/obsidian-skills/blob/main/skills/knap/SKILL.md) (Knap Skill), [`skills/obsidian-markdown/SKILL.md`](https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-markdown/SKILL.md) (Markdown Skill)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_g_authoring["Knowledge Authoring"]
  node_markdown_skill["Markdown Skill<br/>[SKILL.md]"]
  node_markdown_files["Markdown Files"]
end

subgraph group_g_structured["Structured Documents"]
  node_bases_skill["Bases Skill<br/>[SKILL.md]"]
  node_base_files["Base Files"]
  node_canvas_skill["Canvas Skill<br/>[SKILL.md]"]
  node_canvas_files["Canvas Files"]
end

subgraph group_g_automation["Content Automation"]
  node_defuddle_skill["Defuddle Skill<br/>[SKILL.md]"]
  node_knap_skill["Knap Skill<br/>[SKILL.md]"]
end

subgraph group_g_vault["Vault Operations"]
  node_cli_skill["Obsidian CLI Skill<br/>[SKILL.md]"]
  node_extensions["Plugins and Themes"]
end

node_user(("User"))
node_agent(("Compatible Agent"))
node_web_page["Web Page"]
node_json_csv["JSON or CSV"]
node_vault[("Obsidian Vault")]

node_user -->|"submits task"| node_agent
node_agent -->|"loads skill"| node_markdown_skill
node_agent -->|"loads skill"| node_bases_skill
node_agent -->|"loads skill"| node_canvas_skill
node_agent -->|"loads skill"| node_defuddle_skill
node_agent -->|"loads skill"| node_knap_skill
node_agent -->|"loads skill"| node_cli_skill
node_markdown_skill -->|"creates or edits"| node_markdown_files
node_bases_skill -->|"creates or edits"| node_base_files
node_canvas_skill -->|"creates or edits"| node_canvas_files
node_web_page -->|"provides page"| node_defuddle_skill
node_defuddle_skill -->|"extracts Markdown"| node_markdown_files
node_json_csv -->|"provides data"| node_knap_skill
node_knap_skill -->|"renders Markdown"| node_markdown_files
node_cli_skill -->|"reads or writes"| node_vault
node_cli_skill -->|"supports development"| node_extensions

click node_markdown_skill "https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-markdown/SKILL.md"
click node_bases_skill "https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-bases/SKILL.md"
click node_canvas_skill "https://github.com/kepano/obsidian-skills/blob/main/skills/json-canvas/SKILL.md"
click node_defuddle_skill "https://github.com/kepano/obsidian-skills/blob/main/skills/defuddle/SKILL.md"
click node_knap_skill "https://github.com/kepano/obsidian-skills/blob/main/skills/knap/SKILL.md"
click node_cli_skill "https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-cli/SKILL.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_markdown_skill,node_markdown_files,node_user toneBlue
class node_bases_skill,node_base_files,node_canvas_skill,node_canvas_files,node_vault toneAmber
class node_defuddle_skill,node_knap_skill toneMint
class node_cli_skill,node_extensions toneRose
class node_agent,node_web_page,node_json_csv toneIndigo
```

## Components

### Knowledge Authoring

- [Markdown Skill](https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-markdown/SKILL.md): `skills/obsidian-markdown/SKILL.md`
- **Markdown Files**

### Structured Documents

- [Bases Skill](https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-bases/SKILL.md): `skills/obsidian-bases/SKILL.md`
- **Base Files**
- [Canvas Skill](https://github.com/kepano/obsidian-skills/blob/main/skills/json-canvas/SKILL.md): `skills/json-canvas/SKILL.md`
- **Canvas Files**

### Content Automation

- [Defuddle Skill](https://github.com/kepano/obsidian-skills/blob/main/skills/defuddle/SKILL.md): `skills/defuddle/SKILL.md`
- [Knap Skill](https://github.com/kepano/obsidian-skills/blob/main/skills/knap/SKILL.md): `skills/knap/SKILL.md`

### Vault Operations

- [Obsidian CLI Skill](https://github.com/kepano/obsidian-skills/blob/main/skills/obsidian-cli/SKILL.md): `skills/obsidian-cli/SKILL.md`
- **Plugins and Themes**

### Other components

- **User**
- **Compatible Agent**
- **Web Page**
- **JSON or CSV**
- **Obsidian Vault**

## Connections

- User → Compatible Agent: submits task
- Compatible Agent → Markdown Skill: loads skill
- Compatible Agent → Bases Skill: loads skill
- Compatible Agent → Canvas Skill: loads skill
- Compatible Agent → Defuddle Skill: loads skill
- Compatible Agent → Knap Skill: loads skill
- Compatible Agent → Obsidian CLI Skill: loads skill
- Markdown Skill → Markdown Files: creates or edits
- Bases Skill → Base Files: creates or edits
- Canvas Skill → Canvas Files: creates or edits
- Web Page → Defuddle Skill: provides page
- Defuddle Skill → Markdown Files: extracts Markdown
- JSON or CSV → Knap Skill: provides data
- Knap Skill → Markdown Files: renders Markdown
- Obsidian CLI Skill → Obsidian Vault: reads or writes
- Obsidian CLI Skill → Plugins and Themes: supports development
