CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

convex-functions

Writes Convex queries, mutations, actions, and internal functions in the object form with args and returns validators, correct ctx usage, runtime boundaries, and error handling. Use when adding or changing anything in convex/*.ts that exports a function, or when deciding between query, mutation, and action.

74

Quality

93%

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

90%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 dense, highly actionable reference that communicates only non-obvious Convex rules with executable examples and strong mistake/checklist coverage. The main gaps are the absence of an explicit validate-and-fix feedback loop for database-touching code and no use of reference files to offload the longer tables and examples.

Suggestions

Add an explicit validation step to the workflow (e.g., 'After writing or changing a function, run `npx convex dev` so the generated types and validators are checked before finishing') to close the feedback-loop gap for database-touching mutations.

Move the Common mistakes table and/or the extended notifySubscribers example into a references/ file (e.g., references/common-mistakes.md), keeping the top mistakes inline and linking out, to reduce the single-file footprint.

Consolidate the terminal-method and write-method tables into one reference section or file so the reading and writing guidance share a single lookup point.

DimensionReasoningScore

Conciseness

The body is lean and states only Convex-specific, non-obvious rules ('Never call .filter() on a table query', 'a public reference there skips the auth checks', '"use node" only in files that export actions') with no padding or explanation of concepts Claude already knows, matching the 5 anchor's 'every token earns its place'.

5 / 5

Actionability

Every section provides complete, copy-paste-ready TypeScript covering the common cases (queries with withIndex, mutations with patch, internal scheduling, actions with runQuery/runMutation, ConvexError, thin wrappers), plus concrete method and mistake-to-fix tables, matching the 5 anchor.

5 / 5

Workflow Clarity

The decision flow is clear (pick type by what the handler touches, then method tables, then a checklist) and the final Checklist section gives explicit verification checkpoints, but since mutations are database operations there is no run-time validation loop (e.g., type-check the result with the Convex toolchain before finishing), leaving it at 4 rather than 5's explicit validate-fix-retry feedback.

4 / 5

Progressive Disclosure

Sections are well-organized with a one-level-deep Docs link list, but the ~270-line body inlines everything (the Common mistakes table, terminal-method reference, and extended examples) with no reference files to split into, which is good structure with minor organization gaps — the 4 anchor.

4 / 5

Total

18

/

20

Passed

Description

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

A strong description that states concrete capabilities in third person and pairs them with an explicit, path-scoped 'Use when' trigger clause. Its only weakness is moderate rather than exhaustive coverage of natural trigger synonyms.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Writes Convex queries, mutations, actions, and internal functions', 'object form with args and returns validators', 'correct ctx usage, runtime boundaries, and error handling' — giving comprehensive coverage with no notable gaps, matching the 5 anchor rather than the 4 anchor's 'minor gaps in coverage'.

5 / 5

Completeness

It explicitly answers both what the skill does and when to use it, with a concrete 'Use when adding or changing anything in convex/*.ts that exports a function, or when deciding between query, mutation, and action' trigger clause, matching the 5 anchor exactly.

5 / 5

Trigger Term Quality

Good keyword coverage with natural terms users would say ('queries, mutations, actions', 'query, mutation, and action') plus the path trigger 'convex/*.ts', but a few natural synonyms are missing (e.g., cron, scheduled functions, database functions), so it sits at the 4 anchor rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear Convex-specific niche with a path-scoped trigger ('convex/*.ts that exports a function'), making conflict with other skills minimal and matching the 5 anchor's 'clear niche with distinct triggers'.

5 / 5

Total

19

/

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

waynesutton/convexskills

Path

skills/convex-functions/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.