dev-undo-redo

Replace conflicting undo/redo implementations with a VueUse and Pinia system.

Updated Nov 29, 2025
One-click install
npx skills add https://github.com/endlessblink/flow-state --skill dev-undo-redo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dev-undo-redo
Source: https://github.com/endlessblink/flow-state/tree/main/.claude/skills/%E2%86%A9%EF%B8%8F%20dev-undo-redo
Command: npx skills add https://github.com/endlessblink/flow-state --skill dev-undo-redo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

FlowState suffers from multiple undo/redo implementations that diverge in behavior and reliability, creating bugs and maintenance burden. This Skill consolidates undo/redo into a single VueUse + Pinia system to provide consistent, end-to-end history across the app.

Core Features & Use Cases

  • Unified history across tasks, canvas, and timer stores for predictable undo/redo behavior.
  • Batch operations support to collapse multiple changes into a single history entry.
  • Keyboard shortcuts and UI bindings to expose canUndo/canRedo consistently across views.
  • Migration-friendly approach with a unified API and clear integration patterns.

Quick Start

Initialize the unified undo/redo system with VueUse + Pinia and begin integrating saveState() calls across stores.

Frequently Asked Questions about dev-undo-redo

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement unified undo and redo history across multiple Pinia stores?

You implement unified history by integrating VueUse useManualRefHistory with Pinia, replacing divergent state management implementations to maintain a consistent 50-entry capacity history across Task, Canvas, and Timer stores.

Can I batch multiple state changes into a single undo entry with VueUse and Pinia?

Yes, batch operations are supported to collapse multiple rapid state changes into a single history entry, triggered via a simple saveState() hook to ensure predictable end-to-end undo and redo behavior.

What is the best way to fix inconsistent undo and redo behavior in a Vue application?

The best way is to consolidate divergent history implementations into a single VueUse and Pinia-based system, exposing consistent canUndo and canRedo states alongside keyboard shortcuts and UI bindings across all application views.

Does useManualRefHistory support a 50-entry capacity limit for state management?

Yes, useManualRefHistory supports a 50-entry capacity limit for state management, providing a bounded history buffer that ensures reliable undo and redo performance without unbounded memory consumption across application stores.

How do I bind keyboard shortcuts for undo and redo consistently across Vue components?

You bind keyboard shortcuts consistently by exposing unified canUndo and canRedo properties from the centralized VueUse and Pinia history system directly within Vue components and views.

Why does my application have multiple conflicting undo and redo implementations causing bugs?

Conflicting undo and redo implementations cause bugs due to divergent behavior across separate component histories, solved by migrating to a unified API with clear integration patterns managed by a single VueUse and Pinia system.