07 de agosto de 2026 · Por YasKad
mvanhorn/last30days-skill

last30days: investigación reciente que prioriza la conversación pública

mvanhorn/last30days-skill · 62.792★ · 5.461 forks

Todo lo que hay que saber sobre mvanhorn/last30days-skill: una habilidad y motor local para que un agente investigue un tema en fuentes sociales, técnicas y de mercado con una ventana temporal corta.


Qué es last30days

last30days es una habilidad de agentes de IA distribuida como una especificación SKILL.md más un motor en Python. Ante una consulta como /last30days <tema>, intenta resolver las entidades pertinentes - cuentas, repositorios, comunidades y canales - busca en paralelo y sintetiza un informe ordenado por relevancia, interacción y actualidad.

Terminal futurista que muestra el comando /last30days "AI coding agents" con texto neón sobre un fondo de laboratorio tecnológico.

El proyecto se define frente a los buscadores editoriales: su criterio pretende combinar señales de participación, como votos de Reddit, interacciones de X, transcripciones y comentarios de YouTube, conversaciones de Hacker News, actividad de GitHub y cuotas de Polymarket. No sustituye a una fuente primaria ni convierte la popularidad en verdad; es una capa de descubrimiento y de priorización de evidencia reciente.

La instalación mínima promete acceso sin configuración a Reddit, Hacker News, Polymarket y GitHub. Para ampliar cobertura, el usuario aporta claves, sesiones del navegador o servicios locales. El README enumera, entre otras, X, YouTube, TikTok, Instagram, LinkedIn, Bluesky, arXiv, Techmeme, Perplexity, Xiaohongshu y búsqueda web.

Cables de fibra óptica de neón que transportan datos en paralelo desde plataformas como X, YouTube, TikTok y arXiv hacia un servidor central.

El origen: de seguir la actualidad de IA a un motor de investigación

El repositorio se creó el 23 de enero de 2026. Su creador es Matt Van Horn (mvanhorn): el perfil de GitHub lo identifica como cofundador de June y de una empresa que posteriormente se convirtió en Lyft, y atribuye la construcción de la versión 3 del motor a j-sperling.

En el relato del README, Van Horn lo creó para mantenerse al día en IA: consideraba que las conversaciones de Reddit y X avanzaban antes que los datos de entrenamiento y que necesitaba una forma de recogerlas sin navegar pestaña por pestaña. El ejemplo de tensión con los productos nativos es explícito: el texto sostiene que Google, ChatGPT, Gemini y Claude tienen accesos parciales y distintos a plataformas cerradas; la propuesta no es un único buscador superior, sino que un agente conecte fuentes separadas usando claves y sesiones del usuario.

El primer envío verificable en Hacker News fue el 26 de enero de 2026: 7777777phil presentó una habilidad de Claude para investigar Reddit y X de los últimos treinta días. El lanzamiento tuvo 2 puntos y ningún comentario, un comienzo discreto frente al crecimiento posterior del repositorio.

Filosofía y principios

  • Recencia antes que acumulación histórica: la consulta parte de una ventana de treinta días, aunque el rango puede configurarse.

Mecanismo de engranajes digitales que forma un bucle infinito de treinta días, rodeado de fragmentos de conversaciones y gráficos de mercado.

  • Señales sociales y de mercado, no solo SEO: el motor puntúa interacción, relevancia y frescura; Polymarket añade cuotas, no una prueba de hechos.
  • Síntesis con trazabilidad: la especificación exige informes con datos y citas de origen, y el modo JSON tiene un contrato versionado.
  • Ejecución local y degradación explícita: el README declara que el análisis queda en la máquina del usuario y que, sin claves, el sistema reduce fuentes en vez de afirmar cobertura completa.
  • Separar habilidad y motor: CONCEPTS.md distingue la habilidad, que explica al agente qué hacer, del motor Python, que ejecuta el trabajo y devuelve la estructura de resultados.

Ícono holográfico de un archivo SKILL.md flotando sobre un motor mecánico que procesa datos en estructuras JSON.

Estas son intenciones y contratos del proyecto, no una validación independiente de la calidad de cada informe.

Cómo funciona

El flujo técnico documentado consta de siete pasos: recibir un tema, resolver las entidades relacionadas, lanzar consultas paralelas, ordenar resultados por interacción, agrupar el mismo acontecimiento entre fuentes, sintetizar un informe citado y conservar el contexto para preguntas posteriores.

Patrones de uso verificados en la documentación:

/last30days "AI coding agents"
/last30days OpenClaw vs Hermes vs Paperclip
python3 skills/last30days/scripts/last30days.py --discover "AI agents"
python3 skills/last30days/scripts/last30days.py "AI coding agents" --emit=json
python3 skills/last30days/scripts/last30days.py --preflight

--preflight muestra configuración, fuentes previstas y escrituras planificadas sin investigar ni leer cookies. --discover sirve para descubrir temas sin uno inicial; --emit=json devuelve la salida estructurada. Para repetir investigaciones, --store guarda resultados en SQLite y los guiones watchlist.py y briefing.py permiten vigilancia programada y resúmenes diarios o semanales. También hay búsqueda local de informes anteriores y generación de una biblioteca HTML y un canal Atom a partir de los informes guardados.

Sala de archivo digital con gabinetes de luz que representan bases SQLite y un brazo robótico organizando informes junto a un símbolo de feed Atom.

La versión actual, v3.18.4 (28 de julio de 2026), corrigió el flujo de publicación de etiquetas en CI y un problema de agotamiento de tiempo en búsquedas comparativas de YouTube. El README declara más de 2.700 pruebas y Python 3.12 o superior; las principales bibliotecas de lenguaje que devuelve GitHub son Python, Go, Shell y HTML.

Estado oficial y semioficial

El proyecto puede instalarse como plugin desde su propio origen de mercado de Claude Code con /plugin marketplace add mvanhorn/last30days-skill y /plugin install last30days. Eso acredita un formato de plugin de Claude Code, pero no demuestra una aprobación o certificación de Anthropic.

Tiene integraciones de distribución semioficiales y multiplataforma: el README documenta un manifiesto nativo para Codex, un plugin para Grok y una instalación común mediante npx skills add en Codex, Cursor, GitHub Copilot, Gemini CLI y más de cincuenta anfitriones del formato abierto Agent Skills. Para Grok, la documentación afirma que su entrada apunta al mercado de plugins de xAI. En OpenClaw indica clawhub install last30days-official.

En la práctica, los manifiestos, los paquetes .skill para claude.ai y .mcpb para Claude Desktop hacen que sea fácil de distribuir entre entornos. No se recuperó una fuente de un proveedor que lo declare estándar oficial ni que certifique sus resultados; por tanto, es más preciso tratarlo como un proyecto ampliamente integrado que como un estándar ratificado.

El ecosistema

Repositorios del autor

La búsqueda de la cuenta de mvanhorn devolvió dos proyectos próximos por tema y por autor, aunque no son dependencias de last30days:

  • mvanhorn/cli-printing-press - herramienta para generar interfaces de línea de comandos orientadas a agentes; 4.334 estrellas y 461 bifurcaciones.
  • mvanhorn/printing-press-library - biblioteca declarada oficial de interfaces producidas por Printing Press; 1.878 estrellas y 555 bifurcaciones.

Dentro del repositorio principal, las piezas asociadas son el directorio skills/last30days, el motor scripts/last30days.py, los manifiestos de Claude, Codex y Grok, el paquete MCP de mcp/, la batería tests/ y las automatizaciones de GitHub Actions. Son componentes del mismo repositorio, no repositorios independientes.

Panel de control de GitHub visualizado como una ciudad futurista, con una valla holográfica que muestra la cifra de 56.610 estrellas.

Puertos, bifurcaciones y extensiones comunitarias

  • Jesseovo/last30days-skill-cn - adaptación china independiente para investigar ocho plataformas principales de Internet chino durante treinta días; 1.318 estrellas y 155 bifurcaciones. Es el puerto no inglés más visible encontrado.
  • hwwn/last30days-skill-cn - otro puerto para China; su descripción menciona Weibo, Zhihu, Bilibili, Douyin, Xiaohongshu, V2EX, Juejin y Xueqiu. La búsqueda recuperó 3 estrellas y 1 bifurcación.
  • levineam/lastXdays-skill - extensión que hace configurable el intervalo temporal y declara estar basada en el proyecto original; 44 estrellas y 8 bifurcaciones.
  • kunhai1994/xhs-research - habilidad centrada en investigación de Xiaohongshu, declarada basada en last30days y xpzouying/xiaohongshu-mcp; 37 estrellas y 2 bifurcaciones.
  • Entre bifurcaciones directas localizadas, addyosmani/last30days-skill tenía 46 estrellas y 9 bifurcaciones, y bradautomates/last30days-skill, 9 estrellas y 4 bifurcaciones.

Mapa digital futurista con nodos conectados en distintos continentes y marcadores de plataformas como Weibo, Zhihu, Bilibili y Xiaohongshu.

El propio README menciona Xquik-dev/tweetclaw como complemento opcional de OpenClaw para acciones en X, como publicar y monitorizar, y aclara que no es dependencia ni recomendación del proyecto. Las cifras anteriores son una medición de la API de GitHub del 1 de agosto de 2026; no acreditan soporte ni compatibilidad.

Números del repo

Medición: 1 de agosto de 2026, API y página de GitHub.

MétricaValor
Estrellas56.610
Bifurcaciones4.944
Suscriptores reales208
Commits1.160
Incidencias abiertas indicadas por la API84
Ramas / etiquetas67 / 43
Lenguaje principalPython
LicenciaMIT
Creación23 de enero de 2026
Última publicaciónv3.18.4, 28 de julio de 2026

Los contribuidores principales que devolvió la API fueron mvanhorn (447 contribuciones), tmchow (341), 23241a6749 (40), j-sperling (37) e iliaal (28). El conteo de commits procede de la página de GitHub. open_issues_count puede incluir solicitudes de cambios abiertas; de hecho, la página mostraba 61 incidencias y 23 solicitudes de cambios. El campo watchers_count de la respuesta general replica las estrellas, por lo que se informa subscribers_count como número de suscriptores reales.

Cómo contribuir

El proceso está documentado en CONTRIBUTING.md:

  1. Preparar Python 3.12 o superior con uv sync --group dev.
  2. Ejecutar uv run pytest.
  3. Implementar el cambio y actualizar o añadir pruebas.
  4. Añadir un fragmento de changelog en changelog.d/ cuando corresponda.
  5. Completar la plantilla de solicitud de cambios, con resumen, pruebas, changelog, declaración de agente y relación con el proyecto.

El proyecto pide no editar directamente CHANGELOG.md, ni las versiones de pyproject.toml, SKILL.md, manifiestos o uv.lock; la integración continua controla esos cambios. Los mantenedores usan una acción de preparación de publicación que crea una solicitud de cambios de versiones sincronizadas y publica al fusionarla con main. La guía de seguridad prohíbe subir claves, cookies, tokens o archivos .env reales.

Cómo lo recibió la comunidad

La recepción verificable combina adopción y solicitudes concretas de corrección, no un consenso amplio en Hacker News:

  • En Hacker News 47783940, el comentario de piotraleksander describe last30days y context-mode como las dos habilidades más útiles en una instalación de OpenClaw. Lo usaba para un informe semanal de escucha social para su agencia. El hilo padre, una pregunta sobre uso de OpenClaw, registró 342 puntos; esa opinión es una experiencia personal y no una evaluación del motor.
  • El proyecto recibió cuatro envíos directos en Hacker News, todos pequeños: 46764597 de 7777777phil obtuvo 2 puntos y 0 comentarios; 46963949 de NOpderbeck, sobre una API de investigación reciente, obtuvo 2 puntos y 2 comentarios; 48440334 de pykello, 2 y 0; y 49130905 de ms7892, 3 y 0. Son anclas de visibilidad, no evidencia de una discusión amplia.
  • En la incidencia #532, un usuario que se declara seguidor pidió una web, RSS o directorio de informes ya generados. El planteamiento es entusiasmo por la idea de agregar los últimos treinta días, junto con una petición concreta de hacer más accesibles los resultados sin ejecutar el sistema completo.

Puerta de una bóveda de seguridad futurista entreabierta, con una advertencia holográfica roja de "SECURITY" junto a un escudo verde de protección.

  • La crítica más importante es de seguridad e instalación. En #513, asheem22 informó que el escáner de Hermes marcó el paquete como peligroso, con 50 hallazgos; señaló en particular instrucciones imperativas en SKILL.md y lectura de variables de entorno para claves. La incidencia se cerró el 7 de julio tras 8 comentarios y se vinculó con la solicitud de cambios #768. Es una alerta atribuida al análisis del reportante, no una auditoría independiente.
  • También permanece abierta #362, de homototus, con 4 comentarios: reporta que el validador de Claude Code rechazaba una ruta de habilidades en plugin.json. El usuario propuso y probó localmente una corrección. La objeción es operativa y específica, no una descalificación de la función de investigación.

last30days frente a otras propuestas

PropuestaCoincidencia verificableDiferencia verificable
levineam/lastXdays-skillEs una habilidad de Claude Code basada explícitamente en last30days.Hace configurable el número de días; no se recuperó una especificación que permita equiparar toda su cobertura de fuentes.
Jesseovo/last30days-skill-cnInvestiga una ventana de treinta días y sintetiza informes fundamentados.Está orientada a ocho plataformas chinas, mientras que el original documenta una combinación de redes globales, Hacker News, Polymarket y GitHub.
kunhai1994/xhs-researchEs una habilidad de investigación que declara partir de last30days.Se centra en Xiaohongshu y se apoya también en xiaohongshu-mcp; last30days lo presenta como fuente optativa dentro de un conjunto mayor.
Xquik-dev/tweetclawAmbos pueden integrarse con OpenClaw y tocar X.TweetClaw se menciona para publicar, responder y monitorizar acciones en X; last30days investiga y sintetiza, y no lo declara dependencia.

La comparación adecuada es por alcance: last30days conviene cuando se quiere unir señales de varias fuentes en una investigación reciente. Los puertos regionales o herramientas de una plataforma pueden ser más adecuados cuando la fuente objetivo está delimitada.

Casos de uso y a quién puede ayudar este repositorio

Analistas, equipos de producto y personas que siguen un tema cambiante pueden lanzar /last30days <tema> o --discover para reunir conversaciones recientes de Reddit, Hacker News, GitHub, Polymarket y las fuentes adicionales que hayan configurado. El motor resuelve entidades, consulta en paralelo, agrupa el mismo acontecimiento entre fuentes y devuelve una síntesis citada; --preflight permite revisar las fuentes y escrituras previstas antes de investigar, y --emit=json facilita integrar el resultado en otro flujo.

Equipos editoriales, agencias y responsables de vigilancia periódica pueden guardar investigaciones con --store en SQLite, buscar informes anteriores y usar watchlist.py o briefing.py para preparar seguimientos y resúmenes diarios o semanales. La biblioteca HTML y el canal Atom sirven para publicar los informes almacenados cuando el usuario lo decide. Para ampliar la cobertura hacen falta claves, cookies o servicios locales según la fuente; esas credenciales deben aislarse y las señales de interacción deben volver a contrastarse con las citas originales antes de convertirlas en afirmaciones editoriales.

Recursos


Nota: este artículo combina el README, la especificación de la habilidad, la guía de contribución, incidencias, publicaciones, la API y páginas de GitHub, y Hacker News, consultados el 1 de agosto de 2026. Las cifras y las integraciones cambian con el tiempo.

Comentarios