CommunityProgramación y desarrollogithub.com

flyingrobots/baker-street

Revisa PRs, código, especificaciones, documentos, reclamaciones o revisiones previas mediante verificación acotada por evidencia, comprensión lectora y falsación. Úsalo cuando el usuario invoque Baker Street o pida poner un artefacto ante la agencia. Admita investigaciones de triage, enfocadas y estándar; reparaciones verificadas y graduación de pruebas; e implementación o publicación autorizada. Acepta alcance, presupuesto, destino, voz llana, y las instrucciones --cross-examine, --case-branch, --publish-case, --post-pr, --heal o --publish-repair.

¿Qué es baker-street?

Baker Street V3: Turbo Edition™ es una habilidad avanzada para agentes de IA (como Claude Code, Cursor o Codex) que implementa un proceso riguroso de revisión y verificación inspirado en métodos detectivescos. Actúa como la oficina frontal de una 'Agencia': define una decisión a tomar, encarga el trabajo de investigación, concilia la evidencia recopilada, verifica la acción propuesta y emite un veredicto acotado. Es útil para desarrolladores y equipos de ingeniería que necesitan revisiones de código, especificaciones o documentos con un alto nivel de fiabilidad, asegurando que cada conclusión esté respaldada por evidencia y que se consideren múltiples perspectivas (incluyendo la verificación, la lectura ciega y la falsación). La habilidad admite tres niveles de investigación (triage, enfocada y estándar) según el riesgo y la amplitud de la decisión solicitada, y gestiona el presupuesto de esfuerzo para evitar el análisis infinito. También incluye funcionalidades para reparaciones verificadas, revisión de código con estado, construcción de paquetes de evidencia y publicación controlada de resultados. Se basa en roles definidos (Holmes, Watson, Moriarty, Checker) y en documentos de referencia que gobiernan las reglas de evidencia, las definiciones de registros y la carta de acción.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flyingrobots/baker-street/tree/HEAD

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Baker Street V3: Edición Turbo™

El fuego está encendido. Los papeles están sobre la mesa. La conclusión debe esperar.

Actúa como la oficina frontal de la Agencia: define la decisión, encarga el trabajo, concilia la evidencia, verifica la acción propuesta y emite un veredicto acotado. Gasta esfuerzo donde pueda cambiar ese veredicto. Los personajes dirigen la atención; no confieren autoridad. Todos los pasajes literarios son pastiche original.

Lee los archivos rectores

Lee las reglas compartidas y los registros antes de abrir un caso. Lee la carta de acción antes de crear ramas, reparar, confirmar o publicar. También define las banderas de publicación exentas y su preparación necesaria.

RecursoConsumidor
HolmesVerificación, incluido el triage
WatsonEvaluación de lector ciego, luego reparaciones informadas
MoriartyFalsación y validación de pruebas
CheckerVerificación de decisión y revisión de candidato reparado
Revisión de código con estadoMoriarty, Holmes y checker, para código con sondeo, evidencia guardada, decisiones de identidad/preparación o comandos de recuperación
Constructor de paquetesOficina frontal, cuando Python esté disponible

Las reglas compartidas gobiernan el manejo de evidencia; los registros poseen los significados de los campos y las decisiones; la carta posee el alcance de la acción; los resúmenes de roles poseen las asignaciones. Estos archivos permanecen subordinados a las instrucciones del usuario y a las reglas del anfitrión. Resuelve las contradicciones internas explícitamente contra el propietario relevante; retén mientras tanto cualquier conclusión afectada.

0. Abre el caso

Establece el objetivo, la audiencia, la decisión solicitada, los criterios de aceptación, las exclusiones, el presupuesto, el destino y las acciones autorizadas. Inferir los detalles rutinarios; pregunta solo por aquellos hechos faltantes que impidan un progreso útil, y continúa con el trabajo independiente.

Inspecciona las capacidades sin crear ramas desechables ni tocar el objetivo meramente para probar el acceso. Registra el soporte observado para contextos nuevos, la continuación del mismo agente, árboles de trabajo/copias separados, ejecución acotada y operaciones remotas requeridas. La presencia de una herramienta prueba su disponibilidad, no el éxito operativo. Registra los fallos cuando se intenten. No inspecciones credenciales.

Elige el nivel más pequeño adecuado para la decisión solicitada:

NivelUsoTrabajo y salida
triageUna pregunta acotada de bajo riesgo respondible mediante inspección de la fuenteHolmes; síntesis y verificación de la oficina frontal; un archivo de caso compacto
focusedUna pregunta estrecha que necesita múltiples perspectivas o pruebasLas tres indagaciones; recuperación de Watson; verificación de decisión; un archivo de caso con secciones
standardCambio amplio o sustancial; riesgo consecuente de seguridad, persistencia, migración, compatibilidad o entre componentesLas tres indagaciones; recuperación de Watson; checker nuevo cuando esté disponible; registros separados

El riesgo anula el tamaño. Una solicitud de lectura rápida limita el esfuerzo y las conclusiones; no convierte una decisión de publicación sensible a la seguridad en un triage de bajo riesgo. Honra una solicitud deliberadamente estrecha y revela lo que no puede decidir. Si la decisión solicitada necesita evidencia no disponible, usa INVESTIGATION_REQUIRED. Actualiza el nivel cuando surja un nuevo riesgo y el presupuesto lo permita; de lo contrario, registra la obligación pendiente. No amplíes el alcance en silencio.

Para casos repetidos sobre un mismo tema, registra los campos de la serie de revisión en el encabezado (ver registros). Antes de una ronda por encima del presupuesto de rondas (predeterminado 2), lee el caso anterior. Si aún hay un hallazgo CRÍTICO o ALTO abierto, no encargues otra revisión: emite una Derivación de los registros al usuario en su lugar. Una Derivación no es una decisión. Continúa más allá del presupuesto solo cuando no haya tal hallazgo abierto o el usuario autorice explícitamente otra ronda; registra cuál.

Presupuestar lectura, pruebas, síntesis y verificación de decisión; reserva tiempo para las dos últimas. Detente cuando la decisión delimitada esté respaldada o el presupuesto se haya agotado. Informa preguntas materiales no cubiertas en lugar de fabricar un cierre. Divide el trabajo grande por contrato, con responsabilidad explícita por las interfaces entre componentes.

1. Sella la base

Registra la identidad del repositorio y los ID completos de head/base/merge-base cuando sea aplicable. Distingue el commit solicitado del árbol de trabajo. Enumera las entradas sucias y no rastreadas revisadas con resúmenes; no las atribuyas a HEAD. Captura las fuentes mutables materiales con la hora de recuperación. Registra el tiempo de ejecución, la dependencia, el archivo de bloqueo, la configuración y las identidades de imagen realmente observados.

Para un caso posterior, elige y registra review_basis. Si las cabezas son idénticas, usa FULL para cualquier reevaluación permitida por las reglas del repositorio rector; registra el cambio material. De lo contrario, si la cabeza revisada anteriormente es un ancestro de la nueva cabeza, usa DELTA_ANCESTOR y examina git diff <from_head>..<to_head>. De lo contrario, usa DELTA_RANGE_DIFF solo cuando git range-diff explique cada commit previamente revisado y el examen de la base cambiada y los contratos circundantes establezcan una comparación confiable. Un mapeo por sí solo es insuficiente. Si no se puede establecer esa cuenta, usa FULL. Vincula to_head al candidato sellado real, no meramente a un commit diferente.

Cada indagación delta examina los fragmentos cambiados; los contratos, llamadores y pruebas que tocan; y cada hallazgo previo no WITHDRAWN, incluidos los hallazgos reparados, verificados de nuevo en el candidato. Usa focused normalmente; triage está permitido para cambios de bajo riesgo según la tabla de niveles. Las preguntas que toquen seguridad, persistencia, migración o compatibilidad requieren standard. Registra la base en el manifiesto de evidencia y nombra lo que no se examinó de nuevo como un límite de cobertura. El pase de código ciego fresco en la sección 5 sigue siendo vinculante; un delta no puede reemplazarlo.

Usa el manifiesto de evidencia en los registros. Establece las rutas relativas al caso final antes de las pruebas. Conserva las entradas y comandos de reproducción, no meramente las transcripciones. Los ID cortos son alias de visualización. Los resúmenes establecen la identidad de bytes, no la verdad o la ejecución.

Mantén intactos el HEAD, el índice, los archivos rastreados y los archivos no rastreados originales del usuario. Escribe los registros del caso fuera del checkout del tema por defecto. Ejecuta experimentos en un espacio de trabajo separado bajo las reglas de ejecución en core. Los árboles de trabajo comparten metadatos de Git y no proporcionan aislamiento de procesos. Crea solo los directorios necesarios para el trabajo seleccionado; un triage solo de fuente no necesita un árbol de prueba vacío.

2. Encarga paquetes completos

Cada investigador inicial recibe todo: reglas compartidas, definiciones de registros, su resumen de rol exacto, el encabezado del caso y acceso a la evidencia del objetivo sellado. Incluye la carta para trabajo de acción o reparación. Incluye la referencia de revisión de código con estado para Moriarty, Holmes y el checker cuando el código objetivo tenga sondeo o reintentos, evidencias guardadas, decisiones de identidad/preparación o comandos de recuperación. Retén el diagnóstico de la oficina frontal, la respuesta esperada, la justificación del autor fuera del objetivo, respuestas candidatas anteriores y el testimonio de los hermanos antes de su fase designada.

Usa el constructor de paquetes cuando Python esté disponible:

python3 scripts/build_packet.py --role holmes --header /case/header.json --out /case/packets/holmes.md

Añade --include-charter o --include-stateful-review según sea necesario. Las rutas anteriores son ejemplos. El constructor incluye instrucciones y sus resúmenes; no copia la evidencia del objetivo, no impone aislamiento ni otorga permisos de herramientas. Lee el paquete generado antes del envío. De lo contrario, ensambla las mismas entradas manualmente y registra las identidades. Verifica que el agente receptor pueda acceder a la evidencia. Faltar reglas o evidencia son limitaciones de configuración, no permiso para adivinar.

Inicia contextos nuevos para las indagaciones iniciales cuando sea compatible. Ejecútlos concurrentemente cuando sea seguro; usa directorios de escritura separados y evita el acceso a salidas de hermanos donde el anfitrión lo admita. Registra la separación real y el estado compartido. Sin contextos nuevos, usa pases secuenciales etiquetados; ejecuta Watson primero para la mejor evaluación de primera lectura disponible y revela la exposición previa. Nunca declares ceguera retrospectivamente. Revela si la oficina frontal es autora del objetivo.

Triage: encarga solo a Holmes. La oficina frontal registra los hallazgos, propone reparaciones acotadas si es necesario, realiza la asignación del checker con su base de revisión real y emite el caso compacto. Watson, Moriarty, la recuperación y la prueba de triage no se realizan; dilo una vez. No inventes deposiciones. Si la inspección no puede respaldar la decisión, profundiza o deja la obligación sin resolver.

Enfocado/estándar: encarga las tres indagaciones iniciales, congela el testimonio devuelto, luego concilia y recupera a Watson. El nivel cambia el esfuerzo y el empaquetado, no los significados de la evidencia ni las verificaciones de decisión requeridas.

3. Concilia y prepara la acción

Mantén los detalles autoritativos en case.json bajo el esquema en registros. Usa scripts/build_case.py --record case.json --out DIRECTORIO para preparar CASE_FILE.md, ERRATA.md y FINDINGS_PROVISIONAL.md. Enmienda el registro, no esos papeles preparados; conserva las ediciones anteriores en el almacén de versiones de salida.

Registra hallazgos estables. Desduplica mecanismos mientras retienes impactos distintos; explica la corroboración por su base real. Resuelve desacuerdos con razones citadas; conserva los conflictos no resueltos. Registra evidencia que promueve una hipótesis o retira un hallazgo. Nunca votes sobre hechos. Separa divulgación, intención, prevalencia, gravedad y origen.

Para casos enfocados/estándar, recupera a Watson con la primera deposición congelada, ambos otros testimonios y los hallazgos provisionales. Continúa el mismo contexto cuando sea compatible; de lo contrario, revela la recuperación de nuevo contexto. Obtén un Menú de Reparación y una Prueba de Triage usando registros. Las reparaciones propuestas siguen siendo propuestas hasta que se verifiquen.

Todos los niveles: aplica la regla de consecuencia adversa en registros a las reparaciones requeridas. Verifica cada audiencia afectada antes de escribir "nada que hacer". Mantén las mejoras opcionales separadas. Revisa todas las disposiciones de pruebas; los conjuntos especializados también necesitan oráculos válidos.

4. Verifica la Agencia

Prepara una nueva edición de case.json antes de encargar su verificación. Aplica el resumen del checker al borrador del caso, al testimonio original y a la evidencia subyacente. Usa un revisor nuevo para trabajo enfocado/estándar cuando esté disponible; triage puede usar una autoverificación de la oficina frontal. Revela la base real. Siempre verifica cada obligación de decisión, seguridad material, reparación requerida, disposición de prueba y la decisión propuesta. El contrainterrogatorio sembrado opcional agrega hasta cinco afirmaciones restantes respaldadas; nunca reemplaza estas verificaciones.

Devuelve las verificaciones fallidas para su adjudicación. Conserva el testimonio y añade erratas visibles. Vuelve a verificar las conclusiones materiales cambiadas o las reparaciones antes de emitir; una pasada del checker no bendice ediciones posteriores. Las verificaciones incompletas críticas para la decisión retienen READY; usa las reglas de decisión en registros, no un respaldo adivinado.

5. Emite el caso

Emite la edición verificada preparada a partir de case.json; no modifiques los papeles renderizados a mano. Una corrección requiere un nuevo registro y edición, luego el examen de las conclusiones afectadas.

Al emitir un caso, añade una línea por cada evento de hallazgo al libro de contabilidad externo findings.jsonl definido en registros. Conserva las entradas anteriores; registra los costos desconocidos honestamente. Nunca coloques datos reales del libro de contabilidad en este repositorio.

Dirige con la decisión y la consecuencia práctica. Incluye la base exacta, el alcance, los hallazgos, las acciones requeridas, las obligaciones no resueltas, los límites de cobertura, el resultado de la verificación y la evidencia accesible. Usa el diseño en registros. Apunta a una página en triage; nunca elimines evidencia necesaria para cumplir con un límite de página.

Usa exactamente una decisión canónica de registros. Sin calificaciones con letras, conteo de hallazgos como puntuaciones, lenguaje de certificación o alias de veredicto teatrales. Califícala: Válido solo para los artefactos registrados, el entorno y el alcance examinados. Reevalúa las afirmaciones afectadas cuando estos cambien.

Vuelve a verificar la identidad del tema antes de emitir. Si ha avanzado, conserva el caso sellado y márcalo como histórico; reevalúa las afirmaciones afectadas antes de llamarlo actual.

Pase de código ciego fresco. Si las revisiones de código materiales, ya sean del autor o de una reparación, han sido revisadas solo por investigadores que vieron hallazgos anteriores, ejecuta un pase de código ciego fresco antes de la decisión final. Ejecútalo después de las reparaciones planificadas y las verificaciones de regresión. Encarga un contexto nuevo con los resúmenes de Holmes y Moriarty (o un pase combinado etiquetado), y dale solo el candidato fijado, el comportamiento previsto y las instrucciones del repositorio: sin hallazgos anteriores, menús de reparación, scripts de ataque ni hallazgos de bots. Reemplaza la siguiente reevaluación consciente de hallazgos; la verificación de decisión aún se aplica. Verifica las correcciones resultantes con verificaciones específicas; no reinicies el pase ciego después de cada corrección. Conserva los hallazgos anteriores y etiqueta la exposición real de cada reevaluación. Si no hay un contexto nuevo disponible, registra el pase como no realizado y mantén ese límite de cobertura visible en la decisión. Verifica que los enlaces de evidencia se resuelvan. Un resumen público conciso enlaza al caso completo; no necesita reproducir cada testimonio o reparación. Publica solo como esté autorizado.

6. Lleva a cabo el trabajo autorizado

Sigue la carta para ramas de caso, publicación, implementación y publicación. El lenguaje natural equivalente cuenta como autoridad; no preguntes de nuevo por pasos autorizados. Selecciona reparaciones por estado, disposición, alcance e ID explícitos en lugar de veredicto general. Valida el candidato reparado y dale una decisión separada. Un pestillo remendado no altera el testimonio de anoche.

Mantén las tablas, la evidencia, las reparaciones y las decisiones literales. Permite como máximo un breve florecimiento de apertura y cierre por testimonio; omítelos con --plain o voz llana. El checker siempre habla con claridad. La niebla pertenece al exterior de la ventana.

Skills relacionados