Defining and validating database schemas with proper typing, index configuration, optional fields, unions, and migration strategies for schema changes
62
53%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/convex-schema-validator/SKILL.mdQuality
Discovery
42%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 provides good specificity about database schema capabilities but critically lacks explicit trigger guidance ('Use when...'), which caps its effectiveness for skill selection. The technical terminology is appropriate but could benefit from more natural user-facing keywords and clearer differentiation from related database skills.
Suggestions
Add a 'Use when...' clause with explicit triggers like 'Use when the user asks about database schemas, data models, table definitions, or schema migrations'
Include common user variations and file/technology references such as 'SQL schemas', 'ORM models', 'Prisma', 'TypeORM', or specific database names
Clarify the scope to distinguish from general database query skills or specific ORM tool skills
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'defining and validating database schemas', 'proper typing', 'index configuration', 'optional fields', 'unions', and 'migration strategies for schema changes'. | 3 / 3 |
Completeness | Describes what the skill does but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. | 1 / 3 |
Trigger Term Quality | Contains relevant technical terms like 'database schemas', 'typing', 'index', 'migration' but misses common user variations like 'DB schema', 'data model', 'table structure', or specific database names users might mention. | 2 / 3 |
Distinctiveness Conflict Risk | Focuses on database schemas which is somewhat specific, but 'typing', 'validation', and 'migration' could overlap with other database or ORM-related skills without clearer boundaries. | 2 / 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 skill with excellent code examples covering schema definition, indexes, and migrations. However, it's verbose for what Claude needs to know, includes reference material that could be external, and lacks explicit validation checkpoints in the migration workflow. The content would benefit from trimming explanatory content and adding verification steps.
Suggestions
Remove or externalize the validator types table - Claude knows TypeScript types and can reference Convex docs directly
Add explicit validation steps to migration workflow: 'After backfill, verify with query: await ctx.db.query("users").filter(q => q.eq(q.field("avatarUrl"), undefined)).first() === null'
Move the complete e-commerce schema example to a separate EXAMPLES.md file and reference it from the main skill
Trim the 'Common Pitfalls' section to just the non-obvious ones - items like 'not making new fields optional' are already covered in the migration section
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with good code examples, but includes some unnecessary elements like the validator types table (Claude knows TypeScript types) and overly detailed explanations. The e-commerce schema example is comprehensive but lengthy. | 2 / 3 |
Actionability | Excellent executable code throughout with copy-paste ready examples. Every concept is demonstrated with concrete TypeScript code, proper imports, and realistic use cases. The migration examples are particularly actionable. | 3 / 3 |
Workflow Clarity | Migration strategies show a clear sequence (add optional -> backfill -> make required), but lack explicit validation checkpoints. No verification steps after schema changes or backfill operations to confirm success before proceeding. | 2 / 3 |
Progressive Disclosure | References to external docs are provided, but the skill itself is monolithic with all content inline. The validator types table, complex types, and full e-commerce schema could be split into separate reference files with clear navigation. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
description_trigger_hint | Description may be missing an explicit 'when to use' trigger hint (e.g., 'Use when...') | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 12 / 16 Passed | |
8ef49c9
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.