ousterhout-build-deep
Qué hace
Usa mientras escribes o modificas código, antes de dar por terminada la tarea, siempre que el cambio añada un nombre exportado o importable, cree un módulo, clase, componente, helper, hook, servicio o wrapper, o centralice código repetido. Lista de verificación en tiempo de autor para construir módulos profundos: nombra la decisión que oculta el límite, pasa las pruebas de profundidad e invariante, arregla problemas en lugar de reubicarlos, nunca dividas solo por tamaño y termina con una nota de diseño breve. Compañero compacto de ousterhout-quality-program, que sigue siendo la lente completa de revisión.
La instalación abre esta ficha en tu app de escritorio AgentsRoom. Si aún no la tienes instalada, te llevaremos a la página de descarga.
SKILL.md
--- name: ousterhout-build-deep description: Usa mientras escribes o modificas código, antes de dar por terminada la tarea, siempre que el cambio añada un nombre exportado o importable, cree un módulo, clase, componente, helper, hook, servicio o wrapper, o centralice código repetido. Lista de verificación en tiempo de autor para construir módulos profundos: nombra la decisión que oculta el límite, pasa las pruebas de profundidad e invariante, arregla problemas en lugar de reubicarlos, nunca dividas solo por tamaño y termina con una nota de diseño breve. Compañero compacto de ousterhout-quality-program, que sigue siendo la lente completa de revisión. --- # Construir en profundidad (Ousterhout, author-time) Estás escribiendo código, no revisándolo. Ejecuta esto en tu propio cambio antes de llamar a la tarea terminada. ## 1. Puerta ¿El cambio añade un nombre exportado/importable, crea un módulo, clase, componente, helper, hook, servicio o wrapper, o centraliza código repetido? Si no, omite esta habilidad. Renombramientos, codemods, ediciones de configuración/datos y arreglos de una línea están exentos. ## 2. Antes de escribir el límite - Encuentra cómo este repositorio ya resuelve un problema de esta forma y síguelo a menos que puedas explicar por qué no. Lee la documentación y tipos actuales de la dependencia: una API recordada de memoria es una afirmación, no una fuente. - Escribe primero el comentario de la interfaz: qué promete, qué oculta. Si no puedes nombrar la decisión oculta (un formato, una política, una regla, una elección de esquema), el límite no debería existir. Incrústalo. - Nómbralo en lenguaje del dominio. Si el único nombre honesto es `utils`, `helpers` o `manager`, el corte está en el lugar equivocado. ## 3. Dos pruebas - **Profundidad.** La interfaz debe ocultar sustancialmente más de lo que expone. Un wrapper que reenvía sus argumentos es un costo sin beneficio; elimínalo. - **Invariante.** Extrae código compartido solo cuando protege una regla compartida. La evidencia es el co-cambio: las copias fueron corregidas o cambiadas juntas en la historia. Similares que cambian independientemente permanecen duplicados. ## 4. Una corrección debe eliminar el problema, no reubicarlo - Seis casts movidos a un helper genérico de cast siguen siendo seis casts. Escribe el mapper tipado que los casts estaban encubriendo. - No añadas un parámetro o bandera que empuje una decisión a los llamadores a menos que los llamadores realmente sepan algo que tú no. Absorbe el caso difícil dentro. - Prefiere semánticas donde el caso de error no pueda surgir en lugar de hacer que cada llamador lo maneje. - Mover complejidad esencial del dominio a otro archivo no es simplificación. ## 5. Bajo presión de "limpia esto" o "este archivo es muy grande" Nunca dividas solo por tamaño. Un módulo de 400 líneas que oculta una decisión vence cuatro módulos de 100 líneas que filtran las mismas uniones. Pregunta qué decisión oculta cada división; si ninguna, no dividas. ## 6. Seguridad Código existente: fija el comportamiento actual con un test antes de profundizarlo. Código nuevo: escribe el test que define el comportamiento previsto. ## 7. Reporte Si la puerta se activó, termina tu mensaje final con una nota de diseño de 2-4 líneas: cada límite que añadiste y la decisión que oculta; duplicación que dejaste a propósito y por qué; cualquier cosa superficial que aceptaste y por qué. Para una llamada disputada o una revisión completa, carga `ousterhout-quality-program`.
Tags
Para profundizar
Claude Ads: el skill de Claude Code que audita tus cuentas de anuncios
Claude Ads es un skill open source para Claude Code: más de 250 comprobaciones en Google, Meta, LinkedIn, TikTok o Amazon Ads, una nota sobre 100 y un plan de acción priorizado, en unos diez minutos. Instalación, comandos, límites y cómo orquestarlo en AgentsRoom.
AGENTS.md: un solo archivo de contexto para todos tus agentes de código (Codex, Antigravity, Claude)
AGENTS.md es el archivo de instrucciones portable que tus agentes de código leen antes de tocar tu código. Qué poner en él, en qué se diferencia de CLAUDE.md, y cómo mantener un único contexto entre Codex, Antigravity y Claude.
Descargar AgentsRoom
Ejecuta todos tus agentes de IA, en todos tus proyectos, desde una sola ventana.
App complementaria: supervisa tus agentes en movimiento
Usa Claude, Codex, Antigravity CLI u otro proveedor de IA.
Envía bugs y peticiones directamente a tu backlog público.