sqlite-persistence-safety

Enforces parameterized SQL and reversible migrations for SQLite persistence changes.

1|Updated Mar 5, 2025
One-click install
npx skills add https://github.com/niksavis/burndown-chart --skill sqlite-persistence-safety
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sqlite-persistence-safety
Source: https://github.com/niksavis/burndown-chart/tree/main/.github/skills/sqlite-persistence-safety
Command: npx skills add https://github.com/niksavis/burndown-chart --skill sqlite-persistence-safety

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill ensures that changes to SQLite databases and related SQL logic are performed safely, maintaining data integrity and preventing common pitfalls.

Core Features & Use Cases

  • Data Integrity: Guarantees that database operations do not corrupt or lose existing data.
  • Secure SQL: Enforces the use of parameterized queries to prevent SQL injection vulnerabilities.
  • Safe Migrations: Manages database schema changes in a controlled and reversible manner.
  • Use Case: When updating the database schema to add a new feature, this skill ensures that all existing user data is preserved and that the new schema is applied without errors.

Quick Start

Use the sqlite-persistence-safety skill to apply a new migration script to the database.

Frequently Asked Questions about sqlite-persistence-safety

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

FAQPage Schema
How do I safely apply SQLite schema migrations without losing existing data?

To safely apply SQLite schema migrations without losing data, use controlled and reversible migration scripts that preserve data integrity. This ensures all existing user data is maintained while applying the new schema without errors.

What is the best way to prevent SQL injection when modifying SQLite persistence logic?

The best way to prevent SQL injection during SQLite persistence modifications is to enforce parameterized queries. This practice secures database operations by separating SQL code from user-supplied data inputs.

Why should database changes in my data persistence directory be isolated from UI concerns?

Isolating database changes in the data persistence directory from UI concerns ensures that SQL logic remains maintainable and secure. This separation prevents interface updates from accidentally corrupting data integrity or breaking schema migrations.

Can I reverse a database schema update if a new feature breaks my SQLite database?

Yes, you can reverse a database schema update if it breaks your SQLite database by using safe migration practices. This approach manages schema changes in a controlled manner, keeping migration-related modifications reversible.

When do I need to use parameterized SQL for SQLite database operations?

You need to use parameterized SQL for SQLite database operations whenever modifying logic within the data persistence directory. This prevents SQL injection vulnerabilities and guarantees that database operations do not corrupt existing data.