Notion API for creating and managing pages, databases, and blocks.
67
52%
Does it follow best practices?
Impact
99%
1.57xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/notion/SKILL.mdQuality
Discovery
40%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 identifies a clear domain (Notion API) and lists the main resource types (pages, databases, blocks), giving it reasonable distinctiveness. However, it lacks a 'Use when...' clause, uses the vague verb 'managing' instead of enumerating specific operations, and misses common user trigger terms. It needs explicit trigger guidance and more concrete action verbs to be effective for skill selection.
Suggestions
Add a 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks to create, update, query, or organize content in Notion, or mentions Notion pages, databases, or workspace.'
Replace the vague 'managing' with specific actions like 'querying, updating, archiving, and searching' to improve specificity.
Include common user-facing terms like 'Notion workspace', 'add to Notion', 'Notion integration' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Notion API) and some actions (creating and managing pages, databases, and blocks), but 'managing' is somewhat vague and doesn't enumerate specific operations like updating, querying, archiving, or searching. | 2 / 3 |
Completeness | Describes what the skill does but completely lacks a 'Use when...' clause or any explicit trigger guidance, which per the rubric should cap completeness at 2, and since the 'what' is also only moderately detailed, this falls to a weak 1-2 range. Capped at 2 per rubric rule, but the 'what' itself is thin enough to warrant a 1. | 1 / 3 |
Trigger Term Quality | Includes 'Notion', 'pages', 'databases', and 'blocks' which are relevant keywords, but misses common user variations like 'Notion workspace', 'Notion integration', 'add to Notion', or task-oriented terms like 'query', 'update', 'search'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Notion API' is highly specific and creates a clear niche that is unlikely to conflict with other skills, as Notion is a distinct product. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable API reference skill with fully executable curl examples covering all major Notion API operations. Its main weaknesses are the repetitive curl headers inflating token count, and the lack of error handling/validation guidance for API calls. The version-specific information (2025-09-03 differences) is well-documented and practically useful.
Suggestions
Define the curl headers once as a reusable template or shell variable at the top, then reference it in subsequent examples to reduce repetition (e.g., define a shell function or alias).
Add basic error handling guidance: mention checking HTTP status codes, common error responses (401 unauthorized, 404 not found, 429 rate limited), and how to diagnose permission issues.
Consider splitting the Property Types reference and Version Differences sections into separate bundle files to keep the main SKILL.md focused on the most common workflows.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with concrete examples, but the repeated curl headers across every example add significant redundancy. A single template with a note to reuse it would save many tokens. The property types reference section is useful but could be more compact. | 2 / 3 |
Actionability | Every operation includes fully executable curl commands with proper headers, JSON payloads, and realistic examples. The property types reference provides copy-paste-ready JSON formats. Setup instructions are concrete and specific. | 3 / 3 |
Workflow Clarity | The setup steps are clearly sequenced (1-4), and individual operations are clear. However, there's no validation guidance — no mention of checking response codes, handling errors, or verifying that operations succeeded. For API operations that can fail (wrong IDs, permission issues), this is a gap. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear section headers, but it's a monolithic file with no references to supporting documents. The property types section and version differences section could be split into separate reference files to keep the main skill leaner. However, given no bundle files exist, the inline approach is acceptable but not ideal. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | 8 / 11 Passed | |
b4fc4af
Table of Contents
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.