CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

wiki-export

Export the Obsidian wiki graph to JSON, GraphML, Neo4j Cypher, Postgres/SQL, HTML, or OKF bundles. Use when transferring or visualizing wiki data in external tools; wiki-import handles the reverse direction.

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

71%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.

Highly actionable body with complete, executable specifications for every output format and carefully handled edge cases, sequenced in a clear multi-step workflow. Its weaknesses are length — a monolithic 440-line file that inlines content (HTML template, OKF mapping table) better suited to reference files — and some restatement of knowledge Claude already has. A post-write validation checkpoint would strengthen the workflow.

Suggestions

Move the full graph.html template into an assets/ or references/ file (e.g. references/graph-html-template.md) and keep only the node/edge generation rules and the vis.js-specific options inline, trimming 60+ lines of CSS/JS boilerplate Claude can regenerate.

Extract the OKF frontmatter mapping table into references/okf-mapping.md, leaving SKILL.md with a short summary and a one-level-deep pointer — this also makes the table reusable by wiki-import, which the body says already references it.

Add a post-write validation step (e.g. verify graph.json parses as valid JSON, total_nodes/total_edges match the node and edge lists, and the summary counts match the actual files) before printing the Step 4 summary.

DimensionReasoningScore

Conciseness

The format examples, color tables, and normalization rules earn their tokens, but the ~60-line inline HTML template (CSS, legend JS) is boilerplate Claude can generate itself, and asides like "NetworkX node_link format — standard for graph tools and scripts" and "GraphML XML format — loadable in Gephi, yEd, and Cytoscape" restate knowledge Claude already has. Fits anchor 3 (mostly efficient, some unnecessary explanation); the inline HTML block alone pushes it below anchor 4's 'minor instances'.

3 / 5

Actionability

Complete executable examples for all five outputs (exact JSON, GraphML, Cypher, SQL DDL/upserts, and a full HTML file), exact formulas ("size = degree * 3 + 8, capped at 60"), exact color cycles, precise relpath and link-normalization rules, and handled edge cases (broken links, forward references, filter interaction). Fully copy-paste ready — matches anchor 5.

5 / 5

Workflow Clarity

Clear sequence (config resolution with an early stop on <5 pages → build lists → assign communities → write files → optional OKF → summary) and idempotent re-run semantics ("Re-running is safe — all output files … are overwritten"). Missing a post-write validation checkpoint (e.g., verifying graph.json parses or summary counts match), so it fits anchor 4 rather than 5's explicit validate-and-retry loop.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so everything lives in one ~440-line SKILL.md. Sections and headers are clear and the only reference (llm-wiki/SKILL.md) is one level deep, but the OKF mapping table and the full HTML template clearly belong in separate reference files. Fits anchor 3 (content that should be separate is inline) rather than 2, since structure and navigation are good.

3 / 5

Total

15

/

20

Passed

Description

87%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.

A strong description: it names the domain and output formats concretely, gives an explicit 'Use when' trigger clause, and explicitly contrasts with wiki-import to avoid confusion. The only gaps are a few natural trigger synonyms (Gephi, vault, knowledge graph) and single-verb action coverage.

DimensionReasoningScore

Specificity

"Export the Obsidian wiki graph to JSON, GraphML, Neo4j Cypher, Postgres/SQL, HTML, or OKF bundles" names the domain and enumerates six concrete output formats, but relies on a single verb ("export") rather than multiple distinct actions. Fits anchor 4 (several specific actions, minor coverage gaps) — not 5, which requires multiple concrete action verbs with comprehensive coverage.

4 / 5

Completeness

"Export the Obsidian wiki graph to …" clearly states what the skill does, and "Use when transferring or visualizing wiki data in external tools" is an explicit when-clause with concrete trigger phrases. This matches the anchor 5 example structure of a clear what followed by an explicit, specific when.

5 / 5

Trigger Term Quality

Natural phrases like "transferring or visualizing wiki data", "Obsidian wiki graph", "Neo4j", "Postgres", and "OKF bundles" give good keyword coverage. A few natural user terms are missing ("Gephi", "vault", "knowledge graph"), so it fits anchor 4 rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

"wiki-import handles the reverse direction" explicitly disambiguates from the sibling import skill, and the niche (wiki graph export to named external formats) is distinct with clear triggers. Minimal conflict risk, matching anchor 5.

5 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 4 missing, 1 suspicious

Warning

Total

15

/

16

Passed

Repository

Ar9av/obsidian-wiki

Path

.skills/wiki-export/SKILL.md

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.