Texto y documentos
Codificador/DecodificadorURL, Base64, HTML
Convertidor de textocamelCase, snake_case...
Diff de textoCompara dos textos
LaTeXPrevisualiza fórmulas matemáticas
MarkdownPrevisualización en tiempo real
MermaidDiagramas como código
DiagramasEditor visual tipo Visio, import Mermaid
Escapado de stringsJS, JSON, SQL, Regex, HTML, URL
Unicode / ASCIIInformación de caracteres
Números y cálculo
CalculadoraExpresiones matemáticas + LaTeX
EstadísticaCalculadora, distribuciones, simuladores
Simulador de FísicaPéndulo, energía, integradores
Conversor de basesBase 2 a 64
Sistema de unidadesbits, bytes, SI, IEC
Subred / CIDRCalculadora de red
Timestamp y fechasUnix, zonas horarias, formatos
Calculadora de fechasDías entre fechas, edad exacta, día de la semana
Datos y formatos
Conversor de formatosJSON, YAML, Properties, ENV, CSV
JSON FormatterFormatea y valida JSON
Regex TesterExpresiones regulares
Diff JSONCompara dos JSON estructuralmente
Formateador de códigoSQL, CSS, HTML, JavaScript
DB StudioBase de datos Postgres visual en el navegador
SQL LabValida, ejecuta y optimiza SQL con Postgres real
Visor de ficheros gigantesAbrir CSV/logs enormes sin cargarlos
ETL visual en flujoTransformar datos encadenando nodos
Analizador de logsEntiende un log: trazas, patrones y reducción para IA
Grafo de conocimientoRDF, SPARQL y ontologías
Seguridad
Anonimizador de textoRedacta PII y secretos (reversible)
JWT InspectorDecodifica tokens JWT
Flujos de autenticaciónBasic, JWT y OAuth2 paso a paso
Generador de hashesSHA-256, SHA-384, SHA-512
Generador de contraseñas y UUIDContraseñas y UUIDs
Desarrollo y DevOps
CronGenerador y validador
Docker → ComposeConvierte docker run a Compose
Skaffold multi-configGrafo de dependencias y validación de requires
Linux: permisos y usuarioschmod, chown, useradd y grupos
URLParsea y construye URLs
Datos aleatoriosNombres, emails, IPs, UUIDs...
ElectrónicaOhm, resistencias en serie/paralelo
Puertas lógicasSimulador de puertas AND, OR, NOT y más
Simulador de ArquitecturasDiagrama CI/CD, cloud, IA/MCP y simula la carga
Simulador cuánticoQubits, puertas, superposición y entrelazamiento
HammingDetección de errores
Config Nginx/Apache SPAGenera configuración para servir una SPA
SemverRangos de versiones semánticas
CORS ExplainerAnaliza headers CORS de tu servidor
Cert inspectorAnaliza certificados X.509 en PEM
Rate LimiterSimula Token Bucket y Fixed Window
Simulador de ensambladorISA MIPS-simplificada · paso a paso · registros y memoria
Forja de ContextoEmpaqueta y blinda tu proyecto para IA
Inteligencia Artificial
Costes LLMSimula el gasto mensual
AgentesEspecificación, permisos, verificación y evals
Cámara con IA localDetecta objetos y avisa, sin subir nada
Transcripción de voz localAudio a texto sin subirlo, y mide el error
EmbeddingsSimilitud, mapa 2D y RAG
IA localChat, resumen, traducción y sentimiento en el navegador
TokenizadorVisualiza tokens, compara modelos, estima costes
Probabilidad para IADistribuciones, softmax, Bayes y entropía
Descenso de gradienteSGD, Momentum, RMSProp, Adam
Red neuronalEntrena un MLP y mira la frontera formarse
Mini-LLMEntrena un modelo de lenguaje con tu texto
Reductor de dimensionalidadPCA, t-SNE y UMAP en vivo
Matriz de confusión & ROCUmbral, precisión/recall, ROC/AUC, PR
Clustering (k-means, DBSCAN)Descubre grupos sin etiquetas
Visualizador de atenciónA qué mira cada palabra en un transformer
Convolución y filtros CNNFiltros de imagen y mapas de características
Árbol de decisiónRegiones de decisión + el árbol
DifusiónEl ruido detrás de Stable Diffusion
Regresión y MLEMínimos cuadrados, overfitting, ridge
Cadenas de MarkovEstados, distribución estacionaria y texto
Contraste de hipótesisp-valores, t-test, χ², ANOVA y potencia
OCR — Imagen a textoExtrae texto de imágenes, 100% local
Finanzas
InflaciónErosión del valor del dinero año a año
Simulador de economíaEmpresas, precios, monopolios y recursos limitados
Interés compuestoCapital + aportaciones + interés compuesto
Hipoteca / préstamoCuota mensual y tabla de amortización francesa
Dividir gastosQuién le debe a quién y cuánto
Salud y bienestar
IMC y saludIMC, peso ideal, TMB y ciclos de sueño
Productividad
PomodoroTécnica de trabajo en bloques de tiempo
CronómetroCon vueltas, etapas e historial
Juegos y entretenimiento
DadosMesas de dados numéricos y simbólicos
MarcadorPuntos por jugador con cronómetro de partida
Sorteo / ruletaElige un elemento aleatorio de una lista
Generador de nombresNombres reales, fantásticos, sci-fi, nórdicos
Multimedia y diseño
Color HEX/RGB/HSLConversor de colores
Código QRGenera códigos QR
ImágenesRedimensionar, convertir, Base64
PDF ToolsUnir, extraer, marca de agua
GráficosVisualiza datos con gráficos
Contraste WCAGRatio de contraste WCAG AA/AAA
Empresa
Coste de reuniones¿Cuánto cuesta realmente cada reunión?
SLA / UptimePorcentaje de disponibilidad ↔ tiempo de caída
Break-evenPunto de equilibrio entre costes e ingresos
Burn rate / Runway¿Cuánto tiempo te queda de caja?
Test A/BSignificación estadística de experimentos
DORA MetricsClasifica tu equipo según métricas DevOps
UTM BuilderConstruye y decodifica URLs con parámetros UTM
Guía de uso
Los dos rombos son lo único que decide

Quita el nombre del framework y todo agente son los mismos siete componentes en bucle. Y lo interesante no son las cajas: son las dos preguntas —¿puedo contestar ya? y ¿objetivo cumplido?—, los únicos sitios donde el agente decide algo. El resto es fontanería. Cuando un agente se porta mal, el fallo casi siempre está en cómo se especificaron esas dos, no en el modelo razonando.

Los guardarraíles van en vertical, no en la puerta

Se consultan antes de cada acción, no una vez al empezar. Una puerta a la entrada no dice absolutamente nada de lo que el agente decida hacer en el paso cuatro — y el paso cuatro es donde están los problemas.

Trazar no es evaluar

Una traza te dice qué hizo el agente; no si lo que hizo era correcto. Por eso la pestaña de verificación mide sobre ella cosas que no necesitan modelo: vueltas, bloqueos, fallos de los que se recuperó y repeticiones sin motivo, que es como se ve un ciclo. Lo determinista va primero; el juez con modelo se reserva para lo que de verdad exige criterio.

Por qué una especificación y no un prompt

Un prompt dice cómo se comporta el agente. Una especificación dice qué debe pasar: qué cambia, qué no cambia, qué contratos se respetan y qué evidencia hace falta para dar algo por bueno. Son artefactos distintos y la spec va por encima: sin ella, el prompt más cuidado sigue sin decir cuándo la tarea está terminada.

«Qué NO debe cambiar» es la mitad que falta

Es el campo que casi nadie rellena y el único que acota de verdad. Sin él, un agente puede cumplir el objetivo rompiendo cualquier otra cosa y seguir teniendo razón: nadie le dijo que eso también importaba. Por eso aquí es un error y no un aviso.

Criterios: ejecutables, binarios e independientes

Un buen criterio es un comando que se puede correr, da pasa o no pasa —«razonablemente rápido» no lo es— y comprueba una sola cosa, para que al fallar se sepa cuál. Escritos así se traducen casi 1:1 a casos de prueba, que es de lo que se trata.

Un modelo no distingue instrucciones de datos

Le llega un solo texto. Si dentro de lo que tú creías que era un dato —una página que el agente lee, un documento recuperado, un correo, el README de una dependencia— hay algo con forma de orden, el modelo puede obedecerla. No es un fallo que arregle un modelo mejor: es la forma del problema. Por eso la indirecta es la peligrosa: en la directa el atacante es el propio usuario, pero en la indirecta lo mete un tercero y la víctima eres tú.

El filtro de entrada da falsa seguridad

Es lo primero que pone todo el mundo y lo que menos protege: una lista de frases solo caza las frases que alguien anotó. En el banco de esta pestaña no atrapa ni uno de los ataques disimulados, que son exactamente los mismos ataques escritos de otra manera. Lo que sí los para es la arquitectura: mínimo privilegio, confirmación humana y verificar la salida — o sea, los tres cubos de permisos que ya escribiste al lado.

«Respaldado» no es «cierto»

Esto no dice si algo es verdad: no puede, y ninguna herramienta que corra en tu navegador puede. Dice si una afirmación viene acompañada de una fuente y de qué nivel es esa fuente, que es otra cosa y esa sí se comprueba. La lectura útil va al revés de lo que parece: no busques el sello verde, busca las frases categóricas y sin nada detrás, que suenan igual de seguras que las demás.

Un arXiv es un preprint, y un DOI no lo salva

Citar un preprint no está mal; presentarlo como si fuera un artículo revisado, sí. Y el matiz que casi nadie hace: un preprint también tiene DOI. El DOI es un registro, no un certificado de revisión — por eso 10.48550/arXiv.… aquí sale como preprint y no como fuente formal.

Una aserción que no puede fallar no es una aserción

Es el fallo que arruina un banco de evals, y es silencioso: un contiene vacío pasa siempre, una regex como .* pasa siempre, un caso sin aserciones pasa siempre. Un banco lleno de esas da 100% el primer día, no vuelve a bajar nunca y no ha medido nada en su vida. Por eso aquí el banco se revisa a sí mismo antes de dar ningún porcentaje.

El número total no es lo accionable

Que un banco pase del 80% al 78% no dice qué hacer. Lo que se arregla es el caso concreto que pasaba y ha dejado de pasar. Por eso se guarda una pasada de referencia y se comparan las dos. Y si el banco cambió a la vez que el modelo, los casos que solo están en una de las dos salen aparte: esa comparación no compara nada, y más vale verlo que creérsela.

No inventamos formato

Se exporta a lo que ya leen los agentes: un SPEC.md suelto, los tres ficheros de Kiro (requirements, design, tasks), un CLAUDE.md con lo permanente, o los tres cubos de permisos. Los ficheros valen más que la herramienta que los genera: por eso no te atamos a ella.

AgentesEspecificación, permisos, verificación y evals
AgentesPreparar el trabajo con una IA y comprobar lo que devuelve
Elementos completados: 0/6ObjetivoQué cambiaQué NO cambiaRestriccionesDecisionesCriterios