CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

graph-colorize

Configure Obsidian graph colors by tag, folder, category, or visibility by updating .obsidian/graph.json. Use for graph colorization; preserve other graph settings and back up before changes.

Quality

86%

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

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

A highly actionable, well-structured skill: exact queries, colors, backup naming, and merge rules leave little ambiguity, and destructive-change risks are handled with backups and an undo path. Remaining gaps are mild redundancy in the Obsidian-open warning, no post-write validation, and an inline default-JSON blob that could be split out.

Suggestions

State the Obsidian-overwrites-on-close risk once (e.g., in "Before You Start") and reference it from the report template and Edge Cases instead of repeating it three times.

Add a post-write validation step: re-read graph.json, confirm it parses and that non-colorGroups fields are unchanged and the group count matches expectations, before reporting success.

Move the 25-line default graph.json blob to a reference file (e.g., references/default-graph.json) and inline only the colorGroups-relevant note, keeping SKILL.md lean.

DimensionReasoningScore

Conciseness

The body is efficient: it teaches only Obsidian-specific knowledge Claude cannot be assumed to have (query syntax, packed-int colors, first-match-wins) and precomputes the palette as packed ints. Not 5 because the "Obsidian overwrites graph.json on close" warning is repeated three times ("Before You Start" step 3, the report template, and "Edge Cases"), and "Notes" partially restates "Edge Cases" (re-run safety, Obsidian-open risk).

4 / 5

Actionability

Fully executable guidance: exact query strings per mode, a palette table with precomputed packed-int values, an explicit backup filename format (".obsidian/graph.json.backup-<YYYYMMDD-HHMM>"), a complete default graph.json blob, a hex-to-int conversion rule, a report template, and an exact log line format. This matches the copy-paste-ready, common-cases-covered anchor.

5 / 5

Workflow Clarity

The sequence is clear and ordered (resolve config → verify .obsidian exists → warn about open Obsidian → pick mode → build array → backup → replace only colorGroups → write → report → log) with real checkpoints: existence check, pre-write backup with dedup, an undo path via restore, and explicit warnings for the destructive overwrite risk. Not 5 because there is no post-write validation — no step re-reads or parses graph.json to confirm the merge kept other fields intact and colorGroups has the expected count before reporting success; not 3 because validation/recovery checkpoints (existence check, backup, undo) are explicitly present, not missing.

4 / 5

Progressive Disclosure

Well-organized single-file skill with clear section headers and mode-specific subsections; the bundle has no references/, scripts/, or assets/ directories and the only cross-reference ("llm-wiki/SKILL.md" Config Resolution Protocol) is clearly signaled. Not 5 because the skill exceeds the ~50-line simple-skill exception and inlines a 25-line default graph.json blob that could live in a reference file, and the llm-wiki reference points outside the bundle with no local fallback summarized.

4 / 5

Total

17

/

20

Passed

Description

83%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: concrete, third-person, with both what and an explicit use-for clause and negligible conflict risk. Its only weaknesses are a trigger clause that largely restates the skill name and a few missing natural synonyms ("graph view", "color-code", "node colors").

Suggestions

Expand the trigger clause beyond restating the skill name, e.g. "Use when the user wants to color or color-code Obsidian's graph view nodes by tag, folder, or visibility, or mentions graph colors/graph.json."

Add natural synonyms users would say, such as "graph view", "color-code", and "node colors", to improve trigger recall.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Configure Obsidian graph colors by tag, folder, category, or visibility by updating .obsidian/graph.json", "preserve other graph settings and back up before changes" — covering the full capability surface, matching the anchor-5 comprehensiveness of the PDF example. Not 4 because there are no meaningful coverage gaps: the grouping dimensions, target file, and safety behaviors are all explicit.

5 / 5

Completeness

Both parts are explicit: the "what" is concrete ("Configure Obsidian graph colors ... by updating .obsidian/graph.json") and the "when" is an explicit "Use for graph colorization" clause. Not 5 because the trigger clause is near-tautological — it restates the skill's name rather than naming concrete user moments (e.g., "when the user wants to color or highlight graph view nodes by tag or folder"); not 3 because a "Use for..." clause is present, not merely implied.

4 / 5

Trigger Term Quality

Good natural-keyword coverage: "Obsidian", "graph colors", "graph colorization", "tag", "folder", "category", "visibility", ".obsidian/graph.json". Not 5 because common phrasings users would actually say — "graph view", "color-code", "node colors", "tint nodes" — are absent; not 3 because the present terms are specific and multiple rather than a single generic keyword.

4 / 5

Distinctiveness Conflict Risk

Clear niche — Obsidian graph colorization via a specific config file (".obsidian/graph.json") — with distinct trigger terms; only conceivable overlap would be a sibling Obsidian-graph skill in the same vault suite, which is minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Ar9av/obsidian-wiki

Path

.skills/graph-colorize/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.