skillindex
v3.0.5
Published
Detecta automáticamente tu stack tecnológico e instala las mejores skills de agentes IA para tu proyecto.
Maintainers
Readme
Construido en Rust 🦀 — binario nativo, rápido y sin runtime. Escaneo 100% local, detección sin red.
npx skillindex # vía Node (sin instalar)
# o
cargo install skillindex # vía Rust
skillindex # binario nativoskillindex escanea tu proyecto, detecta las tecnologías que usas e instala skills curadas de agentes IA que hacen que Cursor, Claude Code y otros asistentes realmente entiendan tu stack.
Instalación
Opción 1 — npx (sin instalar, requiere Node.js)
npx skillindexIdeal para probar sin instalar nada. Usa el wrapper de npm que descarga el binario Rust apropiado para tu plataforma.
Opción 2 — Cargo (binario nativo Rust)
cargo install skillindex
skillindexCompila e instala el binario nativo. Más rápido, sin dependencia de Node, ideal para CI o uso diario.
cargo binstall skillindex # alternativa aún más rápida si usas cargo-binstallInicio rápido
Ejecútalo en la raíz de tu proyecto (con npx o skillindex si lo instalaste con Cargo):
npx skillindex
# o
skillindexListo. Hará:
- Escanear tu proyecto —
package.json/pnpm-lock.yaml/bun.lockpero tambiénCargo.toml,go.mod,pubspec.yaml,pyproject.toml/requirements.txt,*.csproj/*.sln/global.json,Package.swift, Gradle, Deno y más... - Detectar cada tecnología de tu stack (50+), sin importar el lenguaje o package manager.
- Mostrar un selector interactivo con las mejores skills para tu proyecto.
- Instalar en paralelo con progreso en vivo.
- Generar
CLAUDE.mdautomáticamente cuando Claude Code es uno de los agentes destino.
Omitir la confirmación
npx skillindex -yVista previa sin instalar
npx skillindex --dry-runResumen para Claude Code
Si claude-code es autodetectado o se pasa con -a, skillindex escribe un archivo CLAUDE.md en la raíz de tu proyecto resumiendo los archivos markdown instalados bajo .claude/skills.
Opciones
| Flag | Descripción |
| ----------------- | ---------------------------------------------------------------------------------------- |
| -y, --yes | Omite la confirmación (instala en todos los agentes detectados) |
| --dry-run | Muestra las skills detectadas sin instalar nada |
| --clear-cache | Limpia la caché de skills descargadas |
| -a, --agent | Instala solo para IDEs específicos (ej. cursor, claude-code, opencode, kiro-cli) |
| -v, --verbose | Muestra traza de instalación y detalles de errores |
| -h, --help | Muestra la ayuda |
Agentes soportados
Detecta automáticamente los agentes configurados en tu proyecto (<project>/.claude, .cursor, .opencode, etc.) y te permite elegir dónde instalar:
- Claude Code (
.claude), Cursor (.cursor), Opencode (.opencode), Kiro (.kiro), Cline (.cline), Junie (.junie), CodeBuddy (.codebuddy), y otros... - Si detecta más de un agente en el proyecto, muestra un selector para elegir dónde instalar (por defecto todos seleccionados; puedes desmarcar
.kirosi solo usas opencode/cursor). Si no hay ninguno, instala en.agents(universal). - Con
-ao-yse respeta tu elección sin preguntar;--dry-runmuestra los agentes elegidos sin instalar.
Tecnologías soportadas
skillindex detecta más de 50 tecnologías — no solo Node — desde tu package.json/lockfiles, pero también Cargo.toml (Rust), go.mod (Go), pubspec.yaml (Dart/Flutter), pyproject.toml/requirements.txt (Python), *.csproj/*.sln (.NET/C#), Package.swift (Swift), Gradle (Kotlin/Android/Spring), Deno, y más:
Frameworks y librerías
| Tecnología | Detectado desde |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| React | paquetes react, react-dom |
| Next.js | paquete next o next.config.* |
| Vue | paquete vue |
| Nuxt | paquete nuxt o nuxt.config.* |
| Svelte | svelte, @sveltejs/kit o svelte.config.js |
| Angular | @angular/core o angular.json |
| Astro | paquete astro o astro.config.* |
| Expo | paquete expo |
| React Native | paquete react-native |
| Flutter | archivo pubspec.yaml con clave flutter: |
| Kotlin Multiplatform | Gradle con plugin KMP: kotlin("multiplatform"), org.jetbrains.kotlin.multiplatform, o kotlin-multiplatform en gradle/libs.versions.toml |
| Android | Gradle con com.android.application, com.android.library, o com.android.kotlin.multiplatform.library |
| Remotion | remotion, @remotion/cli |
| GSAP | paquete gsap |
| Three.js | three, @react-three/fiber, @react-three/drei |
| Express | paquete express |
| Hono | paquete hono |
| NestJS | paquete @nestjs/core |
| Spring Boot | Gradle con spring-boot-starter o org.springframework.boot |
| ASP.NET Core | archivo .csproj con Microsoft.NET.Sdk.Web |
| Blazor | .csproj con Microsoft.NET.Sdk.BlazorWebAssembly o Microsoft.AspNetCore.Components |
| ASP.NET Minimal API | .csproj con Microsoft.AspNetCore.OpenApi o Swashbuckle.AspNetCore |
Estilos y UI
| Tecnología | Detectado desde |
| ------------ | -------------------------------------------------------- |
| Tailwind CSS | tailwindcss, @tailwindcss/vite o tailwind.config.* |
| shadcn/ui | components.json |
Runtimes y herramientas
| Tecnología | Detectado desde |
| ---------- | ------------------------------------------------------------ |
| TypeScript | paquete typescript o tsconfig.json |
| Node.js | package-lock.json, yarn.lock, pnpm-lock.yaml, .nvmrc |
| Bun | bun.lockb, bun.lock, bunfig.toml |
| Deno | deno.json, deno.jsonc, deno.lock |
| Dart | pubspec.yaml |
| Go | go.mod, go.work |
| Vite | paquete vite o vite.config.* |
| Turborepo | paquete turbo o turbo.json |
| Vitest | paquete vitest o vitest.config.* |
| oxlint | paquete oxlint o .oxlintrc.json |
| .NET | global.json, NuGet.Config, *.csproj, *.sln |
| C# | *.csproj, *.sln |
Backend y datos
| Tecnología | Detectado desde |
| --------------- | -------------------------------------------------------- |
| Supabase | @supabase/supabase-js, @supabase/ssr |
| Zod | paquete zod |
| React Hook Form | paquete react-hook-form |
| Neon Postgres | @neondatabase/serverless |
| Prisma | prisma, @prisma/client |
| Drizzle ORM | drizzle-orm, drizzle-kit |
| Stripe | stripe, @stripe/stripe-js, @stripe/react-stripe-js |
| Better Auth | paquete better-auth |
Autenticación
| Tecnología | Detectado desde |
| ---------- | -------------------------------------------------------------------------------------------------------------------------- |
| Clerk | @clerk/nextjs, @clerk/react, @clerk/expo, @clerk/astro, @clerk/remix, @clerk/vue, o cualquier scope @clerk/* |
Cloud y despliegue
| Tecnología | Detectado desde |
| ----------------- | ---------------------------------------------------- |
| Vercel | vercel.json, .vercel/, @astrojs/vercel |
| Cloudflare | wrangler, wrangler.toml, @astrojs/cloudflare |
| Cloudflare Agents | paquete agents |
| Cloudflare AI | @cloudflare/ai o binding AI en wrangler.json |
| Durable Objects | durable_objects en wrangler.json/wrangler.toml |
| Azure | paquetes @azure/* |
| AWS | paquetes @aws-sdk/*, aws-cdk* |
IA
| Tecnología | Detectado desde |
| ------------- | ------------------------------------------------------------- |
| Vercel AI SDK | ai, @ai-sdk/openai, @ai-sdk/anthropic, @ai-sdk/google |
| ElevenLabs | paquete elevenlabs |
Otros
| Tecnología | Detectado desde |
| ---------- | ------------------------------------------------------------------------------------------ |
| Playwright | @playwright/test, playwright o playwright.config.* |
| SwiftUI | Package.swift |
| WordPress | wp-config.php, @wordpress/*, composer.json con wpackagist, theme style.css |
| Tauri | @tauri-apps/api, @tauri-apps/cli o src-tauri/tauri.conf.json |
| Electron | paquete electron, electron-builder.yml, forge.config.js, o electron-vite.config.ts |
Detección de frontend web
Incluso sin framework, skillindex escanea tu árbol de archivos en busca de señales de frontend web (.html, .css, .scss, .vue, .svelte, .jsx, .tsx, .twig, .blade.php, etc.) e instala skills de diseño frontend, accesibilidad y SEO.
Detección de combinaciones
Cuando se usan múltiples tecnologías juntas, skillindex detecta combinaciones de tecnologías y añade skills especializadas para la combinación:
- Next.js + Supabase — Mejores prácticas de Supabase Postgres para Next.js
- Next.js + Vercel AI SDK — Patrones del AI SDK con Next.js
- Next.js + Playwright — Mejores prácticas de testing E2E para Next.js
- React + shadcn/ui — Patrones de componentes shadcn con React
- Tailwind CSS + shadcn/ui — Integración Tailwind v4 + shadcn
- Expo + Tailwind CSS — Configuración de Tailwind para Expo
- React Native + Expo — Patrones de UI nativa
- React Hook Form + Zod — Patrones de validación de formularios con esquemas Zod
- GSAP + React — Patrones de animación GSAP en React
- Cloudflare + Vite — Guía de migración Vinext
- Node.js + Express — Patrones de servidor Express
Cómo funciona
skillindex está escrito en Rust y usa skills.sh por debajo — el registro abierto de skills para agentes IA. Las skills son archivos markdown que enseñan a los asistentes IA cómo trabajar con tecnologías específicas, siguiendo mejores prácticas y patrones de los mantenedores oficiales.
Todo el escaneo y detección se ejecuta 100% en local y en Rust, sin peticiones de red hasta que comienza la instalación. El binario nativo garantiza instalación paralela y progreso en vivo con rendimiento nativo.
Requisitos
- Vía npx: Node.js >= 22.0.0
- Vía Cargo: Rust >= 1.98.1 (
rustuprecomendado) —cargo install skillindex - Si instalas el binario con Cargo, no necesitas Node.js en absoluto
Licencia
MIT — Creado por Gabriel Ortega
