askill
version-and-minimize-localstorage-data

version-and-minimize-localstorage-dataSafety 95Repository

Version and Minimize localStorage Data

0 stars
1.2k downloads
Updated 2/12/2026

Package Files

Loading files...
SKILL.md

Version and Minimize localStorage Data

Add version prefix to keys and store only needed fields. Prevents schema conflicts and accidental storage of sensitive data.

Incorrect:

// No version, stores everything, no error handling
localStorage.setItem('userConfig', JSON.stringify(fullUserObject));
const data = localStorage.getItem('userConfig');

Correct:

const VERSION = 'v2';

function saveConfig(config: { theme: string; language: string }) {
  try {
    localStorage.setItem(`userConfig:${VERSION}`, JSON.stringify(config));
  } catch {
    // Throws in incognito/private browsing, quota exceeded, or disabled
  }
}

function loadConfig() {
  try {
    const data = localStorage.getItem(`userConfig:${VERSION}`);
    return data ? JSON.parse(data) : null;
  } catch {
    return null;
  }
}

// Migration from v1 to v2
function migrate() {
  try {
    const v1 = localStorage.getItem('userConfig:v1');
    if (v1) {
      const old = JSON.parse(v1);
      saveConfig({
        theme: old.darkMode ? 'dark' : 'light',
        language: old.lang,
      });
      localStorage.removeItem('userConfig:v1');
    }
  } catch {}
}

Store minimal fields from server responses:

// User object has 20+ fields, only store what UI needs
function cachePrefs(user: FullUser) {
  try {
    localStorage.setItem(
      'prefs:v1',
      JSON.stringify({
        theme: user.preferences.theme,
        notifications: user.preferences.notifications,
      }),
    );
  } catch {}
}

Always wrap in try-catch: getItem() and setItem() throw in incognito/private browsing (Safari, Firefox), when quota exceeded, or when disabled.

Benefits: Schema evolution via versioning, reduced storage size, prevents storing tokens/PII/internal flags.

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

88/100Analyzed 2/20/2026

High-quality skill on localStorage best practices. Provides clear before/after examples, version migration pattern, minimal field extraction, and proper error handling. Highly actionable with reusable TypeScript patterns. Minor deduction for missing tags and minimal metadata. Located in proper skills folder.

95
80
90
85
95

Metadata

Licenseunknown
Version-
Updated2/12/2026
Publisherihj04982

Tags

No tags yet.