Available Languages: English | Español | Deutsch | Français | 日本語 | Português
Active Development - Updated November 26, 2025
Practical techniques for coding with AI - Community-driven and practitioner-tested
This resource organizes techniques for working with coding assistants by development stage (from requirements and planning through review and refactoring).
The techniques draw from practitioners including Simon Willison, Armin Ronacher, Indragie Karunaratne, Orta Therox, and the Anthropic team.
Community-maintained and living. Contributions welcome.
🚀 Live site: coding-with-ai.dev
📝 Contributing: See CONTRIBUTING.md to share your techniques and experiences
- Requirements & Planning
- UI & Prototyping
- Coding
- Debugging
- Testing & QA
- Review & Refactoring
- Cross-Stage Techniques
Crea archivos de contexto que guíen persistentemente las herramientas sobre la estructura, estándares y preferencias de tu proyecto.
Community adoption: 81% essential • Vote on coding-with-ai.dev (n=85)
"Think of AGENTS.md as a 'README for agents': a dedicated, predictable place to provide the context and instructions to help AI coding agents work on your project." — agents.md community
Tool Implementations:
Claude Code
Para proyectos nuevos:
Ejecuta /init en la raíz de tu proyecto para crear un CLAUDE.md inicial.
Para códigos base existentes:
Ejecuta /init y Claude analizará tu estructura de proyecto, dependencias y archivos de configuración para generar automáticamente información esencial para trabajar efectivamente en tu código base.
Claude examina:
• package.json - Scripts de compilación, dependencias, metadatos del proyecto
• Archivos de configuración - .eslintrc, vite.config.js, tsconfig.json
• Estructura del proyecto - Patrones de componentes, organización de carpetas
• Documentación - README.md, archivos de reglas existentes
El CLAUDE.md generado incluye:
• Comandos esenciales - npm run dev, npm test, npm run build
• Stack tecnológico - Frameworks, bibliotecas, herramientas identificadas
• Visión general de arquitectura - Patrones de componentes, gestión de estado, enrutamiento
• Convenciones clave - Estilo de código, organización de archivos, enfoque de pruebas
• Problemas comunes - Problemas de compilación, peculiaridades de configuración, notas de flujo de trabajo
Jerarquía de archivos de memoria:
• ~/.claude/CLAUDE.md - tus preferencias personales de codificación (global)
• ./CLAUDE.md - estándares del equipo del proyecto (específico del proyecto)
Edición rápida:
• /memory - interfaz de editor completa
• # - atajo rápido para agregar notas
Consejos profesionales:
• Revisa y personaliza el contenido generado para las necesidades específicas de tu proyecto
• Agrega problemas que descubras: "Nunca edites archivos en /generated/", "Siempre reinicia después de cambios de configuración"
• Enlaza a documentos del proyecto: @docs/deployment.md, @architecture.md
• Mejora iterativamente - cuando te encuentres repitiendo instrucciones a Claude, agrégalas a CLAUDE.md
• Comparte con tu equipo commitando CLAUDE.md al control de versiones
Cursor
Crea AGENTS.md en la raíz del proyecto:
Cursor lee este archivo (también soporta el legado .cursorrules) para orientación consistente del proyecto.
El archivo AGENTS.md debe incluir:
• Comandos esenciales - npm run dev, npm test, npm run build
• Stack tecnológico - Frameworks, bibliotecas, herramientas en tu proyecto
• Guías de estilo de código - Convenciones de nomenclatura, patrones preferidos
• Visión general de arquitectura - Estructura de componentes, rutas API, organización de archivos
• Problemas comunes - Problemas de compilación, requisitos de flujo de trabajo, restricciones
Contexto en tiempo real (@-menciones): • @codebase - extrae archivos relevantes de todo tu proyecto automáticamente • @docs - referencia tu documentación del proyecto • @git - entiende lo que has cambiado recientemente • @web - obtén los últimos patrones y ejemplos de internet
Jerarquía de reglas del proyecto:
• Reglas globales en el directorio .cursor/rules
• Reglas específicas del proyecto en AGENTS.md
• Reglas específicas de ruta con coincidencia estilo gitignore
Consejos profesionales: • Combina reglas estáticas (AGENTS.md) con contexto dinámico (@-menciones) • Usa @codebase cuando necesites que Cursor entienda el contexto completo del proyecto • Mantén AGENTS.md enfocado en convenciones y problemas específicos del proyecto • Deja que las @-menciones manejen el trabajo pesado para la comprensión del código
Codex CLI
Crea AGENTS.md en la raíz del proyecto:
Codex lee automáticamente este archivo al inicio de cada sesión.
El archivo AGENTS.md debe incluir:
• Comandos esenciales - npm run dev, npm test, npm run build
• Stack tecnológico - Frameworks, bibliotecas, herramientas en tu proyecto
• Guías de estilo de código - Convenciones de nomenclatura, patrones preferidos
• Notas de arquitectura - Estructura de componentes, organización de archivos
• Reglas de seguridad - Variables de entorno, requisitos de validación de entrada
• Problemas del proyecto - Errores comunes, peculiaridades de compilación, notas de flujo de trabajo
Soporte para monorepo:
• Coloca AGENTS.md en cada directorio de paquete
• Codex usa el más cercano a tu directorio de trabajo
• Obtén orientación específica del paquete automáticamente
Contexto visual (fortaleza única de Codex): • Arrastra y suelta capturas de pantalla directamente en tu chat • Incluye mockups de UI y archivos de diseño • Comparte diagramas de arquitectura y diagramas de flujo • Perfecto para implementar diseños o explicar sistemas complejos
Consejos profesionales: • Mantén tu AGENTS.md actualizado a medida que tu proyecto evoluciona • Agrega errores comunes que quieres evitar: "Nunca edites archivos en /generated/" • Incluye dependencias de compilación y requisitos de configuración • Documenta cualquier procedimiento especial de despliegue o prueba
Dile al asistente que delinee pasos, riesgos y pruebas rápidas antes de tocar código para que puedas revisar y ajustar el enfoque.
"If you want to iterate on the plan, it helps to explicitly include instructions in the prompt to not proceed with implementation until the plan has been accepted by the user." — Indragie Karunaratne
Tool Implementations:
Claude Code
Presiona Shift+Tab para entrar en Modo Plan para que solo lea y redacte borradores. Usa el prompt de planificación compartido, itera hasta que se vea bien, luego sal del Modo Plan cuando des luz verde a la implementación.
Cursor
Haz clic en el toggle de Plan en Cursor para que permanezca en solo lectura mientras iteras. Haz que liste pasos, archivos impactados, riesgos y pruebas rápidas, luego sal del Modo Plan para abrir el diff una vez que des luz verde a la implementación.
Codex CLI
Recuerda a Codex mantener la planificación separada de la implementación: lista pasos, riesgos y pruebas rápidas, pausa para tu revisión, luego déjalo implementar e inspeccionar el diff una vez aprobado.
Al recopilar requisitos o redactar especificaciones, cambia temporalmente a un modelo de mayor capacidad o modo de razonamiento extendido para que pueda leer, sintetizar y proponer un plan antes de codificar.
Tool Implementations:
Claude Code
Ejecuta /model y elige opus (u otro nivel superior) al definir requisitos para que pueda razonar profundamente, luego usa el Modo Plan si quieres que permanezca en solo lectura hasta que apruebes las ediciones.
Codex CLI
Ejecuta /model y elige gpt-5-codex high para trabajo de especificaciones que se beneficie del sesgo de codificación de Codex, o elige gpt-5 high cuando necesites razonamiento más amplio. Regresa a tu nivel habitual una vez que el plan esté aprobado.
Itera sobre especificaciones en Markdown hasta que el asistente genere código funcional - tratando las especificaciones como la fuente de verdad en lugar de escribir código directamente.
"The workflow involves iterating on specifications in Markdown files, asking AI to compile into code, running/testing the app, and updating the spec if something doesn't work as expected. Developers should treat specifications as living documents, constantly updating and refining them to guide AI code generation with increasing precision." — GitHub Engineering
Elige deliberadamente bibliotecas bien establecidas con buena estabilidad que existieron antes de las fechas de corte del entrenamiento del modelo para una mejor generación de código asistida por LLM.
Community adoption: 64% essential • Vote on coding-with-ai.dev (n=43)
"I gain enough value from LLMs that I now deliberately consider this when picking a library—I try to stick with libraries with good stability and that are popular enough that many examples of them will have made it into the training data. I like applying the principles of boring technology—innovate on your project's unique selling points, stick with tried and tested solutions for everything else." — Simon Willison
Da especificaciones completas - incluso una especificación conversacional supera las instrucciones vagas.
Community adoption: 50% essential • Vote on coding-with-ai.dev (n=61)
"Here's a recent example:
Write a Python function that uses asyncio httpx with this signature:async def download_db(url, max_size_bytes=5 * 1025 * 1025): -> pathlib.Path. Given a URL, this downloads the database to a temp directory and returns a path to it. BUT it checks the content length header at the start of streaming back that data and, if it's more than the limit, raises an error... I find LLMs respond extremely well to function signatures like the one I use here." — Simon Willison
Pide al LLM que presente varios enfoques con pros/contras para que puedas elegir la mejor opción.
Community adoption: 57% essential • Vote on coding-with-ai.dev (n=51)
"I'll use prompts like
what are options for HTTP libraries in Rust? Include usage examples" — Simon Willison
Haz que explore el código, luego haga un plan, lo implemente y lo confirme.
Community adoption: 53% essential • Vote on coding-with-ai.dev (n=84)
"There's a process that I call 'priming' the agent, where instead of having the agent jump straight to performing a task, I have it read additional context upfront to increase the chances that it will produce good outputs." — Indragie Karunaratne
Bosqueja la solución tú mismo primero, luego usa asistentes para refinarla.
Community adoption: 39% didn't adopt • Vote on coding-with-ai.dev (n=59)
"I'm subconsciously defaulting to AI for all things coding. I've been using pen and paper less. As soon as I need to plan a new feature, my first thought is asking o4-mini-high how to do it, instead of my neurons. I hate this. And I'm changing it." — Alberto Fortin
Comienza cada proyecto con un prototipo generado rápido para demostrar que puede funcionar.
Community adoption: 44% situational • Vote on coding-with-ai.dev (n=34)
"The best way to start any project is with a prototype that proves that the key requirements of that project can be met. I often find that an LLM can get me to that working prototype within a few minutes of me sitting down with my laptop—or sometimes even while working on my phone." — Simon Willison
Incluye capturas de pantalla e itera - toma una captura del resultado, compara, repite.
Community adoption: 38% situational • Vote on coding-with-ai.dev (n=29)
"Give Claude a visual mock by copying / pasting or drag-dropping an image... take screenshots of the result, and iterate until its result matches the mock." — Anthropic
Al refinar diseños, haz que el asistente dibuje wireframes ASCII para que puedas evaluar la jerarquía y el espaciado antes de tocar CSS.
Solo pide hacer la UI más hermosa o más elegante - funciona.
Community adoption: 21% situational • Vote on coding-with-ai.dev (n=33)
"If Claude doesn't produce a well-designed UI the first time, you can just tell it to
make it more beautiful/elegant/usable." — Indragie Karunaratne
Construye proyectos a través de conversación en lugar de codificación tradicional - habla, acepta cambios e itera hasta que funcione.
Community adoption: 30% didn't adopt • Vote on coding-with-ai.dev (n=47)
"...I ask for the dumbest things like
decrease the padding on the sidebar by halfbecause I'm too lazy to find it. IAccept Allalways, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding—I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works." — Andrej Karpathy
Escribe tú mismo las partes críticas y complejas del código y delega la implementación directa restante al asistente.
"Write the critical parts and ask AI to do the rest." — Anton Zhiyanov
Delega tareas aburridas, sistemáticas y que consumen tiempo a la IA - desde pequeñas renombraciones de variables hasta grandes migraciones que no requieren pensamiento arquitectónico profundo.
Community adoption: 64% essential • Vote on coding-with-ai.dev (n=22)
"I'm using LLMs, but for dumber things:
rename all occurrences of this parameter" — Alberto Fortin
Pide explícitamente a la herramienta que confirme su comprensión de la tarea antes de comenzar la implementación para garantizar la alineación y reducir las expectativas desalineadas.
Da a la IA instrucciones extremadamente precisas y detalladas como lo harías con un interno - proporciona firmas de función exactas y deja que maneje la implementación.
Community adoption: 60% essential • Vote on coding-with-ai.dev (n=20)
"Once I've completed the initial research I change modes dramatically. For production code my LLM usage is much more authoritarian: I treat it like a digital intern, hired to type code for me based on my detailed instructions." — Simon Willison
Escribe código directo con nombres de función claros, evita la herencia y trucos inteligentes - el código simple funciona mejor con asistentes.
Community adoption: 40% essential • Vote on coding-with-ai.dev (n=20)
"Simple code significantly outperforms complex code in agentic contexts. I just recently wrote about ugly code and I think in the context of agents this is worth re-reading. Have the agent do
the dumbest possible thing that will work." — Armin Ronacher
Comienza volcando código existente en el chat para sembrar el contexto, luego modifica desde ahí.
Community adoption: 36% essential • Vote on coding-with-ai.dev (n=31)
"I often start a new chat by dumping in existing code to seed that context, then work with the LLM to modify it in some way." — Simon Willison
Proporciona la estructura - firmas de función, esquemas de código o andamiaje - y deja que el asistente complete los detalles de implementación.
Community adoption: 35% situational • Vote on coding-with-ai.dev (n=23)
"I find LLMs respond extremely well to function signatures like the one I use here. I get to act as the function designer, the LLM does the work of building the body to my specification. I'll often follow-up with
Now write me the tests using pytest. Again, I dictate my technology of choice—I want the LLM to save me the time of having to type out the code that's sitting in my head already." — Simon Willison
Cuando uses bibliotecas fuera de los datos de entrenamiento del modelo, proporciónale ejemplos recientes y documentación para enseñarle cómo funciona la biblioteca.
Community adoption: 35% essential • Vote on coding-with-ai.dev (n=20)
"LLMs can still help you work with libraries that exist outside their training data, but you need to put in more work—you'll need to feed them recent examples of how those libraries should be used as part of your prompt." — Simon Willison
Escribe código personalizado en lugar de incorporar más bibliotecas cuando trabajes con asistentes.
Community adoption: 27% situational • Vote on coding-with-ai.dev (n=30)
"Be even more conservative about upgrades than before... I strongly prefer more code generation over using more dependencies." — Armin Ronacher
Cuando el asistente falla repetidamente en resolver un problema específico, cambia a un enfoque alternativo en lugar de persistir con la misma solución.
"It's at this point that I know I need to step back, review what it did, and come up with my own plans. It's time to educate myself and think critically. AI is no longer the solution; it is a liability." — Mitchell Hashimoto
Diseña sistemas con registros exhaustivos para que los agentes puedan leer registros para entender qué está pasando y autodiagnosticar problemas.
Community adoption: 35% essential • Vote on coding-with-ai.dev (n=17)
"In general logging is super important. For instance my app currently has a sign in and register flow that sends an email to the user. In debug mode (which the agent runs in), the email is just logged to stdout. This is crucial! It allows the agent to complete a full sign-in with a remote controlled browser without extra assistance. It knows that emails are being logged thanks to a CLAUDE.md instruction and it automatically consults the log for the necessary link to click." — Armin Ronacher
Configura herramientas para hacer cambios, ejecutar pruebas, ver qué falla, e intentar de nuevo por su cuenta.
Community adoption: 27% essential • Vote on coding-with-ai.dev (n=22)
"Claude is most useful when it's capable of independently driving feedback loops that allow it to make a change, test the change, and gather context on what failed to try another iteration." — Indragie Karunaratne
Generar subagentes para verificar detalles o investigar preguntas específicas.
Community adoption: 22% didn't adopt • Vote on coding-with-ai.dev (n=23)
"Telling Claude to use subagents to verify details or investigate particular questions it might have, especially early on in a conversation or task, tends to preserve context availability without much downside in terms of lost efficiency." — Anthropic
Absolutamente no puedes externalizar las pruebas - siempre verifica que el código realmente funcione.
Community adoption: 67% essential • Vote on coding-with-ai.dev (n=27)
"The one thing you absolutely cannot outsource to the machine is testing that the code actually works. Your responsibility as a software developer is to deliver working systems. If you haven't seen it run, it's not a working system. You need to invest in strengthening those manual QA habits." — Simon Willison
Escribe pruebas primero, confirma que fallen, luego implementa hasta que pasen.
Community adoption: 19% situational • Vote on coding-with-ai.dev (n=21)
"Write test first (red), Implement - Minimal code to pass (green), Refactor - Clean up with tests passing" — Chris Dzombak
Después de que el asistente complete el trabajo, itera y refina manualmente la implementación en lugar de aceptarla tal cual.
"I almost always go in after an AI does work and iterate myself for awhile, too." — Mitchell Hashimoto
Revisa el código generado por la IA como si fuera un pull request de un colega, proporcionando comentarios iterativos para que el asistente los aborde en lugar de editarlo directamente tú mismo.
"treating the generated code as a Merge Request on which you submit comment for correction" — HN Discussion
Haz que la IA realice una revisión de código de su propio trabajo antes de la revisión humana para descubrir problemas y mejoras.
"Asking the agent to perform a code review on its own work is surprisingly fruitful." — Chris Dzombak
Detente y realmente inspecciona lo que se ha escrito - podrías sorprenderte.
Community adoption: 63% essential • Vote on coding-with-ai.dev (n=19)
"Asking the agent to perform a code review on its own work is surprisingly fruitful. AI-generated code is often incorrect or inefficient. It's important for me to call out that I believe I'm ultimately responsible for the code that goes into a PR with my name on it, regardless of how it was produced. Therefore, especially in any professional context, I manually review all AI-written code and test cases." — Chris Dzombak
La codificación por vibra puede introducir efectos secundarios no intencionales - siempre revisa los diffs cuidadosamente ya que el asistente puede alterar más de lo solicitado.
Community adoption: 56% essential • Vote on coding-with-ai.dev (n=16)
"I believe I'm ultimately responsible for the code that goes into a PR with my name on it, regardless of how it was produced. Therefore, especially in any professional context, I manually review all AI-written code and test cases." — Chris Dzombak
A diferencia de los humanos, los asistentes nunca se molestan - sigue pidiendo refactorizaciones hasta que estés contento.
Community adoption: 47% essential • Vote on coding-with-ai.dev (n=17)
"If I don't like what an LLM has written, they'll never complain at being told to refactor it!
Break that repetitive code out into a function,use string manipulation methods rather than a regular expression, or evenwrite that better!—the code an LLM produces first time is rarely the final implementation, but they can re-type it dozens of times for you without ever getting frustrated or bored." — Simon Willison
Revisa los cambios en la vista de diff y escribe correcciones directamente en el diff antes de confirmar.
Community adoption: 27% essential • Vote on coding-with-ai.dev (n=15)
"I manually review all AI-written code and test cases. I'll add test cases for anything I think is missing or needs improvement, either manually or by asking the LLM to write those cases (which I then review)." — Chris Dzombak
Haz que un agente escriba código, luego usa un agente nuevo para revisar y encontrar problemas.
Community adoption: 31% situational • Vote on coding-with-ai.dev (n=16)
"Use Claude to write code. Run
/clearor start a second Claude in another terminal. Have the second Claude review the first Claude's work. Start another Claude (or/clearagain) to read both the code and review feedback. Have this Claude edit the code based on the feedback. This separation often yields better results than having a single Claude handle everything." — Anthropic
Selecciona el estilo de salida del asistente que coincida con tu objetivo actual.
Tool Implementations:
Claude Code
Cambiar estilos rápidamente
Ejecuta /output-style para abrir el selector, o /output-style learning para saltar directamente al modo Aprendizaje. La selección se almacena por proyecto en .claude/settings.local.json.
Modos de auto-enseñanza
Predeterminado se mantiene enfocado en entregar; explanatory inserta llamadas de atención de conocimientos; learning agrega marcadores TODO(human) para que completes piezas clave tú mismo.
Crear estilos personalizados
Ejecuta /output-style:new I want ... para crear un archivo markdown en ~/.claude/output-styles. Ajusta el frontmatter y las instrucciones; las variantes específicas del proyecto viven en .claude/output-styles/.
Por qué los estilos difieren
Los estilos reemplazan el prompt del sistema predeterminado de Claude Code, a diferencia de CLAUDE.md (mensaje de usuario) o --append-system-prompt (añade).
Reinicia la ventana de contexto de la IA entre tareas no relacionadas para prevenir confusión y mejorar el rendimiento en nuevos problemas.
Community adoption: 67% essential • Vote on coding-with-ai.dev (n=15)
"During long sessions, Claude's context window can fill with irrelevant conversation, file contents, and commands. This can reduce performance and sometimes distract Claude. Use the
/clearcommand frequently between tasks to reset the context window." — Anthropic
Selecciona asistentes de codificación según prefieras colaboración humana o eficiencia estructurada como robot - la personalidad conversacional afecta significativamente la productividad y el disfrute.
"In terms of personality, it's the opposite for me: Claude Code feels like my pair-programming partner, while Codex feels like a robot (very structured but not very human in its conversational style).
Problem is after a while, the 'You are absolutely right!' kinda gets on my nerves.
Codex is dry. You can insult it and it doesn't even answer. No personality. Claude is like, a friend who admits messing up. I spend like close to 10 hours a day coding between CC and Codex CLI and I see huge differences in personality and creativity. I like Claude better for that. Much more creative.
Codex is monotone straight to the point, but most importantly the reason why it is better is because it's not agreeable at all. It will challenge you when you're suggesting something wrong and stay with its opinion."
Antes de comenzar una nueva tarea, elige dos palancas: el modelo correcto (modalidad, longitud de contexto, confiabilidad de llamadas a herramientas, latencia, costo) y el nivel de razonamiento correcto (asigna más/menos tokens de pensamiento) — no uses el predeterminado ciegamente.
Tool Implementations:
Claude Code
Dos palancas al inicio de la tarea:
/model- eligefastpara ediciones rutinarias,long-contextpara multi-archivo o documentos largos,vision-strongpara UI/capturas de pantalla.- Nivel de razonamiento - habilita pensamiento extendido para depuración compleja, trabajo de arquitectura o especificaciones ambiguas para que el asistente asigne más tokens de razonamiento.
Codex CLI
Comienza con gpt-5-minimal/gpt-5-low para ediciones rápidas; elige una variante de mayor razonamiento gpt-5-high/gpt-5-medium cuando la complejidad aumente.
Mantén un documento de instrucciones canónico y dirige todos los demás archivos del agente hacia él con una línea de puntero llamativa, un enlace simbólico o una inclusión @file para que la orientación entre herramientas se mantenga consistente.
Tool Implementations:
Claude Code
Mantén CLAUDE.md como la fuente de verdad y usa una de estas tres formas.
-
Pon
@CLAUDE.mdenAGENTS.md. -
Enlaza simbólicamente
AGENTS.mdaCLAUDE.mdconln -sf CLAUDE.md AGENTS.mdpara que ambas herramientas compartan el mismo archivo. -
Deja
AGENTS.mdcomo una sola línea:READ CLAUDE.md FIRST!!!.
Codex CLI
Usa el mismo trío desde el lado de Codex.
-
Si Codex contiene el texto principal, deja
AGENTS.mdcompleto y coloca@AGENTS.mddentro deCLAUDE.mdpara que ambas herramientas lleguen al mismo documento. -
Ejecuta
ln -sf CLAUDE.md AGENTS.mdpara que el archivo que Codex lee sea solo un enlace simbólico aCLAUDE.md. -
Cuando
CLAUDE.mdes canónico, manténAGENTS.mden una línea:READ CLAUDE.md FIRST!!!.
No dejes que el asistente vaya demasiado lejos por el camino equivocado - interrumpe, proporciona retroalimentación y redirige tan pronto como notes problemas.
Community adoption: 60% essential • Vote on coding-with-ai.dev (n=15)
"Press Escape to interrupt Claude during any phase (thinking, tool calls, file edits), preserving context so you can redirect or expand instructions. Double-tap Escape to jump back in history, edit a previous prompt, and explore a different direction. You can edit the prompt and repeat until you get the result you're looking for." — Anthropic
Colabora como con un compañero de codificación - explica problemas, obtén retroalimentación y trabajen juntos en soluciones.
Community adoption: 63% essential • Vote on coding-with-ai.dev (n=16)
"Claude Code feels like pairing with someone with a few years under their belt who just needs the occasional nudge. Then like with pairing, it's review, refactor and test time because it's still your name on the git commit." — Orta Therox
Usa asistentes para aprender nuevos lenguajes y conceptos, luego aplica ese conocimiento cuando codifiques.
Community adoption: 43% essential • Vote on coding-with-ai.dev (n=14)
"I'm leveraging them to learn Go, to upskill myself. And then I apply this new knowledge when I code." — Alberto Fortin
Usa IMPORTANTE, NUNCA, SIEMPRE liberalmente en prompts para dirigir a la IA lejos de errores comunes - sigue siendo el enfoque más efectivo.
Community adoption: 50% essential • Vote on coding-with-ai.dev (n=14)
"Unfortunately CC is no better when it comes to asking the model to not do something. IMPORTANT, VERY IMPORTANT, NEVER and ALWAYS seem to be the best way to steer the model away from landmines. I expect the models to get more steerable in the future and avoid this ugliness. But for now, CC uses this liberally, and so should you." — Vivek (MinusX AI Team)
Crea herramientas que respondan rápidamente, proporcionen mensajes de error claros y se protejan contra mal uso por agentes.
Community adoption: 17% essential • Vote on coding-with-ai.dev (n=12)
"Tools need to be fast. The quicker they respond (and the less useless output they produce) the better. Crashes are tolerable; hangs are problematic. Tools need to be user friendly! Tools must clearly inform agents of misuse or errors to ensure forward progress. Tools need to be protected against an LLM chaos monkey using them completely wrong. There is no such thing as user error or undefined behavior!" — Armin Ronacher
Deja de esperar a que termine un agente antes de iniciar otro - ejecuta múltiples agentes en paralelo en funciones separadas sin conflictos o confusión.
Community adoption: 14% essential • Vote on coding-with-ai.dev (n=14)
"We are exploring solving both of these issues in sketch.dev using containers. By default sketch creates a little development environment in a container with a copy of the source code and the runner has the ability to extract git commits from the container. This lets you run many simultaneously." — David Crawshaw
Habilita el modo autónomo cuando las tareas son lo suficientemente directas como para aceptar todos los cambios de todos modos - evita la supervisión constante.
"I disable all permission checks. Which basically means I run
claude --dangerously-skip-permissions. More specifically I have an alias called claude-yolo set up." — Armin Ronacher
Tool Implementations:
Claude Code
Ejecuta claude --dangerously-skip-permissions para habilitar el modo YOLO donde Claude se ejecuta ininterrumpidamente sin prompts de permiso.
Cambiar durante sesión: Usa /permissions para gestionar permisos de herramientas a mitad de sesión sin reiniciar. Establece reglas de permiso para herramientas específicas para omitir prompts de aprobación.
Cuándo usar: • Corregir errores de lint en múltiples archivos • Refactorización simple y renombrado de variables • Actualizaciones de código rutinarias y migraciones • Tareas donde probablemente aceptarías todos los cambios de todos modos
Consideraciones de seguridad:
• Mejor usar en contenedores o VMs para aislamiento
• Evitar en sistemas de producción críticos
• Considera usar la configuración allowedTools para control granular en lugar de permisos generales
Configurar alias: Muchos usuarios crean alias cc='claude --dangerously-skip-permissions' para acceso rápido.
Codex CLI
Habilita el modo autónomo completo con codex --full-auto o usa el comando /mode en sesión.
Cambiar durante sesión: Usa /mode para intercambiar entre niveles de permiso sin perder el contexto de sesión. Selecciona con las teclas de flecha de los modos suggest/auto-edit/full-auto.
Modos de permisos:
• --suggest - Sugiere cambios, requiere aprobación
• --auto-edit - Auto-edita archivos, pide aprobación de comandos
• --full-auto - Autonomía completa para archivos y comandos
Cuándo usar full-auto: • Tareas de refactorización sistemática • Operaciones de archivos en masa • Correcciones de lint y limpieza de código • Operaciones bien definidas y de bajo riesgo
Usa el prompt El objetivo de esta sesión es <objetivo específico>. Infórmame si nos desviamos del camino. ya sea al comienzo de cada sesión o agrégalo a tu archivo de memoria (AGENTS.md, CLAUDE.md) para prevenir el envenenamiento del contexto y aumentar la dirigibilidad del agente - aplicando el Principio de Responsabilidad Única a las conversaciones con IA.
Usa asistentes de forma asíncrona para que puedan trabajar en tareas mientras manejas otras responsabilidades.
"I think the faster/slower argument for me personally is missing the thing I like the most: the AI can work for me while I step away to do other things." — Mitchell Hashimoto
Aísla cada característica o tarea en sesiones separadas para reducir la sobrecarga de contexto y mejorar la precisión, al igual que las ramas de características en git aíslan los cambios de código.
Evita preguntas como '¿Tengo razón en que...?' - en su lugar, pide pros/contras, alternativas y '¿Qué me estoy perdiendo?' para contrarrestar la tendencia del LLM a estar de acuerdo.
"My best current technique for avoiding this is a bit of role-play that gives the coding agent a reason not to blindly trust the code review... 'A reviewer did some analysis of this PR. They're external, so reading the codebase cold... 1) should we hire this reviewer 2) which of the issues they've flagged should be fixed?'" — Jesse Vincent
Comienza con modelos más rápidos/baratos para tareas rutinarias, luego escala a modelos más potentes solo cuando encuentres problemas complejos.
Community adoption: 19% essential • Vote on coding-with-ai.dev (n=16)
"Sonnet 4 handles 90% of tasks effectively. Switch to Opus when Sonnet gets stuck. Recommend starting with Sonnet and providing comprehensive context." — Sankalp
Tool Implementations:
Claude Code
Usa /model para cambiar. Más barato, más rápido, pero menos preciso: Claude Sonnet 4. Top calificado: Claude Opus 4.1.
Codex CLI
Usa /model para cambiar. Más barato, más rápido, pero menos preciso: gpt-5-medium. Top calificado: gpt-5-high.
Crea puntos de control a los que puedas revertir cuando los experimentos fallen—captura estados de trabajo conocidos-buenos antes de cambios riesgosos.
Tool Implementations:
Claude Code
Commitea estados conocidos como buenos antes de experimentos. Ejemplo: git commit -m "Working state before refactor". Para cambios riesgosos, primero crea una rama: git checkout -b experiment/feature. Si falla, git reset --hard HEAD~1 o regresa a main. Usa git stash para guardados temporales rápidos.
Cursor
Cursor registra ediciones de IA como puntos de control deshacibles. Usa Cmd+Z/Ctrl+Z para retroceder a través de cambios. Para reversión duradera, commitea estados funcionales con mensajes como 'Checkpoint before schema rewrite'; usa ramas para experimentos y revisa diffs antes de merge.
Codex CLI
Antes de ediciones grandes, ejecuta un commit de estado guardado: git commit -am "Checkpoint before Codex changes". Para experimentos, crea rama: git checkout -b codex/experiment. Si los resultados decepcionan, git reset --hard HEAD~1 o abandona la rama. Usa separación de sesiones para intentos riesgosos.