CommunityRedacción y edicióngithub.com

Anmolop97/Agent-Skills

Referencia para la API de Claude / SDK de Anthropic: IDs de modelos, precios, parámetros, streaming, uso de herramientas, MCP, agentes, caché, conteo de tokens, migración de modelos.

¿Qué es Agent-Skills?

Este skill proporciona una referencia completa y actualizada para construir aplicaciones potenciadas por LLM utilizando la API de Claude de Anthropic y sus SDK oficiales. Es útil para desarrolladores que trabajan con Claude en múltiples lenguajes de programación, ya que ofrece documentación detallada sobre modelos, precios, streaming, uso de herramientas (incluyendo MCP), agentes, caché, conteo de tokens y migración entre modelos. El skill soporta plataformas como Claude Code, Cursor y Codex, y se organiza en secciones por lenguaje (Python, TypeScript, entre otros) y recursos compartidos. Su funcionamiento se basa en seguir un flujo estructurado: detectar el lenguaje del proyecto, leer la documentación específica, y ejecutar subcomandos como `migrate`, `prompt-audit` o `cost-optimize` para realizar tareas especializadas sin improvisar, verificando siempre que el código generado se ajuste a las APIs documentadas.

Compatible con✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/Anmolop97/Agent-Skills/tree/HEAD/skills/claude-api

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Construcción de Aplicaciones Potenciadas por LLM con Claude

Este skill te ayuda a construir aplicaciones potenciadas por LLM con Claude. Elige la superficie adecuada según tus necesidades, detecta el lenguaje del proyecto y luego lee la documentación específica para ese lenguaje.

Antes de Comenzar

Analiza el archivo objetivo (o, si no hay archivo objetivo, el prompt y el proyecto) en busca de indicadores de proveedores que no sean Anthropic: import openai, from openai, langchain_openai, OpenAI(, gpt-4, gpt-5, nombres de archivo como agent-openai.py o *-generic.py, o cualquier instrucción explícita de mantener el código neutral respecto al proveedor. Si encuentras alguno, detente e informa al usuario que este skill produce código para el SDK de Claude/Anthropic; pregúntale si desea cambiar el archivo a Claude o si prefiere una implementación que no use Claude. No edites un archivo no-Anthropic con llamadas al SDK de Anthropic. (Excepción: el subcomando prompt-audit no es interactivo y no se detiene aquí; registra los indicadores de proveedores no-Anthropic en las suposiciones indicadas de su informe y nunca propone cambiar un archivo no-Anthropic al SDK de Anthropic).

Requisito de Salida

Cuando el usuario te pida agregar, modificar o implementar una característica de Claude, tu código debe llamar a Claude a través de una de las siguientes opciones:

  1. El SDK oficial de Anthropic para el lenguaje del proyecto (anthropic, @anthropic-ai/sdk, com.anthropic.*, etc.). Esta es la opción por defecto siempre que exista un SDK compatible para el proyecto.
  2. HTTP sin procesar (curl, requests, fetch, httpx, etc.) - solo cuando el usuario lo solicite explícitamente (cURL/REST/HTTP sin procesar), el proyecto sea un proyecto shell/cURL, o el lenguaje no tenga un SDK oficial.

Nunca mezcles ambas opciones: no uses requests/fetch en un proyecto de Python o TypeScript solo porque parezca más liviano. Nunca recurras a shims compatibles con OpenAI.

Nunca adivines el uso del SDK. Los nombres de funciones, nombres de clases, espacios de nombres, firmas de métodos y rutas de importación deben provenir de documentación explícita, ya sea de los archivos {lang}/ de este skill o de los repositorios oficiales del SDK o enlaces de documentación listados en shared/live-sources.md. Si el enlace que necesitas no está documentado explícitamente en los archivos del skill, obtén mediante WebFetch el repositorio del SDK relevante desde shared/live-sources.md antes de escribir código. No infieras APIs de Ruby/Java/Go/PHP/C# a partir de formas de cURL o del SDK de otro lenguaje.

Si WebFetch o el acceso al repositorio fallan (restricciones de red, tiempos de espera, clonación bloqueada): no sigas reintentando; escribe código basándote en los patrones y las tablas de espacios de nombres/paquetes del archivo {lang}/, ejecuta el compilador o intérprete sobre él e itera sobre la salida de errores. Para SDKs de tipado estático (C#, Java, Go), un bucle de compilación y corrección contra errores locales llega a código funcional más rápido que una investigación de red bloqueada.

Valores por Defecto

A menos que el usuario solicite lo contrario:

Para la versión del modelo Claude, usa Claude Opus 5.5, al que puedes acceder mediante la cadena de modelo exacta claude-opus-5-5. Usa pensamiento adaptativo por defecto (thinking: {type: "adaptive"}) para cualquier cosa remotamente compleja. Y finalmente, usa streaming por defecto para cualquier solicitud que pueda implicar entrada larga, salida larga o un max_tokens alto; esto evita tiempos de espera en las solicitudes. Usa el ayudante .get_final_message() / .finalMessage() del SDK para obtener la respuesta completa si no necesitas manejar eventos de streaming individuales. Cuando una solicitud en streaming defina herramientas de usuario (cliente), establece eager_input_streaming: true en cada una de esas herramientas para que las entradas grandes (contenido de archivos, código, documentos) se transmitan a medida que se generan, en lugar de llegar en una sola ráfaga después de que el servidor termine de almacenarlas en búfer; el cliente es entonces responsable de la validación: los analizadores tolerantes de los SDK pueden devolver una entrada truncada silenciosamente en lugar de lanzar una excepción, por lo que debes validar cada entrada de herramienta analizada contra su esquema antes de ejecutarla (los ayudantes de ejecución tipados como betaZodTool / @beta_tool con tipo lo hacen; betaTool() con herramientas de esquema JSON y los bucles manuales deben validarse a sí mismos), trata un fallo como JSON no válido (error INVALID_JSON en tool_result cuando retienes el bloque, vuelve a emitir en caso contrario), verifica las razones de parada max_tokens / refusal antes de ejecutar herramientas, y captura solo el error JSON del SDK, nunca sus errores de API tipados - patrón en shared/tool-use-concepts.md -> Eager input streaming. Déjalo desactivado para solicitudes sin streaming, para herramientas del servidor, y cuando la solicitud pase a través de un proxy o una implementación de modelo Bedrock más antigua que rechace el campo.

Advertencia: Deriva de API - Tu Conocimiento de Entrenamiento Puede Estar Desactualizado

Varias formas comunes de la API de Claude cambiaron en 2025-2026. Si recuerdas un patrón de tu entrenamiento, verifícalo contra los archivos {lang}/ de este skill antes de escribir; las filas siguientes son los puntos de deriva más frecuentes:

ÁreaConocimiento desactualizadoAPI actual
Pensamiento extendidothinking: {type: "enabled", budget_tokens: N}En modelos Claude 4.6+: thinking: {type: "adaptive"}. budget_tokens está obsoleto en Opus 4.6 / Sonnet 4.6 y se rechaza con un 400 en Fable 5/5.1 / Sonnet 5.5 / Sonnet 5 / Opus 5.5 / 5 / 4.8 / 4.7. Los modelos anteriores a 4.6 aún usan budget_tokens.
Tipo de herramienta de búsqueda web/obtención webweb_search_20250305, web_fetch_20250910web_search_20260209, web_fetch_20260209 (filtrado dinámico) en Opus 5.5/5/4.8/4.7/4.6, Sonnet 5.5, Sonnet 5 y Sonnet 4.6. Los modelos más antiguos mantienen las variantes básicas; en Vertex AI solo está disponible la variante básica web_search_20250305 (la obtención web no está en Vertex) - consulta el QR de Herramientas del Servidor a continuación.
Nombres de parámetros en PHPNombres de argumentos en snake_case (max_tokens)Los argumentos de nivel superior son camelCase (maxTokens). Las claves de arrays anidados varían según la característica (ej. 'taskBudget', 'skillID', 'mcp_server_name') - copia la clave exacta del ejemplo documentado; no hagas una conversión masiva.
Credenciales de Agentes GestionadosMantener los secretos del lado del host mediante herramientas personalizadas (la única opción antes de que se enviaran las bóvedas)Credenciales de environment_variable de la Bóveda - almacenadas por Anthropic, sustituidas en la salida, nunca visibles en el sandbox (shared/managed-agents-tools.md -> Bóvedas). Las herramientas personalizadas del lado del host siguen siendo la alternativa para sandboxes auto-alojados.
API de Archivos / Skillsclient.beta.files.* / client.beta.skills.* con beta files-api-2025-04-14 / skills-2025-10-02Fuera de beta: client.files.* / client.skills.*, sin encabezado beta. En los SDK actuales, client.beta.files / client.beta.skills tienen cambios de forma disruptivos con respecto a versiones anteriores, coincidiendo con los espacios de nombres estables; migra según shared/live-sources.md -> Guía de API de Archivos / Skills.

Los archivos {lang}/ de este skill tienen autoridad sobre los patrones recordados.


Subcomandos

Si la Solicitud del Usuario al final de este prompt es una cadena de subcomando simple (sin prosa), busca en cada tabla de Subcomandos de este documento, incluidas las de las secciones añadidas a continuación, y sigue directamente la columna Acción correspondiente. Esto permite a los usuarios invocar flujos específicos mediante /claude-api <subcommand>. Si ninguna tabla del documento coincide, trata la solicitud como prosa normal.

SubcomandoAcción
migrateMigrar código existente de la API de Claude a un modelo más nuevo. Lee shared/model-migration.md inmediatamente y síguelo en orden: Paso 0 (confirmar el alcance - pregunta qué archivos/directorios antes de cualquier edición), Paso 1 (clasificar cada archivo), luego la sección de cambios disruptivos por destino. No resumas la guía; ejecútala. Si el usuario no nombró un modelo de destino, pregunta a qué modelo migrar en el mismo turno que la pregunta de alcance. Después de aplicar los cambios por destino, audita el texto del prompt, las descripciones de herramientas y el código de solicitud dentro del alcance contra shared/prompt-audit.md - los prompts escritos para el modelo fuente son parte de cada migración, y no se anuncian por sí mismos.
prompt-auditAuditar prompts existentes, descripciones de herramientas, skills y archivos de configuración de agentes (CLAUDE.md, archivos de reglas, comandos, subagentes) en busca de patrones desactualizados ("código muerto"): texto escrito para modelos antiguos e instrucciones que el repositorio ha superado o que se contradicen entre sí. Lee shared/prompt-audit.md inmediatamente y síguelo en orden: Paso 0 (establecer el alcance y el modelo de destino a partir de la solicitud y el repositorio - indica las suposiciones en el informe, no te detengas a preguntar), inventario, procedencia y luego el escaneo de patrones. Produce ambos entregables en su totalidad (el informe de auditoría con hallazgos, patrón, por qué está obsoleto, confianza) y un diff propuesto, sin pausar para confirmación; aplica ediciones solo si la solicitud lo pidió explícitamente. No resumas la guía; ejecútala.
upgradeActualizar la dependencia del SDK de Anthropic del proyecto a través de una versión principal; actualmente, el SDK de Python, anthropic 0.x -> 1.x. Las palabras posteriores pueden nombrar el lenguaje y/o un alcance (upgrade python, upgrade python sdk src/). Lee python/claude-api/sdk-upgrade.md inmediatamente y síguelo en orden: Paso 0 (confirmar el alcance, luego establecer las versiones actual y de destino; debe existir un 1.x publicado antes de escribir un pin), el inventario del Paso 1, cada sección numerada, luego la verificación y el informe. No resumas la guía; ejecútala. Si el lenguaje detectado o nombrado no tiene sdk-upgrade.md en este skill, di que aún no hay una guía de actualización de versión principal para ese SDK y dirige al usuario al CHANGELOG de ese SDK (repositorios en shared/live-sources.md); no improvises una a partir de la guía de Python. Esto no es una migración de modelo; para mover código a un modelo Claude más nuevo, usa migrate.
cost-optimizeReducir el costo de ejecución del código existente de la API de Claude sin sacrificar la calidad de la salida. Lee shared/cost-optimization.md inmediatamente y síguelo en orden: Paso 0 (establecer el alcance, el estándar de calidad y la línea de base), el perfil de tokens (medido a través de la API de Uso y Costos de Administración cuando el usuario tiene una clave de API de Administración, de los registros response.usage de la propia aplicación cuando los tiene (pregunta), o estimado a partir del código en caso contrario), luego una lista corta de palancas clasificadas por ahorro (cotizadas en dólares, % de la factura o cubos relativos según la fuente de datos que tengas), ganancias gratuitas (caché, higiene de tokens de entrada, higiene de bucles, higiene de tokens de salida, lote) antes de las compensaciones (presupuestos, esfuerzo, elección de modelo, multi-modelo); cualquier palanca que gane un lugar se convierte en su propio diff (propuesto por defecto, aplicado y medido contra la evaluación que cubre el tráfico que toca cuando el usuario lo solicita y aprueba), y "sin cambios recomendados" es un resultado válido. Dos reglas fijas: cada ejecución que ejercita el modelo gasta dinero real, así que obtén primero la aprobación del usuario; y cuando falte contexto para una palanca, trabaja interactivamente con el usuario; no se espera que este flujo de trabajo realice la auditoría en un solo intento. No resumas la guía; ejecútala: presentar el perfil y el plan clasificado al usuario es parte de su ejecución.
build-evalAyudar al usuario a construir un conjunto de evaluación para su aplicación potenciada por Claude. Lee shared/evals/build-eval.md inmediatamente y ejecuta su entrevista: Paso 0 (qué se está evaluando), Paso 1 (origen de los prompts - evaluación existente / transcripciones / sintetizados), Paso 2 (método de calificación), Paso 3 (script ejecutable + costo medido). Obtén la aprobación explícita del usuario sobre las entradas, el método de calificación y el costo antes de producir la evaluación.
preserved-thinking-migrationHacer que una integración existente sea compatible con el pensamiento preservado: la verificación que mantiene un bloque de pensamiento válido solo en la conversación que lo produjo. Lee shared/preserved-thinking-migration.md inmediatamente y síguelo en orden: Paso 0 (alcance, clases de tráfico, plataforma y modelo, estado de aplicación, estándar de calidad, línea de base), Paso 0.5 (demostrar que la verificación se está ejecutando con la autoprueba de tres solicitudes), Paso 1 (capturar los cuerpos de las solicitudes, diferenciar pares consecutivos con shared/preserved-thinking-migration/prefix_diff.py, escanear el código en busca de las causas, nombrar cada edición y determinar si es deliberada), Paso 2 (reproducir un segmento de prueba con prefix_mismatch_behavior: "drop_block" bajo el encabezado thinking-binding-controls-2026-08-01, contar los nuevos bloques eliminados por conversación, leer el encabezado de diagnóstico cuando esté presente), Paso 3 (una causa por diff en orden de razonamiento perdido - propuesto por defecto, aplicado cuando el usuario lo solicite - luego volver a medir, conservar o revertir; el protocolo de tres brazos cuando existe una evaluación), la sección de cambio de modelo (en shared/preserved-thinking-migration/causes.md, con la tabla de causas y la lista de conservación) cuando el arnés enruta entre modelos, Paso 4 (el perfil de ruptura y los cambios). Dos reglas fijas: cada reproducción gasta dinero real, así que obtén primero la aprobación del usuario para el presupuesto de medición; y "sin cambios recomendados" (el segmento reprodujo el pensamiento y no se eliminó nada) es un resultado válido. Las causas que tienen una forma de solo añadido solo bajo una beta más nueva (keep-tail y compactación en segundo plano: compact-2026-09-04; cambios de herramientas del mismo nombre: inline-tools-2026-09-15) se miden y deciden, no se reescriben, cuando esa beta no está disponible. Para el por qué (la verificación de tres pasos, la tabla de ediciones de solo añadido) se encadena a shared/model-migration.md -> Cambio disruptivo 3; no resumas la guía; ejecútala.
hillclimbMejorar iterativamente la aplicación del usuario contra una evaluación existente. Lee shared/evals/eval-hillclimb.md inmediatamente y síguelo: Paso 0 (confirmar que existe una evaluación ejecutable; si no, redirigir a build-eval), Paso 1 (qué cambiar / qué está prohibido), Paso 2 (presupuesto + condición de parada a partir del costo medido por ejecución), obtener la aprobación del plan, luego el bucle leer->proponer->aplicar->ejecutar->registrar con estado en disco y una división entrenamiento/validación/prueba.

Detección del Lenguaje

Antes de leer ejemplos de código, determina en qué lenguaje está trabajando el usuario (excepción: para el subcomando prompt-audit, omite los pasos de pregunta de esta sección; la auditoría no es interactiva y su inventario es independiente del lenguaje; cuando no se pueda inferir un lenguaje, continúa sin preguntar e indica la suposición en el informe):

  1. Revisa los archivos del proyecto para inferir el lenguaje:
  • *.py, requirements.txt, pyproject.toml, setup.py, Pipfile -> Python - lee desde python/
  • *.ts, *.tsx, package.json, tsconfig.json -> TypeScript - lee desde typescript/
  • *.java, pom.xml, build.gradle, build.gradle.kts, settings.gradle -> Java - lee desde java/
  • *.go, go.mod, go.sum -> Go - lee desde go/
  • *.rb, Gemfile, *.gemspec -> Ruby - lee desde ruby/
  • *.php, composer.json -> PHP - lee desde php/
  • *.cs, *.csproj, *.sln -> C# - lee desde csharp/
  • *.kt, *.kts, build.gradle.kts -> Kotlin - lee desde kotlin/
  • *.rs, Cargo.toml -> Rust - lee desde rust/
  1. Si no hay archivos de proyecto pero el usuario menciona explícitamente un lenguaje, úsalo.
  2. Si no se puede determinar, pregunta.
  3. Para solicitudes de subcomando (solo una cadena de subcomando en la parte inferior), no preguntes; asume que el usuario quiere la guía independiente del lenguaje y usa los archivos shared/.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Skills relacionados