github/spec-kit · error · RuntimeError

Skill rollback backup is missing for '{original_path}'

Error message

Skill rollback backup is missing for '{original_path}'

What it means

Error "Skill rollback backup is missing for '{original_path}'" thrown in github/spec-kit.

Source

Thrown at src/specify_cli/extensions/_commands.py:2393

                    # ownership metadata, which the normal conservative
                    # unregistrar intentionally refuses to delete. Paths that
                    # were absent at the destructive boundary are safe to
                    # remove directly during rollback.
                    for skill_path in new_skill_paths_absent_before_update:
                        if skill_path.is_symlink() or skill_path.is_file():
                            skill_path.unlink()
                        elif skill_path.exists():
                            shutil.rmtree(skill_path)
                    manager._unregister_extension_skills(
                        skills_to_remove, extension_id
                    )

                    # Restore all original registered skill artifacts after
                    # removing skills created by the failed installation.
                    for original_path, backup_path in backed_up_skill_dirs.items():
                        backup_skill_dir = Path(backup_path)
                        if not backup_skill_dir.is_dir():
                            raise RuntimeError(
                                "Skill rollback backup is missing for "
                                f"'{original_path}'"
                            )
                        original_skill_dir = Path(original_path)
                        if (
                            original_skill_dir.is_symlink()
                            or original_skill_dir.is_file()
                        ):
                            original_skill_dir.unlink()
                        elif original_skill_dir.exists():
                            shutil.rmtree(original_skill_dir)
                        original_skill_dir.parent.mkdir(parents=True, exist_ok=True)
                        shutil.copytree(
                            backup_skill_dir,
                            original_skill_dir,
                            symlinks=True,
                        )

View on GitHub (pinned to bf88c9f9a8)

Solutions

  1. Restore the missing rollback backup for the skill path, or reinstall the extension.

When it happens

Trigger: Thrown at src/specify_cli/extensions/_commands.py:2393 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of github/spec-kit@bf88c9f9a8 (2026-08-14). Data as JSON: /api/errors/2f8fd3073481bb4f. Report an issue: GitHub.