CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

convex-verify

Prove a Convex feature works — seed, drive as multiple mocked users via convex-test, assert behavior including the negative authz cases (wrong user refused, data-scope enforced).

Quality

78%

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-verify/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

73%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 strong, unusually concrete capability spec: it captures a verified setup pitfall, exact identity and assertion patterns, and an explicit validate-then-report loop with error-recovery discipline. Its weaknesses are redundancy (intro rhetoric plus Rules that restate the Workflow) and references to files/capabilities that are not part of this bundle.

Suggestions

Cut the intro paragraph to a single sentence and delete Rules bullets that restate Workflow steps 2–5 (identity driving, seeding a second user, edge-runtime config, never weakening assertions) so each rule states only new information.

Replace the prose description of the vitest config with a complete minimal `vitest.config.ts` code block so step 2 is copy-paste ready.

Either bundle or inline the shape of the finding to emit — the reference to `specs/finding.schema.json` is not resolvable from this skill's files.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, verified specifics, but the opening paragraph is rhetorical framing ("A green typecheck proves the code parses... the loop the whole field is missing") that re-motivates what the Rules already state, and Rules bullets 1–3 and 5–6 substantially restate Workflow steps 3–7 (seed both users' rows, drive multiple identities, never weaken an assertion, vitest config required). It could be tightened by roughly a third without losing any instruction.

3 / 5

Actionability

Mostly executable guidance with concrete inline snippets: `test.environment: "edge-runtime"` with `server.deps.inline: ["convex-test"]`, `t.withIdentity({ subject, tokenIdentifier, ... })`, `expect(...).rejects.toThrow(/forbidden|not authorized|403/)`, `t.run(async (ctx) => ctx.db.insert(...))`, and `npx vitest run`. Minor gaps: the vitest.config.ts is described in prose rather than shown as a complete file, and snippets use ellipses/placeholders rather than being copy-paste ready.

4 / 5

Workflow Clarity

The 7-step sequence (IDENTIFY → SET UP → SEED → DRIVE → ASSERT → RUN → handoff) is clearly ordered with an explicit validation step ("RUN the tests (`npx vitest run`) and report: what was proven... and — critically — any assertion that FAILED") and a genuine error-recovery feedback path (step 7: a failing negative test is a real defect — do not weaken the assertion, hand the fix to convex-authz, emit a bus finding). The `import.meta.glob is not a function` failure mode is pre-documented so setup errors are recoverable.

5 / 5

Progressive Disclosure

The body is well organized into Workflow and Rules sections and, at ~35 lines for a single-purpose skill, needs no external files — but it points to artifacts outside any bundle: "specs/finding.schema.json", the `test` and `convex-authz` capabilities, and a generated-from path in the HTML comment. None of these exist in the skill's directory, so the references cannot actually be navigated.

4 / 5

Total

16

/

20

Passed

Description

71%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 specific, capability-dense description that names the domain, the tool, and the distinctive negative-assertion behavior. Its main weakness is the missing explicit "Use when..." trigger clause and natural request phrasings like "test"/"verify", which weakens discoverability and leaves a minor overlap with generic testing skills.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to test, verify, or prove a Convex query/mutation/action — especially authorization or data-scope behavior."

Include the natural request words "test"/"verify" alongside "prove" so common phrasings of the request lexically match the description.

State the boundary with a generic test-framework skill in the description (e.g. "for Convex features specifically, not general test setup") to reduce overlap risk.

DimensionReasoningScore

Specificity

It lists multiple concrete actions covering the capability's whole loop: "seed, drive as multiple mocked users via convex-test, assert behavior including the negative authz cases (wrong user refused, data-scope enforced)" — seeding, multi-identity driving, positive and negative assertion behavior are all named specifically. Not a 4: nothing significant in the capability's action set is left unspecified.

5 / 5

Completeness

The "what" is explicit and concrete ("seed, drive as multiple mocked users via convex-test, assert behavior including the negative authz cases"), and there is a "when" cue in "Prove a Convex feature works — ... the user just built" framing — but only via implication rather than an explicit clause. "when could be more explicit or specific" fits better than either the explicit-clause anchor (5) or the weakly-implied one (3).

4 / 5

Trigger Term Quality

Good domain keyword coverage — "Convex feature", "convex-test", "seed", "authz", "wrong user refused", "data-scope" — but it lacks the natural synonyms a user would most often say, such as "test", "verify", or "e2e", relying instead on the less colloquial "Prove... works". Not a 5: common phrasings of the request would not lexically match.

4 / 5

Distinctiveness Conflict Risk

The niche is clear (Convex, convex-test, negative authz cases) and would rarely collide with unrelated skills, but the generic head "Prove a feature works" overlaps a general test/verify skill for any non-Convex framework request — the body itself acknowledges this boundary with the `test` capability, yet the description does not. Mostly distinct with minor overlap risk against a closely related skill.

4 / 5

Total

17

/

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-verify/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.