skills/convex-component-adoption-planner/SKILL.md
Researches a Convex component against Signr's live backend graph, asks scored one-at-a-time design questions, and produces a reusable adoption or rejection package with `PLAN.md` and `CODEX_FULL_PROMPT.md`.
npx skillsauth add bjornmelin/dev-skills convex-component-adoption-plannerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when Signr needs a serious answer to any of these:
request_user_input, and include weighted scores from 0.0 to 10.0 for each option.curl -s https://www.convex.dev/components/components.md
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- doctor --json
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- component @convex-dev/aggregate --feature bookmarks-intent-signals --json
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --json
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --stdout
Use the Rust helper in this order:
doctor
curl, rg, opensrc, ctx7, gh, bunx, and cargo--json when you want machine-readable outputcomponent <package>
curl, opensrc, ctx7, and rg commands--feature <slug> whenever the workstream is already known--docs-slug <slug> if the Convex docs page does not match the inferred slug--date YYYY-MM-DD or --plan-root <path> when you need a non-default output locationscaffold <package>
componentPLAN.md plus CODEX_FULL_PROMPT.md--json to get created and skipped file paths back as structured output--stdout to preview the exact file contents without writing--force only when you intentionally want to overwrite existing stubsDo not treat the helper output as the recommendation. It only prepares deterministic inputs and starter files.
packages/backend/package.jsonpackages/backend/convex/convex.config.tspackages/backend/convex/schema.ts.agents/signr-implementation-prompts-modernization-package/docs/implementation-prompts/curl -s https://www.convex.dev/components/<slug>/<slug>.md
opensrc path <package-name>
ctx7: useful for library documentation lookup and secondary cross-checksopensrc: preferred when internal implementation details matterbunx convex: optional for local CLI help or version-aligned Convex contextgh: only if a GitHub issue or PR is part of the adoption decisionDo not hard-depend on any of these tools. Degrade cleanly when absent.
doctor then component.scaffold --stdout when you want to inspect the starter package before writing it.scaffold without --stdout when you are ready to create the package files.opensrc when package behavior, tables, or APIs matter.request_user_input only when local context cannot close the branch safely.references/package-spec.md.Use this weighted scoring model for major choices:
| Criterion | Weight | | --- | --- | | Solution leverage | 35% | | Application value | 30% | | Maintenance and cognitive load | 25% | | Architectural adaptability | 10% |
Rules:
9.0+ only when the tradeoff is genuinely strong.Read references/package-spec.md before writing final package files.
Default output location:
.agents/plans/YYYY-MM/MM-DD/convex-components/<component-slug>/
Required files:
PLAN.mdCODEX_FULL_PROMPT.mdFor a rejection decision, still emit the same package, but make PLAN.md a definitive non-adoption memo and make CODEX_FULL_PROMPT.md an execution prompt for future re-evaluation or confirmed rejection.
When a user wants to work interactively or says grill me:
Those stay in the model.
The helper can scaffold stub PLAN.md and CODEX_FULL_PROMPT.md files, but it must not decide the recommendation or architecture.
Evaluate one candidate:
curl -s https://www.convex.dev/components/components.md
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- component @convex-dev/aggregate --feature bookmarks-intent-signals --json
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --json
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --stdout
Overwrite an existing starter package intentionally:
cargo run --manifest-path .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep/Cargo.toml -- scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --force --json
Use optional Context7 support:
ctx7 library convex "components aggregate"
ctx7 docs /convex-dev/convex "aggregate component patterns"
Install the helper locally for repeated use:
make -C .agents/skills/convex-component-adoption-planner/scripts/convex-component-adoption-prep install-local
convex-component-adoption-prep doctor --json
convex-component-adoption-prep component @convex-dev/aggregate --feature bookmarks-intent-signals --json
convex-component-adoption-prep scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --json
convex-component-adoption-prep scaffold @convex-dev/aggregate --feature bookmarks-intent-signals --stdout
development
Repo/monorepo modernization: dependency upgrades, security fixes, deprecation cleanup, framework migrations, dependency-native refactors, and verified hard-cut simplification.
development
Use this skill for Browser Web Animations API: Element.animate(), Animation, KeyframeEffect, playback control, generated keyframes, cancel/finish, commitStyles, and cleanup. Trigger on Element.animate, WAAPI, Web Animations API, KeyframeEffect, Animation object, commitStyles. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.
tools
Use this skill for Three.js, React Three Fiber, Drei, Canvas/createRoot lifecycle, loaders, GLTF, useFrame, disposal, SSR/client boundaries, DPR, and browser proof. Trigger on Three.js, THREE, @react-three/fiber, @react-three/drei, R3F Canvas, useFrame, GLTF, WebGLRenderer. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.
development
Use this skill for Tailwind CSS v4 transition, animation, duration, easing, motion-safe/motion-reduce, @theme motion tokens, and static class safety. Trigger on Tailwind animation, transition-all, motion-safe, motion-reduce, @theme, animate-, duration-. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.