reprompt
Servidor MCP de análisis de prompts: puntúa prompts, busca en el historial, detecta credenciales filtradas y escanea sesiones de codificación con IA.
Documentación
ctxray
Descubre cómo usas realmente la IA.
Haz una radiografía de tus sesiones de codificación con IA en Claude Code, Cursor, ChatGPT y 6 herramientas más. Descubre tus patrones, encuentra tokens desperdiciados, detecta secretos filtrados — todo localmente, nada sale de tu máquina.
Inicio rápido
pip install ctxray
ctxray scan # discover prompts from your AI tools
ctxray wrapped # your AI coding persona + shareable card
ctxray insights # your patterns vs research-optimal
ctxray privacy # what sensitive data you've exposed

Funciona en tu pipeline
Integra ctxray en tu CI como un control de calidad de prompts. Sin LLM, sin clave de API, sin red — <50ms por prompt.
# .github/workflows/prompt-quality.yml
- uses: ctxray/ctxray@main
with:
score-threshold: 43 # experimentally validated quality threshold
model: claude # model-specific rules (claude/gpt/gemini)
comment-on-pr: true
# .pre-commit-config.yaml
repos:
- repo: https://github.com/ctxray/ctxray
rev: v3.0.0
hooks:
- id: ctxray-lint-score # fail below quality threshold
# or: id: ctxray-lint-claude # Claude-specific rules + threshold
- Determinista — mismo prompt, misma puntuación, en cada ejecución. Sin comprobaciones LLM poco fiables.
- Aislado de red — funciona en redes offline y privadas. Todo el análisis permanece en tu infraestructura.
- Configurable —
.ctxray.tomlo[tool.ctxray.lint]en pyproject.toml. Reglas por proyecto.
Configuración completa: GitHub Action · pre-commit · .ctxray.toml
Lo que descubrirás
Tu persona de codificación con IA
ctxray wrapped genera un informe estilo Spotify Wrapped de tus interacciones con IA — tu persona (¿Depurador? ¿Arquitecto? ¿Explorador?), patrones principales y una tarjeta compartible.
Tus patrones de prompts
ctxray insights compara tus hábitos reales de prompting con puntos de referencia respaldados por investigación. ¿Son tus prompts lo suficientemente específicos? ¿Cargas las instrucciones al principio? ¿Cuánto contexto proporcionas?
Tu exposición de privacidad
ctxray privacy --deep escanea cada prompt que has enviado en busca de claves de API, tokens, contraseñas y PII. Ve exactamente qué has compartido con cada herramienta de IA.
Diagnóstico completo de prompts
ctxray check "your prompt" puntúa, analiza y reescribe en un solo comando — sin LLM, <50ms.
Validado experimentalmente en más de 3000 llamadas LLM en 8 modelos (1.5B → 27B): los prompts con puntuación igual o superior a 43 alcanzan ~93% de tasa de aprobación en pruebas de código ejecutable. Por debajo de 43 promedian 72% o menos. ctxray te dice en qué lado estás y qué corregir — consulta experiments/RESULTS.md para los datos completos entre modelos.
ctxray check "fix the auth bug in login.ts" # threshold pass/fail + diagnostics
ctxray check "fix bug" --model claude # model-specific scoring for Claude
ctxray check "refactor middleware" --threshold 50 # custom threshold for stricter teams
Más capturas de pantalla
ctxray rewrite — mejora de prompts basada en reglas
ctxray build — ensambla prompts a partir de componentes
Cómo se ve un prompt malo
Todos los comandos
Descubre tus patrones
| Comando | Descripción |
|---|---|
ctxray wrapped | Persona de codificación con IA + tarjeta compartible |
ctxray insights | Patrones personales vs puntos de referencia óptimos según investigación |
ctxray tools | Comparación entre herramientas — cómo difieren tus hábitos en Claude Code / Cursor / ChatGPT |
ctxray sessions | Puntuaciones de calidad de sesión con detección de señales de frustración |
ctxray agent | Análisis de flujo de trabajo del agente — bucles de error, patrones de herramientas, eficiencia |
ctxray repetition | Detección de repeticiones entre sesiones — identifica prompts recurrentes |
ctxray patterns | Debilidades personales de prompts — carencias recurrentes por tipo de tarea |
ctxray distill | Extrae turnos importantes de conversaciones con puntuación de 6 señales |
ctxray projects | Desglose de calidad por proyecto |
ctxray style | Huella de prompting con --trends para seguimiento de evolución |
ctxray privacy | Ve qué datos enviaste y a dónde — rutas de archivos, errores, exposición de PII |
Optimiza tus prompts
| Comando | Descripción |
|---|---|
ctxray check "prompt" | Diagnóstico completo — puntuación + análisis + reescritura + aprobado/reprobado por umbral |
ctxray score "prompt" | Puntuación de 0-100 respaldada por investigación con más de 30 características |
ctxray score "prompt" --model claude | Puntuación específica por modelo — ajustes para Claude, GPT o Gemini |
ctxray rewrite "prompt" | Mejora basada en reglas — eliminación de relleno, reestructuración, limpieza de lenguaje evasivo |
ctxray build "task" | Construye prompts a partir de componentes — tarea, contexto, archivos, errores, restricciones |
ctxray compress "prompt" | Compresión de prompts en 4 capas (ahorro típico del 40-60% de tokens) |
ctxray compare "a" "b" | Análisis de prompts lado a lado (o --best-worst para selección automática) |
ctxray lint | Linter configurable con soporte para CI/GitHub Action |
Gestionar
| Comando | Descripción |
|---|---|
ctxray | Panel instantáneo — prompts, sesiones, puntuación media, categorías principales |
ctxray scan | Descubre automáticamente prompts de 9 herramientas de IA |
ctxray report | Analíticas completas: frases populares, clústeres, patrones (--html para el panel) |
ctxray digest | Resumen semanal comparando el período actual con el anterior |
ctxray template save|list|use | Guarda y reutiliza tus mejores prompts |
ctxray distill --export | Recupera el contexto cuando una sesión se agota — pega en una sesión nueva |
ctxray init | Genera la configuración de .ctxray.toml para tu proyecto |
Herramientas de IA compatibles
| Herramienta | Formato | Auto-descubierta por scan |
|---|---|---|
| Claude Code | JSONL | Sí |
| Codex CLI | JSONL | Sí |
| Cursor | .vscdb | Sí |
| Aider | Markdown | Sí |
| Gemini CLI | JSON | Sí |
| Cline (VS Code) | JSON | Sí |
| OpenClaw / OpenCode | JSON | Sí |
| ChatGPT | JSON | Vía ctxray import |
| Claude.ai | JSON/ZIP | Vía ctxray import |
Instalación
pip install ctxray # core (all features, zero config)
pip install ctxray[chinese] # + Chinese prompt analysis (jieba)
pip install ctxray[mcp] # + MCP server for Claude Code / Continue.dev / Zed
Escaneo automático después de cada sesión
ctxray install-hook # adds post-session hook to Claude Code
Extensión de navegador
Captura prompts de ChatGPT, Claude.ai y Gemini directamente en tu navegador. La insignia de calidad en vivo muestra el nivel del prompt mientras escribes — haz clic en "Rewrite & Apply" para mejorar y reemplazar el texto directamente en el cuadro de entrada.
- Instala la extensión desde Chrome Web Store o Firefox Add-ons
- Conéctate al CLI:
ctxray install-extension - Verifica:
ctxray extension-status
Los prompts capturados se sincronizan localmente mediante Native Messaging — nada sale de tu máquina.
Integración con CI
GitHub Action
# .github/workflows/prompt-lint.yml
name: Prompt Quality
on: pull_request
jobs:
lint:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: ctxray/ctxray@main
with:
score-threshold: 43 # experimentally validated (below = 83% failure rate)
model: claude # optional: model-specific rules
strict: true
comment-on-pr: true
pre-commit
# .pre-commit-config.yaml
repos:
- repo: https://github.com/ctxray/ctxray
rev: v3.0.0
hooks:
- id: ctxray-lint-score # quality threshold gate (score >= 43)
# - id: ctxray-lint-claude # Claude-specific rules + threshold
# - id: ctxray-lint-gpt # GPT-specific rules + threshold
CLI directo
ctxray lint --score-threshold 43 # exit 1 below experimentally validated threshold
ctxray lint --score-threshold 50 # or set your own bar
ctxray lint --model claude # model-specific lint rules
ctxray lint --strict # exit 1 on warnings
ctxray lint --json # machine-readable output
Configuración del proyecto
ctxray init # generates .ctxray.toml with all rules documented
# .ctxray.toml (or [tool.ctxray.lint] in pyproject.toml)
[lint]
score-threshold = 43 # experimentally validated quality threshold
model = "claude" # model-specific rules (claude/gpt/gemini)
[lint.rules]
min-length = 20
short-prompt = 40
vague-prompt = true
debug-needs-reference = true
Ciencia de Prompts — base de investigación
Ciencia de Prompts
La puntuación está calibrada con 10 artículos revisados por pares que cubren más de 30 características en 5 dimensiones:
| Dimensión | Qué mide | Artículos clave |
|---|---|---|
| Estructura | Markdown, bloques de código, restricciones explícitas | Prompt Report (2406.06608) |
| Contexto | Rutas de archivos, mensajes de error, especificaciones de E/S, casos límite | Zi+ (2508.03678), Google (2512.14982) |
| Posición | Ubicación de las instrucciones relativa al contexto | Stanford (2307.03172), Veseli+ (2508.07479), Chowdhury (2603.10123) |
| Repetición | Redundancia que degrada la atención del modelo | Google (2512.14982) |
| Claridad | Legibilidad, longitud de frases, ambigüedad | SPELL (EMNLP 2023), PEEM (2603.10477) |
Hallazgos validados de forma cruzada que informan nuestro motor:
- El sesgo de posición es arquitectónico — presente desde la inicialización, no aprendido. Cargar las instrucciones al principio es efectivo para prompts por debajo del 50% de la ventana de contexto (3 artículos coinciden)
- La compresión moderada mejora la salida — la eliminación de relleno basada en reglas no solo ahorra tokens, mejora el rendimiento del LLM (2505.00019)
- La calidad del prompt es medible de forma independiente — la puntuación solo con el prompt predice la calidad de la salida sin ver la respuesta (ACL 2025, 2503.10084)
- Umbral de calidad en puntuación ~43 — nuestro propio experimento (30 prompts, 5 niveles, 2 modelos) encontró una función escalonada: por debajo de 43, 83% de tasa de fallo; por encima de 43, 94% de éxito (Pearson r=0.56, Spearman ρ=0.64)
- Las preferencias de formato dependen del modelo — XML beneficia a Claude, Markdown beneficia a GPT, pero tener cualquier estructura importa más que el formato específico (PromptBridge 2512.01420)
La puntuación específica por modelo (--model claude/gpt/gemini) aplica ajustes respaldados por investigación para las preferencias y sensibilidades conocidas de cada modelo.
Todo el análisis se ejecuta localmente en <1ms por prompt. Sin llamadas LLM, sin solicitudes de red.
Cómo funciona — arquitectura
Cómo funciona
Data sources:
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│Claude Code│ │ Cursor │ │ Aider │ │ ChatGPT │ │ 5 more.. │
└─────┬────┘ └─────┬────┘ └─────┬────┘ └─────┬────┘ └─────┬────┘
└─────────────┴───────────┴─────────────┴─────────────┘
│
scan -> dedup -> store -> analyze
│
┌──────────────────┼──────────────────┐
v v v
┌──────────┐ ┌──────────────┐ ┌──────────┐
│ insights │ │ patterns │ │ sessions │
│ wrapped │ │ repetition │ │ projects │
│ style │ │ privacy │ │ agent │
└──────────┘ └──────────────┘ └──────────┘
Decisiones clave de diseño:
- Solo reglas, sin LLM — la puntuación y la reescritura usan regex + TF-IDF + heurísticas de investigación. Determinista, privado, <1ms por prompt.
- Patrón adaptador — cada herramienta de IA tiene un parser que normaliza a un modelo común
Prompt. Añadir una nueva herramienta = un archivo. - Deduplicación de dos capas — SHA-256 para coincidencias exactas, similitud coseno TF-IDF para casi duplicados.
- Calibrado con investigación — 10 artículos revisados por pares informan los pesos de puntuación.
Destilación de Conversaciones
Destilación de Conversaciones
ctxray distill puntúa cada turno de una conversación usando 6 señales:
- Posición — los primeros/últimos turnos contienen el encuadre y las conclusiones
- Longitud — los turnos sustanciales contienen más información
- Disparador de herramientas — los turnos que provocan llamadas a herramientas impulsan la acción
- Recuperación de errores — los turnos que siguen a errores muestran resolución de problemas
- Cambio semántico — los cambios de tema marcan los límites de la conversación
- Unicidad — frases novedosas vs seguimientos repetitivos
El tipo de sesión (depuración, desarrollo de funciones, exploración, refactorización) se detecta automáticamente y los pesos de las señales se adaptan en consecuencia.
¿Por qué ctxray?
Después de que Promptfoo se uniera a OpenAI y Humanloop se uniera a Anthropic, ctxray es la alternativa independiente y de código abierto para entender tus interacciones con IA.
- 100% local — tus prompts nunca salen de tu máquina
- Sin LLM necesario — análisis puramente basado en reglas, <50ms por prompt
- 9 herramientas de IA — la única herramienta que funciona en Claude Code, Cursor, ChatGPT y más
- Respaldado por investigación — calibrado con 10 artículos revisados por pares, no con corazonadas
Publicado anteriormente como
reprompt-cli. Misma herramienta, nuevo nombre, namespace limpio.
Privacidad
- Todo el análisis se ejecuta localmente. Ningún prompt sale de tu máquina.
ctxray privacymuestra exactamente qué has enviado a cada herramienta de IA.- La telemetría opcional envía solo vectores de características anónimos — nunca el texto de los prompts.
- Código abierto: audita exactamente qué se recopila.
Enlaces
- PyPI: ctxray
- Extensión de Chrome: Chrome Web Store
- Complemento de Firefox: Firefox Add-ons
- Changelog: CHANGELOG.md
Contribuciones
Consulta CONTRIBUTING.md para la configuración de desarrollo y las pautas.
Licencia
MIT