Communitygithub.com

AmosChenZixuan/Agentic-working-contract

Habilidades de agente que uso a diario.

¿Qué es Agentic-working-contract?

Razor es un principio de diseño y un proceso estructurado para tomar decisiones de ingeniería, enfocado en crear soluciones mínimas que satisfagan necesidades reales. La habilidad enseña a identificar la necesidad subyacente detrás de una solicitud (Corte 1) y luego a diseñar la solución más simple posible (Corte 2), evitando abstracciones, opciones o funcionalidades innecesarias. Es útil para desarrolladores y agentes de IA que buscan reducir la complejidad, prevenir el sobre-diseño y mantener la claridad en el código. Funciona en cualquier plataforma que soporte agentes de IA como Claude Code, Cursor o Codex, y se apoya en una plantilla de salida concisa que guía el análisis paso a paso. El proceso también advierte sobre no 'sub-diseñar' (under-cut), asegurando que elementos críticos como validación, manejo de errores y seguridad no se eliminen por accidente.

Compatible con~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add AmosChenZixuan/Agentic-working-contract

Preguntar en tu IA favorita

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

Documentación

Razor

El diseño correcto es el menor que satisface plenamente la verdadera necesidad del usuario — sin agregar nada para necesidades que aún no existen. Dos cortes: encuentra la necesidad, luego ajusta la solución.

1. Encuentra la necesidad real. Lo que la gente pide es una solución a la que ya llegaron, no la necesidad subyacente — y lo que dicen a menudo no es lo que piensan. La solicitud enunciada, la solución imaginada y la necesidad real son tres cosas distintas. Reconstruye la necesidad desde los primeros principios: ¿para quién es esto y qué está tratando de hacer realmente, ahora mismo? No puedes cortar contra un objetivo que no has encontrado; si no está claro, pregunta.

2. Corta la solución para que encaje (Navaja de Occam). El diseño correcto tiene la menor cantidad de partes móviles que satisfacen esa necesidad; cada capa extra, opción, abstracción o protección tiene un costo — construirla, leerla, probarla, romperla y cambiarla — a menos que una necesidad presente la justifique. Para encontrar la menor cantidad, detente en el primer escalón que aguante:

  • ¿Realmente necesita existir? → no: elimínalo (YAGNI).
  • ¿Ya existe algo que lo resuelva — este código base, la biblioteca estándar, una característica de la plataforma, una dependencia instalada? → úsalo, no lo construyas.
  • ¿Puede ser una cosa obvia en lugar de un sistema? → hazlo así.

Pereza sobre la solución, nunca sobre la comprensión del problema.

Proceso

  1. Reconstruye la necesidad real (corte 1); exprésala en una línea.
  2. Deriva el diseño mínimo — empieza desde la solución más tonta que funcione, agrega solo lo que la necesidad exige (corte 2).
  3. Compara la propuesta contra eso. Todo lo extra es candidato a eliminar; nombra la bandera roja (YAGNI, abstracción prematura, sobreprotección, reinvención, opción especulativa).
  4. No recortes en exceso. Vuelve a leer la necesidad y agrega todo lo que realmente requiera. Estrecho ≠ frágil — nunca elimines validación real, manejo de errores, seguridad o accesibilidad.

Salida

Usa esta plantilla y mantenla breve — un bisturí, no un ensayo:

## Necesidad real
<una línea — lo que el usuario realmente necesita, no lo que pidió>

## Diseño mínimo
<el enfoque más reducido que la satisface>

## Eliminado por sobre-diseño
- <cosa> — <bandera roja + por qué ninguna necesidad presente la justifica>

## Conservar (no recortar en exceso)
<cualquier cosa que parezca eliminable pero que sea realmente necesaria, para que no se deseche después. Omite esta sección si no hay nada que califique.>

Si el diseño ya es mínimo, dilo y termina.

Skills relacionados