C

convex-suggest

by @convexv
4.6(120)

This skill passively watches your code and requests, detects when a hand-rolled implementation duplicates a Convex component that already solves it (crons, sharded-counter, rate-limiter, aggregate, workflow, workpool, presence, RAG, prosemirror-sync, storage), and after finishing the current task offers exactly one targeted suggestion with the triggering code and an install hint. It never installs without consent, never interrupts, and never dumps a list of alternatives, cutting duplicate work and late-stage rewrites.

convexcode-reviewbackendrefactoringdeveloper-toolsGitHub
Installation
npx skills add https://github.com/convex/agent-skills --skill convex-suggest
compare_arrows

Before / After Comparison

1 组
Before

Developers hand-roll setInterval crons, global counters via auto-increment fields, and DB-table rate limiting in Convex projects, unaware that official components already exist, and only refactor after OCC conflicts or performance issues appear in production.

After

This skill passively notes after the original task that the pattern already has a component, quotes the triggering code, and explains why it fits, so one confirmation replaces the custom code and avoids duplicated work and rework.

SKILL.md

Proactively suggest the right Convex component

When you see code or intent that duplicates what a Convex component already does, surface a targeted suggestion: ONE component, WHY (anchored in the user's own code or ask), and a concrete install hint. Never install without explicit consent. Never suggest more than one component at a time unless the user asks.

Workflow

  1. Observe the codeSnippets and userAsk passively — never block the current task to suggest.
  2. Match against the detector rules (see generators/suggest-detector.mjs): email/SMTP → resend; push notifications → expo-push; setInterval/cron → @convex-dev/crons; shared counter increments → @convex-dev/sharded-counter; .collect().length scans → @convex-dev/aggregate; multi-step/long-running actions → @convex-dev/workflow; bounded concurrency → @convex-dev/workpool; rate-limit counters in DB → @convex-dev/rate-limiter; fs.write/S3 uploads → Convex Storage; Elasticsearch/Algolia → built-in full-text search; presence/typing → @convex-dev/presence; Pinecone/external vector DB → @convex-dev/rag; collaborative editing → @convex-dev/prosemirror-sync.
  3. After finishing the current task, offer ONE suggestion: name the component, quote the specific code or phrase that triggered it, explain why the component fits better.
  4. If the user says yes: run /add <component> or follow the installHint from the detector.
  5. If the user says no or ignores it: drop it. Do not repeat the same suggestion.

Rules

  • Passive — never interrupt the current task; surface the suggestion AFTER completing what the user asked.
  • One at a time — pick the highest-priority match; do not dump a list of five components.
  • Cite WHY from the user's own code or ask — 'I noticed you wrote post.likes + 1 in a mutation that many users call concurrently; that causes OCC conflicts at scale.'
  • Never install without explicit consent — suggest, explain, wait for a yes.
  • Do not suggest a component the user has already installed.
  • Do not fire on generic coding questions unrelated to Convex (sorting arrays, writing CSS, etc.).

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs34.8K
Rating4.6 / 5.0
Version
Updated2026年10月23日
Comparisons1

User Rating

4.6(120)
5
37%
4
43%
3
13%
2
5%
1
2%

Rate this Skill

0.0

Compatible Platforms

🤖claude-code

Timeline

Created2026年10月17日
Last Updated2026年10月23日
🎁 Agent Knowledge Cards
Survey