CtrlK
BlogDocsLog inGet started
Tessl Logo

graph-colorize

Color-code the Obsidian graph view by rewriting `.obsidian/graph.json` colorGroups. Use this skill when the user says "color my graph", "color code obsidian", "colorize the graph", "color the graph by tag", "color by category", "highlight visibility in graph", "make the graph colorful", "distinguish tags in graph", or wants nodes in Obsidian's graph view tinted by tag, folder, or visibility. Generates a `colorGroups` array from the vault's actual tags/categories and merges it into the existing graph.json without clobbering other graph settings. Always backs up first.

74

Quality

91%

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 strong, highly actionable single-file skill: every mode has exact queries and colors, the merge procedure preserves existing settings and always backs up, and edge cases are covered. The only weaknesses are mild redundancy (the Obsidian-open warning appears three times), the absence of a post-write validation step, and inline reference data that could live in a bundled file.

Suggestions

State the 'Obsidian overwrites graph.json on close' warning once (e.g., in Before You Start) and reference it from the Step 4 sample output and Edge Cases instead of repeating it verbatim, trimming ~6 lines.

Add a post-write validation checkpoint in Step 3, e.g., re-parse the written graph.json to confirm it is valid JSON with the expected number of colorGroups entries before reporting success.

Move the palette table and the default graph.json blob into a references/ file (e.g., references/palette.md) and link to them from Step 2/Step 3, keeping the SKILL.md body focused on the workflow.

DimensionReasoningScore

Conciseness

Mostly lean and operational — precomputed packed-int palette, exact query syntax, no explanations of general concepts — but the 'Obsidian overwrites graph.json on close' warning is repeated three times (Before You Start, the Step 4 sample output, and Edge Cases) and the opening line re-states the description. Efficient with minor trimming opportunities, matching the anchor-4 example rather than the every-token-earns-its-place anchor 5.

4 / 5

Actionability

Fully executable guidance: exact queries ('tag:#visibility/pii', 'path:"concepts"'), exact packed-int colors, a complete default graph.json blob for the missing-file case, a backup naming convention with timestamp format, and a log-line format. Copy-paste ready and covers all modes and edge cases, matching anchor 5.

5 / 5

Workflow Clarity

Clear sequenced workflow (resolve config → precondition checks → pick mode → build array → backup → replace only colorGroups → report/log) with pre-write checkpoints and an undo path. There is no post-write verification (e.g., confirm the JSON still parses), but the mandatory backup and replace-one-field scope mitigate the destructive-config-edit risk — most checkpoints present with a minor validation gap, i.e. anchor 4 rather than 5.

4 / 5

Progressive Disclosure

Well-organized single-file structure with clear sections, distinct mode subsections, an Edge Cases section, and one clearly signaled one-level external reference (the config resolution protocol in llm-wiki/SKILL.md). It exceeds anchor 3 (nothing is buried or badly organized) but bulky reference data (the palette table and default JSON blob) is inlined with no separate reference files, so it sits at anchor 4 rather than a fully split, well-signaled multi-file structure.

4 / 5

Total

17

/

20

Passed

Description

100%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 is excellent: concrete actions, an explicit trigger clause with a rich set of natural user phrasings, third-person voice, and a sharply defined niche. It fully answers both 'what' and 'when' at the top anchor of every dimension.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'rewriting .obsidian/graph.json colorGroups', 'Generates a colorGroups array from the vault's actual tags/categories', 'merges it into the existing graph.json without clobbering other graph settings', 'Always backs up first' — with comprehensive coverage of the skill's behavior. Not 4: there are no gaps in the action coverage.

5 / 5

Completeness

Explicitly answers both what ('Color-code the Obsidian graph view by rewriting .obsidian/graph.json colorGroups', generates, merges, backs up) and when ('Use this skill when the user says…' followed by concrete trigger phrases). Matches the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

Comprehensive natural trigger phrases with synonyms: 'color my graph', 'color code obsidian', 'colorize the graph', 'color the graph by tag', 'color by category', 'highlight visibility in graph', 'make the graph colorful', 'distinguish tags in graph', plus the concrete file path. Not 4: essentially no natural variant is missing.

5 / 5

Distinctiveness Conflict Risk

A clear niche — colorizing the Obsidian graph view via graph.json colorGroups — with distinct trigger phrasing unlikely to fire for any other skill. Not 4: no meaningful overlap risk with related skills.

5 / 5

Total

20

/

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