convex-suggest
この Skill は、ユーザーのコードと依頼を傍観しながら、手書きの実装が既存の Convex コンポーネント(crons、sharded-counter、rate-limiter、aggregate、workflow、presence、RAG、prosemirror-sync など)で解決できるパターンだと気づいたとき、現在のタスク完了後に 1 つだけコンポーネントを提案し、該当コードと理由、インストール手順を示します。同意なしにインストールせず、作業を中断しないため、車輪の再発明や後戻りを減らせます。
npx skills add https://github.com/convex/agent-skills --skill convex-suggestBefore / After 効果比較
1 组開発者は Convex プロジェクトで setInterval による定期実行、自動増分フィールドによる全体カウンタ、DB テーブルによるレート制限を自作し、公式コンポーネントの存在に気づかないまま、本番で OCC 競合や性能問題が出てから作り直すことになります。
この Skill は元のタスク完了後に「この実装には既存コンポーネントがある」と受動的に指摘し、該当コードと理由を示すため、1 回の確認で置き換えでき、車輪の再発明と後戻りを避けられます。
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
- Observe the codeSnippets and userAsk passively — never block the current task to suggest.
- 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.
- 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.
- If the user says yes: run
/add <component>or follow the installHint from the detector. - 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 + 1in 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.).
ユーザーレビュー (0)
レビューを書く
レビューなし
統計データ
ユーザー評価
この Skill を評価