Awesome-omni-skill data

Room ORM, SQLite, SharedPreferences, DataStore, encryption.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/data" ~/.claude/skills/diegosouzapw-awesome-omni-skill-data-b370c6 && rm -rf "$T"
manifest: skills/data-ai/data/SKILL.md
source content

Data Persistence Skill

Quick Start

Room Entity & DAO

@Entity
data class User(@PrimaryKey val id: Int, val name: String)

@Dao
interface UserDao {
    @Query("SELECT * FROM User")
    suspend fun getAllUsers(): List<User>
    
    @Insert
    suspend fun insert(user: User)
}

EncryptedSharedPreferences

val prefs = EncryptedSharedPreferences.create(context, "secret",
    MasterKey.Builder(context).setKeyScheme(AES256_GCM).build(),
    AES256_SIV, AES256_GCM)

prefs.edit { putString("token", value) }

DataStore

val dataStore = context.createDataStore("settings")
val preferences = dataStore.data.map { it[KEY] ?: "" }

Key Concepts

Room Advantages

  • Type-safe queries
  • Compile-time checks
  • Suspend/Flow support
  • Migration management

SharedPreferences

  • Simple key-value store
  • Use Encrypted version for sensitive data
  • Limited to small data

DataStore

  • Modern SharedPreferences
  • Coroutine-native
  • Type-safe
  • ACID transactions

Best Practices

✅ Use Room for complex data ✅ Encrypt sensitive data ✅ Implement proper migrations ✅ Handle database errors ✅ Test database operations

Resources