Ejemplos de puntos de control
Ejemplos reales de uso efectivo de los puestos de control en Claude Code.
Nota: Los puntos de verificación se crean automáticamente con cada indicador de usuario. No es necesario guardarlos manualmente. Para rebobinar, pulse Esc dos veces (Esc+Esc) o utilizar /rewind para abrir el navegador de control.
Ejemplo 1: Migración de bases de datos
Escenario
Es necesario migrar de MySQL a PostgreSQL, pero desea explorar tanto una migración directa como un enfoque gradual de doble escritura.
Flujo de trabajo
User: Let's implement a direct migration from MySQL to PostgreSQL
[Checkpoint A created automatically]
Claude: I'll implement the direct migration...
[Changes database driver, updates queries, modifies schema]
User: Run the tests
[Checkpoint B created automatically]
Claude: Running tests...
❌ 15 tests failing - connection pool issues
User: This approach has issues. Let's try the dual-write pattern instead.
[User presses Esc+Esc, selects Checkpoint A, chooses "Restore code and conversation"]
User: Now implement a dual-write pattern where we write to both databases
Claude: I'll implement dual-write migration...
[Implements dual-write layer, gradual migration strategy]
User: Run the tests
Claude: Running tests...
✅ All tests passing
User: The dual-write approach is clearly safer. Let's commit this.
Ejemplo 2: Optimización del rendimiento
Escenario
Múltiples estrategias de optimización de rendimiento para probar.
Flujo de trabajo
User: Let's optimize the API response time. Current: 450ms
[Checkpoint "Baseline" created automatically]
Claude: I'll add database query caching...
[Implements Redis caching]
User: Run performance tests
Claude: Results: 280ms average response time (38% improvement)
User: Let me try a different approach.
[User presses Esc+Esc, selects "Baseline" checkpoint, chooses "Restore code and conversation"]
User: Try database query optimization instead
Claude: I'll optimize database queries...
[Adds indexes, optimizes N+1 queries]
User: Run performance tests
Claude: Results: 180ms average response time (60% improvement)
User: Let me also try a third approach.
[User presses Esc+Esc, selects "Baseline" checkpoint, chooses "Restore code and conversation"]
User: Try response compression and CDN
Claude: I'll add compression and CDN...
[Implements gzip, sets up CDN]
User: Run performance tests
Claude: Results: 320ms average response time (29% improvement)
User: Query optimization was the best. Let me go back and combine it with caching.
[User presses Esc+Esc, selects the checkpoint after query optimization, chooses "Restore code and conversation"]
User: Now add Redis caching on top of these optimized queries
Claude: [Adds Redis caching on top of optimized queries]
User: Run performance tests
Claude: Results: 95ms average response time (79% improvement) 🎉
User: Perfect! This is the winner. Let's commit this.
Ejemplo 3: Iteración UI/UX
Escenario
Intentando diferentes diseños para un salpicadero.
Flujo de trabajo
User: Let's redesign the dashboard with a sidebar layout
[Checkpoint "Start" created automatically]
Claude: [Implements sidebar layout]
User: Show me a screenshot
Claude: [Shows screenshot]
User: The sidebar feels cramped. Let's try a top navigation instead.
[User presses Esc+Esc, selects "Start" checkpoint, chooses "Restore code and conversation"]
User: Try a top navigation layout
Claude: [Implements top navigation]
User: Show me a screenshot
Claude: [Shows screenshot]
User: Better, but let's try a card-based grid layout
[User presses Esc+Esc, selects "Start" checkpoint, chooses "Restore code and conversation"]
User: Try a card-based grid layout
Claude: [Implements card grid]
User: Show me a screenshot
Claude: [Shows screenshot]
User: This is great! But can we combine the top nav with the card grid?
[User presses Esc+Esc, selects the checkpoint after the card grid, chooses "Restore code and conversation"]
User: Add top navigation to the card grid layout
Claude: [Adds top navigation to card grid]
User: Perfect! This is the final design.
Ejemplo 4: Sesión de depuración
Escenario
Cazando un error complicado con múltiples hipótesis.
Flujo de trabajo
User: There's a memory leak in the application
[Checkpoint "Before debugging" created automatically]
Claude: Let me investigate...
[Analyzes code]
User: I think it's in the event listeners. Let's fix those.
Claude: [Fixes event listener cleanup]
User: Run memory profiler
Claude: Still leaking memory - event listeners weren't the issue
User: Let me go back and try a different hypothesis.
[User presses Esc+Esc, selects "Before debugging" checkpoint, chooses "Restore code and conversation"]
User: Maybe it's the database connections?
Claude: [Implements connection pooling fixes]
User: Run memory profiler
Claude: Still leaking - not the connections either
User: Let me go back and try another angle.
[User presses Esc+Esc, selects "Before debugging" checkpoint, chooses "Restore code and conversation"]
User: Let's check for circular references
Claude: [Finds and fixes circular references in cache]
User: Run memory profiler
Claude: ✅ Memory leak fixed! The circular references in the caching layer were the culprit.
User: Excellent! Let's commit this fix.
Ejemplo 5: Evolución del diseño de API
Escenario
Diseño de una API REST con múltiples iteraciones.
Flujo de trabajo
User: Create a REST API for our blog platform
[Checkpoint "Before API design" created automatically]
Claude: [Creates basic CRUD API]
User: This is too simple. Let's add pagination and filtering
Claude: [Adds pagination and filtering]
User: We need better resource relationships
Claude: [Implements HATEOAS links]
User: Actually, let's try GraphQL instead of REST
[User presses Esc+Esc, selects "Before API design" checkpoint, chooses "Restore code and conversation"]
User: Implement a GraphQL API for our blog platform instead
Claude: [Implements GraphQL API]
User: I think REST is better for our use case.
[User presses Esc+Esc, selects the checkpoint after HATEOAS, chooses "Restore code and conversation"]
User: Let's finalize the REST approach.
Ejemplo 6: Gestión de la configuración
Escenario
Probando diferentes enfoques de configuración.
Flujo de trabajo
User: Move configuration to environment variables
[Checkpoint "Original config" created automatically]
Claude: [Implements env var configuration]
User: Test in development
Claude: Works locally but deployment issues in production
User: Let me try a different approach.
[User presses Esc+Esc, selects "Original config" checkpoint, chooses "Restore code and conversation"]
User: Try a config file approach with validation
Claude: [Implements YAML config with JSON schema validation]
User: Test in development
Claude: ✅ Works well, good validation errors
User: Can we also support env vars for sensitive values?
Claude: [Adds env var override for secrets]
User: Test deployment
Claude: ✅ All environments working correctly
User: Perfect! This is production-ready.
Ejemplo 7: Estrategia de prueba
Escenario
Implementación de pruebas completas.
Flujo de trabajo
User: Add unit tests for the auth module
[Checkpoint created automatically]
Claude: [Adds Jest unit tests]
User: Run tests
Claude: 45 tests passing, 78% coverage
User: Add integration tests too
Claude: [Adds integration tests]
User: Run tests
Claude: 89 tests passing, 92% coverage, but tests are slow (3 minutes)
User: The tests are too slow. Let's optimize.
Claude: [Optimizes test setup, adds parallel execution]
User: Run tests
Claude: 89 tests passing, 92% coverage, 35 seconds ✅
User: Great! Now add E2E tests for critical paths
Claude: [Adds Playwright E2E tests]
User: Run all tests
Claude: 112 tests passing, 94% coverage, 2 minutes
User: Perfect balance of coverage and speed!
Ejemplo 8: Usar resumen desde el punto de control
Escenario
Después de una larga sesión de depuración, desea condensar la conversación mientras se preserva el contexto.
Flujo de trabajo
User: [After 20+ messages of debugging and exploration]
[User presses Esc+Esc, selects an early checkpoint, chooses "Summarize from here"]
[Optionally provides instructions: "Focus on what we tried and what worked"]
Claude: [Generates a summary of the conversation from that point forward]
[Original messages are preserved in the transcript]
[The summary replaces the visible conversation, reducing context window usage]
User: Now let's continue with the approach that worked.
Para llevar llaves
- Los puestos de control son automáticos: Cada prompt de usuario crea un punto de control -- no se necesita guardar manualmente
- Utilice Esc+Esc o /rebobinado: Estas son las dos formas de acceder al navegador de control
- Elija la opción de restauración correcta: Restaurar código, conversación, ambos, o resumir dependiendo de sus necesidades
- No temas a la experimentación.: Los puestos de control hacen seguro probar cambios radicales
- Combinar con git: Utilizar puestos de control para la exploración, git para los trabajos finalizados
- Resuma las sesiones largas: Utilice "Resumir desde aquí" para mantener las conversaciones manejables
Última actualización: 29 de julio de 2026 Versión de Claude Code: 2.1.220 Fuentes: - https://code.claude.com/docs/en/checkpointing - https://code.claude.com/docs/en/changelog - https://code.claude.com/docs/en/model-config Modelos compatibles: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5