CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

notion

Notion API + ntn CLI: pages, databases, markdown, Workers.

52

Quality

66%

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 ./skills/productivity/notion/SKILL.md
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.

The body is a highly actionable, example-first reference: almost every operation is a runnable command for both the CLI and HTTP paths, with good setup sequencing and pragmatic pitfall notes. Its weaknesses are token efficiency (repeated curl header boilerplate, inline dated pricing/support info) and a broken progressive-disclosure link — references/block-types.md exists in the bundle but is never referenced from the body.

Suggestions

Link references/block-types.md from the "Read page content as blocks" and "Append blocks" sections (e.g. "See [references/block-types.md](references/block-types.md) for all block type payloads") so the bundle file is discoverable.

State the shared curl headers once ("All requests need these three headers") and show subsequent examples with only the URL and `-d` payload to cut ~30 lines of repetition.

Move the dated plan/pricing and platform-availability details ("Free through August 11, 2026", "May 2026" support status) into a versioned/deprecated-style section so they don't decay silently in the main guidance.

DimensionReasoningScore

Conciseness

The body is command-dense and assumes competence (no concept explanations), but the identical 3-4 line curl header block (Authorization, Notion-Version, Content-Type) is repeated in ~10 examples when it could be factored out once, and time-sensitive details ("Free through August 11, 2026", "May 2026" CLI support) sit inline rather than in a versioning/deprecated section. This matches anchor 3 ("mostly efficient but ... could be tightened") more than anchor 4.

3 / 5

Actionability

Nearly every section is a copy-paste-ready executable command: full curl invocations, ntn syntax with documented key=value/key:=value conventions, a complete Worker TypeScript example, and a decision table mapping tasks to concrete commands. This matches anchor 5 ("Fully executable; copy-paste ready code or commands; specific examples cover the common cases").

5 / 5

Workflow Clarity

Setup is a clearly numbered sequence with an explicit verification step (`ntn --version`), a headless-auth recipe, and runtime path selection via `command -v ntn`; the 404-on-unshared-page pitfall is surfaced at the step where it bites. It is not a 5 because there are no error-recovery loops for fragile operations (e.g. file upload failures, deploy errors beyond "check runs logs"), leaving minor validation gaps.

4 / 5

Progressive Disclosure

The body is well-sectioned (Setup, Path A/B, Property Types, Workers, Markdown dialect, decision table), but the one bundle reference file, references/block-types.md, is never linked or mentioned anywhere in SKILL.md — it is orphaned and undiscoverable. Per the guideline to score against the actual bundle structure, this is anchor 3: structure exists, but the reference is not clearly signaled and a substantial block-API reference that belongs in the bundle stays inline.

3 / 5

Total

15

/

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 is compact and correctly anchors on the Notion niche, but it is noun-heavy: it never states what the skill actually does with pages, databases, or markdown, and it omits any 'use when' trigger guidance. It reads more like a title than a capability description.

Suggestions

Add 2-3 concrete action verbs, e.g. "Create, read, and update Notion pages and databases; query data sources; convert pages to/from Markdown; deploy Notion Workers."

Add an explicit trigger clause, e.g. "Use when the user mentions Notion, a Notion page or database, syncing notes, or hosted Notion Workers."

Include natural synonyms such as "notes", "workspace", and "wiki" so the skill triggers on phrasings users actually say rather than only the brand name.

DimensionReasoningScore

Specificity

The description "Notion API + ntn CLI: pages, databases, markdown, Workers." names the domain and objects but contains no verbs or actions at all — it lists what it touches, not what it does. This matches anchor 2 ("Names the domain but actions are minimal or generic") and falls below anchor 3, which requires 1-2 concrete actions; none are stated.

2 / 5

Completeness

The 'what' is reasonably clear (Notion API and CLI access to pages, databases, markdown, Workers) but there is no 'when' clause at all — no "Use when..." or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 4 because the 'when' is entirely absent rather than merely implicit; it is not a 2 because the 'what' is concrete and unambiguous.

3 / 5

Trigger Term Quality

"Notion" is a natural term users would say, and "pages", "databases", "markdown", "Workers" are relevant keywords. However common variations are missing (notes, wiki, workspace, notes app, .md). This fits anchor 3 ("Some relevant keywords but missing common variations or synonyms") more than anchor 4, which expects broader coverage of natural phrasings.

3 / 5

Distinctiveness Conflict Risk

"Notion" is a distinct brand name with dedicated terms ("ntn CLI", "Workers"), making wrong-skill triggering unlikely. Minor overlap risk remains with generic markdown/database/page skills, so it fits anchor 4 ("Mostly distinct; minor overlap risk") rather than 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

NousResearch/hermes-agent

Path

skills/productivity/notion/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.