rollback
Analyze deployment or change for rollback safety and generate checklist
When & Why to Use This Skill
This Claude skill automates the critical process of evaluating deployment safety and rollback risks. By performing deep-dive analyses into code changes, database migrations, and API contracts, it provides SREs and DevOps engineers with a prioritized rollback checklist and risk assessment. It helps prevent data loss and service downtime by identifying 'dangerous' changes—such as destructive migrations or breaking API shifts—before a rollback is executed, documenting all findings directly to Obsidian for seamless incident management.
Use Cases
- Emergency Rollback Decision Support: When a production deployment fails, use this skill to instantly analyze if the current state allows for a safe rollback or if database migrations have made a simple revert impossible.
- Pre-deployment Risk Auditing: Before executing a high-stakes release, generate a 'Plan B' checklist to identify potential blockers like non-reversible data transformations or feature flag dependencies.
- Automated SRE Documentation: Streamline incident post-mortems by automatically capturing the technical scope of a change and its rollback safety profile into an Obsidian knowledge base.
- Database Migration Safety Check: Specifically evaluate whether recent SQL schema changes (like column removals or data transformations) require manual intervention before reverting to a previous version.
| name | rollback |
|---|---|
| description | Analyze deployment or change for rollback safety and generate checklist |
Rollback Analysis & Checklist
Current Time: !date
K8s Context: !kubectl config current-context
Analyze a deployment or change for rollback safety and generate a prioritized rollback checklist. Documents findings to Obsidian.
Input
- Target: deployment, commit SHA, release tag, or PR reference
- Context: what went wrong or why rollback is being considered
- Optional: urgency level (immediate vs planned)
Investigation Strategy
Launch parallel investigation tracks:
Track 1: Codebase Exploration (explore agent)
- Identify all changes included in the rollback scope
- Map database migrations in the change set
- Find feature flags introduced or modified
- Identify API contract changes
- Assess backward compatibility
Track 2: Code Analysis (inferred agent: go/frontend/postgres)
- Analyze migration reversibility
- Check for data transformations that may not be reversible
- Identify breaking changes in APIs or contracts
- Review feature flag dependencies
Track 3: External Research (librarian agent)
- Find rollback patterns for similar changes
- Check for known rollback issues with dependencies
- Research safe rollback strategies for the change type
Rollback Safety Assessment
Safe to Rollback
- Code-only changes (no DB migrations)
- Additive API changes
- Feature-flagged functionality
- UI/frontend changes
Requires Caution
- Database migrations (check reversibility)
- API breaking changes (check client compatibility)
- Configuration changes (check dependent services)
- Infrastructure changes (check state)
Potentially Dangerous
- Destructive migrations (DROP, DELETE, column removal)
- Data transformations (may lose data)
- Schema changes with live traffic
- Multi-service coordinated deployments
Output
Write to Obsidian via obsidian_append_content at:
$OBSIDIAN_PATH/Rollbacks/YYYY-MM-DD-HHMM-target.md
Note:
$OBSIDIAN_PATHmust be a vault-relative path (e.g.,Projects/myapp), set per-project via direnv. Theobsidian_append_contenttool expects paths relative to the vault root.
Document Structure
Use this template for the Obsidian document:
@~/.config/opencode/templates/rollback-analysis.md
Behavior
- Parse target to identify rollback scope (commits, migrations, config)
- Infer appropriate code agent from change types
- Launch explore, librarian, and inferred code agent in parallel
- Assess migration reversibility and data safety
- Identify feature flags and configuration changes
- Generate risk assessment with specific blockers
- Create prioritized rollback checklist with actual commands
- Write analysis to Obsidian via
obsidian_append_contentwith auto-generated filename:YYYY-MM-DD-HHMM-target.md
$ARGUMENTS