Loading...
    • Guía para desarrolladores
    • Referencia de API
    • MCP
    • Recursos
    • Notas de la versión
    Search...
    ⌘K
    Primeros pasos
    Introducción a ClaudeInicio rápido
    Modelos y precios
    Descripción general de modelosElegir un modeloNovedades en Claude 4.5Migración a Claude 4.5Deprecación de modelosPrecios
    Construir con Claude
    Descripción general de característicasUsar la API de MessagesVentanas de contextoMejores prácticas de prompting
    Capacidades
    Almacenamiento en caché de promptsEdición de contextoPensamiento extendidoEsfuerzoStreaming de MessagesProcesamiento por lotesCitasSoporte multilingüeConteo de tokensEmbeddingsVisiónSoporte de PDFAPI de FilesResultados de búsquedaSalidas estructuradas
    Herramientas
    Descripción generalCómo implementar el uso de herramientasStreaming de herramientas de grano finoHerramienta BashHerramienta de ejecución de códigoLlamada de herramientas programáticaHerramienta de uso de computadoraHerramienta de editor de textoHerramienta de búsqueda webHerramienta de búsqueda webHerramienta de memoriaHerramienta de búsqueda de herramientas
    Agent Skills
    Descripción generalInicio rápidoMejores prácticasUsar Skills con la API
    Agent SDK
    Descripción generalInicio rápidoSDK de TypeScriptTypeScript V2 (vista previa)SDK de PythonGuía de migración
    Entrada de streamingManejo de permisosControlar la ejecución con hooksGestión de sesionesPunto de control de archivosSalidas estructuradas en el SDKAlojamiento del Agent SDKDespliegue seguro de agentes de IAModificar prompts del sistemaMCP en el SDKHerramientas personalizadasSubagentes en el SDKComandos de barra en el SDKAgent Skills en el SDKSeguimiento de costos y usoListas de tareasPlugins en el SDK
    MCP en la API
    Conector MCPServidores MCP remotos
    Claude en plataformas de terceros
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingeniería de prompts
    Descripción generalGenerador de promptsUsar plantillas de promptsMejorador de promptsSer claro y directoUsar ejemplos (prompting multishot)Dejar que Claude piense (CoT)Usar etiquetas XMLDar un rol a Claude (prompts del sistema)Rellenar la respuesta de ClaudeEncadenar prompts complejosConsejos de contexto largoConsejos de pensamiento extendido
    Probar y evaluar
    Definir criterios de éxitoDesarrollar casos de pruebaUsar la herramienta de evaluaciónReducir latencia
    Fortalecer protecciones
    Reducir alucinacionesAumentar consistencia de salidaMitigar ataques de jailbreakRechazos de streamingReducir fuga de promptsMantener a Claude en personaje
    Administración y monitoreo
    Descripción general de Admin APIAPI de uso y costoAPI de Claude Code Analytics
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Guías

    Plugins en el SDK

    Carga plugins personalizados para extender Claude Code con comandos, agentes, habilidades y hooks a través del Agent SDK

    Los plugins te permiten extender Claude Code con funcionalidad personalizada que puede compartirse entre proyectos. A través del Agent SDK, puedes cargar programáticamente plugins desde directorios locales para agregar comandos de barra diagonal personalizados, agentes, habilidades, hooks y servidores MCP a tus sesiones de agente.

    ¿Qué son los plugins?

    Los plugins son paquetes de extensiones de Claude Code que pueden incluir:

    • Comandos: Comandos de barra diagonal personalizados
    • Agentes: Subagentes especializados para tareas específicas
    • Habilidades: Capacidades invocadas por el modelo que Claude utiliza de forma autónoma
    • Hooks: Manejadores de eventos que responden al uso de herramientas y otros eventos
    • Servidores MCP: Integraciones de herramientas externas a través del Protocolo de Contexto de Modelo

    Para obtener información completa sobre la estructura de plugins y cómo crear plugins, consulta Plugins.

    Cargando plugins

    Carga plugins proporcionando sus rutas del sistema de archivos local en tu configuración de opciones. El SDK admite cargar múltiples plugins desde diferentes ubicaciones.

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Hello",
      options: {
        plugins: [
          { type: "local", path: "./my-plugin" },
          { type: "local", path: "/absolute/path/to/another-plugin" }
        ]
      }
    })) {
      // Plugin commands, agents, and other features are now available
    }

    Especificaciones de ruta

    Las rutas de plugins pueden ser:

    • Rutas relativas: Resueltas relativas a tu directorio de trabajo actual (por ejemplo, "./plugins/my-plugin")
    • Rutas absolutas: Rutas completas del sistema de archivos (por ejemplo, "/home/user/plugins/my-plugin")

    La ruta debe apuntar al directorio raíz del plugin (el directorio que contiene .claude-plugin/plugin.json).

    Verificando la instalación del plugin

    Cuando los plugins se cargan correctamente, aparecen en el mensaje de inicialización del sistema. Puedes verificar que tus plugins estén disponibles:

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    for await (const message of query({
      prompt: "Hello",
      options: {
        plugins: [{ type: "local", path: "./my-plugin" }]
      }
    })) {
      if (message.type === "system" && message.subtype === "init") {
        // Check loaded plugins
        console.log("Plugins:", message.plugins);
        // Example: [{ name: "my-plugin", path: "./my-plugin" }]
    
        // Check available commands from plugins
        console.log("Commands:", message.slash_commands);
        // Example: ["/help", "/compact", "my-plugin:custom-command"]
      }
    }

    Usando comandos de plugin

    Los comandos de los plugins se espacian automáticamente con el nombre del plugin para evitar conflictos. El formato es plugin-name:command-name.

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Load a plugin with a custom /greet command
    for await (const message of query({
      prompt: "/my-plugin:greet",  // Use plugin command with namespace
      options: {
        plugins: [{ type: "local", path: "./my-plugin" }]
      }
    })) {
      // Claude executes the custom greeting command from the plugin
      if (message.type === "assistant") {
        console.log(message.content);
      }
    }

    Si instalaste un plugin a través de la CLI (por ejemplo, /plugin install my-plugin@marketplace), aún puedes usarlo en el SDK proporcionando su ruta de instalación. Verifica ~/.claude/plugins/ para plugins instalados por CLI.

    Ejemplo completo

    Aquí hay un ejemplo completo que demuestra la carga y el uso de plugins:

    import { query } from "@anthropic-ai/claude-agent-sdk";
    import * as path from "path";
    
    async function runWithPlugin() {
      const pluginPath = path.join(__dirname, "plugins", "my-plugin");
    
      console.log("Loading plugin from:", pluginPath);
    
      for await (const message of query({
        prompt: "What custom commands do you have available?",
        options: {
          plugins: [
            { type: "local", path: pluginPath }
          ],
          maxTurns: 3
        }
      })) {
        if (message.type === "system" && message.subtype === "init") {
          console.log("Loaded plugins:", message.plugins);
          console.log("Available commands:", message.slash_commands);
        }
    
        if (message.type === "assistant") {
          console.log("Assistant:", message.content);
        }
      }
    }
    
    runWithPlugin().catch(console.error);

    Referencia de estructura de plugin

    Un directorio de plugin debe contener un archivo de manifiesto .claude-plugin/plugin.json. Opcionalmente puede incluir:

    my-plugin/
    ├── .claude-plugin/
    │   └── plugin.json          # Required: plugin manifest
    ├── commands/                 # Custom slash commands
    │   └── custom-cmd.md
    ├── agents/                   # Custom agents
    │   └── specialist.md
    ├── skills/                   # Agent Skills
    │   └── my-skill/
    │       └── SKILL.md
    ├── hooks/                    # Event handlers
    │   └── hooks.json
    └── .mcp.json                # MCP server definitions

    Para obtener información detallada sobre la creación de plugins, consulta:

    • Plugins - Guía completa de desarrollo de plugins
    • Referencia de plugins - Especificaciones técnicas y esquemas

    Casos de uso comunes

    Desarrollo y pruebas

    Carga plugins durante el desarrollo sin instalarlos globalmente:

    plugins: [
      { type: "local", path: "./dev-plugins/my-plugin" }
    ]

    Extensiones específicas del proyecto

    Incluye plugins en tu repositorio de proyecto para consistencia en todo el equipo:

    plugins: [
      { type: "local", path: "./project-plugins/team-workflows" }
    ]

    Múltiples fuentes de plugins

    Combina plugins de diferentes ubicaciones:

    plugins: [
      { type: "local", path: "./local-plugin" },
      { type: "local", path: "~/.claude/custom-plugins/shared-plugin" }
    ]

    Solución de problemas

    Plugin no se carga

    Si tu plugin no aparece en el mensaje de inicialización:

    1. Verifica la ruta: Asegúrate de que la ruta apunte al directorio raíz del plugin (que contiene .claude-plugin/)
    2. Valida plugin.json: Asegúrate de que tu archivo de manifiesto tenga una sintaxis JSON válida
    3. Verifica permisos de archivo: Asegúrate de que el directorio del plugin sea legible

    Comandos no disponibles

    Si los comandos del plugin no funcionan:

    1. Usa el espacio de nombres: Los comandos del plugin requieren el formato plugin-name:command-name
    2. Verifica el mensaje de inicialización: Verifica que el comando aparezca en slash_commands con el espacio de nombres correcto
    3. Valida archivos de comando: Asegúrate de que los archivos de comando markdown estén en el directorio commands/

    Problemas de resolución de ruta

    Si las rutas relativas no funcionan:

    1. Verifica el directorio de trabajo: Las rutas relativas se resuelven desde tu directorio de trabajo actual
    2. Usa rutas absolutas: Para mayor confiabilidad, considera usar rutas absolutas
    3. Normaliza rutas: Usa utilidades de ruta para construir rutas correctamente

    Ver también

    • Plugins - Guía completa de desarrollo de plugins
    • Referencia de plugins - Especificaciones técnicas
    • Comandos de barra diagonal - Usando comandos de barra diagonal en el SDK
    • Subagentes - Trabajando con agentes especializados
    • Habilidades - Usando Agent Skills
    • ¿Qué son los plugins?
    • Cargando plugins
    • Especificaciones de ruta
    • Verificando la instalación del plugin
    • Usando comandos de plugin
    • Ejemplo completo
    • Referencia de estructura de plugin
    • Casos de uso comunes
    • Desarrollo y pruebas
    • Extensiones específicas del proyecto
    • Múltiples fuentes de plugins
    • Solución de problemas
    • Plugin no se carga
    • Comandos no disponibles
    • Problemas de resolución de ruta
    • Ver también