Communitygithub.com

TongyiDai/giants-shoulders: Hombros de Gigantes

Hombros de Gigantes / Giants' Shoulders — una habilidad de agente que escanea en busca de trabajos previos antes de construir desde cero. Busca soluciones existentes, las agrupa en cuatro categorías y entrega un veredicto claro.

¿Qué es giants-shoulders: Hombros de Gigantes?

Esta habilidad de agente, 'Hombros de Gigantes', está diseñada para evitar reinventar la rueda. Antes de comenzar cualquier tarea de desarrollo —ya sea construir una herramienta, una biblioteca, un flujo de trabajo o una arquitectura— automatiza una breve investigación para descubrir si alguien más ya ha resuelto un problema similar. El objetivo no es copiar, sino partir de la frontera actual del conocimiento para reutilizar enfoques comprobados, evitar callejones sin salida conocidos e identificar con claridad dónde la tarea propuesta difiere de lo que ya existe. Es agnóstica del agente: funciona con Claude Code, Codex, Cursor, TRAE o cualquier agente con acceso a herramientas web. El flujo de trabajo es claro: reformular el problema en una línea, generar un vocabulario de búsqueda diverso (mínimo 6-10 enfoques), ejecutar de 3 a 6 consultas específicas en motores de búsqueda, repositorios de código y registros de paquetes, rastrear una capa más profunda en cada coincidencia directa (por ejemplo, si un proyecto dice 'construido sobre X', investigar X), agrupar los hallazgos en cuatro categorías (coincidencias directas, soluciones adyacentes, soluciones parciales y abandonados), extraer los patrones estándar, comparar honestamente el enfoque de la tarea con lo existente y entregar un veredicto: usar existente, bifurcar/extender, contribuir, construir o investigar primero. Incluye salvaguardas como un límite de tiempo (≤10 consultas), informes honestos, verificación de mantenimiento y respeto a licencias, todo con el fin de que la investigación anteponga el trabajo real sin dominarlo.

Compatible con✓Claude Code✓Codex CLI✓Cursor
npx skills add TongyiDai/giants-shoulders

Preguntar en tu IA favorita

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

Documentación

Hombros de Gigantes (Giants' Shoulders)

"Si he visto más lejos es porque me paro sobre los hombros de gigantes." — Isaac Newton, 1675

Resumen

Antes de construir algo nuevo, averigua quién ya construyó algo similar. La mayoría de las ideas ya se han intentado: algunas resueltas bien, otras mal, algunas abandonadas por razones instructivas, unas pocas genuinamente abiertas. El objetivo no es copiar — es comenzar desde la frontera actual en lugar de una página en blanco: reutilizar enfoques comprobados, evitar callejones sin salida conocidos y ver claramente dónde la tarea realmente difiere de lo que ya existe.

Independiente del agente: funciona con cualquier agente que pueda buscar en la web (Claude Code, Codex, Cursor, TRAE u otros). Utiliza las herramientas de búsqueda web/fetch que proporcione el anfitrión. Ejecuta esto al inicio de la tarea, antes de diseñar o codificar, y mantenlo proporcionado — un escaneo breve, no una revisión bibliográfica.

Cuándo ejecutar vs. omitir

Ejecútalo cuando la tarea crea algo nuevo o elige un enfoque: construir una herramienta / script / biblioteca / CLI / habilidad / plugin / agente / flujo de trabajo / integración / prototipo / producto, diseñar una arquitectura, o elegir un framework, framework, biblioteca o algoritmo.

Omitelo para tareas triviales (traducir una línea, renombrar una variable, consultar la hora) o tareas sin trabajo previo externo (editar los propios archivos/datos privados del usuario). Si no estás seguro de si vale la pena, pregunta una frase: "¿Quieres que primero dedique un par de minutos a ver si ya existe una solución?"

Flujo de trabajo

1. Reformula el problema en una línea

Reduce la tarea al problema central, en términos simples — no la solución elegida por el usuario. Por ejemplo, "crea un script para deduplicar mi CSV" → problema central = "deduplicación de filas en datos tabulares". Si el planteamiento es tan amplio que coincide con una categoría completa de herramientas, haz exactamente una pregunta aclaratoria antes de buscar (ofrece hasta 3 dimensiones de ejemplo como indicaciones, no un cuestionario).

2. Genera un vocabulario antes de buscar

Diferentes comunidades usan diferentes palabras para lo mismo. Antes de ejecutar cualquier consulta, escribe 6–10 planteamientos del problema desde puntos de vista distintos, y asigna cada consulta de búsqueda a un planteamiento. Esto evita el modo de fallo más común: cinco consultas que todas aterrizan en el mismo vecindario semántico. Cubre al menos:

  • Planteamiento del constructor — las propias palabras del usuario
  • Planteamiento del usuario de la herramienta — lo que alguien que busca esto escribiría
  • Planteamiento académico / de investigación — si aplica
  • Planteamiento de infraestructura / implementación — el nombre técnico de bajo nivel
  • Planteamiento de comunidad adyacente — la disciplina vecina que probablemente lo resolvió primero

Incluye al menos un planteamiento en inglés — la mayoría del trabajo previo y los repositorios se encuentran mejor en inglés.

3. Busca donde los constructores realmente publican

Utiliza las herramientas web del anfitrión (busca primero, luego recupera los resultados prometedores). Ejecuta 3–6 consultas dirigidas a través de distintos planteamientos y fuentes — no ejecutes una sola consulta genérica y te detengas.

FuenteQué encuentraCómo
Búsqueda webProductos, comparativas, "mejor X para Y", publicaciones de blogherramienta de búsqueda del anfitrión
Alojamientos de códigoImplementaciones reales, bibliotecas, listas "awesome-*"site:github.com <problema>, GitLab; gh search repos/code "<palabras clave>" si existe gh CLI
Registros de paquetesBibliotecas existentesnpm, PyPI, crates.io, pkg.go.dev, Hugging Face (ML)
Producto / comunidadProductos lanzados, historias de fracasosProduct Hunt, Hacker News "Show HN", subreddits relevantes
Preguntas y respuestas / forosProblemas, por qué fallan los enfoquesStack Overflow, hilos de HN
Sitios de dominioLa forma canónicadocumentación oficial, RFCs/estándares, arXiv, fichas de modelo

Prefiere fuentes primarias (repositorios, hilos de Show HN, páginas de inicio de proyectos) sobre listas de agregadores. Un repositorio de GitHub con 200 estrellas supera a una lista de Medium.

4. Rastrea una capa más abajo en cada coincidencia directa

Aquí es donde el escaneo falla más a menudo — al detenerse una capa demasiado pronto. Cuando la documentación de un proyecto dice "construido sobre X", "envuelve Y", "herramienta oficial para Z" o "se ejecuta a través de W", esa cosa nombrada suele ser el verdadero titular y el proyecto que encontraste es un envoltorio fino. Trata cada dependencia nombrada en una coincidencia directa como una pista de búsqueda: síguela con una consulta dedicada antes de concluir. No dejes que el primer proyecto (posiblemente pequeño) que encuentres ancle la respuesta.

5. Agrupa los hallazgos en cuatro categorías

No arrojes resultados en bruto. Agrúpalos:

  • Coincidencias directas — mismo problema, mismo enfoque
  • Soluciones adyacentes — mismo problema, enfoque diferente
  • Soluciones parciales — resuelve un subconjunto
  • Abandonados / desactualizados — existieron, ahora muertos (anota la fecha del último commit y, si es posible, por qué murió — eso suele ser el trabajo previo más instructivo)

6. Extrae los patrones estándar

A través de las coincidencias, ¿qué se repite? Arquitectura común, bibliotecas, decisiones de diseño, nombres, modelos de precios. Ese es el manual predeterminado sobre el que la tarea se basaría o competiría.

7. Compara el ángulo de la tarea — honestamente

En un párrafo, compara el planteamiento específico del usuario contra lo que existe. Nombra el verdadero diferenciador, o admite que no lo hay. No fabriques novedad para ser amable, y no inventes competidores para parecer minucioso.

8. Entrega un veredicto, luego continúa

Elige un veredicto y encabeza con él (consulta references/report-template.md para la estructura exacta de salida):

  • Usar existente — ya resuelto bien; nombra la(s) mejor(es) opción(es)
  • Bifurcar / extender — proyecto más cercano + específicamente qué añadir
  • Contribuir — la funcionalidad pertenece aguas arriba; sugiere dónde
  • Construirlo — brecha genuina; el diferenciador es claro y defendible
  • Investigar primero — alguien lo intentó y lo abandonó; entender por qué antes de invertir tiempo

Luego pasa a la tarea real, informado por lo que encontraste. No te detengas para obtener aprobación a menos que un hallazgo cambie materialmente el alcance (por ejemplo, una herramienta madura ya hace exactamente esto) — en ese caso, menciona y pregunta.

Presupuesto y salvaguardas

  • Limita el tiempo. Apunta a ≤10 consultas en total; detente antes si el panorama está claro después de 3–4 y al menos una rastreó una dependencia una capa más abajo (paso 4). Esto precede al trabajo real; no debe dominarlo.
  • Informa con honestidad. "No se encontró trabajo previo directo" es un resultado válido y valioso — di dónde buscaste en lugar de rellenar con coincidencias débiles o competidores falsos.
  • No recomiendes "construir" cuando exista algo bueno. Construir algo personalizado conlleva un costo de mantenimiento continuo que se subestima rutinariamente. Por defecto, usar/adaptar/contribuir a menos que nada encaje.
  • Verifica el mantenimiento, no solo las estrellas. Commits recientes, respuesta a problemas, cadencia de lanzamientos y factor de riesgo revelan más que el conteo de estrellas. Una herramienta estable con 500 estrellas puede superar a una viral de 50k.
  • Respeta las licencias. Anota la licencia de un proyecto al sugerir su reutilización.
  • Cita fuentes. Cada elemento nombrado recibe un enlace para que los hallazgos sean verificables.
  • ¿Sin red? Dilu, anota que el escaneo se omitió, recurre a lo que sepas — márcalo como derivado de memoria y posiblemente desactualizado — luego continúa.
  • Sintetiza, no solo enumeres. El valor es la comparación (reutilización vs. brecha), no un montón de enlaces.

Archivos de referencia

  • references/report-template.md — la estructura exacta de salida y un ejemplo trabajado. Léelo al redactar el informe.

Opcional: conviértelo en una regla predeterminada

Por defecto, esta habilidad se activa solo cuando su descripción coincide con la tarea. Para hacer que se ejecute automáticamente antes de cada tarea de construcción desde cero, añade una regla en el archivo de instrucciones del agente anfitrión. Ejecuta una vez (opt-in, idempotente, seguro de re-ejecutar):

scripts/install.sh

Pregunta si se quiere convertir Hombros de Gigantes en una regla predeterminada, y si es así, añade un bloque de reglas envuelto en marcadores al archivo de instrucciones del agente que encuentre (AGENTS.md para Codex/TRAE/Cursor, CLAUDE.md para Claude Code). Rechazar no escribe nada. Establece GIANTS_SHOULDERS_ASSUME_YES=1 para instalar de forma no interactiva.

Skills relacionados