CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

obsidian-linked-research

Fetch a URL, summarize it, and save as a structured research note in the current Obsidian Research/Library taxonomy. Use the master Research Library MOC as the source of truth for tags, folder routing, and freshness updates.

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/obsidian-linked-research/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

This is an exceptionally actionable, well-sequenced workflow — every step has executable commands, explicit guards, and error-recovery loops, which is rare. Its weakness is token efficiency: massive repetition of the same traps, inline dated incident logs, and reference-grade material (routing tables, gotcha catalogue) packed into SKILL.md instead of split into bundled reference files.

DimensionReasoningScore

Conciseness

At ~66KB / 1,260 lines for a single-URL capture workflow, the body is noticeably verbose: the ob.read() empty-vs-Error trap is repeated in Step 0, Step 2.5a, Step 4, and Rule 19; the cp1252/UTF-8 issue appears three times; and dated incident logs ("Seen 2026-10-02 and again 2026-10-09", "observed 2026-09-17 → 09-19") are embedded inline rather than in a deprecated/old-patterns section. Much of the content is genuinely non-obvious operational knowledge, so this is not anchor 1, but the padding and repetition exceed anchor 3's "some unnecessary explanation".

2 / 5

Actionability

Every step ships copy-paste-ready, executable guidance: the preflight probe one-liner, the note_text() guard helper, `fetch.py "<url>" --max-chars 0`, the GitHub tree/raw API recipe, the prune_recently_added function with exact regex, exact image filter lists (w_150, h_72), and the Substack archive API endpoint. Even failure paths have executable fallbacks, fully matching anchor 5.

5 / 5

Workflow Clarity

Steps 0–8 are clearly sequenced with explicit validation checkpoints and feedback loops: a mandatory preflight probe, the URL-dedup gate before fetching, `assert moc` and `assert anchor in t` guards, verify-the-write by re-reading frontmatter, retry-once on the transient xAI error, and SKIPPED-vs-FAIL semantics for the optional open step. Overwrites (create --overwrite) are guarded by re-reads, matching anchor 5's "explicit validation steps; feedback loops for error recovery".

5 / 5

Progressive Disclosure

The single bundle file (scripts/fetch.py) is real and properly referenced by path, and internal structure is good (numbered steps, tables, callout boxes). But the body itself is a monolith: the gotcha catalogue, the 13-folder routing table, the image-captioning rules, and the degraded-mode fallback table are all inlined in SKILL.md when they clearly belong in separate one-level-deep reference files — anchor 3 ("some structure but content that should be separate is inline"). Not 4 because the bulk of the detail is inline rather than split out.

3 / 5

Total

15

/

20

Passed

Description

58%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 states a concrete, distinctive what — fetch, summarize, and save a structured note into the Obsidian Research/Library taxonomy with MOC-driven tagging — but omits any when-to-use trigger guidance, which caps completeness. Trigger-term coverage is adequate but thin on natural phrasings users would actually say.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user shares a URL to save, says 'research this', 'save this article/tweet to Obsidian', or wants a link captured for later reading."

Mention the tweet/X capture path (xAI engagement stats and thread context) since it is a primary use case and a natural trigger term ("save this tweet").

Add common user synonyms such as "save", "article", "clip", and "read later" so the description matches the phrasing users actually use when invoking the skill.

DimensionReasoningScore

Specificity

"Fetch a URL, summarize it, and save as a structured research note" plus "source of truth for tags, folder routing, and freshness updates" lists several concrete actions including the secondary MOC-maintenance operation. It falls short of anchor 5's comprehensive coverage because tweet/X handling, dedup, and the thesis-drift check are absent, and "summarize it" is bare.

4 / 5

Completeness

The "what" is clear (fetch, summarize, save a structured note into the Research/Library taxonomy), but there is no "when" — the second sentence ("Use the master Research Library MOC as the source of truth...") is operational instruction, not trigger guidance, so per the judging guideline a missing 'Use when...' clause caps this at 3. Not a 2 because the "what" is concrete rather than vague.

3 / 5

Trigger Term Quality

Terms like "URL", "summarize", "research note", and "Obsidian" are ones a user might naturally say, but common variations are missing — no "save this article", "clip", "tweet", "read later", or "capture". This matches anchor 3 (relevant keywords but missing variations) rather than anchor 4, where only a few natural terms would be absent.

3 / 5

Distinctiveness Conflict Risk

"Structured research note in the current Obsidian Research/Library taxonomy" with the master MOC as source of truth carves a clear niche with distinct artifacts. Minor overlap risk remains with closely related sibling skills (e.g. obsidian-daily-research, which also writes Library notes), matching anchor 4 rather than 5.

4 / 5

Total

14

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1273 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

0xRabbidfly/Eric-Cartman

Path

.github/skills/obsidian-linked-research/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.