diff --git a/.DS_Store b/.DS_Store index 9f244c4..16596bc 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/bin/cli.js b/bin/cli.js index aed7c94..6238ad1 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -2,14 +2,22 @@ import { fileURLToPath } from "url"; import { dirname, join, resolve } from "path"; -import { readFileSync, writeFileSync, mkdirSync, existsSync, copyFileSync, readdirSync } from "fs"; +import { + readFileSync, + writeFileSync, + mkdirSync, + existsSync, + copyFileSync, + readdirSync, +} from "fs"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const packageRoot = join(__dirname, ".."); const SKILLS = { - "convex-best-practices": "Guidelines for building production-ready Convex apps", + "convex-best-practices": + "Guidelines for building production-ready Convex apps", "convex-functions": "Writing queries, mutations, actions, and HTTP actions", "convex-realtime": "Patterns for building reactive applications", "convex-schema-validator": "Database schema definition and validation", @@ -50,7 +58,9 @@ EXAMPLES: convex-skills show convex-functions AVAILABLE SKILLS: -${Object.entries(SKILLS).map(([name, desc]) => ` ${name.padEnd(30)} ${desc}`).join("\n")} +${Object.entries(SKILLS) + .map(([name, desc]) => ` ${name.padEnd(30)} ${desc}`) + .join("\n")} `); } @@ -64,14 +74,20 @@ function listSkills() { function installSkill(skillName, targetDir) { const skillsPath = join(packageRoot, "skills", skillName, "SKILL.md"); - + if (!existsSync(skillsPath)) { console.error(`Error: Skill not found: ${skillName}`); console.log("Run 'convex-skills list' to see available skills."); process.exit(1); } - const targetPath = join(targetDir, ".claude", "skills", skillName, "SKILL.md"); + const targetPath = join( + targetDir, + ".claude", + "skills", + skillName, + "SKILL.md", + ); const targetSkillDir = dirname(targetPath); if (!existsSync(targetSkillDir)) { @@ -94,12 +110,14 @@ function installAllSkills(targetDir) { installSkill(skillName, targetDir); }); - console.log(`\nDone! Installed ${skills.length} skills to ${join(targetDir, ".claude", "skills")}`); + console.log( + `\nDone! Installed ${skills.length} skills to ${join(targetDir, ".claude", "skills")}`, + ); } function installTemplates(targetDir) { const templatesDir = join(packageRoot, "templates"); - + // Install CLAUDE.md template const claudeTemplate = join(templatesDir, "CLAUDE.md"); if (existsSync(claudeTemplate)) { @@ -115,9 +133,11 @@ function installTemplates(targetDir) { // Install skill templates const skillTemplatesDir = join(templatesDir, "skills"); if (existsSync(skillTemplatesDir)) { - const templates = readdirSync(skillTemplatesDir).filter((f) => f.endsWith(".md")); + const templates = readdirSync(skillTemplatesDir).filter((f) => + f.endsWith(".md"), + ); const targetSkillsDir = join(targetDir, ".claude", "skills"); - + if (!existsSync(targetSkillsDir)) { mkdirSync(targetSkillsDir, { recursive: true }); } @@ -139,7 +159,7 @@ function installTemplates(targetDir) { function showSkill(skillName) { const skillsPath = join(packageRoot, "skills", skillName, "SKILL.md"); - + if (!existsSync(skillsPath)) { console.error(`Error: Skill not found: ${skillName}`); process.exit(1); @@ -151,7 +171,7 @@ function showSkill(skillName) { function printSkillPath(skillName) { const skillsPath = join(packageRoot, "skills", skillName, "SKILL.md"); - + if (!existsSync(skillsPath)) { console.error(`Error: Skill not found: ${skillName}`); process.exit(1); diff --git a/changelog.md b/changelog.md index 5aff7b2..357d6cb 100644 --- a/changelog.md +++ b/changelog.md @@ -17,11 +17,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `files.md`: Codebase structure reference - `task.md`: Completed task tracking - `docs.md`: Documentation index +- `skills/convex/SKILL.md`: Umbrella skill indexing all Convex skills ### Changed - Updated `README.md` with templates section and repository structure +### Fixed + +- Skill `name` field now matches folder name for `/skill` commands to work + - Changed from human readable (e.g., `Convex Best Practices`) to kebab-case (e.g., `convex-best-practices`) + - Added `displayName` field for human readable names + - Affects all 12 Convex skill files + ## [1.0.0] - 2026-01-14 ### Added diff --git a/convex-skills-updates-plan.md b/convex-skills-updates-plan.md new file mode 100644 index 0000000..be3bb6b --- /dev/null +++ b/convex-skills-updates-plan.md @@ -0,0 +1,380 @@ +# Convex Skills: Build and Maintenance Guide + +A practical guide for building, publishing, and maintaining AI agent skills packages. + +## How This Package Was Built + +### Architecture Overview + +The package follows a simple, modular structure that works across multiple AI coding agents (Claude Code, Codex, OpenCode, Cursor, Gemini). + +``` +convex-skills/ +├── skills/ # Core skills (SKILL.md files) +├── templates/ # Starter templates for forks +├── command/ # Slash commands (OpenCode) +├── bin/cli.js # CLI for npm installs +├── index.js # Programmatic API +├── package.json # npm configuration +├── AGENTS.md # Agent-facing docs +├── CLAUDE.md # Claude-specific context +└── GEMINI.md # Gemini-specific context +``` + +### Key Design Decisions + +**1. One skill per folder** + +Each skill lives in `skills//SKILL.md`. This pattern: + +- Makes discovery straightforward for AI agents +- Enables selective installation +- Follows the Agent Skills spec from Anthropic + +**2. Frontmatter metadata** + +Every `SKILL.md` starts with YAML frontmatter: + +```yaml +--- +name: convex-best-practices +description: Guidelines for building production-ready Convex apps +version: 1.0.0 +author: Convex +tags: [convex, best-practices, typescript] +--- +``` + +**3. Multi-agent support files** + +Different AI tools read different files: + +- `AGENTS.md` and `CLAUDE.md` for Claude Code +- `GEMINI.md` for Gemini CLI +- `.cursor/rules/` for Cursor IDE + +**4. Dual distribution** + +The package supports both: + +- **npm install**: CLI and programmatic access +- **git clone**: Direct file access and forking + +### Publishing to npm + +**Initial setup:** + +```bash +# Login to npm (once) +npm login + +# Verify package.json has correct scope +# name: "@waynesutton/convex-skills" +``` + +**Publish workflow:** + +```bash +# Bump version in package.json +npm version patch # or minor/major + +# Publish +npm publish --access public + +# Verify +npm info @waynesutton/convex-skills +``` + +**package.json essentials:** + +```json +{ + "name": "@waynesutton/convex-skills", + "version": "1.0.3", + "type": "module", + "main": "index.js", + "bin": { + "convex-skills": "./bin/cli.js" + }, + "files": [ + "skills/**/*.md", + "templates/**/*.md", + "AGENTS.md", + "CLAUDE.md", + "GEMINI.md", + "index.js", + "bin/" + ] +} +``` + +The `files` array controls what gets published. Use `.npmignore` for additional exclusions. + +--- + +## Maintenance Checklist + +### Weekly + +- [ ] Check Convex docs for API changes +- [ ] Review GitHub issues +- [ ] Update skills if Convex releases new features + +### Monthly + +- [ ] Audit all doc links in skills (broken link check) +- [ ] Review npm download stats +- [ ] Check for new AI agent platforms to support + +### Per Release + +- [ ] Update `changelog.md` with changes +- [ ] Bump version following semver +- [ ] Test CLI commands locally +- [ ] Test `npm pack` before publishing +- [ ] Tag release in git + +--- + +## Updating Skills + +### Adding a New Skill + +1. Create folder: `skills//` + +2. Create `SKILL.md` with required structure: + +```markdown +--- +name: skill-name +description: What this skill does +version: 1.0.0 +author: Convex +tags: [convex, relevant-tags] +--- + +# Skill Name + +## Documentation Sources + +[Links to official docs] + +## Instructions + +[Step-by-step guidance] + +## Examples + +[Working code examples] + +## Best Practices + +[Rules to follow] + +## References + +[Additional resources] +``` + +3. Add to `index.js` SKILLS object: + +```javascript +export const SKILLS = { + // ... existing + "new-skill-name": "Description", +}; +``` + +4. Add to `bin/cli.js` SKILLS object (same format) + +5. Update `files.md` with new skill entry + +6. Update `changelog.md` + +7. Bump version and publish + +### Updating Existing Skills + +1. Edit the `SKILL.md` file +2. Update version in frontmatter if significant change +3. Document in `changelog.md` +4. Bump package version (patch for fixes, minor for features) + +--- + +## Version Strategy + +Follow [Semantic Versioning](https://semver.org/): + +| Change Type | Version Bump | Example | +| ------------------------------ | ------------ | ------------- | +| Typo fixes, doc clarifications | patch | 1.0.3 → 1.0.4 | +| New skill added | minor | 1.0.4 → 1.1.0 | +| Breaking structure change | major | 1.1.0 → 2.0.0 | + +--- + +## Testing Before Publish + +```bash +# Test CLI locally +node bin/cli.js list +node bin/cli.js show convex-best-practices + +# Test npm pack (see what will be published) +npm pack --dry-run + +# Create local tarball for testing +npm pack +npm install ./waynesutton-convex-skills-1.0.3.tgz -g + +# Test install commands +convex-skills list +convex-skills install convex-best-practices --dir /tmp/test-project +``` + +--- + +## Future Updates Roadmap + +### Short Term (Next 30 Days) + +- [ ] Add `convex-auth` skill for authentication patterns +- [ ] Add `convex-vector-search` skill for AI/embeddings +- [ ] Add `convex-testing` skill for test patterns +- [ ] Update all skills to reference Convex v1.18+ APIs + +### Medium Term (Next 90 Days) + +- [ ] Add skill validation CLI command +- [ ] Auto-generate skill index from folder structure +- [ ] Add `convex-deployment` skill for production patterns +- [ ] Add `convex-rate-limiting` skill +- [ ] Consider monorepo tooling if skills grow significantly + +### Long Term + +- [ ] Automated doc link checking in CI +- [ ] Community contribution pipeline +- [ ] Skill versioning independent of package version +- [ ] Integration tests for each skill's code examples + +--- + +## Common Maintenance Tasks + +### Fixing Broken Documentation Links + +1. Search all skills for the broken URL +2. Update to current Convex docs URL +3. Verify new link works +4. Patch release + +```bash +# Find all doc links +grep -r "docs.convex.dev" skills/ +``` + +### Syncing with Convex API Changes + +When Convex releases new versions: + +1. Check [Convex changelog](https://docs.convex.dev/changelog) +2. Search skills for affected patterns +3. Update examples to use new APIs +4. Note deprecations in skill Best Practices section + +### Adding Support for New AI Agent + +1. Create agent-specific context file (like `GEMINI.md`) +2. Add installation instructions to README +3. Test with the target agent +4. Document in changelog + +--- + +## Automation Ideas + +### GitHub Actions for Link Checking + +```yaml +name: Check Links +on: + schedule: + - cron: "0 0 * * 0" # Weekly +jobs: + linkcheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: lycheeverse/lychee-action@v1 + with: + args: --verbose ./skills/ +``` + +### Pre-publish Checklist Script + +```bash +#!/bin/bash +# scripts/pre-publish.sh + +echo "Running pre-publish checks..." + +# Check all skills have frontmatter +for skill in skills/*/SKILL.md; do + if ! head -1 "$skill" | grep -q "^---$"; then + echo "ERROR: $skill missing frontmatter" + exit 1 + fi +done + +# Verify index.js matches skills folder +echo "Skills in folder: $(ls -1 skills | wc -l)" +echo "Skills in index.js: $(grep -c '"convex-' index.js)" + +echo "All checks passed!" +``` + +--- + +## Quick Reference + +### Publish New Version + +```bash +# 1. Update changelog.md +# 2. Bump version +npm version patch + +# 3. Publish +npm publish --access public + +# 4. Push tags +git push && git push --tags +``` + +### Test Installation Locally + +```bash +npm pack +npm install -g ./waynesutton-convex-skills-*.tgz +convex-skills list +``` + +### Check Published Package + +```bash +npm info @waynesutton/convex-skills +npm view @waynesutton/convex-skills versions +``` + +--- + +## Resources + +- [npm Publishing Guide](https://docs.npmjs.com/cli/v10/commands/npm-publish) +- [Semantic Versioning](https://semver.org/) +- [Keep a Changelog](https://keepachangelog.com/) +- [Agent Skills Spec](https://github.com/anthropics/skills) +- [Convex Documentation](https://docs.convex.dev/) +- [Convex LLMs.txt](https://docs.convex.dev/llms.txt) diff --git a/files.md b/files.md index 12ef643..90cb830 100644 --- a/files.md +++ b/files.md @@ -4,101 +4,104 @@ Brief description of each file in the repository. ## Root Files -| File | Description | -|------|-------------| -| `AGENTS.md` | Agent skills specification for AI coding agents | -| `CLAUDE.md` | Claude Code project context (mirrors AGENTS.md) | -| `CONTRIBUTING.md` | Contribution guidelines | -| `GEMINI.md` | Gemini CLI integration instructions | -| `LICENSE` | Apache-2.0 license | -| `README.md` | Project overview and installation | -| `changelog.md` | Version history following keepachangelog format | -| `files.md` | This file, codebase structure reference | -| `task.md` | Completed task tracking | +| File | Description | +| ------------------------------- | ----------------------------------------------- | +| `AGENTS.md` | Agent skills specification for AI coding agents | +| `CLAUDE.md` | Claude Code project context (mirrors AGENTS.md) | +| `CONTRIBUTING.md` | Contribution guidelines | +| `GEMINI.md` | Gemini CLI integration instructions | +| `LICENSE` | Apache-2.0 license | +| `README.md` | Project overview and installation | +| `changelog.md` | Version history following keepachangelog format | +| `files.md` | This file, codebase structure reference | +| `task.md` | Completed task tracking | +| `convex-skills-updates-plan.md` | Build guide and maintenance plan | ## Skills Directory (`skills/`) -Core Convex skills for AI agents. +Core Convex skills for AI agents. Each skill has `name` matching folder name for `/skill` commands. -| Skill | Description | -|-------|-------------| -| `convex-agents/SKILL.md` | Building AI agents with Convex | -| `convex-best-practices/SKILL.md` | Production-ready app guidelines | -| `convex-component-authoring/SKILL.md` | Creating reusable Convex components | -| `convex-cron-jobs/SKILL.md` | Scheduled functions and background tasks | -| `convex-file-storage/SKILL.md` | File upload, storage, and serving | -| `convex-functions/SKILL.md` | Queries, mutations, actions | -| `convex-http-actions/SKILL.md` | HTTP endpoints and webhooks | -| `convex-migrations/SKILL.md` | Schema evolution and data migrations | -| `convex-realtime/SKILL.md` | Reactive patterns and subscriptions | -| `convex-schema-validator/SKILL.md` | Schema definition and validation | -| `convex-security-audit/SKILL.md` | Deep security review patterns | -| `convex-security-check/SKILL.md` | Quick security audit checklist | +| Skill | Description | +| ------------------------------------- | ---------------------------------------- | +| `avoid-feature-creep/SKILL.md` | Prevent scope creep in development | +| `convex/SKILL.md` | Umbrella index for all Convex skills | +| `convex-agents/SKILL.md` | Building AI agents with Convex | +| `convex-best-practices/SKILL.md` | Production-ready app guidelines | +| `convex-component-authoring/SKILL.md` | Creating reusable Convex components | +| `convex-cron-jobs/SKILL.md` | Scheduled functions and background tasks | +| `convex-file-storage/SKILL.md` | File upload, storage, and serving | +| `convex-functions/SKILL.md` | Queries, mutations, actions | +| `convex-http-actions/SKILL.md` | HTTP endpoints and webhooks | +| `convex-migrations/SKILL.md` | Schema evolution and data migrations | +| `convex-realtime/SKILL.md` | Reactive patterns and subscriptions | +| `convex-schema-validator/SKILL.md` | Schema definition and validation | +| `convex-security-audit/SKILL.md` | Deep security review patterns | +| `convex-security-check/SKILL.md` | Quick security audit checklist | ## Command Directory (`command/`) Slash command definitions for OpenCode integration. -| File | Description | -|------|-------------| +| File | Description | +| ----------- | ------------------------------------------------------ | | `convex.md` | `/convex` slash command entrypoint with decision trees | ## Templates Directory (`templates/`) Templates for developers to copy when forking. -| File | Description | -|------|-------------| -| `CLAUDE.md` | Project context template for Convex projects | -| `skills/README.md` | Installation guide for skill templates | -| `skills/dev.md` | Full-stack development practices template | -| `skills/help.md` | Problem-solving methodology template | -| `skills/gitrules.md` | Git safety protocols template | +| File | Description | +| -------------------- | -------------------------------------------- | +| `CLAUDE.md` | Project context template for Convex projects | +| `skills/README.md` | Installation guide for skill templates | +| `skills/dev.md` | Full-stack development practices template | +| `skills/help.md` | Problem-solving methodology template | +| `skills/gitrules.md` | Git safety protocols template | ## Claude Skills Directory (`.claude/skills/`) Active Claude Code skills for this repository. -| File | Description | -|------|-------------| -| `convex.md` | Convex-specific coding guidelines | -| `dev.md` | Full-stack development practices | -| `gitrules.md` | Git safety protocols | -| `help.md` | Problem-solving methodology | -| `write.md` | Writing style guide | +| File | Description | +| ------------- | --------------------------------- | +| `convex.md` | Convex-specific coding guidelines | +| `dev.md` | Full-stack development practices | +| `gitrules.md` | Git safety protocols | +| `help.md` | Problem-solving methodology | +| `write.md` | Writing style guide | ## PRDs Directory (`prds/`) Product requirement documents and planning. -| File | Description | -|------|-------------| -| `CLAUDE-MD-STRATEGY.md` | Strategy for CLAUDE.md templates | -| `CLAUDE-MD-STRATEGY_1.md` | Alternate strategy document | -| `MARKETPLACE-SUBMISSION.md` | Marketplace submission guidelines | -| `create-convex-opencode-integration.md` | OpenCode integration spec | -| `future-skills-exploration.md` | Future skills roadmap | -| `phase3-convex-docs-recommendations.md` | Convex docs improvement recommendations | -| `phase4-convex-ai-website-recommendations.md` | convex.dev/ai recommendations | -| `skillsplan.md` | Skills development plan | +| File | Description | +| --------------------------------------------- | --------------------------------------- | +| `CLAUDE-MD-STRATEGY.md` | Strategy for CLAUDE.md templates | +| `CLAUDE-MD-STRATEGY_1.md` | Alternate strategy document | +| `MARKETPLACE-SUBMISSION.md` | Marketplace submission guidelines | +| `create-convex-opencode-integration.md` | OpenCode integration spec | +| `future-skills-exploration.md` | Future skills roadmap | +| `phase3-convex-docs-recommendations.md` | Convex docs improvement recommendations | +| `phase4-convex-ai-website-recommendations.md` | convex.dev/ai recommendations | +| `skillsplan.md` | Skills development plan | ## OpenCode Directory (`.opencode/`) OpenCode plugin configuration and templates. -| Directory | Description | -|-----------|-------------| -| `agent/` | Agent templates for orchestration | -| `command/` | Command templates for Convex operations | -| `plugin/` | Plugin hooks and tools | -| `skill/` | OpenCode-specific skills | -| `config.json` | Plugin configuration | +| Directory | Description | +| ------------- | --------------------------------------- | +| `agent/` | Agent templates for orchestration | +| `command/` | Command templates for Convex operations | +| `plugin/` | Plugin hooks and tools | +| `skill/` | OpenCode-specific skills | +| `config.json` | Plugin configuration | ## Cursor Directory (`.cursor/`) Cursor IDE configuration. -| Directory | Description | -|-----------|-------------| -| `plans/` | Development plans | -| `rules/` | Workspace rules for Cursor | +| Directory | Description | +| --------- | -------------------------- | +| `plans/` | Development plans | +| `rules/` | Workspace rules for Cursor | diff --git a/index.js b/index.js index 9b58258..a09da41 100644 --- a/index.js +++ b/index.js @@ -52,7 +52,8 @@ export function getSkillPath(skillName) { * Available skills with descriptions */ export const SKILLS = { - "convex-best-practices": "Guidelines for building production-ready Convex apps", + "convex-best-practices": + "Guidelines for building production-ready Convex apps", "convex-functions": "Writing queries, mutations, actions, and HTTP actions", "convex-realtime": "Patterns for building reactive applications", "convex-schema-validator": "Database schema definition and validation", diff --git a/skills/convex-agents/SKILL.md b/skills/convex-agents/SKILL.md index a67fc3d..4013585 100644 --- a/skills/convex-agents/SKILL.md +++ b/skills/convex-agents/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Agents +name: convex-agents +displayName: Convex Agents description: Building AI agents with the Convex Agent component including thread management, tool integration, streaming responses, RAG patterns, and workflow orchestration version: 1.0.0 author: Convex diff --git a/skills/convex-best-practices/SKILL.md b/skills/convex-best-practices/SKILL.md index 97081d3..f9f7cc4 100644 --- a/skills/convex-best-practices/SKILL.md +++ b/skills/convex-best-practices/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Best Practices +name: convex-best-practices +displayName: Convex Best Practices description: Guidelines for building production-ready Convex apps covering function organization, query patterns, validation, TypeScript usage, error handling, and the Zen of Convex design philosophy version: 1.0.0 author: Convex diff --git a/skills/convex-component-authoring/SKILL.md b/skills/convex-component-authoring/SKILL.md index 61ee56f..00046d6 100644 --- a/skills/convex-component-authoring/SKILL.md +++ b/skills/convex-component-authoring/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Component Authoring +name: convex-component-authoring +displayName: Convex Component Authoring description: How to create, structure, and publish self-contained Convex components with proper isolation, exports, and dependency management version: 1.0.0 author: Convex diff --git a/skills/convex-cron-jobs/SKILL.md b/skills/convex-cron-jobs/SKILL.md index dc6683f..66bd974 100644 --- a/skills/convex-cron-jobs/SKILL.md +++ b/skills/convex-cron-jobs/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Cron Jobs +name: convex-cron-jobs +displayName: Convex Cron Jobs description: Scheduled function patterns for background tasks including interval scheduling, cron expressions, job monitoring, retry strategies, and best practices for long-running tasks version: 1.0.0 author: Convex diff --git a/skills/convex-file-storage/SKILL.md b/skills/convex-file-storage/SKILL.md index b206633..ffa39c9 100644 --- a/skills/convex-file-storage/SKILL.md +++ b/skills/convex-file-storage/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex File Storage +name: convex-file-storage +displayName: Convex File Storage description: Complete file handling including upload flows, serving files via URL, storing generated files from actions, deletion, and accessing file metadata from system tables version: 1.0.0 author: Convex diff --git a/skills/convex-functions/SKILL.md b/skills/convex-functions/SKILL.md index 62d9a57..3512123 100644 --- a/skills/convex-functions/SKILL.md +++ b/skills/convex-functions/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Functions +name: convex-functions +displayName: Convex Functions description: Writing queries, mutations, actions, and HTTP actions with proper argument validation, error handling, internal functions, and runtime considerations version: 1.0.0 author: Convex diff --git a/skills/convex-http-actions/SKILL.md b/skills/convex-http-actions/SKILL.md index de801e6..1a88e8e 100644 --- a/skills/convex-http-actions/SKILL.md +++ b/skills/convex-http-actions/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex HTTP Actions +name: convex-http-actions +displayName: Convex HTTP Actions description: External API integration and webhook handling including HTTP endpoint routing, request/response handling, authentication, CORS configuration, and webhook signature validation version: 1.0.0 author: Convex diff --git a/skills/convex-migrations/SKILL.md b/skills/convex-migrations/SKILL.md index 964508b..6eae281 100644 --- a/skills/convex-migrations/SKILL.md +++ b/skills/convex-migrations/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Migrations +name: convex-migrations +displayName: Convex Migrations description: Schema migration strategies for evolving applications including adding new fields, backfilling data, removing deprecated fields, index migrations, and zero-downtime migration patterns version: 1.0.0 author: Convex diff --git a/skills/convex-realtime/SKILL.md b/skills/convex-realtime/SKILL.md index 510e5bd..a9e6c39 100644 --- a/skills/convex-realtime/SKILL.md +++ b/skills/convex-realtime/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Realtime +name: convex-realtime +displayName: Convex Realtime description: Patterns for building reactive apps including subscription management, optimistic updates, cache behavior, and paginated queries with cursor-based loading version: 1.0.0 author: Convex diff --git a/skills/convex-schema-validator/SKILL.md b/skills/convex-schema-validator/SKILL.md index 8497b31..20344f8 100644 --- a/skills/convex-schema-validator/SKILL.md +++ b/skills/convex-schema-validator/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Schema Validator +name: convex-schema-validator +displayName: Convex Schema Validator description: Defining and validating database schemas with proper typing, index configuration, optional fields, unions, and migration strategies for schema changes version: 1.0.0 author: Convex diff --git a/skills/convex-security-audit/SKILL.md b/skills/convex-security-audit/SKILL.md index 2881fa7..ff5c180 100644 --- a/skills/convex-security-audit/SKILL.md +++ b/skills/convex-security-audit/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Security Audit +name: convex-security-audit +displayName: Convex Security Audit description: Deep security review patterns for authorization logic, data access boundaries, action isolation, rate limiting, and protecting sensitive operations version: 1.0.0 author: Convex diff --git a/skills/convex-security-check/SKILL.md b/skills/convex-security-check/SKILL.md index 6352ce8..38976da 100644 --- a/skills/convex-security-check/SKILL.md +++ b/skills/convex-security-check/SKILL.md @@ -1,5 +1,6 @@ --- -name: Convex Security Check +name: convex-security-check +displayName: Convex Security Check description: Quick security audit checklist covering authentication, function exposure, argument validation, row-level access control, and environment variable handling version: 1.0.0 author: Convex diff --git a/skills/convex/SKILL.md b/skills/convex/SKILL.md new file mode 100644 index 0000000..957fe4b --- /dev/null +++ b/skills/convex/SKILL.md @@ -0,0 +1,62 @@ +--- +name: convex +displayName: Convex Development +description: Umbrella skill for all Convex development patterns. Routes to specific skills like convex-functions, convex-realtime, convex-agents, etc. +version: 1.0.0 +author: Convex +tags: [convex, backend, database, realtime] +--- + +# Convex Development Skills + +This is an index skill for Convex development. Use specific skills for detailed guidance: + +## Core Development + +| Skill | Command | Use When | +|-------|---------|----------| +| Functions | `/convex-functions` | Writing queries, mutations, actions | +| Schema | `/convex-schema-validator` | Defining database schemas and validators | +| Realtime | `/convex-realtime` | Building reactive subscriptions | +| HTTP Actions | `/convex-http-actions` | Webhooks and HTTP endpoints | + +## Data & Storage + +| Skill | Command | Use When | +|-------|---------|----------| +| File Storage | `/convex-file-storage` | File uploads, serving, storage | +| Migrations | `/convex-migrations` | Schema evolution, data backfills | + +## Advanced Patterns + +| Skill | Command | Use When | +|-------|---------|----------| +| Agents | `/convex-agents` | Building AI agents with tools | +| Cron Jobs | `/convex-cron-jobs` | Scheduled background tasks | +| Components | `/convex-component-authoring` | Reusable Convex packages | + +## Security + +| Skill | Command | Use When | +|-------|---------|----------| +| Security Check | `/convex-security-check` | Quick security audit checklist | +| Security Audit | `/convex-security-audit` | Deep security review | + +## Guidelines + +| Skill | Command | Use When | +|-------|---------|----------| +| Best Practices | `/convex-best-practices` | General patterns and guidelines | + +## Quick Start + +For most tasks: +1. Start with `/convex-best-practices` for general patterns +2. Use `/convex-functions` for writing backend logic +3. Use `/convex-schema-validator` for data modeling +4. Use specific skills as needed for your use case + +## Documentation + +- Primary: https://docs.convex.dev +- LLM-optimized: https://docs.convex.dev/llms.txt