CtrlK
BlogDocsLog inGet started
Tessl Logo

obsidian

Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.

77

2.12x
Quality

68%

Does it follow best practices?

Impact

100%

2.12x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./openclaw/skills/obsidian/SKILL.md

The canonical home for this skill is obsidian in Hung-Reo/hungreo-openclaw

SKILL.md
Quality
Evals
Security

Quality

Content

87%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an excellent, terse reference: concrete CLI commands for every common operation, the authoritative vault-discovery path, and practical gotchas (URI handler requirement, dot-folder creation) with zero padding. Its only real weakness is the absence of validation steps around destructive operations (delete/move), which keeps workflow clarity capped.

Suggestions

Add a verification step for the destructive delete operation, e.g. run `obsidian-cli search` on the note title first to confirm the target, or note that delete is irreversible and to confirm with the user.

Add a post-move check, e.g. `obsidian-cli search-content "old note name"` to confirm no stale wikilinks remain after a refactor.

Consider a one-line note that `move`'s link-rewrite behavior only covers [[wikilinks]] and common Markdown links, so unusual embeds should be checked manually.

DimensionReasoningScore

Conciseness

The body is lean and every line earns its place: "Obsidian vault = a normal folder on disk" conveys non-obvious, high-value framing in one line, and sections are terse bullet lists of commands with no padding or explanation of concepts Claude already knows. Matches the 'lean and efficient; every token earns its place' anchor.

5 / 5

Actionability

Commands are copy-paste ready and cover the common cases: `obsidian-cli search "query"`, `obsidian-cli create "Folder/New note" --content "..." --open`, `obsidian-cli move "old/path/note" "new/path/note"`, plus the exact config path `~/Library/Application Support/obsidian/obsidian.json`. The only placeholder (`"..."`) is the user's own content, which is inherent, so this fits the fully-executable anchor rather than the minor-gaps anchor at 4.

5 / 5

Workflow Clarity

The sequence is present and sensible (locate the active vault via obsidian.json or print-default, set a default, then search/create/move/delete), but destructive operations (`delete`, `move`) have no validation or verification steps — no confirm-before-delete, no link-check after move. The judging guidelines explicitly cap workflow clarity at 3 for destructive/batch operations without validation, which takes precedence over the simple-skill exception.

3 / 5

Progressive Disclosure

The skill is a short (~57-line), single-file skill with no references/, scripts/, or assets/ bundle and no content that would justify external files; sections are well-organized and self-contained. Per the simple-skill guidance, well-organized sections alone warrant a 5 here.

5 / 5

Total

18

/

20

Passed

Description

48%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description correctly identifies the domain (Obsidian vaults) and the tool (obsidian-cli) but is thin: it names no concrete capabilities, includes no trigger terms beyond the domain name, and completely lacks a 'when to use' clause. It reads as a minimal, serviceable description rather than a strong one.

Suggestions

Add concrete actions to the description, e.g. 'Search, create, move, and delete notes in Obsidian vaults, updating wikilinks on refactor.'

Append an explicit trigger clause: 'Use when the user mentions Obsidian, vaults, wikilinks, or .md notes in a vault.'

Include natural synonyms and file extensions (notes, note-taking, .md, wikilinks) to improve trigger coverage without adding length.

DimensionReasoningScore

Specificity

"Work with Obsidian vaults" and "automate via obsidian-cli" name the domain but the only action is the generic "Work with" and a bare "automate"; no concrete operations (create, search, move, delete) are listed, matching the anchor for minimal/generic actions rather than the 1-2 concrete actions of score 3.

2 / 5

Completeness

The 'what' is reasonably clear (work with Obsidian vaults, automate via obsidian-cli) but there is no 'Use when...' clause or equivalent trigger guidance anywhere; the judging guidelines explicitly cap completeness at 3 in that case. It is not 4 because 'when' is entirely absent, not merely implicit; not 2 because the 'what' is concrete and domain-specific.

3 / 5

Trigger Term Quality

Relevant keywords are present ("Obsidian vaults", "Markdown notes", "obsidian-cli") but common variations users would naturally say — notes, note-taking, wikilinks, .md — are missing, matching the 'some relevant keywords but missing variations' anchor.

3 / 5

Distinctiveness Conflict Risk

"Obsidian" and "obsidian-cli" establish a clear niche with minimal conflict risk, but the parenthetical "(plain Markdown notes)" broadens the description toward overlap with generic Markdown/note-file skills, fitting 'mostly distinct; minor overlap risk' rather than the clean-niche anchor 5.

4 / 5

Total

12

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
trpc-group/trpc-agent-go
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.