content-versioning

Version seed data files and migrate content without overwriting user data.

Updated May 9, 2026
One-click install
npx skills add https://github.com/Bumh3rr/solvyx-app --skill content-versioning-bumh3rr
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: content-versioning
Source: https://github.com/Bumh3rr/solvyx-app/tree/main/.opencode/skill/content-versioning
Command: npx skills add https://github.com/Bumh3rr/solvyx-app --skill content-versioning-bumh3rr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Static seed content in an app evolves over time, and naive updates can break database references or wipe user state like favorites, completion flags, and soft-delete status. This Skill defines conventions for versioning seed JSON files so content updates ship safely. ## Core Features & Use Cases - Version index management: Maintain a version.json index tracking _latest_seed_version, release dates, file lists, and migration notes for each seed version. - Safe migration strategies: Apply upsert-by-slug migrations for new items, soft deletes (activo = false) for removed items, and coordinated Room schema migrations for structural changes. - User data preservation: Never overwrite user-controlled fields (activo, favorito, completado, visto) when applying new seed versions. - Use Case: When adding six new exercises and revised copy to an Android app's bundled content, create seed v2, document it in version.json, and migrate via upsert while keeping each user's favorites and progress intact. ## Quick Start Ask the assistant to create a new seed version for the updated ejercicios.json file following the content versioning conventions, including the version.json entry and migration notes.

Frequently Asked Questions about content-versioning

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

FAQPage Schema
How do I version seed data in an Android app?▼

Maintain a version.json index listing every seed version with its files, release date, and description, and tag each seed file with _seed_version. On app start, compare the stored version in preferences against the latest available and apply migrations when behind.

When should I create a new seed version?▼

Create a new version when adding items, modifying existing copy, or changing the JSON field structure. Reordering items or soft-deleting via activo=false can be done in place without a version bump.

Does a seed migration require a Room database version bump?▼

No, seed versioning is independent of the Room schema version. Only structural changes that add or rename columns require both a Room migration and a coordinated seed migration.

How do I update seed content without losing user data?▼

Use upsert-by-slug migrations and never overwrite user-controlled fields like activo, favorito, completado, or createdAt. Merge the new seed values into the existing entity while copying the user's state fields forward.

When is a destructive seed migration acceptable?▼

Only when the domain model changed fundamentally, the user explicitly confirmed a full reset, or the app is in early beta. Declare it in version.json with destructive=true and require explicit user confirmation before clearing tables.