Rollback logo

Rollback

Community
nahid-sparktales
rollback

Get back to a known-good state, and know in advance which parts of a release cannot come back — destructive migrations, data the old version cannot read, messages already sent, published artifacts, cache and CDN state. Use while writing a release plan, when a deploy is going wrong, or when someone asks whether a change can be undone. Not the health check that decides you should revert (release-verification), not incident coordination, and it never runs a production revert without explicit per-action confirmation.

Overview

Publishernahid-sparktales
Repositoryagent-dispatcher
Skill namerollback
Stars
58
Forks
5
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by nahid-sparktales on GitHub. Read the source before you install it.

Installation

Install the Rollback AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/nahid-sparktales/agent-dispatcher/tree/main/skills/devops/rollback
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/nahid-sparktales/agent-dispatcher.git /tmp/agent-dispatcher
mkdir -p .claude/skills
cp -r /tmp/agent-dispatcher/skills/devops/rollback .claude/skills/rollback
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Rollback in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Rollback on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Rollback is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Rollback

Rollback is not the absence of a deploy. It is another deploy, made under time pressure, against a system whose state has already moved. Most failed rollbacks fail for that reason: the code went back and the data did not.

When this fires

While planning a release — the rollback path is part of the plan, not a thing to invent later — and again the moment a release is going badly. It fires before the decision to revert, not after it.

Procedure

  1. Name the known-good state as an artifact id. The commit, digest or build you would return to, confirmed still deployable — the image still present in the registry, the release still installable. "The previous version" is not an address, and a rollback target that was garbage collected is not a rollback target.

  2. Classify every part of the change into three buckets, before you need them:

    • Reversible — redeploying the old artifact restores the old behavior.
    • Forward-only — the way back is a new fix, not the old code.
    • Irreversible — nothing restores the prior state; only mitigation exists.
  3. Find the one-way doors. These are the ones that turn a rollback into an incident:

    • Dropped columns or tables, and rewritten-in-place rows with no preserved original.
    • Data the new version wrote in a shape the old version cannot read — the most common cause of a rollback that crashes worse than the thing it was reverting.
    • Messages, emails, notifications and webhooks already delivered.
    • Published packages, pushed image tags, git tags others have fetched.
    • Caches and CDN objects holding the new format, and clients holding new responses.
    • Third-party state: charges, external records, DNS changes still propagating under their TTL. Write the list down. It belongs in the release plan next to the rollback command.
  4. Check the data direction before reverting code. If the new revision has been writing under a schema or format the old one does not understand, code rollback is not safe on its own. This is what expand/contract buys you: the old code keeps working against the new schema, so the code can move back alone. When that property does not hold, the honest answer is forward-only, and it is better to say so before the deploy than to discover it mid-revert. See migrations.

  5. Choose the cheapest reversible lever that works. A feature flag beats a redeploy; a redeploy beats a traffic shift to a standby; any of those beat a restore from backup. Reach for the biggest lever last, not first — a restore loses everything written since its recovery point, and that loss is itself irreversible.

  6. Rehearse it. A rollback that has never been executed is a plan with a hopeful tone. Run it in a non-production environment against the same shape of change: time it end to end, record how long, and for a restore record the recovery point it lands on and the data that would be lost. Never rehearse against the environment people are using — if the only copy available is production, stop and ask. Re-rehearse when the delivery path changes.

  7. Write it into the release record before deploying: the target artifact, the exact steps, the rehearsed duration, who is able to run it, and the abort condition that triggers it — the signal and threshold, decided in advance. A rollback plan first written during the outage is a guess.

  8. Stop and ask before executing. A revert is a production change with its own blast radius, including whatever the old code does to data the new code created. Present the target, the lever, the irreversible list from step 3, what is expected to break during the transition, and the rehearsed duration; then wait for explicit confirmation. "Fix it" is not confirmation of a specific revert, and a restore that discards data needs its own separate yes naming the data.

  9. Execute with the clock and the record running. Timestamp each step and its output. If a step fails midway, establish what actually happened before retrying — a half-reverted fleet is worse than either end state.

  10. Verify the recovery against the signal that flagged the problem, not against a green build or a passing test. Full procedure in release-verification; the short version is that the revision now serving must be read from the running system, on every instance.

  11. Clean up the residue the revert left: items partially processed by the new code, rows half-migrated, cache and CDN entries in the new format, in-flight jobs enqueued with a payload the old consumer cannot parse. This is where the second outage comes from.

  12. Preserve the failed artifact and its logs before rebuilding over them. The rollback ended the symptom; it also removed most of the evidence. Hand that evidence to systematic-debugging while it still exists.

Checklist

  • Known-good artifact named and confirmed still deployable
  • Change classified: reversible / forward-only / irreversible
  • One-way doors listed explicitly, including data, sends and published artifacts
  • Old code confirmed able to run against the current data shape, or forward-only declared
  • Cheapest sufficient lever chosen, restore kept as last resort
  • Rollback executed in rehearsal, with a recorded duration, or marked unrehearsed
  • Steps, trigger condition and duration written into the release record before the deploy
  • Explicit confirmation obtained for the revert itself, and separately for any data loss
  • Recovery verified against the flagging signal, on the running system
  • Residue handled; failed artifact and logs preserved

Failure handling

  • The rollback target no longer exists or will not build — say so immediately; it changes the decision from revert to fix-forward, and the sooner that is known the better.
  • The rehearsal fails — the change is not reversible. Report that as a finding about the release, not a chore to retry later; it usually changes whether the release should ship at all.
  • The revert makes things worse — stop, do not oscillate between revisions. Capture the state, and treat it as an incident whose mitigation may now be forward-only.
  • Nowhere to rehearse — report the rollback as unrehearsed and give an estimated duration labeled as an estimate. Do not rehearse on the live system to fill the gap.
  • Asked to revert without confirmation, or to restore over live data — stop and ask, naming the data at risk and the recovery point. Urgency in the request does not supply the authorization.

Evidence to report

The known-good artifact id and the environment. The three buckets, with the irreversible list written out. The lever used and why that one. The rehearsal: that it ran, where, and how long. Timestamped steps of the actual revert with their output. What the flagging signal did afterwards. The residue found and what was done about it. And plainly: what was not recovered, because a rollback that restored the service while losing data is both of those things, not just the first.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Rollback AI skill do?

Get back to a known-good state, and know in advance which parts of a release cannot come back — destructive migrations, data the old version cannot read, messages already sent, published artifacts, cache and CDN state. Use while writing a release plan, when a deploy is going wrong, or when someone asks whether a change can be undone. Not the health check that decides you should revert (release-verification), not incident coordination, and it never runs a production revert without explicit per-action confirmation.

Why use Rollback on TypingMind?

Because you install it once and use it with any model. Rollback is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Rollback in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/nahid-sparktales/agent-dispatcher/tree/main/skills/devops/rollback. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Rollback?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Rollback?

As many as you like. As long as a model supports skills, you can use Rollback with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Rollback AI skill free?

Yes. It is published on GitHub by nahid-sparktales under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇