CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

convex-retention

Use when adding or changing ClawHub Convex tables, TTL fields, cleanup crons, retention policy, auth/session cleanup, metric dedupe cleanup, or deprecated table removal

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/convex-retention/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

86%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, well-organized body that communicates repo-specific rules with almost no waste and pairs them with concrete verification steps. The only meaningful gap is the absence of a copy-paste example for the core task (adding a RETENTION_POLICIES entry) and an exact test command.

DimensionReasoningScore

Conciseness

The ~30-line body explains nothing Claude already knows and every line carries project-specific facts ("Expired `authSessions` and `authRefreshTokens` are pruned by `convex/retention.ts`"), matching anchor 5 — lean with every token earning its place.

5 / 5

Actionability

Concrete file paths (`convex/lib/retentionPolicy.ts`), API patterns (`.withIndex()`, `.take(...)`), constants (`RETENTION_STANDARD_BATCH_SIZE`), and runnable commands (`bunx convex codegen`, `bunx convex dev --once --typecheck=disable`) provide mostly executable guidance, but there is no example policy entry and no exact Vitest command, matching anchor 4 rather than 5.

4 / 5

Workflow Clarity

The dedicated Verification section supplies explicit checkpoints (focused tests, codegen, real runtime check) so the destructive/batch cap does not apply, but the Checklist-to-Verification flow has no explicit ordering or error-recovery loop, matching anchor 4 (most checkpoints present, minor validation gaps).

4 / 5

Progressive Disclosure

The skill is under 50 lines, has no bundle files, and contains no content that belongs in separate files; the Overview/Checklist/Verification sections are well-organized, so per the rubric's simple-skill guidance it fits anchor 5.

5 / 5

Total

18

/

20

Passed

Description

65%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 highly distinctive, well-targeted trigger description whose "when" clause is excellent, but it is missing an explicit statement of what the skill does. Adding a capability clause before the trigger list would raise both specificity and completeness.

Suggestions

State what the skill does before the trigger clause, e.g. "Classifies every Convex table in convex/lib/retentionPolicy.ts and guides TTL field, cleanup cron, and retention policy changes. Use when..." — this supplies the missing 'what' for completeness and specificity.

Add capability verbs (classify, add TTL fields, prune expired rows, remove deprecated tables) so the enumerated terms read as actions rather than only trigger objects.

Include common synonyms such as "expiry/expiration", "prune", or "data retention" to broaden natural trigger-term coverage.

DimensionReasoningScore

Specificity

The description enumerates concrete domain objects ("Convex tables, TTL fields, cleanup crons, retention policy, auth/session cleanup, metric dedupe cleanup, or deprecated table removal") but these are triggers, not actions the skill performs; no verbs state what the skill actually does, matching anchor 3 rather than 4.

3 / 5

Completeness

The "when" is explicit and detailed ("Use when adding or changing..."), but the "what" is unstated — the description never says whether the skill classifies tables, guides implementation, or reviews code, placing it between anchor 2 (when-only) and anchor 4 (both present).

3 / 5

Trigger Term Quality

Terms like "TTL fields", "cleanup crons", "retention policy", and "deprecated table removal" are natural phrasings a developer on this codebase would say, but common synonyms such as "expiry"/"expiration" or "prune" are missing, matching anchor 4.

4 / 5

Distinctiveness Conflict Risk

"ClawHub Convex" combined with retention-specific triggers carves out a clear niche with minimal conflict risk, even against a generic Convex development skill, matching anchor 5.

5 / 5

Total

15

/

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

openclaw/clawhub

Path

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