Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "obsidian-skills",
"interface": {
"displayName": "Obsidian Skills"
},
"plugins": [
{
"name": "obsidian",
"source": {
"source": "local",
"path": "./plugins/obsidian"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
"plugins": [
{
"name": "obsidian",
"source": "./",
"source": "./plugins/obsidian",
"description": "Claude Skills for Obsidian",
"version": "1.0.1"
"version": "1.0.2"
}
]
}
48 changes: 37 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,38 @@ These skills follow the [Agent Skills specification](https://agentskills.io/spec

## Installation

### Marketplace
### Claude Code marketplace

From terminal:

```sh
claude plugin marketplace add kepano/obsidian-skills
claude plugin install obsidian@obsidian-skills
```

From within a Claude Code session:

```sh
/plugin marketplace add kepano/obsidian-skills
/plugin install obsidian@obsidian-skills
```

### npx skills
### Codex marketplace

```sh
codex plugin marketplace add kepano/obsidian-skills
codex plugin add obsidian@obsidian-skills
```

### npx skills

```sh
npx skills add git@github.com:kepano/obsidian-skills.git
```

Instead of ssh, if you prefer to use https:

```
```sh
npx skills add https://github.com/kepano/obsidian-skills
```

Expand All @@ -31,7 +47,7 @@ Add the contents of this repo to a `/.claude` folder in the root of your Obsidia

#### Codex

Copy the `skills/` directory into your Codex skills path (typically `~/.codex/skills`). See the [Agent Skills specification](https://agentskills.io/specification) for the standard skill format.
Copy the `plugins/obsidian/skills/` directory into your Codex skills path (typically `~/.agents/skills`). See the [Agent Skills specification](https://agentskills.io/specification) for the standard skill format.

#### OpenCode

Expand All @@ -45,12 +61,22 @@ Do not copy only the inner `skills/` folder — clone the full repo so the direc

OpenCode auto-discovers all `SKILL.md` files under `~/.opencode/skills/`. No changes to `opencode.json` or any config file are needed. Skills become available after restarting OpenCode.

## Release maintenance

Update the plugin version across Claude and Codex metadata with:

```sh
./scripts/bump-version.sh patch
```

The script also accepts `major`, `minor`, or an explicit version like `1.1.0`.

## Skills

| Skill | Description |
|-------|-------------|
| [obsidian-markdown](skills/obsidian-markdown) | Create and edit [Obsidian Flavored Markdown](https://help.obsidian.md/obsidian-flavored-markdown) (`.md`) with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax |
| [obsidian-bases](skills/obsidian-bases) | Create and edit [Obsidian Bases](https://help.obsidian.md/bases/syntax) (`.base`) with views, filters, formulas, and summaries |
| [json-canvas](skills/json-canvas) | Create and edit [JSON Canvas](https://jsoncanvas.org/) files (`.canvas`) with nodes, edges, groups, and connections |
| [obsidian-cli](skills/obsidian-cli) | Interact with Obsidian vaults via the [Obsidian CLI](https://help.obsidian.md/cli) including plugin and theme development |
| [defuddle](skills/defuddle) | Extract clean markdown from web pages using [Defuddle](https://github.com/kepano/defuddle), removing clutter to save tokens |
| Skill | Description |
| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [obsidian-markdown](plugins/obsidian/skills/obsidian-markdown) | Create and edit [Obsidian Flavored Markdown](https://help.obsidian.md/obsidian-flavored-markdown) (`.md`) with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax |
| [obsidian-bases](plugins/obsidian/skills/obsidian-bases) | Create and edit [Obsidian Bases](https://help.obsidian.md/bases/syntax) (`.base`) with views, filters, formulas, and summaries |
| [json-canvas](plugins/obsidian/skills/json-canvas) | Create and edit [JSON Canvas](https://jsoncanvas.org/) files (`.canvas`) with nodes, edges, groups, and connections |
| [obsidian-cli](plugins/obsidian/skills/obsidian-cli) | Interact with Obsidian vaults via the [Obsidian CLI](https://help.obsidian.md/cli) including plugin and theme development |
| [defuddle](plugins/obsidian/skills/defuddle) | Extract clean markdown from web pages using [Defuddle](https://github.com/kepano/defuddle), removing clutter to save tokens |
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "obsidian",
"version": "1.0.1",
"version": "1.0.2",
"description": "Create and edit Obsidian vault files including Markdown, Bases, and Canvas. Use when working with .md, .base, or .canvas files in an Obsidian vault.",
"author": {
"name": "Steph Ango",
Expand Down
30 changes: 30 additions & 0 deletions plugins/obsidian/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "obsidian",
"version": "1.0.2",
"description": "Create and edit Obsidian vault files including Markdown, Bases, and Canvas.",
"author": {
"name": "Steph Ango",
"url": "https://stephango.com/"
},
"homepage": "https://github.com/kepano/obsidian-skills",
"repository": "https://github.com/kepano/obsidian-skills",
"license": "MIT",
"keywords": ["obsidian", "markdown", "bases", "canvas", "pkm", "notes"],
"skills": "./skills/",
"interface": {
"displayName": "Obsidian",
"shortDescription": "Skills for working with Obsidian vaults",
"longDescription": "Create and edit Obsidian Markdown, Bases, and Canvas files, interact with vaults through the Obsidian CLI, and extract clean Markdown from web pages.",
"developerName": "kepano",
"category": "Productivity",
"capabilities": ["Write", "Review", "Automation"],
"defaultPrompt": [
"Create an Obsidian note with valid properties and wikilinks.",
"Build an Obsidian Base for these notes.",
"Inspect and update this Obsidian vault."
],
"brandColor": "#7852EE",
"composerIcon": "./assets/obsidian-logo-gradient.svg",
"logo": "./assets/obsidian-logo-gradient.svg"
}
}
51 changes: 51 additions & 0 deletions plugins/obsidian/assets/obsidian-logo-gradient.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
33 changes: 33 additions & 0 deletions scripts/bump.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -euo pipefail

if [[ $# -ne 1 ]]; then
echo "Usage: $0 <major|minor|patch|x.y.z>" >&2
exit 1
fi

files=(
"plugins/obsidian/.claude-plugin/plugin.json"
"plugins/obsidian/.codex-plugin/plugin.json"
".claude-plugin/marketplace.json"
)

current_version="$(sed -nE 's/^[[:space:]]*"version": "([0-9]+\.[0-9]+\.[0-9]+)".*/\1/p' "${files[0]}" | head -n 1)"
IFS=. read -r major minor patch <<< "$current_version"

case "$1" in
major) new_version="$((major + 1)).0.0" ;;
minor) new_version="$major.$((minor + 1)).0" ;;
patch) new_version="$major.$minor.$((patch + 1))" ;;
[0-9]*.[0-9]*.[0-9]*) new_version="$1" ;;
*)
echo "Usage: $0 <major|minor|patch|x.y.z>" >&2
exit 1
;;
esac

for file in "${files[@]}"; do
perl -0pi -e "s/\"version\": \"[0-9]+\\.[0-9]+\\.[0-9]+\"/\"version\": \"$new_version\"/" "$file"
done

echo "Updated version: $current_version -> $new_version"